@metriport/shared 0.33.7 → 0.34.0

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 (63) hide show
  1. package/dist/common/__tests__/purpose-of-use.test.d.ts +2 -0
  2. package/dist/common/__tests__/purpose-of-use.test.d.ts.map +1 -0
  3. package/dist/common/__tests__/purpose-of-use.test.js +24 -0
  4. package/dist/common/__tests__/purpose-of-use.test.js.map +1 -0
  5. package/dist/common/purpose-of-use.d.ts +16 -1
  6. package/dist/common/purpose-of-use.d.ts.map +1 -1
  7. package/dist/common/purpose-of-use.js +25 -2
  8. package/dist/common/purpose-of-use.js.map +1 -1
  9. package/dist/domain/__tests__/cohort-response-dto.test.js +0 -11
  10. package/dist/domain/__tests__/cohort-response-dto.test.js.map +1 -1
  11. package/dist/domain/cohort-purpose-of-use-hies.d.ts +2 -1
  12. package/dist/domain/cohort-purpose-of-use-hies.d.ts.map +1 -1
  13. package/dist/domain/cohort-purpose-of-use-hies.js +6 -2
  14. package/dist/domain/cohort-purpose-of-use-hies.js.map +1 -1
  15. package/dist/domain/cohort.d.ts +9 -1
  16. package/dist/domain/cohort.d.ts.map +1 -1
  17. package/dist/domain/cohort.js +16 -2
  18. package/dist/domain/cohort.js.map +1 -1
  19. package/dist/domain/patient/patient-settings.d.ts +19 -120
  20. package/dist/domain/patient/patient-settings.d.ts.map +1 -1
  21. package/dist/domain/patient/patient-settings.js +7 -24
  22. package/dist/domain/patient/patient-settings.js.map +1 -1
  23. package/dist/domain/patient/patient-status.d.ts +4 -12
  24. package/dist/domain/patient/patient-status.d.ts.map +1 -1
  25. package/dist/domain/patient/patient-status.js +0 -6
  26. package/dist/domain/patient/patient-status.js.map +1 -1
  27. package/dist/external/hl7v2/constants.d.ts +2 -0
  28. package/dist/external/hl7v2/constants.d.ts.map +1 -1
  29. package/dist/external/hl7v2/constants.js +15 -2
  30. package/dist/external/hl7v2/constants.js.map +1 -1
  31. package/dist/index.d.ts +2 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +4 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/interface/internal/adt.d.ts +1 -0
  36. package/dist/interface/internal/adt.d.ts.map +1 -0
  37. package/dist/interface/internal/adt.js +2 -0
  38. package/dist/interface/internal/adt.js.map +1 -0
  39. package/dist/interface/internal/cohort.d.ts +16 -0
  40. package/dist/interface/internal/cohort.d.ts.map +1 -1
  41. package/dist/interface/internal/cohort.js +1 -0
  42. package/dist/interface/internal/cohort.js.map +1 -1
  43. package/dist/interface/internal/consolidated.d.ts +37 -0
  44. package/dist/interface/internal/consolidated.d.ts.map +1 -1
  45. package/dist/interface/internal/consolidated.js +7 -1
  46. package/dist/interface/internal/consolidated.js.map +1 -1
  47. package/dist/interface/internal/index.d.ts +2 -0
  48. package/dist/interface/internal/index.d.ts.map +1 -1
  49. package/dist/interface/internal/index.js +2 -0
  50. package/dist/interface/internal/index.js.map +1 -1
  51. package/dist/interface/internal/patient-settings.d.ts +108 -0
  52. package/dist/interface/internal/patient-settings.d.ts.map +1 -0
  53. package/dist/interface/internal/patient-settings.js +19 -0
  54. package/dist/interface/internal/patient-settings.js.map +1 -0
  55. package/dist/interface/internal/patient-status.d.ts +12 -0
  56. package/dist/interface/internal/patient-status.d.ts.map +1 -0
  57. package/dist/interface/internal/patient-status.js +9 -0
  58. package/dist/interface/internal/patient-status.js.map +1 -0
  59. package/dist/medical/fhir/coding.d.ts +1 -0
  60. package/dist/medical/fhir/coding.d.ts.map +1 -1
  61. package/dist/medical/fhir/coding.js +8 -0
  62. package/dist/medical/fhir/coding.js.map +1 -1
  63. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=purpose-of-use.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purpose-of-use.test.d.ts","sourceRoot":"","sources":["../../../src/common/__tests__/purpose-of-use.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const purpose_of_use_1 = require("../purpose-of-use");
4
+ describe("isAcceptedTefcaPurposeOfUse", () => {
5
+ it("accepts T-TRTMNT", () => {
6
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)(purpose_of_use_1.TefcaPurposeOfUse.TREATMENT)).toBe(true);
7
+ });
8
+ it("accepts T-IAS", () => {
9
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)(purpose_of_use_1.TefcaPurposeOfUse.IAS)).toBe(true);
10
+ });
11
+ it("accepts TEFCA codes case-insensitively", () => {
12
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)("t-trtmnt")).toBe(true);
13
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)(" t-ias ")).toBe(true);
14
+ });
15
+ it("rejects eHex Treatment PurposeOfUse", () => {
16
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)(purpose_of_use_1.PurposeOfUse.TREATMENT)).toBe(false);
17
+ });
18
+ it("rejects missing and sentinel values", () => {
19
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)(undefined)).toBe(false);
20
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)("")).toBe(false);
21
+ expect((0, purpose_of_use_1.isAcceptedTefcaPurposeOfUse)(purpose_of_use_1.NO_POU_SPECIFIED)).toBe(false);
22
+ });
23
+ });
24
+ //# sourceMappingURL=purpose-of-use.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purpose-of-use.test.js","sourceRoot":"","sources":["../../../src/common/__tests__/purpose-of-use.test.ts"],"names":[],"mappings":";;AAAA,sDAK2B;AAE3B,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,IAAA,4CAA2B,EAAC,kCAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,IAAA,4CAA2B,EAAC,kCAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,IAAA,4CAA2B,EAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAA,4CAA2B,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,IAAA,4CAA2B,EAAC,6BAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,IAAA,4CAA2B,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAA,4CAA2B,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,IAAA,4CAA2B,EAAC,iCAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -27,11 +27,20 @@ export declare enum PurposeOfUse {
27
27
  COVERAGE = "COVERAGE",
