@bahmni/appointments-app 0.0.1-dev.191 → 0.0.1-dev.193

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.
@@ -0,0 +1,170 @@
1
+ import { jsxs as N, jsx as l } from "react/jsx-runtime";
2
+ import { d as k, t as B, u as I, j as Q, y as H, a as K, E as j, V as w, k as x, l as G, o as M, N as z, p as P, Q as S, T as Y, c as J, $ as W, e as X, r as Z, f as ee, H as te } from "./index-Dsl0jQut.js";
3
+ import { useRef as ae, useEffect as T, useMemo as R } from "react";
4
+ const D = (t, d, n, u, r) => {
5
+ const a = Y(t, d, r), s = a.value, o = J(s);
6
+ let i = s;
7
+ o === "Image" && (i = /* @__PURE__ */ l(X, { imageSrc: s, alt: s, id: `${s}-img` })), o === "Video" && (i = /* @__PURE__ */ l(Z, { id: `${s}-video`, videoSrc: s })), o === "PDF" && (i = /* @__PURE__ */ l(ee, { id: `${s}-pdf`, src: s }));
8
+ const b = r("OBSERVATIONS_RECORDED_BY", {
9
+ provider: a.provider
10
+ }), p = t.display, y = t.observationValue?.isAbnormal ? "abnormal-obs" : "obs", c = u ? `${u}-${y}-${p}-${n}-${d}` : `${y}-${p}-${n}-${d}`;
11
+ return /* @__PURE__ */ l(
12
+ W,
13
+ {
14
+ header: a.header,
15
+ value: i,
16
+ info: b,
17
+ id: c,
18
+ testId: c,
19
+ ariaLabel: c
20
+ },
21
+ `obs-${t.id}`
22
+ );
23
+ }, se = (t, d, n, u, r, a) => /* @__PURE__ */ l(
24
+ S,
25
+ {
26
+ title: t.display,
27
+ id: `grouped-obs-${t.display}-${u}`,
28
+ open: n,
29
+ children: t.members?.map(
30
+ (s, o) => D(s, o, r, a, d)
31
+ )
32
+ },
33
+ `grouped-obs-${t.id}`
34
+ ), re = ({
35
+ groupedData: t,
36
+ title: d = ""
37
+ }) => {
38
+ const { t: n } = I(), u = (r, a, s) => {
39
+ const o = P(r.encounterDetails, n);
40
+ return /* @__PURE__ */ N(
41
+ S,
42
+ {
43
+ title: o,
44
+ id: `encounter-${r.encounterId}`,
45
+ open: a,
46
+ children: [
47
+ r.observations.map(
48
+ (i, b) => D(i, b, s, d, n)
49
+ ),
50
+ r.groupedObservations.map(
51
+ (i, b) => se(
52
+ i,
53
+ n,
54
+ a,
55
+ b,
56
+ s,
57
+ d
58
+ )
59
+ )
60
+ ]
61
+ },
62
+ `encounter-${r.encounterId}`
63
+ );
64
+ };
65
+ return /* @__PURE__ */ l(
66
+ "div",
67
+ {
68
+ id: "obs-by-encounter",
69
+ "data-testid": "obs-by-encounter-test-id",
70
+ "aria-label": "obs-by-encounter-aria-label",
71
+ children: t.map(
72
+ (r, a) => u(r, a === 0, a)
73
+ )
74
+ }
75
+ );
76
+ }, oe = "_observations_kfbhq_1", ie = "_title_kfbhq_12", _ = {
77
+ observations: oe,
78
+ title: ie
79
+ }, ne = (t) => ["conceptUuid", t], de = (t, d) => ["observations", t, ...d], be = ({ config: t }) => {
80
+ const d = t, { conceptNames: n = [], conceptUuid: u = [] } = d, r = ae(/* @__PURE__ */ new Set()), a = k(), { addNotification: s } = B(), { t: o } = I(), i = Q({
81
+ queries: n.map((e) => ({
82
+ queryKey: ne(e),
83
+ queryFn: () => H(e),
84
+ enabled: !!e
85
+ }))
86
+ });
87
+ T(() => {
88
+ i.forEach((e, m) => {
89
+ if (e.isError && !r.current.has(m)) {
90
+ const q = n[m];
91
+ s({
92
+ title: o("ERROR_DEFAULT_TITLE"),
93
+ message: o("ERROR_FETCHING_CONCEPT", { conceptName: q }),
94
+ type: "error"
95
+ }), r.current.add(m);
96
+ } else e.isError || r.current.delete(m);
97
+ });
98
+ }, [i, n]);
99
+ const b = R(() => i.map((e) => e.data?.uuid).filter((e) => !!e), [i]), p = R(() => [.../* @__PURE__ */ new Set([...b, ...u])], [b, u]), y = R(() => n.length === 0 ? !0 : i.every((e) => !e.isLoading), [i, n.length]), {
100
+ data: c,
101
+ isLoading: F,
102
+ isError: f,
103
+ refetch: g
104
+ } = K({
105
+ queryKey: de(a, p),
106
+ queryFn: () => te(a, p),
107
+ enabled: !!a && p.length > 0 && y
108
+ });
109
+ j(
110
+ (e) => {
111
+ e.patientUUID === a && e.updatedConcepts.size > 0 && [...e.updatedConcepts.keys()].some(
112
+ (m) => p.includes(m)
113
+ ) && g();
114
+ },
115
+ [a, g]
116
+ ), T(() => {
117
+ f && s({
118
+ title: o("ERROR_DEFAULT_TITLE"),
119
+ message: o("ERROR_FETCHING_OBSERVATIONS"),
120
+ type: "error"
121
+ });
122
+ }, [f]);
123
+ const h = R(() => {
124
+ if (!c) return [];
125
+ const e = w(c), m = x(e);
126
+ return G(m);
127
+ }, [c]), L = [
128
+ { key: "name", header: "name" },
129
+ { key: "value", header: "value" },
130
+ { key: "form", header: "form" }
131
+ ], O = F || !y, $ = f && y, A = (!c || c.entry?.length === 0 || p.length === 0) && y, C = $ ? o("ERROR_FETCHING_OBSERVATIONS") : null, U = A ? o("NO_OBSERVATIONS_FOUND") : void 0, V = h.length > 0 && !O && !$, E = d.titleTranslationKey, v = E ? o(E) : "";
132
+ return /* @__PURE__ */ N(
133
+ "div",
134
+ {
135
+ id: "observations",
136
+ "data-testid": E ? `observations-${v}` : "observations",
137
+ "aria-label": "observations-aria-label",
138
+ className: _.observations,
139
+ children: [
140
+ /* @__PURE__ */ l(
141
+ M,
142
+ {
143
+ id: "observations-title",
144
+ testId: E ? `observations-title-${v}` : "observations-title",
145
+ title: v,
146
+ className: _.title,
147
+ children: /* @__PURE__ */ l("p", { children: v })
148
+ }
149
+ ),
150
+ V ? /* @__PURE__ */ l(re, { groupedData: h, title: v }) : /* @__PURE__ */ l(
151
+ z,
152
+ {
153
+ headers: L,
154
+ rows: [],
155
+ ariaLabel: o("OBSERVATIONS"),
156
+ loading: O,
157
+ errorStateMessage: C,
158
+ emptyStateMessage: U,
159
+ dataTestId: "observations-table"
160
+ }
161
+ )
162
+ ]
163
+ }
164
+ );
165
+ };
166
+ export {
167
+ ne as conceptUuidQueryKeys,
168
+ be as default,
169
+ de as observationsQueryKeys
170
+ };
@@ -1,4 +1,4 @@
1
- import { R as we, S as z, U as xt, X as B, N as q, Q as y, _ as Ro, a0 as ye, a1 as R, a2 as _, a3 as k, a4 as N, a5 as A, a6 as bs, a7 as ir, a8 as $e, a9 as U, aa as Hn, ab as Vn, ac as dt, ad as D, ae as xs, af as cn, ag as Be, ah as ws, ai as qt, aj as zt, ak as $s, al as Cs, am as $n, an as Ss, ao as Nr, ap as Bt, aq as zo, ar as ks, as as Es, at as j, au as Ur, av as Ms, aw as Ds, ax as sr, ay as As, az as Ts, aA as zn, aB as Fs, aC as Is, aD as Z, aE as Ps, aF as Ls } from "./index-DtAPMuCM.js";
1
+ import { J as we, P as z, S as xt, U as B, D as q, F as y, Y as Ro, a0 as ye, a1 as R, a2 as _, a3 as k, a4 as N, a5 as A, a6 as bs, a7 as ir, a8 as $e, a9 as U, aa as Hn, ab as Vn, ac as dt, ad as D, ae as xs, af as cn, ag as Be, ah as ws, ai as qt, aj as zt, ak as $s, al as Cs, am as $n, an as Ss, ao as Nr, ap as Bt, aq as zo, ar as ks, as as Es, at as j, au as Ur, av as Ms, aw as Ds, ax as sr, ay as As, az as Ts, aA as zn, aB as Fs, aC as Is, aD as Z, aE as Ps, aF as Ls } from "./index-Dsl0jQut.js";
2
2
  var Os = (e) => e != null, qs = (e) => e.filter(Os);
