@bahmni/clinical-app 0.0.1-dev.220 → 0.0.1-dev.221

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 (61) hide show
  1. package/dist/{DocumentsTable-CJ7fZ08M-BBg0Stsv.js → DocumentsTable-BZHe_sb0-CvhGvt6W.js} +1 -1
  2. package/dist/{FormsTable-B5bhuwKx-ILWKeMi8.js → FormsTable-BztxQbBL-BtibKCgi.js} +23 -23
  3. package/dist/{LNWAZHJI-B37fkPgy.js → LNWAZHJI-CuEz9LcO.js} +2 -2
  4. package/dist/{MWZ6AO7Z-BwDyfEIR.js → MWZ6AO7Z-8MIaTO_r.js} +2 -2
  5. package/dist/{Observations-DkQGjP2q-B6XgVC5P.js → Observations-Cnt-RGWx-6neapwA3.js} +1 -1
  6. package/dist/{YPM2AS64-C4xIMPse.js → YPM2AS64-BKd6hzl1.js} +1 -1
  7. package/dist/components/consultationPad/__tests__/__mocks__/indexMocks.d.ts +31 -0
  8. package/dist/components/consultationPad/__tests__/__mocks__/indexMocks.d.ts.map +1 -0
  9. package/dist/components/consultationPad/__tests__/__mocks__/inputControlRegistryMocks.d.ts +3 -0
  10. package/dist/components/consultationPad/__tests__/__mocks__/inputControlRegistryMocks.d.ts.map +1 -0
  11. package/dist/components/consultationPad/__tests__/__mocks__/servicesMocks.d.ts +30 -0
  12. package/dist/components/consultationPad/__tests__/__mocks__/servicesMocks.d.ts.map +1 -0
  13. package/dist/components/consultationPad/components/InputControlRenderer.d.ts +9 -0
  14. package/dist/components/consultationPad/components/InputControlRenderer.d.ts.map +1 -0
  15. package/dist/components/consultationPad/components/ObservationFormsPanel.d.ts +4 -0
  16. package/dist/components/consultationPad/components/ObservationFormsPanel.d.ts.map +1 -0
  17. package/dist/components/consultationPad/{ConsultationPad.d.ts → index.d.ts} +2 -1
  18. package/dist/components/consultationPad/index.d.ts.map +1 -0
  19. package/dist/components/consultationPad/inputControlRegistry.d.ts +4 -0
  20. package/dist/components/consultationPad/inputControlRegistry.d.ts.map +1 -0
  21. package/dist/components/consultationPad/models.d.ts +21 -0
  22. package/dist/components/consultationPad/models.d.ts.map +1 -0
  23. package/dist/components/consultationPad/services.d.ts +16 -0
  24. package/dist/components/consultationPad/services.d.ts.map +1 -0
  25. package/dist/components/consultationPad/utils.d.ts +9 -0
  26. package/dist/components/consultationPad/utils.d.ts.map +1 -0
  27. package/dist/components/forms/encounterDetails/EncounterDetails.d.ts +2 -6
  28. package/dist/components/forms/encounterDetails/EncounterDetails.d.ts.map +1 -1
  29. package/dist/components/forms/index.d.ts +7 -0
  30. package/dist/components/forms/index.d.ts.map +1 -0
  31. package/dist/components/forms/observations/ObservationFormsContainer.d.ts +0 -2
  32. package/dist/components/forms/observations/ObservationFormsContainer.d.ts.map +1 -1
  33. package/dist/components/patientHeader/ConsultationActionButton.d.ts +0 -8
  34. package/dist/components/patientHeader/ConsultationActionButton.d.ts.map +1 -1
  35. package/dist/components/patientHeader/PatientHeader.d.ts +0 -2
  36. package/dist/components/patientHeader/PatientHeader.d.ts.map +1 -1
  37. package/dist/events/startConsultation/constants.d.ts +2 -0
  38. package/dist/events/startConsultation/constants.d.ts.map +1 -0
  39. package/dist/events/startConsultation/event.d.ts +3 -0
  40. package/dist/events/startConsultation/event.d.ts.map +1 -0
  41. package/dist/events/startConsultation/hooks.d.ts +3 -0
  42. package/dist/events/startConsultation/hooks.d.ts.map +1 -0
  43. package/dist/events/startConsultation/index.d.ts +5 -0
  44. package/dist/events/startConsultation/index.d.ts.map +1 -0
  45. package/dist/events/startConsultation/models.d.ts +4 -0
  46. package/dist/events/startConsultation/models.d.ts.map +1 -0
  47. package/dist/hooks/useEncounterSession.d.ts +1 -1
  48. package/dist/hooks/useEncounterSession.d.ts.map +1 -1
  49. package/dist/{index-B1zhpc_t.js → index-DMl1m_nU.js} +23689 -23604
  50. package/dist/index.css +1 -1
  51. package/dist/index.js +1 -1
  52. package/dist/pages/ConsultationPage.d.ts.map +1 -1
  53. package/dist/providers/clinicalConfig/models.d.ts +24 -0
  54. package/dist/providers/clinicalConfig/models.d.ts.map +1 -1
  55. package/dist/providers/clinicalConfig/schema.json.d.ts +95 -2
  56. package/dist/stores/encounterDetailsStore.d.ts +2 -0
  57. package/dist/stores/encounterDetailsStore.d.ts.map +1 -1
  58. package/dist/stores/index.d.ts +7 -0
  59. package/dist/stores/index.d.ts.map +1 -0
  60. package/package.json +1 -1
  61. package/dist/components/consultationPad/ConsultationPad.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as r, jsxs as p, Fragment as Y } from "react/jsx-runtime";
