@bahmni/clinical-app 0.0.1-dev.348 → 0.0.1-dev.350

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 (29) hide show
  1. package/dist/{ConsultationPage-Cj4sR0YF.js → ConsultationPage-oWnx8161.js} +12789 -12396
  2. package/dist/{DocumentsTable-c08bldqE-Dtv4Xp6q.js → DocumentsTable-D07TTQvw-BE03gh0S.js} +33 -33
  3. package/dist/FormsTable-CPV7G3yP-xbYgVNgG.js +293 -0
  4. package/dist/{LNWAZHJI-Ddjk4Uzd.js → LNWAZHJI-DkYA-mID.js} +2 -2
  5. package/dist/{MWZ6AO7Z-BOUIUQ1f.js → MWZ6AO7Z-DiL24-b5.js} +2 -2
  6. package/dist/{Observations-Ce1nztbS-BxKzfVMI.js → Observations-tLsS82qM-B7Dh5NSA.js} +29 -29
  7. package/dist/{YPM2AS64-DFBlovbU.js → YPM2AS64-SeqWXm0n.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-B4nWn5gZ.js → hook-D1L0XgP4.js} +1 -1
  17. package/dist/hooks/useObservationFormData.d.ts.map +1 -1
  18. package/dist/{index-D8VlPiOt.js → index-CErj4Z3U.js} +14325 -14254
  19. package/dist/{index-DbY_HTl6.js → index-DPTlw-B-.js} +24 -24
  20. package/dist/{index-P9Hox9Kh.js → index-RgW2gd5e.js} +1 -1
  21. package/dist/index.css +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/locales/locale_en.json +4 -0
  24. package/dist/locales/locale_es.json +4 -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-Bt99F81Y-BqUmg3sD.js +0 -232
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { cB as c } from "./index-D8VlPiOt.js";
1
+ import { cF as c } from "./index-CErj4Z3U.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",
@@ -256,6 +258,8 @@
256
258
  "FORM_FILLING_TASKS": "Form Filling Tasks",
257
259
  "FORM_RECORDED_BY": "Recorded By",
258
260
  "FORM_RECORDED_ON": "Recorded On",
261
+ "GENDER_F": "Female",
262
+ "GENDER_M": "Male",
259
263
  "GLOBAL_ACTION_NOTIFICATIONS": "Notifications",
260
264
  "GLOBAL_ACTION_SEARCH": "Search",
261
265
  "GLOBAL_ACTION_USER": "User",
@@ -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ó",
@@ -256,6 +258,8 @@
256
258
  "FORM_FILLING_TASKS": "Tareas de llenado de formularios",
257
259
  "FORM_RECORDED_BY": "Grabado Por",
258
260
  "FORM_RECORDED_ON": "Grabado el",
261
+ "GENDER_F": "Femenino",
262
+ "GENDER_M": "Masculino",
259
263
  "GLOBAL_ACTION_NOTIFICATIONS": "Notificaciones",
260
264
  "GLOBAL_ACTION_SEARCH": "Buscar",
261
265
  "GLOBAL_ACTION_USER": "Usuario",
