@awell-health/awell-extensions 2.0.52 → 2.0.53
Sign up to get free protection for your applications and to get access to all the features.
@@ -4,6 +4,7 @@ exports.addIdentifierToPatient = void 0;
|
|
4
4
|
const extensions_core_1 = require("@awell-health/extensions-core");
|
5
5
|
const config_1 = require("./config");
|
6
6
|
const zod_1 = require("zod");
|
7
|
+
const lodash_1 = require("lodash");
|
7
8
|
exports.addIdentifierToPatient = {
|
8
9
|
key: 'addIdentifierToPatient',
|
9
10
|
category: extensions_core_1.Category.WORKFLOW,
|
@@ -14,26 +15,25 @@ exports.addIdentifierToPatient = {
|
|
14
15
|
previewable: false,
|
15
16
|
onEvent: async ({ payload, onComplete, onError, helpers }) => {
|
16
17
|
var _a, _b;
|
17
|
-
const { fields: { system, value },
|
18
|
+
const { fields: { system, value }, } = (0, extensions_core_1.validate)({
|
18
19
|
schema: zod_1.z.object({
|
19
20
|
fields: config_1.FieldsValidationSchema,
|
20
|
-
patient: config_1.PatientValidationSchema,
|
21
21
|
}),
|
22
22
|
payload,
|
23
23
|
});
|
24
|
+
const currentPatient = payload.patient;
|
24
25
|
const sdk = await helpers.awellSdk();
|
25
26
|
const { patientByIdentifier: { patient: existingPatient }, } = await sdk.orchestration.query({
|
26
27
|
patientByIdentifier: {
|
27
28
|
__args: { system, value },
|
28
29
|
patient: {
|
29
30
|
id: true,
|
30
|
-
profile: { identifier: { system: true, value: true } },
|
31
31
|
},
|
32
32
|
},
|
33
33
|
});
|
34
|
-
const patientExists =
|
35
|
-
const
|
36
|
-
if (patientExists && !
|
34
|
+
const patientExists = !(0, lodash_1.isEmpty)(existingPatient === null || existingPatient === void 0 ? void 0 : existingPatient.id);
|
35
|
+
const patientLookUpIsCurrentPatient = (existingPatient === null || existingPatient === void 0 ? void 0 : existingPatient.id) === currentPatient.id;
|
36
|
+
if (patientExists && !patientLookUpIsCurrentPatient) {
|
37
37
|
await onError({
|
38
38
|
events: [
|
39
39
|
{
|
@@ -47,7 +47,7 @@ exports.addIdentifierToPatient = {
|
|
47
47
|
return;
|
48
48
|
}
|
49
49
|
// Filter identifiers, excluding any with the current system
|
50
|
-
const existingIdentifiers = (_b = (_a =
|
50
|
+
const existingIdentifiers = (_b = (_a = currentPatient === null || currentPatient === void 0 ? void 0 : currentPatient.profile) === null || _a === void 0 ? void 0 : _a.identifier) !== null && _b !== void 0 ? _b : [];
|
51
51
|
const otherIdentifiers = existingIdentifiers.filter((id) => id.system !== system);
|
52
52
|
const previousIdentifier = existingIdentifiers.find((id) => id.system === system);
|
53
53
|
const isUpdatingIdentifier = Boolean(previousIdentifier);
|
@@ -69,13 +69,15 @@ exports.addIdentifierToPatient = {
|
|
69
69
|
updatePatient: {
|
70
70
|
__args: {
|
71
71
|
input: {
|
72
|
-
patient_id:
|
72
|
+
patient_id: currentPatient.id,
|
73
73
|
profile: {
|
74
74
|
identifier: [...otherIdentifiers, { system, value }],
|
75
75
|
},
|
76
76
|
},
|
77
77
|
},
|
78
|
-
patient: {
|
78
|
+
patient: {
|
79
|
+
id: true,
|
80
|
+
},
|
79
81
|
},
|
80
82
|
});
|
81
83
|
await onComplete({
|
package/dist/extensions/awell/v1/actions/addIdentifierToPatient/addIdentifierToPatient.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addIdentifierToPatient.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/actions/addIdentifierToPatient/addIdentifierToPatient.ts"],"names":[],"mappings":";;;AAEA,mEAAkE;AAClE,
|
1
|
+
{"version":3,"file":"addIdentifierToPatient.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/actions/addIdentifierToPatient/addIdentifierToPatient.ts"],"names":[],"mappings":"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"}
|