@bahmni/clinical-app 0.0.1-dev.347 → 0.0.1-dev.349

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/{ConsultationPage-C3T8THlO.js → ConsultationPage-3qK8RV6o.js} +12794 -12401
  2. package/dist/{DocumentsTable-D-yL-evA-B1fwtgFW.js → DocumentsTable-CUERw540-DNwq47jg.js} +56 -56
  3. package/dist/FormsTable-BiSt9X9y-GfSnOhAP.js +293 -0
  4. package/dist/{LNWAZHJI-imGBWvAi.js → LNWAZHJI-DklJAly_.js} +2 -2
  5. package/dist/{MWZ6AO7Z-CaczTOj3.js → MWZ6AO7Z-pJNxlx6T.js} +2 -2
  6. package/dist/{Observations-CiATLznu-n-AeVz43.js → Observations-DG-AmCpd-BuJ3kLZo.js} +51 -51
  7. package/dist/{YPM2AS64-BSKjhDOv.js → YPM2AS64-CWWMfFV2.js} +181 -181
  8. package/dist/components/dashboardSection/DashboardSection.d.ts.map +1 -1
  9. package/dist/components/forms/observations/ObservationForms.d.ts.map +1 -1
  10. package/dist/components/forms/observations/ObservationFormsContainer.d.ts +85 -0
  11. package/dist/components/forms/observations/ObservationFormsContainer.d.ts.map +1 -1
  12. package/dist/components/forms/observations/ObservationFormsPanel.d.ts.map +1 -1
  13. package/dist/components/patientHeader/ConsultationActionButton.d.ts.map +1 -1
  14. package/dist/events/startConsultation/models.d.ts +4 -0
  15. package/dist/events/startConsultation/models.d.ts.map +1 -1
  16. package/dist/hook-Dfbe9Yfh.js +12 -0
  17. package/dist/hooks/useObservationFormData.d.ts.map +1 -1
  18. package/dist/{index-C9yfr1HV.js → index-BmPRpoe2.js} +25 -24
  19. package/dist/{index-CjEhPxaX.js → index-DhSka-Il.js} +4 -3
  20. package/dist/{index-DUVzEfOd.js → index-aVz5vm6R.js} +56194 -59858
  21. package/dist/index.css +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/locales/locale_en.json +5 -0
  24. package/dist/locales/locale_es.json +5 -0
  25. package/dist/services/encounterBundleService.d.ts.map +1 -1
  26. package/dist/utils/fhir/observationResourceCreator.d.ts +19 -5
  27. package/dist/utils/fhir/observationResourceCreator.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/dist/FormsTable-BbwKhyCn-DTJMxF2E.js +0 -232
  30. package/dist/hook-CQJXPLXP.js +0 -10
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { cB as c } from "./index-DUVzEfOd.js";
1
+ import { cF as c } from "./index-aVz5vm6R.js";
2
2
  export {
3
3
  c as ClinicalApp
4
4
  };
@@ -134,6 +134,8 @@
134
134
  "CONDITION_TABLE_DURATION": "Duration",
135
135
  "CONDITION_TABLE_NOT_AVAILABLE": "Not available",
136
136
  "CONDITION_TABLE_RECORDED_BY": "Recorded By",
137
+ "EDIT_OBSERVATION_FORM": "Edit",
138
+ "EDIT_OBSERVATION_FORM_TITLE": "Edit Observation Form",
137
139
  "CONFIG_ERROR_NOT_FOUND": "Configuration not found",
138
140
  "CONFIG_ERROR_SCHEMA_VALIDATION_FAILED": "Configuration does not match required schema",
139
141
  "CONFIG_ERROR_VALIDATION_FAILED": "Configuration validation failed",
@@ -443,6 +445,7 @@
443
445
  "NO_MEDICATION_HISTORY": "No Medications history",
444
446
  "NO_OBSERVATIONS": "No Observations recorded",
445
447
  "NO_OBSERVATIONS_AVAILABLE": "No observations available",
448
+ "NO_OBSERVATIONS_FOR_TASK": "No observations found for this task",
446
449
  "NO_OBSERVATIONS_FOUND": "No Observations found",
447
450
  "NO_QUALITY_ASSESSMENT_DATA": "No quality assessment data available",
