ndhm-hrp 3.2.4 → 3.2.5

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.
@@ -28,9 +28,13 @@ export default class ConsentFlow extends Header {
28
28
  };
29
29
  }) => Promise<any>;
30
30
  /**
31
- * This API send fectch request from HIU after patient has and granted this is called by hiu/noitfy callback from gateway
32
- * @param config
33
- * @returns
31
+ * V3: HIU fetches consent artifact from CM.
32
+ * Called after HIU receives consent notification with consentArtefact IDs.
33
+ *
34
+ * Endpoint: POST /api/hiecm/consent/v3/fetch
35
+ *
36
+ * @param config.healthId - ABHA address used to derive X-CM-ID
37
+ * @param config.consentId - Consent artifact ID to fetch
34
38
  */
35
39
  hiuConsentFetch: (config: {
36
40
  healthId: string;
@@ -38,11 +42,17 @@ export default class ConsentFlow extends Header {
38
42
  errCode?: string;
39
43
  errMessage?: string;
40
44
  }) => Promise<any>;
45
+ /**
46
+ * V3: HIU responds to consent notification status from CM.
47
+ * Called when consent is DENIED/EXPIRED/REVOKED to update status.
48
+ *
49
+ * Endpoint: POST /api/hiecm/consent/v3/request/status
50
+ */
41
51
  onhiuNotify: (config: {
42
52
  healthId: string;
43
53
  acknowledgement: {
44
- "status": "OK" | "UNKNOWN";
45
- "consentId": string;
54
+ status: "OK" | "UNKNOWN";
55
+ consentId: string;
46
56
  }[];
47
57
  requestId: string;
48
58
  errCode?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"consent-flow.d.ts","sourceRoot":"","sources":["../../src/classes/consent-flow.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;gBACjC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAGlD;;;;;;;;;;;;;;OAcG;IACH,WAAW,WAAkB;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,kBAuCC;IAEJ;;;;OAIG;IACD,eAAe,WAAkB;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,kBAgCC;IAGF,WAAW,WAAkB;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAO;YACpB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;YAC3B,WAAW,EAAE,MAAM,CAAA;SACpB,EAAE,CAAC;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,kBAmCC;CAOH"}
1
+ {"version":3,"file":"consent-flow.d.ts","sourceRoot":"","sources":["../../src/classes/consent-flow.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;gBACjC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAGlD;;;;;;;;;;;;;;OAcG;IACH,WAAW,WAAkB;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,kBAuCC;IAEF;;;;;;;;OAQG;IACH,eAAe,WAAkB;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,kBAkCC;IAGF;;;;;OAKG;IACH,WAAW,WAAkB;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE;YACf,QAAQ,IAAI,GAAG,SAAS,CAAC;YACzB,SAAS,EAAE,MAAM,CAAC;SACnB,EAAE,CAAC;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,kBAqCC;CAOH"}
@@ -71,18 +71,27 @@ class ConsentFlow extends header_1.default {
71
71
  }
72
72
  });
73
73
  /**
74
- * This API send fectch request from HIU after patient has and granted this is called by hiu/noitfy callback from gateway
75
- * @param config
76
- * @returns
74
+ * V3: HIU fetches consent artifact from CM.
75
+ * Called after HIU receives consent notification with consentArtefact IDs.
76
+ *
77
+ * Endpoint: POST /api/hiecm/consent/v3/fetch
78
+ *
79
+ * @param config.healthId - ABHA address used to derive X-CM-ID
80
+ * @param config.consentId - Consent artifact ID to fetch
77
81
  */
78
82
  this.hiuConsentFetch = (config) => __awaiter(this, void 0, void 0, function* () {
79
83
  try {
80
- const headers = this.headers(config.healthId);
81
- const url = `${this.baseUrl}v0.5/consents/fetch`;
84
+ this.setXCmId(config.healthId);
85
+ const headers = {
86
+ "REQUEST-ID": (0, uuid_1.v4)(),
87
+ TIMESTAMP: new Date().toISOString(),
88
+ "X-CM-ID": this.xCmId,
89
+ "Content-Type": "application/json",
90
+ Authorization: `Bearer ${this.accessToken}`,
91
+ };
92
+ const url = `${this.baseUrl}/api/hiecm/consent/v3/fetch`;
82
93
  const body = {
83
- requestId: (0, uuid_1.v4)(),
84
- timestamp: new Date().toISOString(),
85
- "consentId": config.consentId
94
+ consentId: config.consentId,
86
95
  };
87
96
  if (config.errCode) {
88
97
  body.error = {
@@ -91,10 +100,10 @@ class ConsentFlow extends header_1.default {
91
100
  };
92
101
  }
93
102
  const res = yield new request_1.default().request({
94
- headers: headers,
103
+ headers,
95
104
  method: "POST",
96
105
  requestBody: body,
97
- url: url,
106
+ url,
98
107
  });
99
108
  return body;
100
109
  }
@@ -102,17 +111,28 @@ class ConsentFlow extends header_1.default {
102
111
  console.log(error);
103
112
  }
104
113
  });
114
+ /**
115
+ * V3: HIU responds to consent notification status from CM.
116
+ * Called when consent is DENIED/EXPIRED/REVOKED to update status.
117
+ *
118
+ * Endpoint: POST /api/hiecm/consent/v3/request/status
119
+ */
105
120
  this.onhiuNotify = (config) => __awaiter(this, void 0, void 0, function* () {
106
121
  try {
107
- const headers = this.headers(config.healthId);
108
- const url = `${this.baseUrl}v0.5/consents/hiu/on-notify`;
122
+ this.setXCmId(config.healthId);
123
+ const headers = {
124
+ "REQUEST-ID": (0, uuid_1.v4)(),
125
+ TIMESTAMP: new Date().toISOString(),
126
+ "X-CM-ID": this.xCmId,
127
+ "Content-Type": "application/json",
128
+ Authorization: `Bearer ${this.accessToken}`,
129
+ };
130
+ const url = `${this.baseUrl}/api/hiecm/consent/v3/request/status`;
109
131
  const body = {
110
- requestId: (0, uuid_1.v4)(),
111
- timestamp: new Date().toISOString(),
112
- "acknowledgement": config.acknowledgement,
113
- "resp": {
114
- "requestId": config.requestId
115
- }
132
+ acknowledgement: config.acknowledgement,
133
+ response: {
134
+ requestId: config.requestId,
135
+ },
116
136
  };
117
137
  if (config.errCode) {
118
138
  body.error = {
@@ -121,10 +141,10 @@ class ConsentFlow extends header_1.default {
121
141
  };
122
142
  }
123
143
  const res = yield new request_1.default().request({
124
- headers: headers,
144
+ headers,
125
145
  method: "POST",
126
146
  requestBody: body,
127
- url: url,
147
+ url,
128
148
  });
129
149
  return body;
130
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consent-flow.js","sourceRoot":"","sources":["../../src/classes/consent-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consent-flow.js","sourceRoot":"","sources":["../../src/classes/consent-flow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ndhm-hrp",
3
- "version": "3.2.4",
3
+ "version": "3.2.5",
4
4
  "description": "This is ndhm-hpr",
5
5
  "main": "lib/index.js",
6
6
  "directories": {