28
28
  REQUEST = "REQUEST"
29
29
  }
30
+ /**
31
+ * TEFCA Exchange Purpose (XP) codes in SAML PurposeOfUse (OID 2.16.840.1.113883.3.7204.1.5.2.1).
32
+ * @see https://rce.sequoiaproject.org/
33
+ */
34
+ export declare enum TefcaPurposeOfUse {
35
+ TREATMENT = "T-TRTMNT",
36
+ IAS = "T-IAS"
37
+ }
30
38
  /**
31
39
  * Sentinel value used by inbound SAML parsers when a peer's assertion omits the PoU
32
40
  * attribute entirely. Lets us keep `purposeOfUse: string` (required) in the SAML attribute
33
41
  * schema while still distinguishing "peer did not assert PoU" from a real value at the
34
- * application layer. `isAcceptedPurposeOfUse` rejects this sentinel by design.
42
+ * application layer. `isAcceptedPurposeOfUse` and `isAcceptedTefcaPurposeOfUse` reject this
43
+ * sentinel by design.
35
44
  */
36
45
  export declare const NO_POU_SPECIFIED = "NO_POU_SPECIFIED";
37
46
  /**
@@ -40,4 +49,10 @@ export declare const NO_POU_SPECIFIED = "NO_POU_SPECIFIED";
40
49
  * @returns True if the purpose of use is valid (Treatment), false otherwise.
41
50
  */
42
51
  export declare function isAcceptedPurposeOfUse(pou: string | undefined): boolean;
52
+ /**
53
+ * TEFCA inbound Responding Node supports Treatment (T-TRTMNT) and IAS (T-IAS) exchange purposes.
54
+ * @param pou Purpose of use / XP code from the SAML PurposeOfUse attribute.
55
+ * @returns True if the purpose of use is valid (T-TRTMNT or T-IAS), false otherwise.
56
+ */
57
+ export declare function isAcceptedTefcaPurposeOfUse(pou: string | undefined): boolean;
43
58
  //# sourceMappingURL=purpose-of-use.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"purpose-of-use.d.ts","sourceRoot":"","sources":["../../src/common/purpose-of-use.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEvE"}
1
+ {"version":3,"file":"purpose-of-use.d.ts","sourceRoot":"","sources":["../../src/common/purpose-of-use.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,SAAS,aAAa;IACtB,GAAG,UAAU;CACd;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEvE;AAMD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK5E"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NO_POU_SPECIFIED = exports.PurposeOfUse = void 0;
3
+ exports.NO_POU_SPECIFIED = exports.TefcaPurposeOfUse = exports.PurposeOfUse = void 0;
4
4
  exports.isAcceptedPurposeOfUse = isAcceptedPurposeOfUse;
5
+ exports.isAcceptedTefcaPurposeOfUse = isAcceptedTefcaPurposeOfUse;
5
6
  // https://www.hl7.org/fhir/codesystem-nhin-purposeofuse.html
6
7
  var PurposeOfUse;
7
8
  (function (PurposeOfUse) {
@@ -33,11 +34,21 @@ var PurposeOfUse;
33
34
  PurposeOfUse["COVERAGE"] = "COVERAGE";
34
35
  PurposeOfUse["REQUEST"] = "REQUEST";
35
36
  })(PurposeOfUse || (exports.PurposeOfUse = PurposeOfUse = {}));
37
+ /**
38
+ * TEFCA Exchange Purpose (XP) codes in SAML PurposeOfUse (OID 2.16.840.1.113883.3.7204.1.5.2.1).
39
+ * @see https://rce.sequoiaproject.org/
40
+ */
41
+ var TefcaPurposeOfUse;
42
+ (function (TefcaPurposeOfUse) {
43
+ TefcaPurposeOfUse["TREATMENT"] = "T-TRTMNT";
44
+ TefcaPurposeOfUse["IAS"] = "T-IAS";
45
+ })(TefcaPurposeOfUse || (exports.TefcaPurposeOfUse = TefcaPurposeOfUse = {}));
36
46
  /**
37
47
  * Sentinel value used by inbound SAML parsers when a peer's assertion omits the PoU
38
48
  * attribute entirely. Lets us keep `purposeOfUse: string` (required) in the SAML attribute
39
49
  * schema while still distinguishing "peer did not assert PoU" from a real value at the
40
- * application layer. `isAcceptedPurposeOfUse` rejects this sentinel by design.
50
+ * application layer. `isAcceptedPurposeOfUse` and `isAcceptedTefcaPurposeOfUse` reject this
51
+ * sentinel by design.
41
52
  */
42
53
  exports.NO_POU_SPECIFIED = "NO_POU_SPECIFIED";
43
54
  /**
@@ -48,4 +59,16 @@ exports.NO_POU_SPECIFIED = "NO_POU_SPECIFIED";
48
59
  function isAcceptedPurposeOfUse(pou) {
49
60
  return pou?.trim().toUpperCase() === PurposeOfUse.TREATMENT;
50
61
  }
62
+ const acceptedTefcaPurposeOfUse = new Set(Object.values(TefcaPurposeOfUse).map(value => value.trim().toUpperCase()));
63
+ /**
64
+ * TEFCA inbound Responding Node supports Treatment (T-TRTMNT) and IAS (T-IAS) exchange purposes.
65
+ * @param pou Purpose of use / XP code from the SAML PurposeOfUse attribute.
66
+ * @returns True if the purpose of use is valid (T-TRTMNT or T-IAS), false otherwise.
67
+ */
68
+ function isAcceptedTefcaPurposeOfUse(pou) {
69
+ if (!pou) {
70
+ return false;
71
+ }
72
+ return acceptedTefcaPurposeOfUse.has(pou.trim().toUpperCase());
73
+ }
51
74
  //# sourceMappingURL=purpose-of-use.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"purpose-of-use.js","sourceRoot":"","sources":["../../src/common/purpose-of-use.ts"],"names":[],"mappings":";;;;AAAA,6DAA6D;AAC7D,IAAY,YA4BX;AA5BD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,+CAA+B,CAAA;IAC/B,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,2BAAW,CAAA;IACX,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;AACrB,CAAC,EA5BW,YAAY,aAAZ,YAAY,GAAZ,YAAY,QA4BvB;AAED;;;;;GAKG;AACU,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,gCAAuC,GAAuB;IAC5D,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,SAAS,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"purpose-of-use.js","sourceRoot":"","sources":["../../src/common/purpose-of-use.ts"],"names":[],"mappings":";;;;;AAAA,6DAA6D;AAC7D,IAAY,YA4BX;AA5BD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,+CAA+B,CAAA;IAC/B,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,+BAAe,CAAA;IACf,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,2BAAW,CAAA;IACX,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;AACrB,CAAC,EA5BW,YAAY,aAAZ,YAAY,GAAZ,YAAY,QA4BvB;AAED;;;GAGG;AACH,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,2CAAsB,CAAA;IACtB,kCAAa,CAAA;AACf,CAAC,EAHW,iBAAiB,aAAjB,iBAAiB,GAAjB,iBAAiB,QAG5B;AAED;;;;;;GAMG;AACU,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,gCAAuC,GAAuB;IAC5D,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,yBAAyB,GAAG,IAAI,GAAG,CACvC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAC1E,CAAC;AAEF;;;;GAIG;AACH,qCAA4C,GAAuB;IACjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -33,17 +33,6 @@ describe("responseDtoFromCohort", () => {
33
33
  expect(response.purposeOfUse).toBe("operations");
34
34
  expect(response.settings.monitoring).toEqual(cohort_1.DEFAULT_MONITORING);
35
35
  });
