@awell-health/awell-extensions 1.0.103 → 1.0.105
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/dist/extensions/docuSign/settings.d.ts +2 -2
- package/dist/extensions/elation/actions/createAppointment.d.ts +6 -6
- package/dist/extensions/elation/actions/createAppointment.js +12 -12
- package/dist/extensions/elation/actions/createAppointment.js.map +1 -1
- package/dist/extensions/elation/actions/createNonVisitNote.d.ts +6 -27
- package/dist/extensions/elation/actions/createNonVisitNote.js +25 -39
- package/dist/extensions/elation/actions/createNonVisitNote.js.map +1 -1
- package/dist/extensions/elation/actions/createPatient.d.ts +17 -2
- package/dist/extensions/elation/actions/createPatient.js +48 -19
- package/dist/extensions/elation/actions/createPatient.js.map +1 -1
- package/dist/extensions/elation/actions/deleteNonVisitNote.js +1 -1
- package/dist/extensions/elation/actions/deleteNonVisitNote.js.map +1 -1
- package/dist/extensions/elation/actions/findPhysician.js +0 -7
- package/dist/extensions/elation/actions/findPhysician.js.map +1 -1
- package/dist/extensions/elation/actions/getAppointment.js +1 -1
- package/dist/extensions/elation/actions/getAppointment.js.map +1 -1
- package/dist/extensions/elation/actions/getPatient.d.ts +5 -1
- package/dist/extensions/elation/actions/getPatient.js +11 -3
- package/dist/extensions/elation/actions/getPatient.js.map +1 -1
- package/dist/extensions/elation/actions/getPhysician/config/dataPoints.d.ts +30 -0
- package/dist/extensions/elation/actions/getPhysician/config/dataPoints.js +34 -0
- package/dist/extensions/elation/actions/getPhysician/config/dataPoints.js.map +1 -0
- package/dist/extensions/elation/actions/getPhysician/config/fields.d.ts +18 -0
- package/dist/extensions/elation/actions/getPhysician/config/fields.js +19 -0
- package/dist/extensions/elation/actions/getPhysician/config/fields.js.map +1 -0
- package/dist/extensions/elation/actions/getPhysician/config/index.d.ts +2 -0
- package/dist/extensions/elation/actions/getPhysician/config/index.js +9 -0
- package/dist/extensions/elation/actions/getPhysician/config/index.js.map +1 -0
- package/dist/extensions/elation/actions/getPhysician/getPhysician.d.ts +4 -0
- package/dist/extensions/elation/actions/getPhysician/getPhysician.js +86 -0
- package/dist/extensions/elation/actions/getPhysician/getPhysician.js.map +1 -0
- package/dist/extensions/elation/actions/getPhysician/getPhysician.test.d.ts +1 -0
- package/dist/extensions/elation/actions/getPhysician/getPhysician.test.js +46 -0
- package/dist/extensions/elation/actions/getPhysician/getPhysician.test.js.map +1 -0
- package/dist/extensions/elation/actions/getPhysician/index.d.ts +1 -0
- package/dist/extensions/elation/actions/getPhysician/index.js +6 -0
- package/dist/extensions/elation/actions/getPhysician/index.js.map +1 -0
- package/dist/extensions/elation/actions/index.d.ts +50 -119
- package/dist/extensions/elation/actions/index.js +4 -2
- package/dist/extensions/elation/actions/index.js.map +1 -1
- package/dist/extensions/elation/actions/updatePatient.d.ts +7 -7
- package/dist/extensions/elation/actions/updatePatient.js +37 -26
- package/dist/extensions/elation/actions/updatePatient.js.map +1 -1
- package/dist/extensions/elation/client.d.ts +5 -3
- package/dist/extensions/elation/client.js +12 -1
- package/dist/extensions/elation/client.js.map +1 -1
- package/dist/extensions/elation/types/patient.d.ts +3 -2
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/elationMobilePhoneToE164.d.ts +9 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/elationMobilePhoneToE164.js +24 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/elationMobilePhoneToE164.js.map +1 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/elationMobilePhoneToE164.test.d.ts +1 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/elationMobilePhoneToE164.test.js +26 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/elationMobilePhoneToE164.test.js.map +1 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/index.d.ts +1 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/index.js +6 -0
- package/dist/extensions/elation/utils/elationMobilePhoneToE164/index.js.map +1 -0
- package/dist/extensions/elation/utils/getLastEmail/getLastEmail.d.ts +2 -0
- package/dist/extensions/elation/utils/getLastEmail/getLastEmail.js +21 -0
- package/dist/extensions/elation/utils/getLastEmail/getLastEmail.js.map +1 -0
- package/dist/extensions/elation/utils/getLastEmail/getLastEmail.test.d.ts +1 -0
- package/dist/extensions/elation/utils/getLastEmail/getLastEmail.test.js +29 -0
- package/dist/extensions/elation/utils/getLastEmail/getLastEmail.test.js.map +1 -0
- package/dist/extensions/elation/utils/getLastEmail/index.d.ts +1 -0
- package/dist/extensions/elation/utils/getLastEmail/index.js +6 -0
- package/dist/extensions/elation/utils/getLastEmail/index.js.map +1 -0
- package/dist/extensions/elation/validation/patient.zod.d.ts +591 -0
- package/dist/extensions/elation/validation/patient.zod.js +39 -1
- package/dist/extensions/elation/validation/patient.zod.js.map +1 -1
- package/dist/extensions/elation/webhooks/appointmentCreatedOrUpdated.d.ts +11 -0
- package/dist/extensions/elation/webhooks/appointmentCreatedOrUpdated.js +34 -0
- package/dist/extensions/elation/webhooks/appointmentCreatedOrUpdated.js.map +1 -0
- package/dist/extensions/elation/webhooks/index.d.ts +1 -2
- package/dist/extensions/elation/webhooks/index.js +2 -1
- package/dist/extensions/elation/webhooks/index.js.map +1 -1
- package/dist/extensions/elation/webhooks/patientCreatedOrUpdated.d.ts +1 -1
- package/dist/extensions/elation/webhooks/patientCreatedOrUpdated.js +1 -1
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/markdown.json +6 -2
- package/dist/extensions/zusHealth/client/client.d.ts +12 -0
- package/dist/extensions/zusHealth/client/client.js +42 -0
- package/dist/extensions/zusHealth/client/client.js.map +1 -0
- package/dist/extensions/zusHealth/client/index.d.ts +1 -0
- package/dist/extensions/zusHealth/client/index.js +6 -0
- package/dist/extensions/zusHealth/client/index.js.map +1 -0
- package/dist/extensions/zusHealth/client/type.d.ts +6 -0
- package/dist/extensions/zusHealth/client/type.js +3 -0
- package/dist/extensions/zusHealth/client/type.js.map +1 -0
- package/dist/extensions/zusHealth/index.d.ts +2 -0
- package/dist/extensions/zusHealth/index.js +20 -0
- package/dist/extensions/zusHealth/index.js.map +1 -0
- package/dist/extensions/zusHealth/settings.d.ts +37 -0
- package/dist/extensions/zusHealth/settings.js +41 -0
- package/dist/extensions/zusHealth/settings.js.map +1 -0
- package/dist/extensions/zusHealth/utils/error.d.ts +6 -0
- package/dist/extensions/zusHealth/utils/error.js +53 -0
- package/dist/extensions/zusHealth/utils/error.js.map +1 -0
- package/dist/extensions/zusHealth/utils/index.d.ts +1 -0
- package/dist/extensions/zusHealth/utils/index.js +18 -0
- package/dist/extensions/zusHealth/utils/index.js.map +1 -0
- package/dist/extensions/zusHealth/validation/encounter.zod.d.ts +2 -0
- package/dist/extensions/zusHealth/validation/encounter.zod.js +9 -0
- package/dist/extensions/zusHealth/validation/encounter.zod.js.map +1 -0
- package/dist/extensions/zusHealth/validation/index.d.ts +2 -0
- package/dist/extensions/zusHealth/validation/index.js +19 -0
- package/dist/extensions/zusHealth/validation/index.js.map +1 -0
- package/dist/extensions/zusHealth/validation/settings.zod.d.ts +20 -0
- package/dist/extensions/zusHealth/validation/settings.zod.js +22 -0
- package/dist/extensions/zusHealth/validation/settings.zod.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/index.d.ts +3 -0
- package/dist/extensions/zusHealth/webhooks/index.js +7 -0
- package/dist/extensions/zusHealth/webhooks/index.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.d.ts +43 -0
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.js +93 -0
- package/dist/extensions/zusHealth/webhooks/patientAdmitted.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/patientDischarged.d.ts +47 -0
- package/dist/extensions/zusHealth/webhooks/patientDischarged.js +98 -0
- package/dist/extensions/zusHealth/webhooks/patientDischarged.js.map +1 -0
- package/dist/extensions/zusHealth/webhooks/types.d.ts +28 -0
- package/dist/extensions/zusHealth/webhooks/types.js +22 -0
- package/dist/extensions/zusHealth/webhooks/types.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"settings.zod.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/validation/settings.zod.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC;IACT,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC;IACT,SAAS,EAAE,OAAC;SACT,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC;IACT,aAAa,EAAE,OAAC;SACb,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC;IACT,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC;CACV,CAAC,CAAA"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export type { PatientAdmitted } from './patientAdmitted';
|
2
|
+
export type { PatientDischarged } from './patientDischarged';
|
3
|
+
export declare const webhooks: import("@awell-health/extensions-core").Webhook<"eventType" | "resourceId" | "UPID" | "ownerId" | "encounterStatus" | "encounterStart" | "HL7EventType" | "HL7EventTypeDescription" | "HL7EventTypeFull", import("./types").AdtEventWebhookPayload>[];
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.webhooks = void 0;
|
4
|
+
const patientAdmitted_1 = require("./patientAdmitted");
|
5
|
+
const patientDischarged_1 = require("./patientDischarged");
|
6
|
+
exports.webhooks = [patientAdmitted_1.patientAdmitted, patientDischarged_1.patientDischarged];
|
7
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/webhooks/index.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,2DAAuD;AAI1C,QAAA,QAAQ,GAAG,CAAC,iCAAe,EAAE,qCAAiB,CAAC,CAAA"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { type Webhook } from '@awell-health/extensions-core';
|
2
|
+
import { type AdtEventWebhookPayload } from './types';
|
3
|
+
declare const dataPoints: {
|
4
|
+
resourceId: {
|
5
|
+
key: string;
|
6
|
+
valueType: "string";
|
7
|
+
};
|
8
|
+
UPID: {
|
9
|
+
key: string;
|
10
|
+
valueType: "string";
|
11
|
+
};
|
12
|
+
ownerId: {
|
13
|
+
key: string;
|
14
|
+
valueType: "string";
|
15
|
+
};
|
16
|
+
eventType: {
|
17
|
+
key: string;
|
18
|
+
valueType: "string";
|
19
|
+
};
|
20
|
+
encounterStatus: {
|
21
|
+
key: string;
|
22
|
+
valueType: "string";
|
23
|
+
};
|
24
|
+
encounterStart: {
|
25
|
+
key: string;
|
26
|
+
valueType: "date";
|
27
|
+
};
|
28
|
+
HL7EventType: {
|
29
|
+
key: string;
|
30
|
+
valueType: "string";
|
31
|
+
};
|
32
|
+
HL7EventTypeDescription: {
|
33
|
+
key: string;
|
34
|
+
valueType: "string";
|
35
|
+
};
|
36
|
+
HL7EventTypeFull: {
|
37
|
+
key: string;
|
38
|
+
valueType: "string";
|
39
|
+
};
|
40
|
+
};
|
41
|
+
export declare const patientAdmitted: Webhook<keyof typeof dataPoints, AdtEventWebhookPayload>;
|
42
|
+
export type PatientAdmitted = typeof patientAdmitted;
|
43
|
+
export {};
|
@@ -0,0 +1,93 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.patientAdmitted = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const types_1 = require("./types");
|
6
|
+
const client_1 = require("../client");
|
7
|
+
const validation_1 = require("../validation");
|
8
|
+
const utils_1 = require("../utils");
|
9
|
+
const dataPoints = {
|
10
|
+
resourceId: {
|
11
|
+
key: 'resourceId',
|
12
|
+
valueType: 'string',
|
13
|
+
},
|
14
|
+
UPID: {
|
15
|
+
key: 'UPID',
|
16
|
+
valueType: 'string',
|
17
|
+
},
|
18
|
+
ownerId: {
|
19
|
+
key: 'ownerId',
|
20
|
+
valueType: 'string',
|
21
|
+
},
|
22
|
+
eventType: {
|
23
|
+
key: 'eventType',
|
24
|
+
valueType: 'string',
|
25
|
+
},
|
26
|
+
encounterStatus: {
|
27
|
+
key: 'encounterStatus',
|
28
|
+
valueType: 'string',
|
29
|
+
},
|
30
|
+
encounterStart: {
|
31
|
+
key: 'encounterStart',
|
32
|
+
valueType: 'date',
|
33
|
+
},
|
34
|
+
HL7EventType: {
|
35
|
+
key: 'HL7EventType',
|
36
|
+
valueType: 'string',
|
37
|
+
},
|
38
|
+
HL7EventTypeDescription: {
|
39
|
+
key: 'HL7EventTypeDescription',
|
40
|
+
valueType: 'string',
|
41
|
+
},
|
42
|
+
HL7EventTypeFull: {
|
43
|
+
key: 'HL7EventTypeFull',
|
44
|
+
valueType: 'string',
|
45
|
+
},
|
46
|
+
};
|
47
|
+
exports.patientAdmitted = {
|
48
|
+
key: 'patientAdmitted',
|
49
|
+
dataPoints,
|
50
|
+
onWebhookReceived: async ({ payload, settings }, onSuccess, onError) => {
|
51
|
+
try {
|
52
|
+
let { resourceId } = payload;
|
53
|
+
if ((0, lodash_1.isNil)(resourceId)) {
|
54
|
+
await onError({});
|
55
|
+
}
|
56
|
+
resourceId = validation_1.startsWithEncounter.parse(payload.resourceId);
|
57
|
+
const api = (0, client_1.makeAPIClient)(settings);
|
58
|
+
const resource = await api.getResource(resourceId);
|
59
|
+
if (resource.status === types_1.EncounterStatus.InProgress &&
|
60
|
+
!(0, lodash_1.isNil)(resource.period.start)) {
|
61
|
+
await onSuccess({
|
62
|
+
data_points: {
|
63
|
+
resourceId,
|
64
|
+
UPID: payload.resource.UPID,
|
65
|
+
ownerId: payload.ownerId,
|
66
|
+
encounterStatus: resource.status,
|
67
|
+
encounterStart: resource.period.start,
|
68
|
+
eventType: types_1.EncounterStatus.Admitted,
|
69
|
+
HL7EventType: types_1.HL7EventType.A01.code,
|
70
|
+
HL7EventTypeFull: types_1.HL7EventType.A01.fullCode,
|
71
|
+
HL7EventTypeDescription: types_1.HL7EventType.A01.description,
|
72
|
+
},
|
73
|
+
});
|
74
|
+
}
|
75
|
+
}
|
76
|
+
catch (error) {
|
77
|
+
let parsedError;
|
78
|
+
if ((0, utils_1.isZodError)(error)) {
|
79
|
+
parsedError = (0, utils_1.parseZodError)(error);
|
80
|
+
}
|
81
|
+
else if ((0, utils_1.isAxiosError)(error)) {
|
82
|
+
parsedError = (0, utils_1.parseAxiosError)(error);
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
parsedError = (0, utils_1.parseUnknowError)(error);
|
86
|
+
}
|
87
|
+
await onError({
|
88
|
+
events: [parsedError],
|
89
|
+
});
|
90
|
+
}
|
91
|
+
},
|
92
|
+
};
|
93
|
+
//# sourceMappingURL=patientAdmitted.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"patientAdmitted.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/webhooks/patientAdmitted.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { type Webhook } from '@awell-health/extensions-core';
|
2
|
+
import { type AdtEventWebhookPayload } from './types';
|
3
|
+
declare const dataPoints: {
|
4
|
+
resourceId: {
|
5
|
+
key: string;
|
6
|
+
valueType: "string";
|
7
|
+
};
|
8
|
+
UPID: {
|
9
|
+
key: string;
|
10
|
+
valueType: "string";
|
11
|
+
};
|
12
|
+
ownerId: {
|
13
|
+
key: string;
|
14
|
+
valueType: "string";
|
15
|
+
};
|
16
|
+
eventType: {
|
17
|
+
key: string;
|
18
|
+
valueType: "string";
|
19
|
+
};
|
20
|
+
encounterStatus: {
|
21
|
+
key: string;
|
22
|
+
valueType: "string";
|
23
|
+
};
|
24
|
+
encounterStart: {
|
25
|
+
key: string;
|
26
|
+
valueType: "date";
|
27
|
+
};
|
28
|
+
encounterEnd: {
|
29
|
+
key: string;
|
30
|
+
valueType: "date";
|
31
|
+
};
|
32
|
+
HL7EventType: {
|
33
|
+
key: string;
|
34
|
+
valueType: "string";
|
35
|
+
};
|
36
|
+
HL7EventTypeDescription: {
|
37
|
+
key: string;
|
38
|
+
valueType: "string";
|
39
|
+
};
|
40
|
+
HL7EventTypeFull: {
|
41
|
+
key: string;
|
42
|
+
valueType: "string";
|
43
|
+
};
|
44
|
+
};
|
45
|
+
export declare const patientDischarged: Webhook<keyof typeof dataPoints, AdtEventWebhookPayload>;
|
46
|
+
export type PatientDischarged = typeof patientDischarged;
|
47
|
+
export {};
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.patientDischarged = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const types_1 = require("./types");
|
6
|
+
const client_1 = require("../client");
|
7
|
+
const validation_1 = require("../validation");
|
8
|
+
const utils_1 = require("../utils");
|
9
|
+
const dataPoints = {
|
10
|
+
resourceId: {
|
11
|
+
key: 'resourceId',
|
12
|
+
valueType: 'string',
|
13
|
+
},
|
14
|
+
UPID: {
|
15
|
+
key: 'UPID',
|
16
|
+
valueType: 'string',
|
17
|
+
},
|
18
|
+
ownerId: {
|
19
|
+
key: 'ownerId',
|
20
|
+
valueType: 'string',
|
21
|
+
},
|
22
|
+
eventType: {
|
23
|
+
key: 'eventType',
|
24
|
+
valueType: 'string',
|
25
|
+
},
|
26
|
+
encounterStatus: {
|
27
|
+
key: 'encounterStatus',
|
28
|
+
valueType: 'string',
|
29
|
+
},
|
30
|
+
encounterStart: {
|
31
|
+
key: 'encounterStart',
|
32
|
+
valueType: 'date',
|
33
|
+
},
|
34
|
+
encounterEnd: {
|
35
|
+
key: 'encounterEnd',
|
36
|
+
valueType: 'date',
|
37
|
+
},
|
38
|
+
HL7EventType: {
|
39
|
+
key: 'HL7EventType',
|
40
|
+
valueType: 'string',
|
41
|
+
},
|
42
|
+
HL7EventTypeDescription: {
|
43
|
+
key: 'HL7EventTypeDescription',
|
44
|
+
valueType: 'string',
|
45
|
+
},
|
46
|
+
HL7EventTypeFull: {
|
47
|
+
key: 'HL7EventTypeFull',
|
48
|
+
valueType: 'string',
|
49
|
+
},
|
50
|
+
};
|
51
|
+
exports.patientDischarged = {
|
52
|
+
key: 'patientDischarged',
|
53
|
+
dataPoints,
|
54
|
+
onWebhookReceived: async ({ payload, settings }, onSuccess, onError) => {
|
55
|
+
try {
|
56
|
+
let { resourceId } = payload;
|
57
|
+
if ((0, lodash_1.isNil)(resourceId)) {
|
58
|
+
await onError({});
|
59
|
+
}
|
60
|
+
resourceId = validation_1.startsWithEncounter.parse(resourceId);
|
61
|
+
const api = (0, client_1.makeAPIClient)(settings);
|
62
|
+
const resource = await api.getResource(resourceId);
|
63
|
+
if (resource.status === types_1.EncounterStatus.Discharged &&
|
64
|
+
!(0, lodash_1.isNil)(resource.period.end)) {
|
65
|
+
await onSuccess({
|
66
|
+
data_points: {
|
67
|
+
resourceId,
|
68
|
+
UPID: payload.resource.UPID,
|
69
|
+
ownerId: payload.ownerId,
|
70
|
+
eventType: types_1.EncounterStatus.Discharged,
|
71
|
+
encounterStatus: resource.status,
|
72
|
+
encounterStart: resource.period.start,
|
73
|
+
encounterEnd: resource.period.end,
|
74
|
+
HL7EventType: types_1.HL7EventType.A03.code,
|
75
|
+
HL7EventTypeFull: types_1.HL7EventType.A03.fullCode,
|
76
|
+
HL7EventTypeDescription: types_1.HL7EventType.A03.description,
|
77
|
+
},
|
78
|
+
});
|
79
|
+
}
|
80
|
+
}
|
81
|
+
catch (error) {
|
82
|
+
let parsedError;
|
83
|
+
if ((0, utils_1.isZodError)(error)) {
|
84
|
+
parsedError = (0, utils_1.parseZodError)(error);
|
85
|
+
}
|
86
|
+
else if ((0, utils_1.isAxiosError)(error)) {
|
87
|
+
parsedError = (0, utils_1.parseAxiosError)(error);
|
88
|
+
}
|
89
|
+
else {
|
90
|
+
parsedError = (0, utils_1.parseUnknowError)(error);
|
91
|
+
}
|
92
|
+
await onError({
|
93
|
+
events: [parsedError],
|
94
|
+
});
|
95
|
+
}
|
96
|
+
},
|
97
|
+
};
|
98
|
+
//# sourceMappingURL=patientDischarged.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"patientDischarged.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/webhooks/patientDischarged.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
export interface AdtEventWebhookPayload {
|
2
|
+
message_id: string;
|
3
|
+
source: string;
|
4
|
+
time: string;
|
5
|
+
resourceId: string;
|
6
|
+
ownerId: string;
|
7
|
+
resourceIncluded: boolean;
|
8
|
+
resource: {
|
9
|
+
UPID: string;
|
10
|
+
};
|
11
|
+
}
|
12
|
+
export declare enum EncounterStatus {
|
13
|
+
Admitted = "admitted",
|
14
|
+
Discharged = "discharged",
|
15
|
+
InProgress = "in-progress"
|
16
|
+
}
|
17
|
+
export declare const HL7EventType: {
|
18
|
+
A01: {
|
19
|
+
code: string;
|
20
|
+
description: string;
|
21
|
+
fullCode: string;
|
22
|
+
};
|
23
|
+
A03: {
|
24
|
+
code: string;
|
25
|
+
description: string;
|
26
|
+
fullCode: string;
|
27
|
+
};
|
28
|
+
};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HL7EventType = exports.EncounterStatus = void 0;
|
4
|
+
var EncounterStatus;
|
5
|
+
(function (EncounterStatus) {
|
6
|
+
EncounterStatus["Admitted"] = "admitted";
|
7
|
+
EncounterStatus["Discharged"] = "discharged";
|
8
|
+
EncounterStatus["InProgress"] = "in-progress";
|
9
|
+
})(EncounterStatus = exports.EncounterStatus || (exports.EncounterStatus = {}));
|
10
|
+
exports.HL7EventType = {
|
11
|
+
A01: {
|
12
|
+
code: 'A01',
|
13
|
+
description: 'Admit/Visit Notification',
|
14
|
+
fullCode: 'ADT^A01',
|
15
|
+
},
|
16
|
+
A03: {
|
17
|
+
code: 'A03',
|
18
|
+
description: 'Discharge/End Visit',
|
19
|
+
fullCode: 'ADT^A03',
|
20
|
+
},
|
21
|
+
};
|
22
|
+
//# sourceMappingURL=types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../extensions/zusHealth/webhooks/types.ts"],"names":[],"mappings":";;;AAUA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,4CAAyB,CAAA;IACzB,6CAA0B,CAAA;AAC5B,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAEY,QAAA,YAAY,GAAG;IAC1B,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,SAAS;KACpB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,SAAS;KACpB;CACF,CAAA"}
|