3
3
  function _s(e) {
4
4
  return (...t) => {
@@ -1,8 +1,8 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { C, B as E, D as M, u as S, a as f, O as L, E as y, I as N, J as g, M as I } from "./index-DtAPMuCM.js";
2
+ import { Z as E, A as S, q as C, u as M, a as f, s as L, G as N, _ as g, v as y, w as I } from "./index-Dsl0jQut.js";
3
3
  import { useMemo as o } from "react";
4
- const R = C(
5
- E,
4
+ const R = E(
5
+ S,
6
6
  "useAppointmentsConfig",
7
7
  "AppointmentsConfigProvider"
8
8
  ), l = [
@@ -11,11 +11,11 @@ const R = C(
11
11
  "speciality",
12
12
  "durationMins",
13
13
  "description"
14
- ], D = "_tableContainer_jtyg5_1", h = "_table_jtyg5_1", c = {
15
- tableContainer: D,
16
- table: h
14
+ ], h = "_tableContainer_jtyg5_1", D = "_table_jtyg5_1", c = {
15
+ tableContainer: h,
16
+ table: D
17
17
  };
18
- function O(t) {
18
+ function T(t) {
19
19
  return t.filter((n) => !l.includes(n));
20
20
  }
21
21
  function v(t, n) {
@@ -23,7 +23,7 @@ function v(t, n) {
23
23
  ...t.map((e) => ({
24
24
  key: e,
25
25
  header: n(
26
- `ADMIN_ALL_SERVICES_COLUMN_${M(e)}`
26
+ `ADMIN_ALL_SERVICES_COLUMN_${C(e)}`
27
27
  )
28
28
  })),
29
29
  {
@@ -32,7 +32,7 @@ function v(t, n) {
32
32
  }
33
33
  ];
34
34
  }
35
- function T(t, n) {
35
+ function O(t, n) {
36
36
  return t.map((e) => ({
37
37
  id: e.uuid,
38
38
  name: e.name,
@@ -48,39 +48,39 @@ function T(t, n) {
48
48
  )
49
49
  }));
50
50
  }
51
- const j = () => {
52
- const { t } = S(), { appointmentsConfig: n } = R(), e = n?.serviceTableFields ?? [
51
+ const B = () => {
52
+ const { t } = M(), { appointmentsConfig: n } = R(), e = n?.serviceTableFields ?? [
53
53
  ...l
54
54
  ], a = o(
55
- () => O(e),
55
+ () => T(e),
56
56
  [e]
57
- ), { data: i, isLoading: m, isError: p } = f({
57
+ ), { data: i, isLoading: m, isError: d } = f({
58
58
  queryKey: ["allAppointmentServices"],
59
59
  queryFn: I
60
- }), d = o(
60
+ }), p = o(
61
61
  () => v(e, t),
62
62
  [e]
63
63
  ), _ = o(
64
- () => T(i ?? [], a),
64
+ () => O(i ?? [], a),
65
65
  [i, a]
66
66
  ), b = (u, s) => s === "actions" ? null : l.includes(s) ? u[s] ?? "-" : u.attributes[s] ?? "-", A = [
67
67
  { id: "home", label: t("BREADCRUMB_HOME"), href: L },
68
68
  { id: "admin", label: t("BREADCRUMB_ADMIN"), isCurrentPage: !0 }
69
69
  ];
70
70
  return /* @__PURE__ */ r(
71
- y,
71
+ N,
72
72
  {
73
- header: /* @__PURE__ */ r(g, { breadcrumbItems: A }),
73
+ header: /* @__PURE__ */ r(y, { breadcrumbItems: A }),
74
74
  main: /* @__PURE__ */ r("div", { className: c.tableContainer, children: /* @__PURE__ */ r(
75
- N,
75
+ g,
76
76
  {
77
77
  id: "all-services",
78
78
  title: t("ADMIN_ALL_SERVICES_TITLE"),
79
- headers: d,
79
+ headers: p,
80
80
  rows: _,
81
81
  ariaLabel: "all-services-table",
82
82
  loading: m,
83
- errorStateMessage: p ? t("ADMIN_ALL_SERVICES_ERROR_MESSAGE") : null,
83
+ errorStateMessage: d ? t("ADMIN_ALL_SERVICES_ERROR_MESSAGE") : null,
84
84
  emptyStateMessage: t("ADMIN_ALL_SERVICES_EMPTY_MESSAGE"),
85
85
  renderCell: b,
86
86
  className: c.table
@@ -90,5 +90,5 @@ const j = () => {
90
90
  );
91
91
  };
92
92
  export {
93
- j as default
93
+ B as default
94
94
  };