448
451
  "NO_RADIOLOGY_INVESTIGATIONS": "No Radiology investigations recorded",
@@ -547,6 +550,7 @@
547
550
  "TASK_COMPLETED_BY": "Completed By",
548
551
  "TASK_COMPLETED_ON": "Completed On",
549
552
  "TASK_NAME": "Task Name",
553
+ "TASK_RESULTS": "Results",
550
554
  "TASK_STATUS": "Task Status",
551
555
  "TASK_STATUS_ACCEPTED": "Accepted",
552
556
  "TASK_STATUS_CANCELLED": "Cancelled",
@@ -584,6 +588,7 @@
584
588
  "VACCINATION_START_DATE_INPUT_LABEL": "Start Date",
585
589
  "VACCINATION_STAT": "STAT",
586
590
  "VACCINATION_TOTAL_QUANTITY": "Total Quantity",
591
+ "VIEW_DATA": "View data",
587
592
  "VIEWED_RADIOLOGY_RESULTS_MESSAGE": "Viewed radiology results",
588
593
  "VISIT_TYPE": "Visit Type",
589
594
  "VITAL_FLOW_SHEET_TABLE": "Vital Flow Sheet Table",
@@ -134,6 +134,8 @@
134
134
  "CONDITION_TABLE_DURATION": "Duración",
135
135
  "CONDITION_TABLE_NOT_AVAILABLE": "No disponible",
136
136
  "CONDITION_TABLE_RECORDED_BY": "Grabado Por",
137
+ "EDIT_OBSERVATION_FORM": "Editar",
138
+ "EDIT_OBSERVATION_FORM_TITLE": "Editar formulario de observación",
137
139
  "CONFIG_ERROR_NOT_FOUND": "Configuración no encontrada",
138
140
  "CONFIG_ERROR_SCHEMA_VALIDATION_FAILED": "La configuración no coincide con el esquema requerido",
139
141
  "CONFIG_ERROR_VALIDATION_FAILED": "La validación de la configuración falló",
@@ -438,6 +440,7 @@
438
440
  "NO_MEDICATION_HISTORY": "No hay historial de medicamentos",
439
441
  "NO_OBSERVATIONS": "No se registraron observaciones",
440
442
  "NO_OBSERVATIONS_AVAILABLE": "No hay observaciones disponibles",
443
+ "NO_OBSERVATIONS_FOR_TASK": "No se encontraron observaciones para esta tarea",
441
444
  "NO_OBSERVATIONS_FOUND": "No se encontraron observaciones",
442
445
  "NO_QUALITY_ASSESSMENT_DATA": "No hay datos de evaluación de calidad disponibles",
443
446
  "NO_RADIOLOGY_INVESTIGATIONS": "No se encontraron investigaciones de radiología",
@@ -542,6 +545,7 @@
542
545
  "TASK_COMPLETED_BY": "Completado por",
543
546
  "TASK_COMPLETED_ON": "Completado el",
544
547
  "TASK_NAME": "Nombre de la tarea",
548
+ "TASK_RESULTS": "Resultados",
545
549
  "TASK_STATUS": "Estado de la tarea",
546
550
  "TASK_STATUS_ACCEPTED": "Aceptado",
547
551
  "TASK_STATUS_CANCELLED": "Cancelado",
@@ -579,6 +583,7 @@
579
583
  "VACCINATION_START_DATE_INPUT_LABEL": "Fecha de inicio",
580
584
  "VACCINATION_STAT": "STAT",
581
585
  "VACCINATION_TOTAL_QUANTITY": "Cantidad total",
586
+ "VIEW_DATA": "Ver datos",
582
587
  "VIEWED_RADIOLOGY_RESULTS_MESSAGE": "Resultados de radiología vistos",
583
588
  "VISIT_TYPE": "Tipo de visita",
584
589
  "VITAL_FLOW_SHEET_TABLE": "Tabla de Signos Vitales",