@@ -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":"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"}
@@ -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.348",
3
+ "version": "0.0.1-dev.350",
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, f as se, r as te, _ as ne, m as de, N as ie, a as me, G as le, b as ce, n as U, V as ue, X as fe, Q as k, c as ye, Y as he, d as be, T as pe } from "./index-D8VlPiOt.js";
3
- import { useQueryClient as Ne, useQuery as y } from "@tanstack/react-query";
4
- import { useState as G, useMemo as d, useCallback as h } from "react";
5
- const ge = "FormsTable-module_formsTableBody__SvGha", Oe = "FormsTable-module_customAccordianItem__isszs", A = {
6
- formsTableBody: ge,
7
- customAccordianItem: Oe
8
- }, _e = ({
9
- episodeOfCareUuids: T,
10
- encounterUuids: l,
11
- config: Q
12
- }) => {
13
- const { t: n } = ae(), c = se(), [u, I] = G(!1), [s, M] = G(null), {
14
- numberOfVisits: V,
15
- hideThumbnail: w = !1,
16
- forms: f
17
- } = Q ?? {}, _ = te(
18
- T,
19
- l
20
- ), K = Ne(), {
21
- data: E = [],
22
- isLoading: F,
23
- isError: L,
24
- error: j,
25
- refetch: x
26
- } = y({
27
- queryKey: ["forms", c, T],
28
- queryFn: () => ne(c, void 0, V),
29
- enabled: !!c && !_
30
- }), B = d(() => {
31
- let e = E;
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
- }, [E, l, f]), { data: R = [] } = y({
38
- queryKey: ["observationForms"],
39
- queryFn: () => de()
40
- }), S = h(
41
- (e) => R.find((r) => r.name === e)?.uuid,
42
- [R]
43
- ), b = d(() => {
44
- if (s)
45
- return S(s.formName);
46
- }, [s, S]), {
47
- data: m,
48
- isLoading: H,
49
- isError: $,
50
- error: p
51
- } = y({
52
- queryKey: ["formMetadata", b],
53
- queryFn: () => ie(b),
54
- enabled: !!b && u
55
- }), {
56
- data: N,
57
- isLoading: z,
58
- isError: Y,
59
- error: g
60
- } = y({
61
- queryKey: ["formsEncounterFHIR", s?.encounterUuid],
62
- queryFn: () => me(s.encounterUuid),
63
- enabled: !!s?.encounterUuid && u
64
- });
65
- le(
66
- (e) => {
67
- e.patientUUID === c && e.updatedConcepts.size > 0 && (x(), K.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
68
- },
69
- [c]
70
- );
71
- const X = d(() => !N?.entry || !s?.formName ? [] : N.entry.filter((e) => e.resource?.resourceType === "Observation").map((e) => e.resource).filter((e) => {
72
- const r = ce(e);
73
- return !r || r.includes(s.formName);
74
- }), [N, s?.formName]), P = d(() => {
75
- if (!m?.schema) return;
76
- const e = [], r = (o) => {
77
- (o ?? []).forEach((t) => {
78
- const a = t;
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]), J = d(() => {
86
- if (!m?.schema) return;
87
- const e = {}, r = (o, t) => {
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 && t && (e[String(a.id)] = t), a.controls && r(a.controls, t);
94
- };
95
- return r(
96
- m.schema.controls ?? [],
97
- null
98
- ), Object.keys(e).length > 0 ? e : void 0;
99
- }, [m]), W = d(() => {
100
- if (p)
101
- return U(p).message;
102
- if (g)
103
- return U(g).message;
104
- }, [p, g]), C = 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
- ), D = d(() => {
117
- const e = B.reduce(
118
- (r, o) => {
119
- const t = o.formName;
120
- r[t] ??= [];
121
- const a = o.providers.map((O) => O.providerName).filter(Boolean).join(", ");
122
- return r[t].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
- (t, a) => a.encounterDateTime - t.encounterDateTime
138
- )
139
- })
140
- ).sort((r, o) => r.formName.localeCompare(o.formName));
141
- }, [B, n]), q = h((e) => {
142
- M(e), I(!0);
143
- }, []), ee = h(() => {
144
- I(!1), M(null);
145
- }, []), v = h(
146
- (e, r) => {
147
- switch (r) {
148
- case "recordedOn":
149
- return /* @__PURE__ */ i(fe, { onClick: () => q(e), children: e.recordedOn });
150
- case "recordedBy":
151
- return e.recordedBy;
152
- default:
153
- return null;
154
- }
155
- },
156
- [q]
157
- );
158
- return /* @__PURE__ */ re(oe, { children: [
159
- /* @__PURE__ */ i("div", { id: "forms-table", "data-testid": "forms-table", children: F || L || D.length === 0 || _ ? /* @__PURE__ */ i(
160
- k,
161
- {
162
- headers: C,
163
- ariaLabel: n("FORMS_HEADING"),
164
- rows: [],
165
- loading: F,
166
- errorStateMessage: L ? j?.message : void 0,
167
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
168
- renderCell: v,
169
- className: A.formsTableBody,
170
- dataTestId: "forms-table"
171
- }
172
- ) : /* @__PURE__ */ i(ye, { align: "start", children: D.map((e, r) => {
173
- const { formName: o, records: t } = e;
174
- return /* @__PURE__ */ i(
175
- he,
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: C,
185
- ariaLabel: n("FORMS_HEADING"),
186
- rows: t,
187
- loading: !1,
188
- errorStateMessage: "",
189
- sortable: Z,
190
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
191
- renderCell: v,
192
- className: A.formsTableBody,
193
- dataTestId: `forms-table-${o}`
194
- }
195
- )
196
- },
197
- o
198
- );
199
- }) }) }),
200
- u && s && /* @__PURE__ */ i(
201
- be,
202
- {
203
- id: "modalIdForActionAreaLayout",
204
- portalId: "main-display-area",
205
- open: u,
206
- onRequestClose: ee,
207
- modalHeading: s.formName,
208
- modalLabel: `${s.recordedOn} | ${s.recordedBy}`,
209
- passiveModal: !0,
210
- size: "md",
211
- testId: "form-details-modal",
212
- children: /* @__PURE__ */ i(
213
- pe,
214
- {
215
- observations: X,
216
- isLoading: H || z,
217
- isError: $ || Y,
218
- errorMessage: W,
219
- emptyStateMessage: n("NO_FORM_DATA_AVAILABLE"),
220
- testIdPrefix: s.formName,
221
- hideThumbnail: w,
222
- controlOrder: P,
223
- sectionMap: J
224
- }
225
- )
226
- }
227
- )
228
- ] });
229
- };
230
- export {
231
- _e as default
232
- };