@awell-health/awell-extensions 2.1.177 → 2.1.178
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.
|
@@ -55,11 +55,13 @@ const convertToMetriportPatient = (patient) => {
|
|
|
55
55
|
country: patient.country,
|
|
56
56
|
},
|
|
57
57
|
personalIdentifiers: [],
|
|
58
|
-
contact: {
|
|
59
|
-
phone: patient.phone,
|
|
60
|
-
email: patient.email,
|
|
61
|
-
},
|
|
62
58
|
};
|
|
59
|
+
if (patient.phone || patient.email) {
|
|
60
|
+
patientMetriport.contact = {
|
|
61
|
+
phone: patient.phone || undefined,
|
|
62
|
+
email: patient.email || undefined,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
63
65
|
if (patient.driversLicenseState !== undefined &&
|
|
64
66
|
patient.driversLicenseValue === undefined) {
|
|
65
67
|
throw new Error('Drivers license value is required when drivers license state is provided');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../extensions/metriport/actions/patient/create.ts"],"names":[],"mappings":";;;AAAA,gDAG2B;AAC3B,uEAAkD;AAElD,mEAAwD;AAExD,yCAAiD;AACjD,4DAA8D;AAC9D,qCAAuC;AACvC,8DAAuD;AACvD,6CAAsE;AACtE,6CAAiD;AAEpC,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,4LAA4L;IAC9L,MAAM,EAAE,qBAAY;IACpB,WAAW,EAAE,IAAI;IACjB,0BAA0B,EAAE,IAAI;IAChC,UAAU,EAAE,+BAAkB;IAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAA;QAEnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gCAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAEzD,MAAM,UAAU,GAAG,sBAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAE5D,MAAM,gBAAgB,GAAG,IAAA,iCAAyB,EAAC,OAAO,CAAC,CAAA;YAE3D,MAAM,GAAG,GAAG,IAAA,2BAAkB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAEhD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YAEpE,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;iBACtB;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAY,CAAC,CAAA;YAC3C,MAAM,IAAA,iCAAkB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;CACF,CAAA;AACM,MAAM,yBAAyB,GAAG,CACvC,OAAsB,EACE,EAAE;;IAC1B,MAAM,gBAAgB,GAA2B;QAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO,EAAE;YACP,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,mBAAmB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../extensions/metriport/actions/patient/create.ts"],"names":[],"mappings":";;;AAAA,gDAG2B;AAC3B,uEAAkD;AAElD,mEAAwD;AAExD,yCAAiD;AACjD,4DAA8D;AAC9D,qCAAuC;AACvC,8DAAuD;AACvD,6CAAsE;AACtE,6CAAiD;AAEpC,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,4LAA4L;IAC9L,MAAM,EAAE,qBAAY;IACpB,WAAW,EAAE,IAAI;IACjB,0BAA0B,EAAE,IAAI;IAChC,UAAU,EAAE,+BAAkB;IAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAA;QAEnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gCAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAEzD,MAAM,UAAU,GAAG,sBAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAE5D,MAAM,gBAAgB,GAAG,IAAA,iCAAyB,EAAC,OAAO,CAAC,CAAA;YAE3D,MAAM,GAAG,GAAG,IAAA,2BAAkB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAEhD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YAEpE,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;iBACtB;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAY,CAAC,CAAA;YAC3C,MAAM,IAAA,iCAAkB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;CACF,CAAA;AACM,MAAM,yBAAyB,GAAG,CACvC,OAAsB,EACE,EAAE;;IAC1B,MAAM,gBAAgB,GAA2B;QAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO,EAAE;YACP,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,mBAAmB,EAAE,EAAE;KACxB,CAAA;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,gBAAgB,CAAC,OAAO,GAAG;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;SAClC,CAAA;IACH,CAAC;IAED,IACE,OAAO,CAAC,mBAAmB,KAAK,SAAS;QACzC,OAAO,CAAC,mBAAmB,KAAK,SAAS,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;IACH,CAAC;SAAM,IACL,OAAO,CAAC,mBAAmB,KAAK,SAAS;QACzC,OAAO,CAAC,mBAAmB,KAAK,SAAS,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;IACH,CAAC;IAED,IACE,OAAO,CAAC,mBAAmB,KAAK,SAAS;QACzC,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QACtC,OAAO,CAAC,mBAAmB,KAAK,SAAS;QACzC,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EACtC,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,kCAAO,EAAC,OAAO,CAAC,mBAAmB,EAAE;YACjD,MAAM,EAAE,OAAO,CAAC,mBAAmB;SACpC,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,CAAC;YAAA,CAAC,MAAA,gBAAgB,CAAC,mBAAmB,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC;gBACjD,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,OAAO,CAAC,mBAAmB;gBAClC,KAAK,EAAE,uBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;aACxD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AA9DY,QAAA,yBAAyB,6BA8DrC"}
|
|
@@ -6,7 +6,6 @@ const zod_1 = require("zod");
|
|
|
6
6
|
const axios_1 = require("axios");
|
|
7
7
|
const nameLookup_1 = require("./nameLookup");
|
|
8
8
|
const handleErrorMessage = async (err, onError) => {
|
|
9
|
-
var _a, _b;
|
|
10
9
|
if (err instanceof zod_1.ZodError) {
|
|
11
10
|
const error = (0, zod_validation_error_1.fromZodError)(err);
|
|
12
11
|
await onError({
|
|
@@ -37,16 +36,15 @@ const handleErrorMessage = async (err, onError) => {
|
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
38
|
else if (err instanceof axios_1.AxiosError) {
|
|
39
|
+
const message = formatAxiosError(err);
|
|
40
40
|
await onError({
|
|
41
41
|
events: [
|
|
42
42
|
{
|
|
43
43
|
date: new Date().toISOString(),
|
|
44
|
-
text: {
|
|
45
|
-
en: `${(_a = err.status) !== null && _a !== void 0 ? _a : '(no status code)'} Error: ${err.message}`,
|
|
46
|
-
},
|
|
44
|
+
text: { en: message },
|
|
47
45
|
error: {
|
|
48
46
|
category: 'SERVER_ERROR',
|
|
49
|
-
message
|
|
47
|
+
message,
|
|
50
48
|
},
|
|
51
49
|
},
|
|
52
50
|
],
|
|
@@ -69,4 +67,33 @@ const handleErrorMessage = async (err, onError) => {
|
|
|
69
67
|
}
|
|
70
68
|
};
|
|
71
69
|
exports.handleErrorMessage = handleErrorMessage;
|
|
70
|
+
/**
|
|
71
|
+
* Metriport error bodies follow RFC 7807: `title` names the problem
|
|
72
|
+
* ("Missing or invalid parameters") and `detail` explains it
|
|
73
|
+
* ("Invalid uuid, on [facilityId]"). The Axios message only says
|
|
74
|
+
* "Request failed with status code 400", so prefer the body and fall back
|
|
75
|
+
* to the Axios message only when the body carries neither field.
|
|
76
|
+
*/
|
|
77
|
+
const formatAxiosError = (err) => {
|
|
78
|
+
var _a;
|
|
79
|
+
const status = (_a = err.status) !== null && _a !== void 0 ? _a : '(no status code)';
|
|
80
|
+
const title = getBodyString(err, 'title');
|
|
81
|
+
const detail = getBodyString(err, 'detail');
|
|
82
|
+
if (title !== undefined && detail !== undefined) {
|
|
83
|
+
return `${status} ${title}: ${detail}`;
|
|
84
|
+
}
|
|
85
|
+
if (title !== undefined) {
|
|
86
|
+
return `${status} ${title}`;
|
|
87
|
+
}
|
|
88
|
+
return `${status} Error: ${detail !== null && detail !== void 0 ? detail : err.message}`;
|
|
89
|
+
};
|
|
90
|
+
const getBodyString = (err, key) => {
|
|
91
|
+
var _a;
|
|
92
|
+
const data = (_a = err.response) === null || _a === void 0 ? void 0 : _a.data;
|
|
93
|
+
if (typeof data !== 'object' || data === null || !(key in data)) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
const value = data[key];
|
|
97
|
+
return typeof value === 'string' && value !== '' ? value : undefined;
|
|
98
|
+
};
|
|
72
99
|
//# sourceMappingURL=errorHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../extensions/metriport/shared/errorHandler.ts"],"names":[],"mappings":";;;AAAA,+DAAmD;AACnD,6BAA8B;AAC9B,iCAAkC;AAElC,6CAA8C;AAEvC,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAQ,EACR,OAAwB,EACT,EAAE
|
|
1
|
+
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../../../extensions/metriport/shared/errorHandler.ts"],"names":[],"mappings":"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"}
|