@@ -1 +1 @@
1
- {"version":3,"file":"encounterBundleService.d.ts","sourceRoot":"","sources":["../../src/services/encounterBundleService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encounterBundleService.d.ts","sourceRoot":"","sources":["../../src/services/encounterBundleService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EAKnB,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAmB,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAiBpE,UAAU,kCAAkC;IAC1C,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,kCAAkC;IAC1C,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;CACxB;AAED,UAAU,uCAAuC;IAC/C,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACjE,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,mCAAmC;IAC3C,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;CACxB;AAED,UAAU,oCAAoC;IAC5C,oBAAoB,EAAE,KAAK,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,gBAAgB,EAAE,CAAC;QACjC,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC;IACH,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,kCAAkC,GAAG,WAAW,EAAE,CA6CpD;AA+BD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,EAAE,kCAAkC,GAAG,WAAW,EAAE,CAuIpD;AAED,wBAAgB,iCAAiC,CAAC,EAChD,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,EAAE,uCAAuC,GAAG,WAAW,EAAE,CAoCzD;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,mCAAmC,GAAG,WAAW,EAAE,CA8DrD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,EAAE,oCAAoC,GAAG,WAAW,EAAE,CAwCtD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,SAAS,GAAG,IAAI,EACjC,iBAAiB,EAAE,SAAS,GAC3B,WAAW,CAoBb;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,SAAS,GAAG,IAAI,EACjC,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAIR;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,CAAC,CAAC,CAEZ"}
@@ -1,7 +1,21 @@
1
1
  import { Form2Observation } from '@bahmni/services';
2
- import { Observation, Reference } from 'fhir/r4';
3
- export declare const createObservationResources: (observations: Form2Observation[], subjectReference: Reference, encounterReference: Reference, performerReference: Reference, basedOn?: Reference) => Array<{
4
- resource: Observation;
5
- fullUrl: string;
6
- }>;
2
+ import { BundleEntry, Reference } from 'fhir/r4';
3
+ /**
4
+ * Creates FHIR bundle entries for a list of Form2Observations, using the
5
+ * correct HTTP verb for each observation based on its uuid and voided state:
6
+ *
7
+ * uuid present + voided:true → DELETE Observation/{uuid}
8
+ * uuid present + has value → PUT Observation/{uuid}
9
+ * no uuid + has value → POST urn:uuid:{newUUID}
10
+ * no uuid + voided (never saved) → skipped
11
+ *
12
+ * For grouped observations (groupMembers):
13
+ * - Children are processed first with the rules above.
14
+ * - If the parent has a uuid and ALL children are deleted → parent is also DELETE.
15
+ * - If the parent has a uuid and some children remain → parent is POST with
16
+ * resource.id set to the existing uuid. OpenMRS recognises the id and updates
17
+ * the obsGroup in place; new child entries are linked via hasMember.
18
+ * - If the parent has no uuid → parent is POST.
19
+ */
20
+ export declare function createObservationEntries(observations: Form2Observation[], subjectReference: Reference, encounterReference: Reference, performerReference: Reference, basedOn?: Reference): BundleEntry[];
7
21
  //# sourceMappingURL=observationResourceCreator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observationResourceCreator.d.ts","sourceRoot":"","sources":["../../../src/utils/fhir/observationResourceCreator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEjD,eAAO,MAAM,0BAA0B,GACrC,cAAc,gBAAgB,EAAE,EAChC,kBAAkB,SAAS,EAC3B,oBAAoB,SAAS,EAC7B,oBAAoB,SAAS,EAC7B,UAAU,SAAS,KAClB,KAAK,CAAC;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiBlD,CAAC"}
1
+ {"version":3,"file":"observationResourceCreator.d.ts","sourceRoot":"","sources":["../../../src/utils/fhir/observationResourceCreator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAe,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,gBAAgB,EAAE,EAChC,gBAAgB,EAAE,SAAS,EAC3B,kBAAkB,EAAE,SAAS,EAC7B,kBAAkB,EAAE,SAAS,EAC7B,OAAO,CAAC,EAAE,SAAS,GAClB,WAAW,EAAE,CA4Bf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bahmni/clinical-app",
3
- "version": "0.0.1-dev.347",
3
+ "version": "0.0.1-dev.349",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -1,232 +0,0 @@
1
- import { jsx as i, jsxs as re, Fragment as oe } from "react/jsx-runtime";
2
- import { u as ae, V as te, d as se, w as ne, r as de, m as ie, f as me, a as le, t as ce, n as q, M as ue, p as fe, Q as k, b as ye, c as pe, z as be, k as he } from "./index-DUVzEfOd.js";
3
- import { useQueryClient as ge, useQuery as y } from "@tanstack/react-query";
4
- import { useState as w, useMemo as d, useCallback as p } from "react";
5
- const Ne = "FormsTable-module_formsTableBody__SvGha", Oe = "FormsTable-module_customAccordianItem__isszs", A = {
6
- formsTableBody: Ne,
7
- customAccordianItem: Oe
8
- }, Ee = ({
9
- episodeOfCareUuids: I,
10
- encounterUuids: l,
11
- config: V
12
- }) => {
13
- const { t: n } = ae(), c = te(), [u, T] = w(!1), [t, M] = w(null), {
14
- numberOfVisits: z,
15
- hideThumbnail: K = !1,
16
- forms: f
17
- } = V ?? {}, E = se(
18
- I,
19
- l
20
- ), Q = ge(), {
21
- data: F = [],
22
- isLoading: L,
23
- isError: B,
24
- error: j,
25
- refetch: x
26
- } = y({
27
- queryKey: ["forms", c, I],
28
- queryFn: () => ne(c, void 0, z),
29
- enabled: !!c && !E
30
- }), _ = d(() => {
31
- let e = F;
32
- return l && l.length > 0 && (e = e.filter(
33
- (r) => l.includes(r.encounterUuid)
34
- )), Array.isArray(f) && f.length > 0 && (e = e.filter(
35
- (r) => f.some((o) => o.toLowerCase() === r.formName.toLowerCase())
36
- )), e;
37
- }, [F, l, f]), { data: S = [] } = y({
38
- queryKey: ["observationForms"],
39
- queryFn: () => de()
40
- }), C = p(
41
- (e) => S.find((r) => r.name === e)?.uuid,
42
- [S]
43
- ), b = d(() => {
44
- if (t)
45
- return C(t.formName);
46
- }, [t, C]), {
47
- data: m,
48
- isLoading: H,
49
- isError: $,
50
- error: h
51
- } = y({
52
- queryKey: ["formMetadata", b],
53
- queryFn: () => ie(b),
54
- enabled: !!b && u
55
- }), {
56
- data: g,
57
- isLoading: G,
58
- isError: Y,
59
- error: N
60
- } = y({
61
- queryKey: ["formsEncounterFHIR", t?.encounterUuid],
62
- queryFn: () => me(t.encounterUuid),
63
- enabled: !!t?.encounterUuid && u
64
- });
65
- le(
66
- (e) => {
67
- e.patientUUID === c && e.updatedConcepts.size > 0 && (x(), Q.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
68
- },
69
- [c]
70
- );
71
- const P = d(() => !g?.entry || !t?.formName ? [] : g.entry.filter((e) => e.resource?.resourceType === "Observation").map((e) => e.resource).filter((e) => {
72
- const r = ce(e);
73
- return !r || r.includes(t.formName);
74
- }), [g, t?.formName]), J = d(() => {
75
- if (!m?.schema) return;
76
- const e = [], r = (o) => {
77
- (o ?? []).forEach((s) => {
78
- const a = s;
79
- a.id != null && e.push(String(a.id)), a.controls && r(a.controls);
80
- });
81
- };
82
- return r(
83
- m.schema.controls ?? []
84
- ), e.length > 0 ? e : void 0;
85
- }, [m]), W = d(() => {
86
- if (!m?.schema) return;
87
- const e = {}, r = (o, s) => {
88
- for (const a of o)
89
- if (a.type === "section") {
90
- const O = a.label?.value ?? "Section";
91
- r(a.controls ?? [], O);
92
- } else
93
- a.id != null && s && (e[String(a.id)] = s), a.controls && r(a.controls, s);
94
- };
95
- return r(
96
- m.schema.controls ?? [],
97
- null
98
- ), Object.keys(e).length > 0 ? e : void 0;
99
- }, [m]), X = d(() => {
100
- if (h)
101
- return q(h).message;
102
- if (N)
103
- return q(N).message;
104
- }, [h, N]), D = d(
105
- () => [
106
- { key: "recordedOn", header: n("RECORDED_ON") },
107
- { key: "recordedBy", header: n("RECORDED_BY") }
108
- ],
109
- [n]
110
- ), Z = d(
111
- () => [
112
- { key: "recordedOn", sortable: !0 },
113
- { key: "recordedBy", sortable: !0 }
114
- ],
115
- []
116
- ), R = d(() => {
117
- const e = _.reduce(
118
- (r, o) => {
119
- const s = o.formName;
120
- r[s] ??= [];
121
- const a = o.providers.map((O) => O.providerName).filter(Boolean).join(", ");
122
- return r[s].push({
123
- id: o.encounterUuid,
124
- formName: o.formName,
125
- recordedOn: ue(o.encounterDateTime, n, !0).formattedResult,
126
- recordedBy: a ?? "--",
127
- encounterDateTime: o.encounterDateTime,
128
- encounterUuid: o.encounterUuid
129
- }), r;
130
- },
131
- {}
132
- );
133
- return Object.entries(e).map(
134
- ([r, o]) => ({
135
- formName: r,
136
- records: o.sort(
137
- (s, a) => a.encounterDateTime - s.encounterDateTime
138
- )
139
- })
140
- ).sort((r, o) => r.formName.localeCompare(o.formName));
141
- }, [_, n]), v = p((e) => {
142
- M(e), T(!0);
143
- }, []), ee = p(() => {
144
- T(!1), M(null);
145
- }, []), U = p(
146
- (e, r) => {
147
- switch (r) {
148
- case "recordedOn":
149
- return /* @__PURE__ */ i(fe, { onClick: () => v(e), children: e.recordedOn });
150
- case "recordedBy":
151
- return e.recordedBy;
152
- default:
153
- return null;
154
- }
155
- },
156
- [v]
157
- );
158
- return /* @__PURE__ */ re(oe, { children: [
159
- /* @__PURE__ */ i("div", { id: "forms-table", "data-testid": "forms-table", children: L || B || R.length === 0 || E ? /* @__PURE__ */ i(
160
- k,
161
- {
162
- headers: D,
163
- ariaLabel: n("FORMS_HEADING"),
164
- rows: [],
165
- loading: L,
166
- errorStateMessage: B ? j?.message : void 0,
167
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
168
- renderCell: U,
169
- className: A.formsTableBody,
170
- dataTestId: "forms-table"
171
- }
172
- ) : /* @__PURE__ */ i(ye, { align: "start", children: R.map((e, r) => {
173
- const { formName: o, records: s } = e;
174
- return /* @__PURE__ */ i(
175
- pe,
176
- {
177
- title: o,
178
- className: A.customAccordianItem,
179
- testId: `accordian-title-${o}`,
180
- open: r === 0,
181
- children: /* @__PURE__ */ i(
182
- k,
183
- {
184
- headers: D,
185
- ariaLabel: n("FORMS_HEADING"),
186
- rows: s,
187
- loading: !1,
188
- errorStateMessage: "",
189
- sortable: Z,
190
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
191
- renderCell: U,
192
- className: A.formsTableBody,
193
- dataTestId: `forms-table-${o}`
194
- }
195
- )
196
- },
197
- o
198
- );
199
- }) }) }),
200
- u && t && /* @__PURE__ */ i(
201
- be,
202
- {
203
- id: "modalIdForActionAreaLayout",
204
- portalId: "main-display-area",
205
- open: u,
206
- onRequestClose: ee,
207
- modalHeading: t.formName,
208
- modalLabel: `${t.recordedOn} | ${t.recordedBy}`,
209
- passiveModal: !0,
210
- size: "md",
211
- testId: "form-details-modal",
212
- children: /* @__PURE__ */ i(
213
- he,
214
- {
215
- observations: P,
216
- isLoading: H || G,
217
- isError: $ || Y,
218
- errorMessage: X,
219
- emptyStateMessage: n("NO_FORM_DATA_AVAILABLE"),
220
- testIdPrefix: t.formName,
221
- hideThumbnail: K,
222
- controlOrder: J,
223
- sectionMap: W
224
- }
225
- )
226
- }
227
- )
228
- ] });
229
- };
230
- export {
231
- Ee as default
232
- };
@@ -1,10 +0,0 @@
1
- import { bH as i, bI as o } from "./index-DUVzEfOd.js";
2
- import "react";
3
- const l = i(
4
- o,
5
- "useClinicalConfig",
6
- "ClinicalConfigProvider"
7
- );
8
- export {
9
- l as u
10
- };