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

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