2
- import { t as K, u as Q, r as W, a as J, M as X, N as Z, o as ee, s as te, b as ae } from "./index-B1zhpc_t.js";
2
+ import { t as K, u as Q, r as W, a as J, M as X, N as Z, o as ee, s as te, b as ae } from "./index-DMl1m_nU.js";
3
3
  import { useState as l, useCallback as h, useEffect as f, useMemo as T } from "react";
4
4
  const ne = "_documentsTableBody_1voj8_1", oe = "_viewAttachmentsLink_1voj8_11", re = "_documentViewerContainer_1voj8_15", de = "_attachmentItem_1voj8_23", se = "_attachmentCounter_1voj8_27", ce = "_attachmentError_1voj8_36", ie = "_documentIframe_1voj8_44", le = "_documentImage_1voj8_50", d = {
5
5
  documentsTableBody: ne,
@@ -1,17 +1,17 @@
1
1
  import { jsx as o, jsxs as Y, Fragment as Z } from "react/jsx-runtime";
2
- import { u as W, t as ee, m as re, c as ae, a as c, k as te, V as U, N as se, M as oe, o as C, G as ne, J as de, s as ie, Z as ue, d as me, e as le, X as ce, f as fe, Q as ye } from "./index-B1zhpc_t.js";
3
- import { useState as S, useMemo as d, useCallback as f } from "react";
4
- const be = "_formsTableBody_81hra_1", Ne = "_customAccordianItem_81hra_6", I = {
5
- formsTableBody: be,
6
- customAccordianItem: Ne
2
+ import { u as W, t as ee, m as re, c as ae, a as c, k as te, V as U, N as se, M as oe, o as S, G as ne, J as de, s as ie, Z as ue, d as me, e as le, X as ce, f as fe, Q as ye } from "./index-DMl1m_nU.js";
3
+ import { useState as q, useMemo as d, useCallback as f } from "react";
4
+ const Ne = "_formsTableBody_81hra_1", be = "_customAccordianItem_81hra_6", I = {
5
+ formsTableBody: Ne,
6
+ customAccordianItem: be
7
7
  }, pe = (u) => u ? u.extension?.find(
8
8
  (n) => n.url === me
9
9
  )?.valueString : void 0, Oe = ({
10
10
  episodeOfCareUuids: u,
11
11
  encounterUuids: n,
12
- config: q
12
+ config: C
13
13
  }) => {
14
- const { t: s } = W(), m = ee(), [l, O] = S(!1), [t, A] = S(null), { numberOfVisits: k, hideThumbnail: V = !1 } = q ?? {}, M = re(
14
+ const { t: s } = W(), m = ee(), [l, O] = q(!1), [t, A] = q(null), { numberOfVisits: k, hideThumbnail: V = !1 } = C ?? {}, M = re(
15
15
  u,
16
16
  n
17
17
  ), G = ae(), {
@@ -26,23 +26,23 @@ const be = "_formsTableBody_81hra_1", Ne = "_customAccordianItem_81hra_6", I = {
26
26
  enabled: !!m && !M
27
27
  }), E = d(() => !n || n.length === 0 ? y : y.filter(
28
28
  (e) => n.includes(e.encounterUuid)
29
- ), [y, n]), { data: _ = [] } = c({
29
+ ), [y, n]), { data: F = [] } = c({
30
30
  queryKey: ["observationForms"],
31
31
  queryFn: () => ce()
32
- }), F = f(
33
- (e) => _.find((r) => r.name === e)?.uuid,
34
- [_]
35
- ), b = d(() => {
32
+ }), _ = f(
33
+ (e) => F.find((r) => r.name === e)?.uuid,
34
+ [F]
35
+ ), N = d(() => {
36
36
  if (t)
37
- return F(t.formName);
38
- }, [t, F]), {
37
+ return _(t.formName);
38
+ }, [t, _]), {
39
39
  isLoading: Q,
40
40
  isError: j,
41
- error: N
41
+ error: b
42
42
  } = c({
43
- queryKey: ["formMetadata", b],
44
- queryFn: () => fe(b),
45
- enabled: !!b && l
43
+ queryKey: ["formMetadata", N],
44
+ queryFn: () => fe(N),
45
+ enabled: !!N && l
46
46
  }), {
47
47
  data: p,
48
48
  isLoading: x,
@@ -63,11 +63,11 @@ const be = "_formsTableBody_81hra_1", Ne = "_customAccordianItem_81hra_6", I = {
63
63
  const r = pe(e);
64
64
  return !r || r.includes(t.formName);
65
65
  }), [p, t?.formName]), z = d(() => {
66
- if (N)
67
- return U(N).message;
66
+ if (b)
67
+ return U(b).message;
68
68
  if (g)
69
69
  return U(g).message;
70
- }, [N, g]), L = d(
70
+ }, [b, g]), L = d(
71
71
  () => [
72
72
  { key: "recordedOn", header: s("RECORDED_ON") },
73
73
  { key: "recordedBy", header: s("RECORDED_BY") }
@@ -123,7 +123,7 @@ const be = "_formsTableBody_81hra_1", Ne = "_customAccordianItem_81hra_6", I = {
123
123
  );
124
124
  return /* @__PURE__ */ Y(Z, { children: [
125
125
  /* @__PURE__ */ o("div", { "data-testid": "forms-table", children: T || B || D.length === 0 || M ? /* @__PURE__ */ o(
126
- C,
126
+ S,
127
127
  {
128
128
  headers: L,
129
129
  ariaLabel: s("FORMS_HEADING"),
@@ -145,7 +145,7 @@ const be = "_formsTableBody_81hra_1", Ne = "_customAccordianItem_81hra_6", I = {
145
145
  testId: `accordian-title-${a}`,
146
146
  open: r === 0,
147
147
  children: /* @__PURE__ */ o(
148
- C,
148
+ S,
149
149
  {
150
150
  headers: L,
151
151
  ariaLabel: s("FORMS_HEADING"),
@@ -1,5 +1,5 @@
1
- import { c, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-C4xIMPse.js";
2
- import { z as d, A as f, B as e } from "./index-B1zhpc_t.js";
1
+ import { c, T as l, P as m, a as u, D as v, Q as i } from "./YPM2AS64-BKd6hzl1.js";
2
+ import { z as d, A as f, B as e } from "./index-DMl1m_nU.js";
3
3
  var p = (a) => {
4
4
  const [r, t] = c({
5
5
  prefix: "TanstackQueryDevtools"
@@ -1,5 +1,5 @@
1
- import { c as s, T as c, P as u, a as i, b as m, C as P, Q as d } from "./YPM2AS64-C4xIMPse.js";
2
- import { z as v, A as C, B as e } from "./index-B1zhpc_t.js";
1
+ import { c as s, T as c, P as u, a as i, b as m, C as P, Q as d } from "./YPM2AS64-BKd6hzl1.js";
2
+ import { z as v, A as C, B as e } from "./index-DMl1m_nU.js";
3
3
  var h = (t) => {
4
4
  const [r, o] = s({
5
5
  prefix: "TanstackQueryDevtools"
@@ -1,5 +1,5 @@
1
1
  import { jsxs as N, jsx as u } from "react/jsx-runtime";
2
- import { t as B, r as K, u as S, g as G, Y as w, a as x, k as M, h as Q, l as j, i as H, j as Y, o as P, n as z, O as U, p as J, q as W, I as X, v as Z, w as ee, x as ae, y as te } from "./index-B1zhpc_t.js";
2
+ import { t as B, r as K, u as S, g as G, Y as w, a as x, k as M, h as Q, l as j, i as H, j as Y, o as P, n as z, O as U, p as J, q as W, I as X, v as Z, w as ee, x as ae, y as te } from "./index-DMl1m_nU.js";
3
3
  import { useRef as se, useEffect as $, useMemo as R } from "react";
4
4
  const D = (a, n, d, l, b, r) => {
5
5
  const t = J(a, n, b), s = t.value, i = W(s);
@@ -1,4 +1,4 @@
1
- import { C as we, D as z, E as xt, F as B, A as q, B as y, P as Ro, H as ye, S as R, K as _, L as k, R as N, T as A, U as bs, W as ir, _ as $e, $ as U, a0 as Hn, a1 as Vn, a2 as dt, a3 as D, a4 as xs, a5 as cn, a6 as Be, a7 as ws, a8 as qt, a9 as zt, aa as $s, ab as Cs, ac as $n, ad as Ss, ae as Nr, af as Bt, ag as zo, ah as ks, ai as Es, aj as j, ak as Ur, al as Ms, am as Ds, an as sr, ao as As, ap as Ts, aq as zn, ar as Fs, as as Is, at as Z, au as Ps, av as Ls } from "./index-B1zhpc_t.js";
1
+ import { C as we, D as z, E as xt, F as B, A as q, B as y, P as Ro, H as ye, S as R, K as _, L as k, R as N, T as A, U as bs, W as ir, _ as $e, $ as U, a0 as Hn, a1 as Vn, a2 as dt, a3 as D, a4 as xs, a5 as cn, a6 as Be, a7 as ws, a8 as qt, a9 as zt, aa as $s, ab as Cs, ac as $n, ad as Ss, ae as Nr, af as Bt, ag as zo, ah as ks, ai as Es, aj as j, ak as Ur, al as Ms, am as Ds, an as sr, ao as As, ap as Ts, aq as zn, ar as Fs, as as Is, at as Z, au as Ps, av as Ls } from "./index-DMl1m_nU.js";
2
2
  var Os = (e) => e != null, qs = (e) => e.filter(Os);
3
3
  function _s(e) {
4
4
  return (...t) => {
@@ -0,0 +1,31 @@
1
+ import { EncounterInputControl } from '../../models';
2
+ export declare const mockRegistry: EncounterInputControl[];
3
+ export declare const makeMockEntry: (key?: EncounterInputControl["key"], overrides?: Partial<EncounterInputControl>) => EncounterInputControl;
4
+ export declare const mockObsFormsState: {
5
+ viewingForm: null;
6
+ setViewingForm: any;
7
+ updateFormData: any;
8
+ getFormData: any;
9
+ removeForm: any;
10
+ };
11
+ export declare const mockSubmitResult: {
12
+ patientUUID: string;
13
+ encounterTypeName: string;
14
+ updatedConcepts: Map<string, string>;
15
+ };
16
+ export declare const mockEncounterConcepts: {
17
+ encounterTypes: {
18
+ name: string;
19
+ uuid: string;
20
+ }[];
21
+ visitTypes: never[];
22
+ orderTypes: never[];
23
+ conceptData: never[];
24
+ };
25
+ export declare const mockUpdatedResources: {
26
+ conditions: boolean;
27
+ allergies: boolean;
28
+ medications: boolean;
29
+ serviceRequests: Record<string, boolean>;
30
+ };
31
+ //# sourceMappingURL=indexMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexMocks.d.ts","sourceRoot":"","sources":["../../../../../src/components/consultationPad/__tests__/__mocks__/indexMocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,eAAO,MAAM,YAAY,EAAE,qBAAqB,EAyB/C,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAK,qBAAqB,CAAC,KAAK,CAAe,EAC/C,YAAW,OAAO,CAAC,qBAAqB,CAAM,KAC7C,qBAQD,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;qBAIR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAC/C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConsultationPad } from '../../../../providers/clinicalConfig/models';
2
+ export declare const mockConsultationPadConfig: ConsultationPad;
3
+ //# sourceMappingURL=inputControlRegistryMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputControlRegistryMocks.d.ts","sourceRoot":"","sources":["../../../../../src/components/consultationPad/__tests__/__mocks__/inputControlRegistryMocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEnF,eAAO,MAAM,yBAAyB,EAAE,eAiDvC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Bundle, BundleEntry, Encounter } from 'fhir/r4';
2
+ import { ConsultationBundle } from '../../../../models/consultationBundle';
3
+ import { EncounterInputControl } from '../../models';
4
+ export declare const mockStoreState: {
5
+ selectedEncounterType: {
6
+ uuid: string;
7
+ name: string;
8
+ };
9
+ patientUUID: string;
10
+ encounterParticipants: {
11
+ uuid: string;
12
+ }[];
13
+ activeVisit: {
14
+ id: string;
15
+ };
16
+ selectedLocation: {
17
+ uuid: string;
18
+ };
19
+ consultationDate: Date;
20
+ practitioner: {
21
+ uuid: string;
22
+ };
23
+ };
24
+ export declare const mockEncounterResource: Encounter;
25
+ export declare const mockEncounterBundleEntry: BundleEntry;
26
+ export declare const mockResponseBundle: Bundle;
27
+ export declare const mockBundle: ConsultationBundle;
28
+ export declare const mockUpdatedConcepts: Map<string, string>;
29
+ export declare const mockFormEntry: (overrides?: Partial<EncounterInputControl>) => EncounterInputControl;
30
+ //# sourceMappingURL=servicesMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servicesMocks.d.ts","sourceRoot":"","sources":["../../../../../src/components/consultationPad/__tests__/__mocks__/servicesMocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAQ1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,SASnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAItC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAIhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,qBAA0C,CAAC;AAE3E,eAAO,MAAM,aAAa,GACxB,YAAW,OAAO,CAAC,qBAAqB,CAAM,KAC7C,qBAaD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { EncounterInputControl } from '../models';
3
+ interface InputControlRendererProps {
4
+ entry: EncounterInputControl;
5
+ encounterType: string;
6
+ }
7
+ declare const InputControlRenderer: React.FC<InputControlRendererProps>;
8
+ export default InputControlRenderer;
9
+ //# sourceMappingURL=InputControlRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputControlRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/consultationPad/components/InputControlRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,UAAU,yBAAyB;IACjC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmB7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ declare const ObservationFormsPanel: React.FC;
3
+ export default ObservationFormsPanel;
4
+ //# sourceMappingURL=ObservationFormsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservationFormsPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/consultationPad/components/ObservationFormsPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAuClC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { default as React } from 'react';
2
2
  interface ConsultationPadProps {
3
+ encounterType: string;
3
4
  onClose: () => void;
4
5
  }
5
6
  declare const ConsultationPad: React.FC<ConsultationPadProps>;
6
7
  export default ConsultationPad;
7
- //# sourceMappingURL=ConsultationPad.d.ts.map
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consultationPad/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAMN,MAAM,OAAO,CAAC;AAef,UAAU,oBAAoB;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2NnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ConsultationPad } from '../../providers/clinicalConfig/models';
2
+ import { EncounterInputControl } from './models';
3
+ export declare function loadEncounterInputControls(config: ConsultationPad | undefined): EncounterInputControl[];
4
+ //# sourceMappingURL=inputControlRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputControlRegistry.d.ts","sourceRoot":"","sources":["../../../src/components/consultationPad/inputControlRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AA2B7E,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiIxE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,qBAAqB,EAAE,CAsBzB"}
@@ -0,0 +1,21 @@
1
+ import { BundleEntry, Reference } from 'fhir/r4';
2
+ export type InputControlKey = 'encounterDetails' | 'allergies' | 'investigations' | 'conditionsAndDiagnoses' | 'medications' | 'vaccinations' | 'observationForms';
3
+ export interface EncounterContext {
4
+ encounterSubject: Reference;
5
+ encounterReference: string;
6
+ practitionerUUID: string;
7
+ consultationDate: Date;
8
+ statDurationInMilliseconds?: number;
9
+ }
10
+ export interface EncounterInputControl {
11
+ key: InputControlKey;
12
+ encounterTypes?: string[];
13
+ privilege?: string[];
14
+ component: React.ComponentType;
15
+ reset: () => void;
16
+ validate: () => boolean;
17
+ hasData: () => boolean;
18
+ subscribe: (cb: () => void) => () => void;
19
+ createBundleEntries?: (ctx: EncounterContext) => BundleEntry[];
20
+ }
21
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/components/consultationPad/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,WAAW,GACX,gBAAgB,GAChB,wBAAwB,GACxB,aAAa,GACb,cAAc,GACd,kBAAkB,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,eAAe,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC1C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,WAAW,EAAE,CAAC;CAChE"}
@@ -0,0 +1,16 @@
1
+ import { Encounter } from 'fhir/r4';
2
+ import { EncounterInputControl } from './models';
3
+ interface SubmissionRequest {
4
+ activeEncounter: Encounter | null;
5
+ episodeOfCareUuids: string[];
6
+ statDurationInMilliseconds?: number;
7
+ activeEntries: EncounterInputControl[];
8
+ }
9
+ interface SubmissionResult {
10
+ updatedConcepts: Map<string, string>;
11
+ patientUUID: string;
12
+ encounterTypeName: string;
13
+ }
14
+ export declare function submitConsultation(deps: SubmissionRequest): Promise<SubmissionResult>;
15
+ export {};
16
+ //# sourceMappingURL=services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/components/consultationPad/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,SAAS,EAAE,MAAM,SAAS,CAAC;AAUjD,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAExE,UAAU,iBAAiB;IACzB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAED,UAAU,gBAAgB;IACxB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA2D3B"}
@@ -0,0 +1,9 @@
1
+ import { EncounterInputControl } from './models';
2
+ export declare function getActiveEntries(registry: EncounterInputControl[], encounterType: string): EncounterInputControl[];
3
+ export declare function captureUpdatedResources(entries: EncounterInputControl[]): {
4
+ conditions: boolean;
5
+ allergies: boolean;
6
+ medications: boolean;
7
+ serviceRequests: Record<string, boolean>;
8
+ };
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/consultationPad/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEtD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,qBAAqB,EAAE,EACjC,aAAa,EAAE,MAAM,GACpB,qBAAqB,EAAE,CAKzB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE;;;;;EAiBvE"}
@@ -1,8 +1,4 @@
1
- import { ActivePractitionerContextType } from '@bahmni/widgets';
2
1
  import { default as React } from 'react';
3
- declare const _default: React.NamedExoticComponent<{
4
- /** Pre-fetched practitioner state to avoid redundant API calls */
5
- practitionerState: ActivePractitionerContextType;
6
- }>;
7
- export default _default;
2
+ declare const EncounterDetails: React.FC;
3
+ export default EncounterDetails;
8
4
  //# sourceMappingURL=EncounterDetails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncounterDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/encounterDetails/EncounterDetails.tsx"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAA6B,MAAM,OAAO,CAAC;;IAahD,kEAAkE;uBAC/C,6BAA6B;;AAmVlD,wBAA4C"}
1
+ {"version":3,"file":"EncounterDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/encounterDetails/EncounterDetails.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA+T7B,CAAC;AA4BF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { default as AllergiesForm } from './allergies/AllergiesForm';
2
+ export { default as ConditionsAndDiagnoses } from './conditionsAndDiagnoses/ConditionsAndDiagnoses';
3
+ export { default as EncounterDetails } from './encounterDetails/EncounterDetails';
4
+ export { default as InvestigationsForm } from './investigations/InvestigationsForm';
5
+ export { default as MedicationsForm } from './medications/MedicationsForm';
6
+ export { default as VaccinationForm } from './vaccinations/VaccinationForm';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACpG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
@@ -5,8 +5,6 @@ interface ObservationFormsContainerProps {
5
5
  onViewingFormChange: (viewingForm: ObservationForm | null) => void;
6
6
  viewingForm?: ObservationForm | null;
7
7
  onRemoveForm?: (formUuid: string) => void;
8
- pinnedForms: ObservationForm[];
9
- updatePinnedForms: (newPinnedForms: ObservationForm[]) => Promise<void>;
10
8
  onFormObservationsChange?: (formUuid: string, observations: Form2Observation[], validationErrorType?: null | typeof VALIDATION_STATE_EMPTY | typeof VALIDATION_STATE_MANDATORY | typeof VALIDATION_STATE_INVALID | typeof VALIDATION_STATE_SCRIPT_ERROR) => void;
11
9
  existingObservations?: Form2Observation[];
12
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ObservationFormsContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/observations/ObservationFormsContainer.tsx"],"names":[],"mappings":"AAWA,OAAO,wCAAwC,CAAC;AAChD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,gBAAgB,EAMjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAEL,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAKlC,UAAU,8BAA8B;IACtC,mBAAmB,EAAE,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,iBAAiB,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,wBAAwB,CAAC,EAAE,CACzB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,gBAAgB,EAAE,EAChC,mBAAmB,CAAC,EAChB,IAAI,GACJ,OAAO,sBAAsB,GAC7B,OAAO,0BAA0B,GACjC,OAAO,wBAAwB,GAC/B,OAAO,6BAA6B,KACrC,IAAI,CAAC;IACV,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC3C;AAED,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CA6WvE,CAAC;AAuBF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"ObservationFormsContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/observations/ObservationFormsContainer.tsx"],"names":[],"mappings":"AAWA,OAAO,wCAAwC,CAAC;AAChD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,gBAAgB,EAMjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAEL,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAQlC,UAAU,8BAA8B;IACtC,mBAAmB,EAAE,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,wBAAwB,CAAC,EAAE,CACzB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,gBAAgB,EAAE,EAChC,mBAAmB,CAAC,EAChB,IAAI,GACJ,OAAO,sBAAsB,GAC7B,OAAO,0BAA0B,GACjC,OAAO,wBAAwB,GAC/B,OAAO,6BAA6B,KACrC,IAAI,CAAC;IACV,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC3C;AAED,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAoXvE,CAAC;AAuBF,eAAe,yBAAyB,CAAC"}
@@ -1,15 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  interface ConsultationActionButtonProps {
3
3
  isActionAreaVisible: boolean;
4
- setIsActionAreaVisible: React.Dispatch<React.SetStateAction<boolean>>;
5
4
  }
6
- /**
7
- * ConsultationActionButton component that shows "New Consultation" or "Edit Consultation"
8
- * based on encounter session state
9
- *
10
- * @param {ConsultationActionButtonProps} props - Component props
11
- * @returns {React.ReactElement} The ConsultationActionButton component
12
- */
13
5
  declare const ConsultationActionButton: React.FC<ConsultationActionButtonProps>;
14
6
  export default ConsultationActionButton;
15
7
  //# sourceMappingURL=ConsultationActionButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsultationActionButton.d.ts","sourceRoot":"","sources":["../../../src/components/patientHeader/ConsultationActionButton.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,6BAA6B;IACrC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACvE;AAED;;;;;;GAMG;AACH,QAAA,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CA+BrE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ConsultationActionButton.d.ts","sourceRoot":"","sources":["../../../src/components/patientHeader/ConsultationActionButton.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,6BAA6B;IACrC,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CA8BrE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -1,14 +1,12 @@
1
1
  import { default as React } from 'react';
2
2
  interface PatientHeaderProps {
3
3
  isActionAreaVisible: boolean;
4
- setIsActionAreaVisible: React.Dispatch<React.SetStateAction<boolean>>;
5
4
  }
6
5
  /**
7
6
  * Header component for the Bahmni Clinical application
8
7
  * Displays patient details with consultation action button
9
8
  *
10
9
  * @param {boolean} isActionAreaVisible - Whether the action area is currently visible
11
- * @param {function} setIsActionAreaVisible - Function to toggle action area visibility
12
10
  * @returns {React.ReactElement} The Header component
13
11
  */
14
12
  declare const PatientHeader: React.FC<PatientHeaderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"PatientHeader.d.ts","sourceRoot":"","sources":["../../../src/components/patientHeader/PatientHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,kBAAkB;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACvE;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmB/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PatientHeader.d.ts","sourceRoot":"","sources":["../../../src/components/patientHeader/PatientHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,kBAAkB;IAC1B,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAe/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const CONSULTATION_START_EVENT = "startConsultation";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/events/startConsultation/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConsultationStartEvent } from './models';
2
+ export declare const dispatchConsultationStart: (payload: ConsultationStartEvent) => void;
3
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/events/startConsultation/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,yBAAyB,GACpC,SAAS,sBAAsB,KAC9B,IAKF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConsultationStartEvent } from './models';
2
+ export declare const useSubscribeConsultationStart: (callback: (payload: ConsultationStartEvent) => void) => void;
3
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/events/startConsultation/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,6BAA6B,GACxC,UAAU,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,SAUpD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { dispatchConsultationStart } from './event';
2
+ export { useSubscribeConsultationStart } from './hooks';
3
+ export { CONSULTATION_START_EVENT } from './constants';
4
+ export type { ConsultationStartEvent } from './models';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/startConsultation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface ConsultationStartEvent {
2
+ encounterType?: string;
3
+ }
4
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/events/startConsultation/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,8 +1,8 @@
1
1
  import { Provider } from '@bahmni/services';
2
2
  import { Encounter } from 'fhir/r4';
3
3
  interface UseEncounterSessionOptions {
4
- /** The practitioner to use for session filtering */
5
4
  practitioner: Provider | null;
5
+ encounterTypeUUID?: string;
6
6
  }
7
7
  interface UseEncounterSessionReturn {
8
8
  hasActiveSession: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useEncounterSession.d.ts","sourceRoot":"","sources":["../../src/hooks/useEncounterSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,UAAU,0BAA0B;IAClC,oDAAoD;IACpD,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AAED,UAAU,yBAAyB;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;GAKG;AAEH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CAyF3B"}
1
+ {"version":3,"file":"useEncounterSession.d.ts","sourceRoot":"","sources":["../../src/hooks/useEncounterSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,UAAU,0BAA0B;IAClC,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,yBAAyB;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;GAKG;AAEH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CA0F3B"}