36
- it("defaults purposeOfUse to treatment when missing", () => {
37
- const response = (0, cohort_1.responseDtoFromCohort)({
38
- ...cohortBase,
39
- purposeOfUse: "treatment",
40
- settings: {
41
- monitoring: cohort_1.DEFAULT_MONITORING,
42
- overrides: cohort_1.DEFAULT_OVERRIDES,
43
- },
44
- });
45
- expect(response.purposeOfUse).toBe("treatment");
46
- });
47
36
  it("strips overrides from public response", () => {
48
37
  const response = (0, cohort_1.responseDtoFromCohort)({
49
38
  ...cohortBase,
@@ -1 +1 @@
1
- {"version":3,"file":"cohort-response-dto.test.js","sourceRoot":"","sources":["../../../src/domain/__tests__/cohort-response-dto.test.ts"],"names":[],"mappings":";;AAAA,sCAMmB;AAEnB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAE7C,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,KAAc;IACrB,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;CACf,CAAC;AAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,IAAA,6CAAoC,EAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,IAAA,6CAAoC,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC;YACrC,GAAG,UAAU;YACb,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE;gBACR,UAAU,EAAE,2BAAkB;gBAC9B,SAAS,EAAE,0BAAiB;aAC7B;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,2BAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC;YACrC,GAAG,UAAU;YACb,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE;gBACR,UAAU,EAAE,2BAAkB;gBAC9B,SAAS,EAAE,0BAAiB;aAC7B;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC;YACrC,GAAG,UAAU;YACb,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE;gBACR,UAAU,EAAE,2BAAkB;gBAC9B,SAAS,EAAE,EAAE,CAAC,sCAA6B,CAAC,EAAE,IAAI,EAAE;aACrD;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cohort-response-dto.test.js","sourceRoot":"","sources":["../../../src/domain/__tests__/cohort-response-dto.test.ts"],"names":[],"mappings":";;AAAA,sCAMmB;AAEnB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAE7C,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,KAAc;IACrB,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;CACf,CAAC;AAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,IAAA,6CAAoC,EAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,IAAA,6CAAoC,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC;YACrC,GAAG,UAAU;YACb,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE;gBACR,UAAU,EAAE,2BAAkB;gBAC9B,SAAS,EAAE,0BAAiB;aAC7B;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,2BAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC;YACrC,GAAG,UAAU;YACb,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE;gBACR,UAAU,EAAE,2BAAkB;gBAC9B,SAAS,EAAE,EAAE,CAAC,sCAA6B,CAAC,EAAE,IAAI,EAAE;aACrD;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { HieName } from "../external/hl7v2/constants";
2
- export declare const OPS_ADT_HIE_NAMES: readonly HieName[];
2
+ export declare const operationsAllowedHies: readonly HieName[];
3
+ export declare function isOperationsAllowedAdtHie(hieName: string): boolean;
3
4
  //# sourceMappingURL=cohort-purpose-of-use-hies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cohort-purpose-of-use-hies.d.ts","sourceRoot":"","sources":["../../src/domain/cohort-purpose-of-use-hies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,eAAO,MAAM,iBAAiB,EAAE,SAAS,OAAO,EAK/C,CAAC"}
1
+ {"version":3,"file":"cohort-purpose-of-use-hies.d.ts","sourceRoot":"","sources":["../../src/domain/cohort-purpose-of-use-hies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAKnD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElE"}
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OPS_ADT_HIE_NAMES = void 0;
3
+ exports.operationsAllowedHies = void 0;
4
+ exports.isOperationsAllowedAdtHie = isOperationsAllowedAdtHie;
4
5
  const constants_1 = require("../external/hl7v2/constants");
5
- exports.OPS_ADT_HIE_NAMES = [
6
+ exports.operationsAllowedHies = [
6
7
  constants_1.HieName.Bamboo,
7
8
  constants_1.HieName.Riqi,
8
9
  constants_1.HieName.Pcc,
9
10
  constants_1.HieName.Konza,
10
11
  ];
12
+ function isOperationsAllowedAdtHie(hieName) {
13
+ return exports.operationsAllowedHies.includes(hieName);
14
+ }
11
15
  //# sourceMappingURL=cohort-purpose-of-use-hies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cohort-purpose-of-use-hies.js","sourceRoot":"","sources":["../../src/domain/cohort-purpose-of-use-hies.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAEzC,QAAA,iBAAiB,GAAuB;IACnD,mBAAO,CAAC,MAAM;IACd,mBAAO,CAAC,IAAI;IACZ,mBAAO,CAAC,GAAG;IACX,mBAAO,CAAC,KAAK;CACd,CAAC"}
1
+ {"version":3,"file":"cohort-purpose-of-use-hies.js","sourceRoot":"","sources":["../../src/domain/cohort-purpose-of-use-hies.ts"],"names":[],"mappings":";;;AASA,8DAEC;AAXD,2DAAsD;AAEzC,QAAA,qBAAqB,GAAuB;IACvD,mBAAO,CAAC,MAAM;IACd,mBAAO,CAAC,IAAI;IACZ,mBAAO,CAAC,GAAG;IACX,mBAAO,CAAC,KAAK;CACd,CAAC;AAEF,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,6BAAqB,CAAC,QAAQ,CAAC,OAAkB,CAAC,CAAC;AAC5D,CAAC"}
@@ -11,6 +11,11 @@ export declare const DEFAULT_NOTIFICATION: Notification;
11
11
  export declare const DEFAULT_PHARMACY_NOTIFICATION_SCHEDULE: PharmacyNotificationSchedule;
12
12
  export declare const DEFAULT_MONITORING: MonitoringSettings;
13
13
  export declare const DEFAULT_OVERRIDES: Overrides;
14
+ export declare const TREATMENT_COHORT_PURPOSE_OF_USE: "treatment";
15
+ export declare const OPERATIONS_COHORT_PURPOSE_OF_USE: "operations";
16
+ export declare const COHORT_PURPOSE_OF_USE_VALUES: readonly ["treatment", "operations"];
17
+ export type CohortPurposeOfUse = (typeof COHORT_PURPOSE_OF_USE_VALUES)[number];
18
+ export declare const DEFAULT_COHORT_PURPOSE_OF_USE: CohortPurposeOfUse;
14
19
  export declare const DEFAULT_SETTINGS: Settings;
15
20
  export type Schedule<TFrequency extends PatientMonitoringCadence> = {
16
21
  enabled: boolean;
@@ -52,12 +57,13 @@ export type Cohort = BaseDomain & {
52
57
  color: CohortColors;
53
58
  description: string;
54
59
  settings: Settings;
60
+ purposeOfUse: CohortPurposeOfUse;
55
61
  cxId: string;
56
62
  };
57
63
  export type CohortWithSize = Cohort & {
58
64
  size: number;
59
65
  };
60
- export type CohortCreateCmd = Pick<Cohort, "name"> & Partial<Pick<Cohort, "description" | "color" | "settings">> & {
66
+ export type CohortCreateCmd = Pick<Cohort, "name"> & Partial<Pick<Cohort, "description" | "color" | "settings" | "purposeOfUse">> & {
61
67
  cxId: string;
62
68
  };
63
69
  export type CohortUpdateCmd = Partial<Pick<Cohort, "name" | "description" | "color">> & {
@@ -71,6 +77,7 @@ export type CohortResponse = BaseDTO & {
71
77
  name: string;
72
78
  description: string;
73
79
  color: CohortColors;
80
+ purposeOfUse: CohortPurposeOfUse;
74
81
  settings: Settings;
75
82
  };
76
83
  export type CohortResponseWithoutOverrides = Omit<CohortResponse, "settings"> & {
@@ -85,6 +92,7 @@ export type CohortWithSizeResponseWithoutOverrides = Omit<CohortWithSizeResponse
85
92
  export declare function responseDtoFromCohort(cohort: Cohort): CohortResponseWithoutOverrides;
86
93
  export declare const cohortPatientMaxPageSize = 100;
87
94
  export declare function normalizeCohortName(name: string): string;
95
+ export declare function isTreatmentCohort(cohort: Cohort): boolean;
88
96
  export declare function isScheduleMonitoringActive(cohort: Cohort): boolean;
89
97
  export {};
90
98
  //# sourceMappingURL=cohort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cohort.d.ts","sourceRoot":"","sources":["../../src/domain/cohort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cohort.d.ts","sourceRoot":"","sources":["../../src/domain/cohort.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAa,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,eAAO,MAAM,aAAa,YACxB,KAAK,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,CACC,CAAC;AACX,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AAEvE,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,gBAGvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAElC,CAAC;AAEF,eAAO,MAAM,sCAAsC,EAAE,4BAGpD,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAc,CAAC;AAE/C,eAAO,MAAM,+BAA+B,EAAG,WAAoB,CAAC;AACpE,eAAO,MAAM,gCAAgC,EAAG,YAAqB,CAAC;AAEtE,eAAO,MAAM,4BAA4B,sCAG/B,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/E,eAAO,MAAM,6BAA6B,EAAE,kBAAoD,CAAC;AAEjG,eAAO,MAAM,gBAAgB,EAAE,QAG9B,CAAC;AAIF,MAAM,MAAM,QAAQ,CAAC,UAAU,SAAS,wBAAwB,IAAI;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAEnE,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,QAAQ,CAAC,wBAAwB,CAAC,IAAI;IACvF,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,KAAK,YAAY,GAAG;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,SAAS,CAAC;IACf,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,4BAA4B,CAAC;IACvC,UAAU,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAG5E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAE5D,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AACxD,MAAM,MAAM,mCAAmC,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAExF,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,kBAAkB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG;IACtF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC9E,QAAQ,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAC9F,QAAQ,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,8BAA8B,CAcpF;AAED,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIlE"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cohortPatientMaxPageSize = exports.DEFAULT_SETTINGS = exports.DEFAULT_OVERRIDES = exports.DEFAULT_MONITORING = exports.DEFAULT_PHARMACY_NOTIFICATION_SCHEDULE = exports.DEFAULT_NOTIFICATION = exports.DEFAULT_PHARMACY_SCHEDULE = exports.DEFAULT_HIE_SCHEDULE = exports.DEFAULT_COLOR = exports.STATE_VALIDATION_OVERRIDE_KEY = exports.COHORT_COLORS = void 0;
3
+ exports.cohortPatientMaxPageSize = exports.DEFAULT_SETTINGS = exports.DEFAULT_COHORT_PURPOSE_OF_USE = exports.COHORT_PURPOSE_OF_USE_VALUES = exports.OPERATIONS_COHORT_PURPOSE_OF_USE = exports.TREATMENT_COHORT_PURPOSE_OF_USE = exports.DEFAULT_OVERRIDES = exports.DEFAULT_MONITORING = exports.DEFAULT_PHARMACY_NOTIFICATION_SCHEDULE = exports.DEFAULT_NOTIFICATION = exports.DEFAULT_PHARMACY_SCHEDULE = exports.DEFAULT_HIE_SCHEDULE = exports.DEFAULT_COLOR = exports.STATE_VALIDATION_OVERRIDE_KEY = exports.COHORT_COLORS = void 0;
4
4
  exports.responseDtoFromCohort = responseDtoFromCohort;
5
5
  exports.normalizeCohortName = normalizeCohortName;
6
+ exports.isTreatmentCohort = isTreatmentCohort;
6
7
  exports.isScheduleMonitoringActive = isScheduleMonitoringActive;
7
8
  const lodash_1 = require("lodash");
8
9
  const bad_request_1 = require("../error/bad-request");
@@ -48,6 +49,13 @@ exports.DEFAULT_MONITORING = {
48
49
  laboratory: (0, lodash_1.cloneDeep)(exports.DEFAULT_NOTIFICATION),
49
50
  };
50
51
  exports.DEFAULT_OVERRIDES = {};
52
+ exports.TREATMENT_COHORT_PURPOSE_OF_USE = "treatment";
53
+ exports.OPERATIONS_COHORT_PURPOSE_OF_USE = "operations";
54
+ exports.COHORT_PURPOSE_OF_USE_VALUES = [
55
+ exports.TREATMENT_COHORT_PURPOSE_OF_USE,
56
+ exports.OPERATIONS_COHORT_PURPOSE_OF_USE,
57
+ ];
58
+ exports.DEFAULT_COHORT_PURPOSE_OF_USE = exports.TREATMENT_COHORT_PURPOSE_OF_USE;
51
59
  exports.DEFAULT_SETTINGS = {
52
60
  monitoring: exports.DEFAULT_MONITORING,
53
61
  overrides: exports.DEFAULT_OVERRIDES,
@@ -60,7 +68,10 @@ function responseDtoFromCohort(cohort) {
60
68
  name: cohort.name,
61
69
  color: cohort.color,
62
70
  description: cohort.description,
63
- settings: settingsWithoutOverrides,
71
+ purposeOfUse: cohort.purposeOfUse,
72
+ settings: {
73
+ monitoring: settingsWithoutOverrides.monitoring,
74
+ },
64
75
  };
65
76
  }
66
77
  // ### Query Constants ###
@@ -72,6 +83,9 @@ function normalizeCohortName(name) {
72
83
  }
73
84
  return trimmed;
74
85
  }
86
+ function isTreatmentCohort(cohort) {
87
+ return cohort.purposeOfUse === exports.TREATMENT_COHORT_PURPOSE_OF_USE;
88
+ }
75
89
  function isScheduleMonitoringActive(cohort) {
76
90
  return (cohort.settings.monitoring.hie.enabled || cohort.settings.monitoring.pharmacy.schedule.enabled);
77
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cohort.js","sourceRoot":"","sources":["../../src/domain/cohort.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAmC;AAEnC,sDAAuD;AAEvD,uCAA+C;AAC/C,8DAI4C;AAE/B,QAAA,aAAa,GAAG;IAC3B,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;CACC,CAAC;AACE,QAAA,6BAA6B,GAAG,yBAAyB,CAAC;AAE1D,QAAA,aAAa,GAAG,OAAO,CAAC;AAExB,QAAA,oBAAoB,GAAgB;IAC/C,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,4BAAoB,CAAC,OAAO;CACxC,CAAC;AACW,QAAA,yBAAyB,GAAqB;IACzD,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,iCAAyB,CAAC,OAAO;CAC7C,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAChD,aAAa,EAAE,KAAK;CACrB,CAAC;AAEW,QAAA,sCAAsC,GAAiC;IAClF,GAAG,QAAA,oBAAoB;IACvB,QAAQ,EAAE,QAAA,yBAAyB;CACpC,CAAC;AAEF,MAAM,WAAW,GAAc;IAC7B,OAAO,EAAE,KAAK;CACf,CAAC;AAEW,QAAA,kBAAkB,GAAuB;IACpD,GAAG,EAAE,IAAA,kBAAS,EAAC,WAAW,CAAC;IAC3B,GAAG,EAAE,IAAA,kBAAS,EAAC,QAAA,oBAAoB,CAAC;IACpC,QAAQ,EAAE,IAAA,kBAAS,EAAC,QAAA,sCAAsC,CAAC;IAC3D,UAAU,EAAE,IAAA,kBAAS,EAAC,QAAA,oBAAoB,CAAC;CAC5C,CAAC;AAEW,QAAA,iBAAiB,GAAc,EAAE,CAAC;AAElC,QAAA,gBAAgB,GAAa;IACxC,UAAU,EAAE,QAAA,kBAAkB;IAC9B,SAAS,EAAE,QAAA,iBAAiB;CAC7B,CAAC;AA4FF,+BAAsC,MAAc;IAClD,4DAA4D;IAC5D,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,wBAAwB,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEtF,OAAO;QACL,GAAG,IAAA,mBAAS,EAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,wBAAwB;KACnC,CAAC;AACJ,CAAC;AACD,0BAA0B;AACb,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAE5C,6BAAoC,IAAY;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,6BAAe,CAAC,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oCAA2C,MAAc;IACvD,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAC/F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cohort.js","sourceRoot":"","sources":["../../src/domain/cohort.ts"],"names":[],"mappings":"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"}
@@ -1,121 +1,20 @@
1
- import { z } from "zod";
2
- declare const subscriptionsSchema: z.ZodObject<{
3
- adt: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4
- }, "strip", z.ZodTypeAny, {
5
- adt?: string[] | undefined;
6
- }, {
7
- adt?: string[] | undefined;
8
- }>;
9
- export type PatientSubscriptions = z.infer<typeof subscriptionsSchema>;
10
- export declare const patientSettingsSchema: z.ZodObject<{
11
- subscriptions: z.ZodOptional<z.ZodObject<{
12
- adt: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
- }, "strip", z.ZodTypeAny, {
14
- adt?: string[] | undefined;
15
- }, {
16
- adt?: string[] | undefined;
17
- }>>;
18
- }, "strip", z.ZodTypeAny, {
19
- subscriptions?: {
20
- adt?: string[] | undefined;
21
- } | undefined;
22
- }, {
23
- subscriptions?: {
24
- adt?: string[] | undefined;
25
- } | undefined;
26
- }>;
27
- export type PatientSettings = z.infer<typeof patientSettingsSchema>;
28
- export declare const bulkPatientSettingsRequestSchema: z.ZodObject<{
29
- settings: z.ZodObject<{
30
- subscriptions: z.ZodOptional<z.ZodObject<{
31
- adt: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
32
- }, "strip", z.ZodTypeAny, {
33
- adt?: string[] | undefined;
34
- }, {
35
- adt?: string[] | undefined;
36
- }>>;
37
- }, "strip", z.ZodTypeAny, {
38
- subscriptions?: {
39
- adt?: string[] | undefined;
40
- } | undefined;
41
- }, {
42
- subscriptions?: {
43
- adt?: string[] | undefined;
44
- } | undefined;
45
- }>;
46
- }, "strip", z.ZodTypeAny, {
47
- settings: {
48
- subscriptions?: {
49
- adt?: string[] | undefined;
50
- } | undefined;
51
- };
52
- }, {
53
- settings: {
54
- subscriptions?: {
55
- adt?: string[] | undefined;
56
- } | undefined;
57
- };
58
- }>;
59
- export type BulkPatientSettingsRequest = z.infer<typeof bulkPatientSettingsRequestSchema>;
60
- export declare const patientSettingsRequestSchema: z.ZodObject<{
61
- patientIds: z.ZodArray<z.ZodString, "many">;
62
- settings: z.ZodObject<{
63
- subscriptions: z.ZodOptional<z.ZodObject<{
64
- adt: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
65
- }, "strip", z.ZodTypeAny, {
66
- adt?: string[] | undefined;
67
- }, {
68
- adt?: string[] | undefined;
69
- }>>;
70
- }, "strip", z.ZodTypeAny, {
71
- subscriptions?: {
72
- adt?: string[] | undefined;
73
- } | undefined;
74
- }, {
75
- subscriptions?: {
76
- adt?: string[] | undefined;
77
- } | undefined;
78
- }>;
79
- }, "strip", z.ZodTypeAny, {
80
- patientIds: string[];
81
- settings: {
82
- subscriptions?: {
83
- adt?: string[] | undefined;
84
- } | undefined;
85
- };
86
- }, {
87
- patientIds: string[];
88
- settings: {
89
- subscriptions?: {
90
- adt?: string[] | undefined;
91
- } | undefined;
92
- };
93
- }>;
94
- export type PatientSettingsRequest = z.infer<typeof patientSettingsRequestSchema>;
95
- export declare const adtSubscriptionRequestSchema: z.ZodObject<{
96
- patientIds: z.ZodArray<z.ZodString, "many">;
97
- hieName: z.ZodString;
98
- }, "strip", z.ZodTypeAny, {
99
- patientIds: string[];
100
- hieName: string;
101
- }, {
102
- patientIds: string[];
103
- hieName: string;
104
- }>;
105
- export type AdtSubscriptionRequest = z.infer<typeof adtSubscriptionRequestSchema>;
106
- export declare const questPatientRequestSchema: z.ZodObject<{
107
- notifications: z.ZodOptional<z.ZodBoolean>;
108
- backfill: z.ZodOptional<z.ZodBoolean>;
109
- patientIds: z.ZodArray<z.ZodString, "atleastone">;
110
- }, "strip", z.ZodTypeAny, {
111
- notifications?: boolean | undefined;
112
- backfill?: boolean | undefined;
113
- patientIds: [string, ...string[]];
114
- }, {
115
- notifications?: boolean | undefined;
116
- backfill?: boolean | undefined;
117
- patientIds: [string, ...string[]];
118
- }>;
119
- export type QuestPatientRequest = z.infer<typeof questPatientRequestSchema>;
120
- export {};
1
+ import { BaseDomain, BaseDomainCreate } from "../base-domain";
2
+ export declare const defaultSubscriptions: {};
3
+ export declare const defaultTreatmentRelationship = true;
4
+ export type Subscriptions = {
5
+ adt?: string[];
6
+ };
7
+ export type PatientSettingsData = {
8
+ subscriptions?: Subscriptions;
9
+ treatmentRelationship: boolean;
10
+ };
11
+ export declare const defaultPatientSettingsData: PatientSettingsData;
12
+ export interface PatientSettingsCreate extends BaseDomainCreate, Partial<PatientSettingsData> {
13
+ cxId: string;
14
+ patientId: string;
15
+ }
16
+ export interface PatientSettings extends BaseDomain, PatientSettingsData {
17
+ cxId: string;
18
+ patientId: string;
19
+ }
121
20
  //# sourceMappingURL=patient-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patient-settings.d.ts","sourceRoot":"","sources":["../../../src/domain/patient/patient-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;;;EAEvB,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;EAEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,4BAA4B;;;;;;;;;EAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"patient-settings.d.ts","sourceRoot":"","sources":["../../../src/domain/patient/patient-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE9D,eAAO,MAAM,oBAAoB,IAAK,CAAC;AACvC,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,mBAGxC,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU,EAAE,mBAAmB;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,27 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.questPatientRequestSchema = exports.adtSubscriptionRequestSchema = exports.patientSettingsRequestSchema = exports.bulkPatientSettingsRequestSchema = exports.patientSettingsSchema = void 0;
4
- const zod_1 = require("zod");
5
- const subscriptionsSchema = zod_1.z.object({
6
- adt: zod_1.z.array(zod_1.z.string()).optional(),
7
- });
8
- exports.patientSettingsSchema = zod_1.z.object({
9
- subscriptions: subscriptionsSchema.optional(),
10
- });
11
- exports.bulkPatientSettingsRequestSchema = zod_1.z.object({
12
- settings: exports.patientSettingsSchema,
13
- });
14
- exports.patientSettingsRequestSchema = zod_1.z.object({
15
- patientIds: zod_1.z.array(zod_1.z.string()),
16
- settings: exports.patientSettingsSchema,
17
- });
18
- exports.adtSubscriptionRequestSchema = zod_1.z.object({
19
- patientIds: zod_1.z.array(zod_1.z.string()),
20
- hieName: zod_1.z.string(),
21
- });
22
- exports.questPatientRequestSchema = zod_1.z.object({
23
- notifications: zod_1.z.boolean().optional(),
24
- backfill: zod_1.z.boolean().optional(),
25
- patientIds: zod_1.z.array(zod_1.z.string()).nonempty(),
26
- });
3
+ exports.defaultPatientSettingsData = exports.defaultTreatmentRelationship = exports.defaultSubscriptions = void 0;
4
+ exports.defaultSubscriptions = {};
5
+ exports.defaultTreatmentRelationship = true;
6
+ exports.defaultPatientSettingsData = {
7
+ subscriptions: exports.defaultSubscriptions,
8
+ treatmentRelationship: exports.defaultTreatmentRelationship,
9
+ };
27
10
  //# sourceMappingURL=patient-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patient-settings.js","sourceRoot":"","sources":["../../../src/domain/patient/patient-settings.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAGU,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,QAAA,qBAAqB;CAChC,CAAC,CAAC;AAGU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,QAAA,qBAAqB;CAChC,CAAC,CAAC;AAGU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"patient-settings.js","sourceRoot":"","sources":["../../../src/domain/patient/patient-settings.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAC1B,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAWpC,QAAA,0BAA0B,GAAwB;IAC7D,aAAa,EAAE,QAAA,oBAAoB;IACnC,qBAAqB,EAAE,QAAA,4BAA4B;CACpD,CAAC"}
@@ -1,13 +1,5 @@
1
- import { z } from "zod";
2
- export declare const patientStatusSchema: z.ZodObject<{
3
- hieOptOut: z.ZodOptional<z.ZodBoolean>;
4
- treatmentRelationship: z.ZodOptional<z.ZodBoolean>;
5
- }, "strip", z.ZodTypeAny, {
6
- hieOptOut?: boolean | undefined;
7
- treatmentRelationship?: boolean | undefined;
8
- }, {
9
- hieOptOut?: boolean | undefined;
10
- treatmentRelationship?: boolean | undefined;
11
- }>;
12
- export type PatientStatus = z.infer<typeof patientStatusSchema>;
1
+ export type PatientStatus = {
2
+ hieOptOut: boolean;
3
+ treatmentRelationship: boolean;
4
+ };
13
5
  //# sourceMappingURL=patient-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patient-status.d.ts","sourceRoot":"","sources":["../../../src/domain/patient/patient-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"patient-status.d.ts","sourceRoot":"","sources":["../../../src/domain/patient/patient-status.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC"}
@@ -1,9 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.patientStatusSchema = void 0;
4
- const zod_1 = require("zod");
5
- exports.patientStatusSchema = zod_1.z.object({
6
- hieOptOut: zod_1.z.boolean().optional(),
7
- treatmentRelationship: zod_1.z.boolean().optional(),
8
- });
9
3
  //# sourceMappingURL=patient-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patient-status.js","sourceRoot":"","sources":["../../../src/domain/patient/patient-status.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC"}
1
+ {"version":3,"file":"patient-status.js","sourceRoot":"","sources":["../../../src/domain/patient/patient-status.ts"],"names":[],"mappings":""}
@@ -18,6 +18,8 @@ export declare const NUMBER_OF_HIEs: number;
18
18
  export declare const hieNameSchema: z.ZodNativeEnum<typeof HieName>;
19
19
  export declare function isValidHieName(value: string): value is HieName;
20
20
  export declare function parseHieName(value: string): HieName;
21
+ export declare const operationsAllowedHies: readonly HieName[];
22
+ export declare function isOperationsAllowedAdtHie(hieName: string): boolean;
21
23
  /** @deprecated Use HieName.Bamboo */
22
24
  export declare const BAMBOO_HIE_NAME = HieName.Bamboo;
23
25
  /** @deprecated Use HieName.Konza */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/external/hl7v2/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oBAAY,OAAO;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,QAAQ,WAAyB,CAAC;AAC/C,eAAO,MAAM,cAAc,QAAkB,CAAC;AAC9C,eAAO,MAAM,aAAa,iCAAwB,CAAC;AAEnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAE9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED,qCAAqC;AACrC,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,iDAAiD;AACjD,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,0CAA0C;AAC1C,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,mCAAmC;AACnC,eAAO,MAAM,aAAa,eAAe,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/external/hl7v2/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,oBAAY,OAAO;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,QAAQ,WAAyB,CAAC;AAC/C,eAAO,MAAM,cAAc,QAAkB,CAAC;AAC9C,eAAO,MAAM,aAAa,iCAAwB,CAAC;AAEnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAE9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,OAAO,EAKnD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED,qCAAqC;AACrC,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,iDAAiD;AACjD,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,0CAA0C;AAC1C,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,oCAAoC;AACpC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,mCAAmC;AACnC,eAAO,MAAM,aAAa,eAAe,CAAC"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RIQI_HIE_NAME = exports.FLHIE_HIE_NAME = exports.LAHIE_HIE_NAME = exports.ALOHR_HIE_NAME = exports.HIE_TEXAS_PCC = exports.HIXNY_HIE_NAME = exports.HEALTH_CONNECT_TEXAS_HIE_NAME = exports.KONZA_HIE_NAME = exports.BAMBOO_HIE_NAME = exports.hieNameSchema = exports.NUMBER_OF_HIEs = exports.ALL_HIES = exports.HieName = void 0;
3
+ exports.RIQI_HIE_NAME = exports.FLHIE_HIE_NAME = exports.LAHIE_HIE_NAME = exports.ALOHR_HIE_NAME = exports.HIE_TEXAS_PCC = exports.HIXNY_HIE_NAME = exports.HEALTH_CONNECT_TEXAS_HIE_NAME = exports.KONZA_HIE_NAME = exports.BAMBOO_HIE_NAME = exports.operationsAllowedHies = exports.hieNameSchema = exports.NUMBER_OF_HIEs = exports.ALL_HIES = exports.HieName = void 0;
4
4
  exports.isValidHieName = isValidHieName;
5
5
  exports.parseHieName = parseHieName;
6
- const metriport_error_1 = require("../../error/metriport-error");
6
+ exports.isOperationsAllowedAdtHie = isOperationsAllowedAdtHie;
7
7
  const zod_1 = require("zod");
8
+ const metriport_error_1 = require("../../error/metriport-error");
8
9
  var HieName;
9
10
  (function (HieName) {
10
11
  HieName["MyTestHIE"] = "MyTestHIE";
@@ -35,6 +36,18 @@ function parseHieName(value) {
35
36
  }
36
37
  return value;
37
38
  }
39
+ exports.operationsAllowedHies = [
40
+ HieName.Bamboo,
41
+ HieName.Riqi,
42
+ HieName.Pcc,
43
+ HieName.Konza,
44
+ ];
45
+ function isOperationsAllowedAdtHie(hieName) {
46
+ const isValid = isValidHieName(hieName);
47
+ if (!isValid)
48
+ return false;
49
+ return exports.operationsAllowedHies.includes(hieName);
50
+ }
38
51
  /** @deprecated Use HieName.Bamboo */
39
52
  exports.BAMBOO_HIE_NAME = HieName.Bamboo;
40
53
  /** @deprecated Use HieName.Konza */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/external/hl7v2/constants.ts"],"names":[],"mappings":";;;;;AAAA,iEAA6D;AAC7D,6BAAwB;AAExB,IAAY,OAaX;AAbD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,4BAAiB,CAAA;IACjB,0BAAe,CAAA;IACf,oDAAyC,CAAA;IACzC,0BAAe,CAAA;IACf,sCAA2B,CAAA;IAC3B,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,wBAAa,CAAA;IACb,oCAAyB,CAAA;IACzB,sBAAW,CAAA;AACb,CAAC,EAbW,OAAO,aAAP,OAAO,GAAP,OAAO,QAalB;AAEY,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,cAAc,GAAG,QAAA,QAAQ,CAAC,MAAM,CAAC;AACjC,QAAA,aAAa,GAAG,OAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnD,wBAA+B,KAAa;IAC1C,OAAO,QAAA,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,sBAA6B,KAAa;IACxC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,gCAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE;YACvD,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qCAAqC;AACxB,QAAA,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9C,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,iDAAiD;AACpC,QAAA,6BAA6B,GAAG,OAAO,CAAC,kBAAkB,CAAC;AACxE,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,0CAA0C;AAC7B,QAAA,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;AACjD,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,mCAAmC;AACtB,QAAA,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/external/hl7v2/constants.ts"],"names":[],"mappings":";;;;;;AAAA,6BAAwB;AACxB,iEAA6D;AAE7D,IAAY,OAaX;AAbD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,4BAAiB,CAAA;IACjB,0BAAe,CAAA;IACf,oDAAyC,CAAA;IACzC,0BAAe,CAAA;IACf,sCAA2B,CAAA;IAC3B,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,wBAAa,CAAA;IACb,oCAAyB,CAAA;IACzB,sBAAW,CAAA;AACb,CAAC,EAbW,OAAO,aAAP,OAAO,GAAP,OAAO,QAalB;AAEY,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,cAAc,GAAG,QAAA,QAAQ,CAAC,MAAM,CAAC;AACjC,QAAA,aAAa,GAAG,OAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnD,wBAA+B,KAAa;IAC1C,OAAO,QAAA,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,sBAA6B,KAAa;IACxC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,gCAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE;YACvD,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEY,QAAA,qBAAqB,GAAuB;IACvD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,KAAK;CACd,CAAC;AAEF,mCAA0C,OAAe;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,QAAA,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,qCAAqC;AACxB,QAAA,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9C,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,iDAAiD;AACpC,QAAA,6BAA6B,GAAG,OAAO,CAAC,kBAAkB,CAAC;AACxE,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,0CAA0C;AAC7B,QAAA,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;AACjD,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,oCAAoC;AACvB,QAAA,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5C,mCAAmC;AACtB,QAAA,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC"}