ndhm-hrp 3.0.6 → 3.0.7

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.
@@ -52,6 +52,39 @@ export default class Discovery extends Header {
52
52
  requestId?: string;
53
53
  timestamp?: string;
54
54
  }) => Promise<any>;
55
+ /**
56
+ * HMIS/LMIS response to the HIE-CM discovery callback (v0.5).
57
+ *
58
+ * Legacy v0.5 endpoint for responding to patient discovery callbacks
59
+ * `POST /v0.5/care-contexts/on-discover`. The HIP returns matching patient(s)
60
+ * and their care contexts, or an error if no match was found.
61
+ *
62
+ * @param config - Configuration object
63
+ * @param config.healthId - Patient's ABHA address (e.g. "user@sbx") used to derive X-CM-ID
64
+ * @param config.transactionId - Transaction ID from the discovery callback, used for correlation
65
+ * @param config.patientReferenceNumber - Patient reference number in the HIP system
66
+ * @param config.patientDisplay - Display name for the patient
67
+ * @param config.careContexts - Array of care contexts with { referenceNumber, display }
68
+ * @param config.matchedBy - Array of matching criteria used (e.g. ["MR", "NAME", "DOB"])
69
+ * @param config.requestId - The `requestId` from the HIE-CM discovery callback, sent in `resp.requestId`
70
+ * @param config.errCode - Optional error code if no matching patient was found
71
+ * @param config.errMessage - Optional error message if no matching patient was found
72
+ * @returns The request body that was sent (for logging/reference)
73
+ */
74
+ onDiscovery_V0_5: (config: {
75
+ transactionId: string;
76
+ patientReferenceNumber: string;
77
+ patientDisplay: string;
78
+ careContexts: {
79
+ referenceNumber: string;
80
+ display: string;
81
+ }[];
82
+ matchedBy: string[];
83
+ errCode?: string;
84
+ errMessage?: string;
85
+ requestId: string;
86
+ healthId: string;
87
+ }) => Promise<any>;
55
88
  }
56
89
  export {};
57
90
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/classes/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,aAAK,QAAQ,GACT,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,GACtB,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,MAAM;gBAC/B,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,WAAkB;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM;YACf,eAAe,EAAE,MAAM,CAAC;YACxB,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,MAAM;gBAClB,eAAe,EAAE,MAAM,CAAC;gBACxB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC,CAAC;YACH,MAAM,EAAE,QAAQ,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,kBAiCC;CACH"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/classes/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,aAAK,QAAQ,GACT,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,GACtB,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,MAAM;gBAC/B,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,WAAkB;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM;YACf,eAAe,EAAE,MAAM,CAAC;YACxB,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,MAAM;gBAClB,eAAe,EAAE,MAAM,CAAC;gBACxB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC,CAAC;YACH,MAAM,EAAE,QAAQ,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,kBAiCC;IAEF;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,WAAkB;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE;YAAE,eAAe,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,kBAiCC;CACH"}
@@ -78,6 +78,56 @@ class Discovery extends header_1.default {
78
78
  });
79
79
  return body;
80
80
  });
81
+ /**
82
+ * HMIS/LMIS response to the HIE-CM discovery callback (v0.5).
83
+ *
84
+ * Legacy v0.5 endpoint for responding to patient discovery callbacks
85
+ * `POST /v0.5/care-contexts/on-discover`. The HIP returns matching patient(s)
86
+ * and their care contexts, or an error if no match was found.
87
+ *
88
+ * @param config - Configuration object
89
+ * @param config.healthId - Patient's ABHA address (e.g. "user@sbx") used to derive X-CM-ID
90
+ * @param config.transactionId - Transaction ID from the discovery callback, used for correlation
91
+ * @param config.patientReferenceNumber - Patient reference number in the HIP system
92
+ * @param config.patientDisplay - Display name for the patient
93
+ * @param config.careContexts - Array of care contexts with { referenceNumber, display }
94
+ * @param config.matchedBy - Array of matching criteria used (e.g. ["MR", "NAME", "DOB"])
95
+ * @param config.requestId - The `requestId` from the HIE-CM discovery callback, sent in `resp.requestId`
96
+ * @param config.errCode - Optional error code if no matching patient was found
97
+ * @param config.errMessage - Optional error message if no matching patient was found
98
+ * @returns The request body that was sent (for logging/reference)
99
+ */
100
+ this.onDiscovery_V0_5 = (config) => __awaiter(this, void 0, void 0, function* () {
101
+ const headers = this.headers(config.healthId);
102
+ const url = `${this.baseUrl}v0.5/care-contexts/on-discover`;
103
+ const body = {
104
+ requestId: (0, uuid_1.v4)(),
105
+ timestamp: new Date().toISOString(),
106
+ transactionId: config.transactionId,
107
+ patient: {
108
+ referenceNumber: config.patientReferenceNumber,
109
+ display: config.patientDisplay,
110
+ careContexts: config.careContexts,
111
+ matchedBy: config.matchedBy,
112
+ },
113
+ resp: {
114
+ requestId: config.requestId,
115
+ },
116
+ };
117
+ if (config.errCode) {
118
+ body.error = {
119
+ code: config.errCode,
120
+ message: config.errMessage || "Error occured",
121
+ };
122
+ }
123
+ yield new request_1.default().request({
124
+ headers: headers,
125
+ method: "POST",
126
+ requestBody: body,
127
+ url: url,
128
+ });
129
+ return body;
130
+ });
81
131
  }
