ndhm-hrp 3.2.4 → 3.2.6
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.
- package/lib/classes/consent-flow.d.ts +15 -5
- package/lib/classes/consent-flow.d.ts.map +1 -1
- package/lib/classes/consent-flow.js +40 -20
- package/lib/classes/consent-flow.js.map +1 -1
- package/lib/classes/health-information.d.ts +9 -6
- package/lib/classes/health-information.d.ts.map +1 -1
- package/lib/classes/health-information.js +32 -6
- package/lib/classes/health-information.js.map +1 -1
- package/package.json +1 -1
|
@@ -28,9 +28,13 @@ export default class ConsentFlow extends Header {
|
|
|
28
28
|
};
|
|
29
29
|
}) => Promise<any>;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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
|
-
|
|
45
|
-
|
|
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;
|
|
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
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
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
|
-
|
|
81
|
-
const
|
|
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
|
-
|
|
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
|
|
103
|
+
headers,
|
|
95
104
|
method: "POST",
|
|
96
105
|
requestBody: body,
|
|
97
|
-
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
|
-
|
|
108
|
-
const
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
|
144
|
+
headers,
|
|
125
145
|
method: "POST",
|
|
126
146
|
requestBody: body,
|
|
127
|
-
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":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,+BAAoC;AACpC,wDAAgC;AAEhC,MAAqB,WAAY,SAAQ,gBAAM;IAC7C,YAAY,QAAgB,EAAE,YAAoB;QAChD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhC;;;;;;;;;;;;;;WAcG;QACH,gBAAW,GAAG,CAAO,MAUpB,EAAE,EAAE;;YACH,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,SAAM,GAAE;oBAC1C,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACvD,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,6CAA6C,CAAC;gBAEzE,MAAM,IAAI,GAAQ;oBAChB,eAAe,EAAE;wBACf,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;wBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B;oBACD,QAAQ,EAAE;wBACR,SAAS,EAAE,MAAM,CAAC,iBAAiB;qBACpC;iBACF,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC3B;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;oBACtC,OAAO;oBACP,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,IAAI;oBACjB,GAAG;iBACJ,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAElG,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB;QACH,CAAC,CAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"consent-flow.js","sourceRoot":"","sources":["../../src/classes/consent-flow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,+BAAoC;AACpC,wDAAgC;AAEhC,MAAqB,WAAY,SAAQ,gBAAM;IAC7C,YAAY,QAAgB,EAAE,YAAoB;QAChD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhC;;;;;;;;;;;;;;WAcG;QACH,gBAAW,GAAG,CAAO,MAUpB,EAAE,EAAE;;YACH,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,SAAM,GAAE;oBAC1C,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACvD,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,6CAA6C,CAAC;gBAEzE,MAAM,IAAI,GAAQ;oBAChB,eAAe,EAAE;wBACf,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;wBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B;oBACD,QAAQ,EAAE;wBACR,SAAS,EAAE,MAAM,CAAC,iBAAiB;qBACpC;iBACF,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC3B;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;oBACtC,OAAO;oBACP,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,IAAI;oBACjB,GAAG;iBACJ,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAElG,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB;QACH,CAAC,CAAA,CAAC;QAEF;;;;;;;;WAQG;QACH,oBAAe,GAAG,CAAO,MAKxB,EAAE,EAAE;YACH,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,IAAA,SAAM,GAAE;oBACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,6BAA6B,CAAC;gBAEzD,MAAM,IAAI,GAAQ;oBAChB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC;gBAEF,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,IAAI,CAAC,KAAK,GAAG;wBACX,IAAI,EAAE,MAAM,CAAC,OAAO;wBACpB,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,eAAe;qBAC9C,CAAC;iBACH;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;oBACtC,OAAO;oBACP,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,IAAI;oBACjB,GAAG;iBACJ,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB;QACH,CAAC,CAAA,CAAC;QAGF;;;;;WAKG;QACH,gBAAW,GAAG,CAAO,MASpB,EAAE,EAAE;YACH,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,IAAA,SAAM,GAAE;oBACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,sCAAsC,CAAC;gBAElE,MAAM,IAAI,GAAQ;oBAChB,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,QAAQ,EAAE;wBACR,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B;iBACF,CAAC;gBAEF,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,IAAI,CAAC,KAAK,GAAG;wBACX,IAAI,EAAE,MAAM,CAAC,OAAO;wBACpB,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,eAAe;qBAC9C,CAAC;iBACH;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;oBACtC,OAAO;oBACP,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,IAAI;oBACjB,GAAG;iBACJ,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB;QACH,CAAC,CAAA,CAAC;IA1KF,CAAC;CAiLF;AApLD,8BAoLC"}
|
|
@@ -45,6 +45,12 @@ export default class HealthInformation extends Header {
|
|
|
45
45
|
message: string;
|
|
46
46
|
};
|
|
47
47
|
}) => Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* V3: HIU requests health information from HIP via CM.
|
|
50
|
+
* Called after HIU receives GRANTED consent notification.
|
|
51
|
+
*
|
|
52
|
+
* Endpoint: POST /api/hiecm/data-flow/v3/health-information/request
|
|
53
|
+
*/
|
|
48
54
|
cmRequest: (config: {
|
|
49
55
|
healthId: string;
|
|
50
56
|
consentId: string;
|
|
@@ -61,7 +67,9 @@ export default class HealthInformation extends Header {
|
|
|
61
67
|
}) => Promise<HIU_CM_REQUEST | undefined>;
|
|
62
68
|
}
|
|
63
69
|
/**
|
|
64
|
-
*
|
|
70
|
+
* V3 HIU_CM_REQUEST — requestId/timestamp moved to V3 inline headers.
|
|
71
|
+
* privateKey, transactionId, xhiuid, healthId, status are local-only fields
|
|
72
|
+
* set by the caller after cmRequest() returns.
|
|
65
73
|
*/
|
|
66
74
|
export interface HIU_CM_REQUEST {
|
|
67
75
|
hiRequest: {
|
|
@@ -83,17 +91,12 @@ export interface HIU_CM_REQUEST {
|
|
|
83
91
|
parameters: string;
|
|
84
92
|
};
|
|
85
93
|
};
|
|
86
|
-
/**
|
|
87
|
-
* private key is only for local storage not be sent along api call
|
|
88
|
-
*/
|
|
89
94
|
privateKey?: string;
|
|
90
95
|
transactionId?: string;
|
|
91
96
|
xhiuid?: string;
|
|
92
97
|
healthId?: string;
|
|
93
98
|
status?: string;
|
|
94
99
|
};
|
|
95
|
-
requestId: string;
|
|
96
|
-
timestamp: string;
|
|
97
100
|
error?: {
|
|
98
101
|
code: any;
|
|
99
102
|
message: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-information.d.ts","sourceRoot":"","sources":["../../src/classes/health-information.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,MAAM,WAAW,0CAA0C;IACzD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,MAAM;gBACvC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAIlD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,WAAkB;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,aAAa,GAAG,QAAQ,CAAC;QACxC,eAAe,EAAE,0CAA0C,EAAE,CAAC;QAC9D,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,kBA4CC;IAEF,SAAS,WAAkB;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,
|
|
1
|
+
{"version":3,"file":"health-information.d.ts","sourceRoot":"","sources":["../../src/classes/health-information.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,MAAM,WAAW,0CAA0C;IACzD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,MAAM;gBACvC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAIlD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,WAAkB;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,aAAa,GAAG,QAAQ,CAAC;QACxC,eAAe,EAAE,0CAA0C,EAAE,CAAC;QAC9D,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,kBA4CC;IAEF;;;;;OAKG;IACH,SAAS,WAAkB;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;QACF,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,yCAiEC;CACH;AAGD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE;QACT,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAA;SACX,CAAA;QACD,SAAS,EAAE;YACT,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE;YACX,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,MAAM,CAAA;YACb,SAAS,EAAE,MAAM,CAAA;YACjB,WAAW,EAAE;gBACX,MAAM,EAAE,MAAM,CAAA;gBACd,QAAQ,EAAE,MAAM,CAAA;gBAChB,UAAU,EAAE,MAAM,CAAA;aACnB,CAAA;SACF,CAAA;QACD,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,EAAE,GAAG,CAAA;KACb,CAAA;CACF"}
|
|
@@ -84,13 +84,25 @@ class HealthInformation extends header_1.default {
|
|
|
84
84
|
console.log(error);
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
|
+
/**
|
|
88
|
+
* V3: HIU requests health information from HIP via CM.
|
|
89
|
+
* Called after HIU receives GRANTED consent notification.
|
|
90
|
+
*
|
|
91
|
+
* Endpoint: POST /api/hiecm/data-flow/v3/health-information/request
|
|
92
|
+
*/
|
|
87
93
|
this.cmRequest = (config) => __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
var _c;
|
|
88
95
|
try {
|
|
89
|
-
|
|
90
|
-
const
|
|
96
|
+
this.setXCmId(config.healthId);
|
|
97
|
+
const headers = {
|
|
98
|
+
"REQUEST-ID": (0, uuid_1.v4)(),
|
|
99
|
+
TIMESTAMP: new Date().toISOString(),
|
|
100
|
+
"X-CM-ID": this.xCmId,
|
|
101
|
+
"Content-Type": "application/json",
|
|
102
|
+
Authorization: `Bearer ${this.accessToken}`,
|
|
103
|
+
};
|
|
104
|
+
const url = `${this.baseUrl}/api/hiecm/data-flow/v3/health-information/request`;
|
|
91
105
|
const body = {
|
|
92
|
-
requestId: (0, uuid_1.v4)(),
|
|
93
|
-
timestamp: new Date().toISOString(),
|
|
94
106
|
hiRequest: {
|
|
95
107
|
consent: {
|
|
96
108
|
id: config.consentId,
|
|
@@ -116,11 +128,25 @@ class HealthInformation extends header_1.default {
|
|
|
116
128
|
};
|
|
117
129
|
}
|
|
118
130
|
const res = yield new request_1.default().request({
|
|
119
|
-
headers
|
|
131
|
+
headers,
|
|
120
132
|
method: "POST",
|
|
121
133
|
requestBody: body,
|
|
122
|
-
url
|
|
134
|
+
url,
|
|
123
135
|
});
|
|
136
|
+
console.log("cmRequest V3 ABDM response:", res.status, res.statusText, (_c = res.body) === null || _c === void 0 ? void 0 : _c.slice(0, 500));
|
|
137
|
+
// Merge CM response fields into the returned body
|
|
138
|
+
if (res.body) {
|
|
139
|
+
try {
|
|
140
|
+
const resBody = JSON.parse(res.body);
|
|
141
|
+
if (resBody.transactionId) {
|
|
142
|
+
body.hiRequest.transactionId = resBody.transactionId;
|
|
143
|
+
}
|
|
144
|
+
if (resBody.requestId) {
|
|
145
|
+
body.requestId = resBody.requestId;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (_d) { }
|
|
149
|
+
}
|
|
124
150
|
return body;
|
|
125
151
|
}
|
|
126
152
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-information.js","sourceRoot":"","sources":["../../src/classes/health-information.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,+BAAoC;AACpC,wDAAgC;AAQhC,MAAqB,iBAAkB,SAAQ,gBAAM;IACnD,YAAY,QAAgB,EAAE,YAAoB;QAChD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAGhC;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,WAAM,GAAG,CAAO,MAef,EAAE,EAAE;;YACH,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,SAAM,GAAE;oBAC1C,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACvD,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;iBAC5C,CAAC;gBACF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,mDAAmD,CAAC;gBAE/E,MAAM,IAAI,GAAQ;oBAChB,YAAY,EAAE;wBACZ,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAChC,QAAQ,EAAE;4BACR,IAAI,EAAE,MAAM,CAAC,OAAO;4BACpB,EAAE,EAAE,MAAM,CAAC,UAAU;yBACtB;wBACD,kBAAkB,EAAE;4BAClB,aAAa,EAAE,MAAM,CAAC,aAAa;4BACnC,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,eAAe,EAAE,MAAM,CAAC,eAAe;yBACxC;qBACF;iBACF,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC3B;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,iBAAO,EAAE,CAAC,OAAO,CAAC;oBACtC,OAAO;oBACP,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,IAAI;oBACjB,GAAG;iBACJ,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB;QACH,CAAC,CAAA,CAAC;QAEF,cAAS,GAAG,CAAO,MAalB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"health-information.js","sourceRoot":"","sources":["../../src/classes/health-information.ts"],"names":[],"mappings":"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"}
|