@bahmni/clinical-app 0.0.1-dev.312 → 0.0.1-dev.315

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.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { at as i } from "./index-b8sno1-Q.js";
1
+ import { at as i } from "./index-BhSuogDE.js";
2
2
  export {
3
3
  i as ClinicalApp
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bahmni/clinical-app",
3
- "version": "0.0.1-dev.312",
3
+ "version": "0.0.1-dev.315",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -1,234 +0,0 @@
1
- import { jsx as i, jsxs as re, Fragment as ae } from "react/jsx-runtime";
2
- import { u as te, n as oe, x as se, j as ne, B as de, F as ie, P as le, b as ue, D as q, g as me, a as ce, O as k, w as fe, v as ye, h as he, Q as be, k as pe } from "./index-b8sno1-Q.js";
3
- import { useQueryClient as ge, useQuery as h } from "@tanstack/react-query";
4
- import { useState as j, useMemo as d, useCallback as b } from "react";
5
- const Ne = "FormsTable-module_formsTableBody__SvGha", Oe = "FormsTable-module_customAccordianItem__isszs", M = {
6
- formsTableBody: Ne,
7
- customAccordianItem: Oe
8
- }, Ae = (m) => m ? m.extension?.find(
9
- (l) => l.url === pe
10
- )?.valueString : void 0, Ie = ({
11
- episodeOfCareUuids: m,
12
- encounterUuids: l,
13
- config: w
14
- }) => {
15
- const { t: n } = te(), c = oe(), [f, T] = j(!1), [o, v] = j(null), {
16
- numberOfVisits: x,
17
- hideThumbnail: K = !1,
18
- forms: y
19
- } = w ?? {}, F = se(
20
- m,
21
- l
22
- ), Q = ge(), {
23
- data: I = [],
24
- isLoading: B,
25
- isError: E,
26
- error: V,
27
- refetch: H
28
- } = h({
29
- queryKey: ["forms", c, m],
30
- queryFn: () => ne(c, void 0, x),
31
- enabled: !!c && !F
32
- }), L = d(() => {
33
- let e = I;
34
- return l && l.length > 0 && (e = e.filter(
35
- (r) => l.includes(r.encounterUuid)
36
- )), Array.isArray(y) && y.length > 0 && (e = e.filter(
37
- (r) => y.some((a) => a.toLowerCase() === r.formName.toLowerCase())
38
- )), e;
39
- }, [I, l, y]), { data: D = [] } = h({
40
- queryKey: ["observationForms"],
41
- queryFn: () => de()
42
- }), S = b(
43
- (e) => D.find((r) => r.name === e)?.uuid,
44
- [D]
45
- ), p = d(() => {
46
- if (o)
47
- return S(o.formName);
48
- }, [o, S]), {
49
- data: u,
50
- isLoading: $,
51
- isError: z,
52
- error: g
53
- } = h({
54
- queryKey: ["formMetadata", p],
55
- queryFn: () => ie(p),
56
- enabled: !!p && f
57
- }), {
58
- data: N,
59
- isLoading: G,
60
- isError: P,
61
- error: O
62
- } = h({
63
- queryKey: ["formsEncounterFHIR", o?.encounterUuid],
64
- queryFn: () => le(o.encounterUuid),
65
- enabled: !!o?.encounterUuid && f
66
- });
67
- ue(
68
- (e) => {
69
- e.patientUUID === c && e.updatedConcepts.size > 0 && (H(), Q.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
70
- },
71
- [c]
72
- );
73
- const Y = d(() => !N?.entry || !o?.formName ? [] : N.entry.filter((e) => e.resource?.resourceType === "Observation").map((e) => e.resource).filter((e) => {
74
- const r = Ae(e);
75
- return !r || r.includes(o.formName);
76
- }), [N, o?.formName]), J = d(() => {
77
- if (!u?.schema) return;
78
- const e = [], r = (a) => {
79
- (a ?? []).forEach((s) => {
80
- const t = s;
81
- t.id != null && e.push(String(t.id)), t.controls && r(t.controls);
82
- });
83
- };
84
- return r(
85
- u.schema.controls ?? []
86
- ), e.length > 0 ? e : void 0;
87
- }, [u]), W = d(() => {
88
- if (!u?.schema) return;
89
- const e = {}, r = (a, s) => {
90
- for (const t of a)
91
- if (t.type === "section") {
92
- const A = t.label?.value ?? "Section";
93
- r(t.controls ?? [], A);
94
- } else
95
- t.id != null && s && (e[String(t.id)] = s), t.controls && r(t.controls, s);
96
- };
97
- return r(
98
- u.schema.controls ?? [],
99
- null
100
- ), Object.keys(e).length > 0 ? e : void 0;
101
- }, [u]), X = d(() => {
102
- if (g)
103
- return q(g).message;
104
- if (O)
105
- return q(O).message;
106
- }, [g, O]), _ = d(
107
- () => [
108
- { key: "recordedOn", header: n("RECORDED_ON") },
109
- { key: "recordedBy", header: n("RECORDED_BY") }
110
- ],
111
- [n]
112
- ), Z = d(
113
- () => [
114
- { key: "recordedOn", sortable: !0 },
115
- { key: "recordedBy", sortable: !0 }
116
- ],
117
- []
118
- ), C = d(() => {
119
- const e = L.reduce(
120
- (r, a) => {
121
- const s = a.formName;
122
- r[s] ??= [];
123
- const t = a.providers.map((A) => A.providerName).filter(Boolean).join(", ");
124
- return r[s].push({
125
- id: a.encounterUuid,
126
- formName: a.formName,
127
- recordedOn: me(a.encounterDateTime, n, !0).formattedResult,
128
- recordedBy: t ?? "--",
129
- encounterDateTime: a.encounterDateTime,
130
- encounterUuid: a.encounterUuid
131
- }), r;
132
- },
133
- {}
134
- );
135
- return Object.entries(e).map(
136
- ([r, a]) => ({
137
- formName: r,
138
- records: a.sort(
139
- (s, t) => t.encounterDateTime - s.encounterDateTime
140
- )
141
- })
142
- ).sort((r, a) => r.formName.localeCompare(a.formName));
143
- }, [L, n]), R = b((e) => {
144
- v(e), T(!0);
145
- }, []), ee = b(() => {
146
- T(!1), v(null);
147
- }, []), U = b(
148
- (e, r) => {
149
- switch (r) {
150
- case "recordedOn":
151
- return /* @__PURE__ */ i(ce, { onClick: () => R(e), children: e.recordedOn });
152
- case "recordedBy":
153
- return e.recordedBy;
154
- default:
155
- return null;
156
- }
157
- },
158
- [R]
159
- );
160
- return /* @__PURE__ */ re(ae, { children: [
161
- /* @__PURE__ */ i("div", { id: "forms-table", "data-testid": "forms-table", children: B || E || C.length === 0 || F ? /* @__PURE__ */ i(
162
- k,
163
- {
164
- headers: _,
165
- ariaLabel: n("FORMS_HEADING"),
166
- rows: [],
167
- loading: B,
168
- errorStateMessage: E ? V?.message : void 0,
169
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
170
- renderCell: U,
171
- className: M.formsTableBody,
172
- dataTestId: "forms-table"
173
- }
174
- ) : /* @__PURE__ */ i(fe, { align: "start", children: C.map((e, r) => {
175
- const { formName: a, records: s } = e;
176
- return /* @__PURE__ */ i(
177
- ye,
178
- {
179
- title: a,
180
- className: M.customAccordianItem,
181
- testId: `accordian-title-${a}`,
182
- open: r === 0,
183
- children: /* @__PURE__ */ i(
184
- k,
185
- {
186
- headers: _,
187
- ariaLabel: n("FORMS_HEADING"),
188
- rows: s,
189
- loading: !1,
190
- errorStateMessage: "",
191
- sortable: Z,
192
- emptyStateMessage: n("FORMS_UNAVAILABLE"),
193
- renderCell: U,
194
- className: M.formsTableBody,
195
- dataTestId: `forms-table-${a}`
196
- }
197
- )
198
- },
199
- a
200
- );
201
- }) }) }),
202
- f && o && /* @__PURE__ */ i(
203
- he,
204
- {
205
- id: "modalIdForActionAreaLayout",
206
- portalId: "main-display-area",
207
- open: f,
208
- onRequestClose: ee,
209
- modalHeading: o.formName,
210
- modalLabel: `${o.recordedOn} | ${o.recordedBy}`,
211
- passiveModal: !0,
212
- size: "md",
213
- testId: "form-details-modal",
214
- children: /* @__PURE__ */ i(
215
- be,
216
- {
217
- observations: Y,
218
- isLoading: $ || G,
219
- isError: z || P,
220
- errorMessage: X,
221
- emptyStateMessage: n("NO_FORM_DATA_AVAILABLE"),
222
- testIdPrefix: o.formName,
223
- hideThumbnail: K,
224
- controlOrder: J,
225
- sectionMap: W
226
- }
227
- )
228
- }
229
- )
230
- ] });
231
- };
232
- export {
233
- Ie as default
234
- };