82
132
  }
83
133
  exports.default = Discovery;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/classes/discovery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,+BAAoC;AACpC,wDAAgC;AAahC,MAAqB,SAAU,SAAQ,gBAAM;IAC3C,YAAY,QAAgB,EAAE,YAAoB;QAChD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAGhC;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2BG;QACH,gBAAW,GAAG,CAAO,MAqBpB,EAAE,EAAE;;YACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG;gBACd,YAAY,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,SAAM,GAAE;gBAC1C,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACvD,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;aAC5C,CAAC;YACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,uEAAuE,CAAC;YAEnG,MAAM,IAAI,GAAQ;gBAChB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE;oBACR,SAAS,EAAE,MAAM,CAAC,iBAAiB;iBACpC;aACF,CAAC;YAEF,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;aACnC;YAED,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;gBAC1B,OAAO;gBACP,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,IAAI;gBACjB,GAAG;aACJ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAA,CAAC;IApFF,CAAC;CAqFF;AAxFD,4BAwFC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/classes/discovery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,+BAAoC;AACpC,wDAAgC;AAahC,MAAqB,SAAU,SAAQ,gBAAM;IAC3C,YAAY,QAAgB,EAAE,YAAoB;QAChD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAGhC;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2BG;QACH,gBAAW,GAAG,CAAO,MAqBpB,EAAE,EAAE;;YACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG;gBACd,YAAY,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,SAAM,GAAE;gBAC1C,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACvD,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;aAC5C,CAAC;YACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,uEAAuE,CAAC;YAEnG,MAAM,IAAI,GAAQ;gBAChB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE;oBACR,SAAS,EAAE,MAAM,CAAC,iBAAiB;iBACpC;aACF,CAAC;YAEF,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;aACnC;YAED,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;gBAC1B,OAAO;gBACP,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,IAAI;gBACjB,GAAG;aACJ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAA,CAAC;QAEF;;;;;;;;;;;;;;;;;;WAkBG;QACH,qBAAgB,GAAG,CAAO,MAUzB,EAAE,EAAE;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,gCAAgC,CAAC;YAC5D,MAAM,IAAI,GAAQ;gBAChB,SAAS,EAAE,IAAA,SAAM,GAAE;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,OAAO,EAAE;oBACP,eAAe,EAAE,MAAM,CAAC,sBAAsB;oBAC9C,OAAO,EAAE,MAAM,CAAC,cAAc;oBAC9B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B;gBAED,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B;aACF,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,KAAK,GAAG;oBACX,IAAI,EAAE,MAAM,CAAC,OAAO;oBACpB,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,eAAe;iBAC9C,CAAC;aACH;YAED,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;gBAC1B,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,IAAI;gBACjB,GAAG,EAAE,GAAG;aACT,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAA,CAAC;IApJF,CAAC;CAqJF;AAxJD,4BAwJC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ndhm-hrp",
3
- "version": "3.0.6",
3
+ "version": "3.0.7",
4
4
  "description": "This is ndhm-hpr",
5
5
  "main": "lib/index.js",
6
6
  "directories": {