@awell-health/awell-extensions 2.0.174 → 2.0.176

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.
Files changed (141) hide show
  1. package/dist/extensions/cerner/actions/createDocument/__testdata__/CreateDocument.mock.d.ts +8 -0
  2. package/dist/extensions/cerner/actions/createDocument/__testdata__/CreateDocument.mock.js +12 -0
  3. package/dist/extensions/cerner/actions/createDocument/__testdata__/CreateDocument.mock.js.map +1 -0
  4. package/dist/extensions/cerner/actions/createDocument/config/datapoints.d.ts +6 -0
  5. package/dist/extensions/cerner/actions/createDocument/config/datapoints.js +10 -0
  6. package/dist/extensions/cerner/actions/createDocument/config/datapoints.js.map +1 -0
  7. package/dist/extensions/cerner/actions/createDocument/config/fields.d.ts +52 -0
  8. package/dist/extensions/cerner/actions/createDocument/config/fields.js +51 -0
  9. package/dist/extensions/cerner/actions/createDocument/config/fields.js.map +1 -0
  10. package/dist/extensions/cerner/actions/createDocument/config/index.d.ts +2 -0
  11. package/dist/extensions/cerner/actions/createDocument/config/index.js +9 -0
  12. package/dist/extensions/cerner/actions/createDocument/config/index.js.map +1 -0
  13. package/dist/extensions/cerner/actions/createDocument/createDocument.d.ts +4 -0
  14. package/dist/extensions/cerner/actions/createDocument/createDocument.js +90 -0
  15. package/dist/extensions/cerner/actions/createDocument/createDocument.js.map +1 -0
  16. package/dist/extensions/cerner/actions/createDocument/index.d.ts +1 -0
  17. package/dist/extensions/cerner/actions/createDocument/index.js +6 -0
  18. package/dist/extensions/cerner/actions/createDocument/index.js.map +1 -0
  19. package/dist/extensions/cerner/actions/createPatient/__testdata__/CreateFhirPatient.mock.js +1 -1
  20. package/dist/extensions/cerner/actions/createPatient/__testdata__/CreateFhirPatient.mock.js.map +1 -1
  21. package/dist/extensions/cerner/actions/createPatient/config/fields.d.ts +22 -12
  22. package/dist/extensions/cerner/actions/createPatient/config/fields.js +15 -7
  23. package/dist/extensions/cerner/actions/createPatient/config/fields.js.map +1 -1
  24. package/dist/extensions/cerner/actions/createPatient/createPatient.js +34 -10
  25. package/dist/extensions/cerner/actions/createPatient/createPatient.js.map +1 -1
  26. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/FhirPatientMatch.mock.d.ts +98 -0
  27. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/FhirPatientMatch.mock.js +127 -0
  28. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/FhirPatientMatch.mock.js.map +1 -0
  29. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/FhirPatientNoMatch.mock.d.ts +10 -0
  30. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/FhirPatientNoMatch.mock.js +16 -0
  31. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/FhirPatientNoMatch.mock.js.map +1 -0
  32. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/index.d.ts +2 -0
  33. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/index.js +19 -0
  34. package/dist/extensions/cerner/actions/findPatientByMRN/__testdata__/index.js.map +1 -0
  35. package/dist/extensions/cerner/actions/findPatientByMRN/config/datapoints.d.ts +6 -0
  36. package/dist/extensions/cerner/actions/findPatientByMRN/config/datapoints.js +10 -0
  37. package/dist/extensions/cerner/actions/findPatientByMRN/config/datapoints.js.map +1 -0
  38. package/dist/extensions/cerner/actions/findPatientByMRN/config/fields.d.ts +18 -0
  39. package/dist/extensions/cerner/actions/findPatientByMRN/config/fields.js +21 -0
  40. package/dist/extensions/cerner/actions/findPatientByMRN/config/fields.js.map +1 -0
  41. package/dist/extensions/cerner/actions/findPatientByMRN/config/index.d.ts +2 -0
  42. package/dist/extensions/cerner/actions/findPatientByMRN/config/index.js +9 -0
  43. package/dist/extensions/cerner/actions/findPatientByMRN/config/index.js.map +1 -0
  44. package/dist/extensions/cerner/actions/findPatientByMRN/findPatientByMRN.d.ts +4 -0
  45. package/dist/extensions/cerner/actions/findPatientByMRN/findPatientByMRN.js +55 -0
  46. package/dist/extensions/cerner/actions/findPatientByMRN/findPatientByMRN.js.map +1 -0
  47. package/dist/extensions/cerner/actions/findPatientByMRN/index.d.ts +1 -0
  48. package/dist/extensions/cerner/actions/findPatientByMRN/index.js +6 -0
  49. package/dist/extensions/cerner/actions/findPatientByMRN/index.js.map +1 -0
  50. package/dist/extensions/cerner/actions/getAppointment/__testdata__/GetAppointment.mock.d.ts +103 -0
  51. package/dist/extensions/cerner/actions/getAppointment/__testdata__/GetAppointment.mock.js +134 -0
  52. package/dist/extensions/cerner/actions/getAppointment/__testdata__/GetAppointment.mock.js.map +1 -0
  53. package/dist/extensions/cerner/actions/getAppointment/config/datapoints.d.ts +22 -0
  54. package/dist/extensions/cerner/actions/getAppointment/config/datapoints.js +26 -0
  55. package/dist/extensions/cerner/actions/getAppointment/config/datapoints.js.map +1 -0
  56. package/dist/extensions/cerner/actions/getAppointment/config/fields.d.ts +18 -0
  57. package/dist/extensions/cerner/actions/getAppointment/config/fields.js +21 -0
  58. package/dist/extensions/cerner/actions/getAppointment/config/fields.js.map +1 -0
  59. package/dist/extensions/cerner/actions/getAppointment/config/index.d.ts +2 -0
  60. package/dist/extensions/cerner/actions/getAppointment/config/index.js +9 -0
  61. package/dist/extensions/cerner/actions/getAppointment/config/index.js.map +1 -0
  62. package/dist/extensions/cerner/actions/getAppointment/getAppointment.d.ts +4 -0
  63. package/dist/extensions/cerner/actions/getAppointment/getAppointment.js +55 -0
  64. package/dist/extensions/cerner/actions/getAppointment/getAppointment.js.map +1 -0
  65. package/dist/extensions/cerner/actions/getAppointment/index.d.ts +1 -0
  66. package/dist/extensions/cerner/actions/getAppointment/index.js +6 -0
  67. package/dist/extensions/cerner/actions/getAppointment/index.js.map +1 -0
  68. package/dist/extensions/cerner/actions/getEncounter/__testdata__/GetEncounter.mock.d.ts +270 -0
  69. package/dist/extensions/cerner/actions/getEncounter/__testdata__/GetEncounter.mock.js +1419 -0
  70. package/dist/extensions/cerner/actions/getEncounter/__testdata__/GetEncounter.mock.js.map +1 -0
  71. package/dist/extensions/cerner/actions/getEncounter/config/datapoints.d.ts +6 -0
  72. package/dist/extensions/cerner/actions/getEncounter/config/datapoints.js +10 -0
  73. package/dist/extensions/cerner/actions/getEncounter/config/datapoints.js.map +1 -0
  74. package/dist/extensions/cerner/actions/getEncounter/config/fields.d.ts +18 -0
  75. package/dist/extensions/cerner/actions/getEncounter/config/fields.js +21 -0
  76. package/dist/extensions/cerner/actions/getEncounter/config/fields.js.map +1 -0
  77. package/dist/extensions/cerner/actions/getEncounter/config/index.d.ts +2 -0
  78. package/dist/extensions/cerner/actions/getEncounter/config/index.js +9 -0
  79. package/dist/extensions/cerner/actions/getEncounter/config/index.js.map +1 -0
  80. package/dist/extensions/cerner/actions/getEncounter/getEncounter.d.ts +4 -0
  81. package/dist/extensions/cerner/actions/getEncounter/getEncounter.js +48 -0
  82. package/dist/extensions/cerner/actions/getEncounter/getEncounter.js.map +1 -0
  83. package/dist/extensions/cerner/actions/getEncounter/index.d.ts +1 -0
  84. package/dist/extensions/cerner/actions/getEncounter/index.js +6 -0
  85. package/dist/extensions/cerner/actions/getEncounter/index.js.map +1 -0
  86. package/dist/extensions/cerner/actions/getPatient/__testdata__/PatientRead.mock.d.ts +72 -24
  87. package/dist/extensions/cerner/actions/getPatient/__testdata__/PatientRead.mock.js +85 -33
  88. package/dist/extensions/cerner/actions/getPatient/__testdata__/PatientRead.mock.js.map +1 -1
  89. package/dist/extensions/cerner/actions/getPatient/getPatient.js +1 -2
  90. package/dist/extensions/cerner/actions/getPatient/getPatient.js.map +1 -1
  91. package/dist/extensions/cerner/actions/getPatientEncounters/__testdata__/GetPatientEncounters.mock.d.ts +258 -0
  92. package/dist/extensions/cerner/actions/getPatientEncounters/__testdata__/GetPatientEncounters.mock.js +826 -0
  93. package/dist/extensions/cerner/actions/getPatientEncounters/__testdata__/GetPatientEncounters.mock.js.map +1 -0
  94. package/dist/extensions/cerner/actions/getPatientEncounters/config/datapoints.d.ts +6 -0
  95. package/dist/extensions/cerner/actions/getPatientEncounters/config/datapoints.js +10 -0
  96. package/dist/extensions/cerner/actions/getPatientEncounters/config/datapoints.js.map +1 -0
  97. package/dist/extensions/cerner/actions/getPatientEncounters/config/fields.d.ts +18 -0
  98. package/dist/extensions/cerner/actions/getPatientEncounters/config/fields.js +21 -0
  99. package/dist/extensions/cerner/actions/getPatientEncounters/config/fields.js.map +1 -0
  100. package/dist/extensions/cerner/actions/getPatientEncounters/config/index.d.ts +2 -0
  101. package/dist/extensions/cerner/actions/getPatientEncounters/config/index.js +9 -0
  102. package/dist/extensions/cerner/actions/getPatientEncounters/config/index.js.map +1 -0
  103. package/dist/extensions/cerner/actions/getPatientEncounters/getPatientEncounters.d.ts +4 -0
  104. package/dist/extensions/cerner/actions/getPatientEncounters/getPatientEncounters.js +53 -0
  105. package/dist/extensions/cerner/actions/getPatientEncounters/getPatientEncounters.js.map +1 -0
  106. package/dist/extensions/cerner/actions/getPatientEncounters/index.d.ts +1 -0
  107. package/dist/extensions/cerner/actions/getPatientEncounters/index.js +6 -0
  108. package/dist/extensions/cerner/actions/getPatientEncounters/index.js.map +1 -0
  109. package/dist/extensions/cerner/actions/index.d.ts +256 -0
  110. package/dist/extensions/cerner/actions/index.js +12 -2
  111. package/dist/extensions/cerner/actions/index.js.map +1 -1
  112. package/dist/extensions/cerner/lib/api/FhirR4/FhirR4client.d.ts +11 -1
  113. package/dist/extensions/cerner/lib/api/FhirR4/FhirR4client.js +56 -0
  114. package/dist/extensions/cerner/lib/api/FhirR4/FhirR4client.js.map +1 -1
  115. package/dist/extensions/cerner/lib/api/FhirR4/schema/EncounterRead.schema.d.ts +9 -0
  116. package/dist/extensions/cerner/lib/api/FhirR4/schema/EncounterRead.schema.js +6 -0
  117. package/dist/extensions/cerner/lib/api/FhirR4/schema/EncounterRead.schema.js.map +1 -0
  118. package/dist/extensions/cerner/lib/api/FhirR4/schema/EncounterSearch.schema.d.ts +8 -0
  119. package/dist/extensions/cerner/lib/api/FhirR4/schema/EncounterSearch.schema.js +3 -0
  120. package/dist/extensions/cerner/lib/api/FhirR4/schema/EncounterSearch.schema.js.map +1 -0
  121. package/dist/extensions/cerner/lib/api/FhirR4/schema/index.d.ts +2 -0
  122. package/dist/extensions/cerner/lib/api/FhirR4/schema/index.js +2 -0
  123. package/dist/extensions/cerner/lib/api/FhirR4/schema/index.js.map +1 -1
  124. package/dist/extensions/cerner/lib/api/getResourceId.d.ts +1 -0
  125. package/dist/extensions/cerner/lib/api/getResourceId.js +11 -0
  126. package/dist/extensions/cerner/lib/api/getResourceId.js.map +1 -0
  127. package/dist/extensions/cerner/lib/validatePayloadAndCreateSdks.js +8 -1
  128. package/dist/extensions/cerner/lib/validatePayloadAndCreateSdks.js.map +1 -1
  129. package/dist/extensions/elation/actions/createMessageThread/createMessageThread.js +1 -1
  130. package/dist/extensions/elation/actions/createMessageThread/createMessageThread.js.map +1 -1
  131. package/dist/extensions/elation/actions/index.d.ts +3 -3
  132. package/dist/extensions/elation/actions/updateReferralOrderResolution/config/fields.d.ts +3 -3
  133. package/dist/extensions/elation/types/pharmacy.d.ts +2 -2
  134. package/dist/extensions/elation/validation/labOrder.zod.d.ts +2 -2
  135. package/dist/extensions/elation/validation/patient.zod.d.ts +4 -4
  136. package/dist/extensions/elation/validation/referralOrder.zod.d.ts +6 -6
  137. package/dist/extensions/markdown.json +1 -1
  138. package/package.json +1 -1
  139. package/dist/extensions/cerner/lib/api/FhirR4/FhirR4client-backup.d.ts +0 -0
  140. package/dist/extensions/cerner/lib/api/FhirR4/FhirR4client-backup.js +0 -172
  141. package/dist/extensions/cerner/lib/api/FhirR4/FhirR4client-backup.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ export declare const CreateDocumentMockResponse: {
2
+ status: number;
3
+ statusText: string;
4
+ headers: {
5
+ Location: string;
6
+ };
7
+ data: {};
8
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateDocumentMockResponse = void 0;
4
+ exports.CreateDocumentMockResponse = {
5
+ status: 201,
6
+ statusText: 'Created',
7
+ headers: {
8
+ Location: 'https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/DocumentReference/207359710',
9
+ },
10
+ data: {},
11
+ };
12
+ //# sourceMappingURL=CreateDocument.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateDocument.mock.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createDocument/__testdata__/CreateDocument.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG;IACxC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE;QACP,QAAQ,EACN,sGAAsG;KACzG;IACD,IAAI,EAAE,EAAE;CACwB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ resourceId: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ resourceId: {
6
+ key: 'resourceId',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createDocument/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,UAAU,EAAE;QACV,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ patientResourceId: {
5
+ id: string;
6
+ label: string;
7
+ type: FieldType.STRING;
8
+ description: string;
9
+ required: true;
10
+ };
11
+ encounterResourceId: {
12
+ id: string;
13
+ label: string;
14
+ description: string;
15
+ type: FieldType.STRING;
16
+ required: true;
17
+ };
18
+ type: {
19
+ id: string;
20
+ label: string;
21
+ type: FieldType.STRING;
22
+ required: true;
23
+ options: {
24
+ dropdownOptions: {
25
+ value: string;
26
+ label: string;
27
+ }[];
28
+ };
29
+ };
30
+ note: {
31
+ id: string;
32
+ label: string;
33
+ type: FieldType.TEXT;
34
+ required: true;
35
+ };
36
+ };
37
+ export declare const FieldsValidationSchema: z.ZodObject<{
38
+ patientResourceId: z.ZodString;
39
+ encounterResourceId: z.ZodString;
40
+ type: z.ZodEnum<["Progress Note"]>;
41
+ note: z.ZodString;
42
+ }, "strip", z.ZodTypeAny, {
43
+ type: "Progress Note";
44
+ note: string;
45
+ patientResourceId: string;
46
+ encounterResourceId: string;
47
+ }, {
48
+ type: "Progress Note";
49
+ note: string;
50
+ patientResourceId: string;
51
+ encounterResourceId: string;
52
+ }>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FieldsValidationSchema = exports.fields = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const zod_1 = __importDefault(require("zod"));
9
+ exports.fields = {
10
+ patientResourceId: {
11
+ id: 'patientResourceId',
12
+ label: 'Patient resource ID',
13
+ type: extensions_core_1.FieldType.STRING,
14
+ description: 'The patient’s FHIR resource ID.',
15
+ required: true,
16
+ },
17
+ encounterResourceId: {
18
+ id: 'encounterResourceId',
19
+ label: 'Encounter resource ID',
20
+ description: 'The FHIR resource ID of the related encounter.',
21
+ type: extensions_core_1.FieldType.STRING,
22
+ required: true,
23
+ },
24
+ type: {
25
+ id: 'type',
26
+ label: 'Document type',
27
+ type: extensions_core_1.FieldType.STRING,
28
+ required: true,
29
+ options: {
30
+ dropdownOptions: [
31
+ {
32
+ value: 'Progress Note',
33
+ label: 'Progress Note',
34
+ },
35
+ ],
36
+ },
37
+ },
38
+ note: {
39
+ id: 'note',
40
+ label: 'Note',
41
+ type: extensions_core_1.FieldType.TEXT,
42
+ required: true,
43
+ },
44
+ };
45
+ exports.FieldsValidationSchema = zod_1.default.object({
46
+ patientResourceId: zod_1.default.string().min(1),
47
+ encounterResourceId: zod_1.default.string().min(1),
48
+ type: zod_1.default.enum(['Progress Note']),
49
+ note: zod_1.default.string().min(1),
50
+ });
51
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createDocument/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,gDAAgD;QAC7D,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,eAAe,EAAE;gBACf;oBACE,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,eAAe;iBACvB;aACF;SACF;KACF;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,iBAAiB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,mBAAmB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;IAC/B,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC0B,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './datapoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var datapoints_1 = require("./datapoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return datapoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createDocument/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../settings';
3
+ import { fields, dataPoints } from './config';
4
+ export declare const createDocument: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDocument = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const validatePayloadAndCreateSdks_1 = require("../../lib/validatePayloadAndCreateSdks");
7
+ const axios_1 = require("axios");
8
+ const awell_1 = require("../../../../src/lib/awell");
9
+ const getResourceId_1 = require("../../lib/api/getResourceId");
10
+ exports.createDocument = {
11
+ key: 'createDocument',
12
+ category: extensions_core_1.Category.EHR_INTEGRATIONS,
13
+ title: 'Create document',
14
+ description: 'Create a document in Cerner',
15
+ fields: config_1.fields,
16
+ previewable: false,
17
+ dataPoints: config_1.dataPoints,
18
+ onEvent: async ({ payload, onComplete, onError }) => {
19
+ var _a, _b, _c, _d;
20
+ const { cernerFhirR4Sdk, fields: { patientResourceId, encounterResourceId, type, note }, } = await (0, validatePayloadAndCreateSdks_1.validatePayloadAndCreateSdks)({
21
+ fieldsSchema: config_1.FieldsValidationSchema,
22
+ payload,
23
+ });
24
+ const DocumentReferenceInput = {
25
+ resourceType: 'DocumentReference',
26
+ status: 'current',
27
+ docStatus: 'final',
28
+ type: {
29
+ // Hardcoding the type to Progress Note for now
30
+ coding: [
31
+ {
32
+ system: 'http://loinc.org',
33
+ code: '11506-3',
34
+ userSelected: false,
35
+ },
36
+ ],
37
+ text: type,
38
+ },
39
+ subject: {
40
+ reference: `Patient/${patientResourceId}`,
41
+ },
42
+ content: [
43
+ {
44
+ attachment: {
45
+ contentType: 'text/plain;charset=utf-8',
46
+ data: Buffer.from(note, 'utf-8').toString('base64'),
47
+ },
48
+ },
49
+ ],
50
+ context: {
51
+ encounter: [
52
+ {
53
+ reference: `Encounter/${encounterResourceId}`,
54
+ },
55
+ ],
56
+ // Required
57
+ period: {
58
+ start: new Date().toISOString(),
59
+ end: new Date().toISOString(),
60
+ },
61
+ },
62
+ };
63
+ try {
64
+ const res = await cernerFhirR4Sdk.createDocumentReference(DocumentReferenceInput);
65
+ const resourceReference = (_a = res.headers.Location) !== null && _a !== void 0 ? _a : res.headers.location;
66
+ const resourceId = (0, getResourceId_1.getResourceId)(resourceReference);
67
+ await onComplete({
68
+ data_points: {
69
+ resourceId,
70
+ },
71
+ });
72
+ }
73
+ catch (error) {
74
+ if (error instanceof axios_1.AxiosError) {
75
+ const err = error;
76
+ await onError({
77
+ events: [
78
+ (0, awell_1.addActivityEventLog)({
79
+ message: `Status: ${String((_b = err.response) === null || _b === void 0 ? void 0 : _b.status)} (${String((_c = err.response) === null || _c === void 0 ? void 0 : _c.statusText)})\n${JSON.stringify((_d = err.response) === null || _d === void 0 ? void 0 : _d.data, null, 2)}`,
80
+ }),
81
+ ],
82
+ });
83
+ return;
84
+ }
85
+ // Throw all other errors
86
+ throw error;
87
+ }
88
+ },
89
+ };
90
+ //# sourceMappingURL=createDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDocument.js","sourceRoot":"","sources":["../../../../../extensions/cerner/actions/createDocument/createDocument.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,yFAAqF;AAErF,iCAAkC;AAClC,qDAA+D;AAC/D,+DAA2D;AAE9C,QAAA,cAAc,GAIvB;IACF,GAAG,EAAE,gBAAgB;IACrB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,6BAA6B;IAC1C,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAiB,EAAE;;QACjE,MAAM,EACJ,eAAe,EACf,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,GAC/D,GAAG,MAAM,IAAA,2DAA4B,EAAC;YACrC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG;YAC7B,YAAY,EAAE,mBAAmB;YACjC,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE;gBACJ,+CAA+C;gBAC/C,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,kBAAkB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,KAAK;qBACpB;iBACF;gBACD,IAAI,EAAE,IAAI;aACX;YACD,OAAO,EAAE;gBACP,SAAS,EAAE,WAAW,iBAAiB,EAAE;aAC1C;YACD,OAAO,EAAE;gBACP;oBACE,UAAU,EAAE;wBACV,WAAW,EAAE,0BAA0B;wBACvC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBACpD;iBACF;aACF;YACD,OAAO,EAAE;gBACP,SAAS,EAAE;oBACT;wBACE,SAAS,EAAE,aAAa,mBAAmB,EAAE;qBAC9C;iBACF;gBACD,WAAW;gBACX,MAAM,EAAE;oBACN,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC/B,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC9B;aACF;SACyC,CAAA;QAE5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,uBAAuB,CACvD,sBAAsB,CACvB,CAAA;YACD,MAAM,iBAAiB,GACrB,MAAC,GAAG,CAAC,OAAO,CAAC,QAAmB,mCAAK,GAAG,CAAC,OAAO,CAAC,QAAmB,CAAA;YACtE,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,iBAAiB,CAAC,CAAA;YAEnD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,UAAU;iBACX;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,kBAAU,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,KAAmB,CAAA;gBAC/B,MAAM,OAAO,CAAC;oBACZ,MAAM,EAAE;wBACN,IAAA,2BAAmB,EAAC;4BAClB,OAAO,EAAE,WAAW,MAAM,CAAC,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM,CAAC,KAAK,MAAM,CACzD,MAAA,GAAG,CAAC,QAAQ,0CAAE,UAAU,CACzB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;yBACrD,CAAC;qBACH;iBACF,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,yBAAyB;YACzB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export { createDocument } from './createDocument';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDocument = void 0;
4
+ var createDocument_1 = require("./createDocument");
5
+ Object.defineProperty(exports, "createDocument", { enumerable: true, get: function () { return createDocument_1.createDocument; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/cerner/actions/createDocument/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,gHAAA,cAAc,OAAA"}
@@ -5,7 +5,7 @@ exports.CreateFhirPatientMockResponse = {
5
5
  status: 201,
6
6
  statusText: 'Created',
7
7
  headers: {
8
- Location: 'Patient/eKquahyPZlalzKHM5DZX3lA3',
8
+ Location: 'https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Patient/13115400',
9
9
  },
10
10
  data: {},
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CreateFhirPatient.mock.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createPatient/__testdata__/CreateFhirPatient.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,6BAA6B,GAAG;IAC3C,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE;QACP,QAAQ,EAAE,kCAAkC;KAC7C;IACD,IAAI,EAAE,EAAE;CACwB,CAAA"}
1
+ {"version":3,"file":"CreateFhirPatient.mock.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createPatient/__testdata__/CreateFhirPatient.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,6BAA6B,GAAG;IAC3C,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE;QACP,QAAQ,EACN,2FAA2F;KAC9F;IACD,IAAI,EAAE,EAAE;CACwB,CAAA"}
@@ -1,13 +1,20 @@
1
1
  import { FieldType } from '@awell-health/extensions-core';
2
2
  import z from 'zod';
3
3
  export declare const fields: {
4
- ssn: {
4
+ assigningOrganizationId: {
5
5
  id: string;
6
6
  label: string;
7
7
  type: FieldType.STRING;
8
8
  description: string;
9
9
  required: true;
10
10
  };
11
+ ssn: {
12
+ id: string;
13
+ label: string;
14
+ type: FieldType.STRING;
15
+ description: string;
16
+ required: false;
17
+ };
11
18
  familyName: {
12
19
  id: string;
13
20
  label: string;
@@ -26,13 +33,13 @@ export declare const fields: {
26
33
  id: string;
27
34
  label: string;
28
35
  type: FieldType.DATE;
29
- required: true;
36
+ required: false;
30
37
  };
31
38
  gender: {
32
39
  id: string;
33
40
  label: string;
34
41
  type: FieldType.STRING;
35
- required: true;
42
+ required: false;
36
43
  options: {
37
44
  dropdownOptions: {
38
45
  value: "unknown" | "male" | "female" | "other";
@@ -48,24 +55,27 @@ export declare const fields: {
48
55
  };
49
56
  };
50
57
  export declare const FieldsValidationSchema: z.ZodObject<{
51
- ssn: z.ZodString;
58
+ assigningOrganizationId: z.ZodString;
59
+ ssn: z.ZodOptional<z.ZodString>;
52
60
  familyName: z.ZodString;
53
61
  givenName: z.ZodString;
54
- birthDate: z.ZodDate;
55
- gender: z.ZodEnum<["male", "female", "other", "unknown"]>;
62
+ birthDate: z.ZodOptional<z.ZodDate>;
63
+ gender: z.ZodOptional<z.ZodEnum<["male", "female", "other", "unknown"]>>;
56
64
  email: z.ZodOptional<z.ZodString>;
57
65
  }, "strip", z.ZodTypeAny, {
58
- birthDate: Date;
59
- gender: "unknown" | "male" | "female" | "other";
60
- ssn: string;
66
+ assigningOrganizationId: string;
61
67
  familyName: string;
62
68
  givenName: string;
63
69
  email?: string | undefined;
70
+ birthDate?: Date | undefined;
71
+ gender?: "unknown" | "male" | "female" | "other" | undefined;
72
+ ssn?: string | undefined;
64
73
  }, {
65
- birthDate: Date;
66
- gender: "unknown" | "male" | "female" | "other";
67
- ssn: string;
74
+ assigningOrganizationId: string;
68
75
  familyName: string;
69
76
  givenName: string;
70
77
  email?: string | undefined;
78
+ birthDate?: Date | undefined;
79
+ gender?: "unknown" | "male" | "female" | "other" | undefined;
80
+ ssn?: string | undefined;
71
81
  }>;
@@ -9,12 +9,19 @@ const zod_1 = __importDefault(require("zod"));
9
9
  const Patient_1 = require("../../../../../src/lib/fhir/schemas/Patient");
10
10
  const lodash_1 = require("lodash");
11
11
  exports.fields = {
12
+ assigningOrganizationId: {
13
+ id: 'assigningOrganizationId',
14
+ label: 'Assigning organization ID',
15
+ type: extensions_core_1.FieldType.STRING,
16
+ description: 'The ID of the organization that is creating the patient.',
17
+ required: true,
18
+ },
12
19
  ssn: {
13
20
  id: 'ssn',
14
21
  label: 'SSN',
15
22
  type: extensions_core_1.FieldType.STRING,
16
23
  description: 'The patient’s Social Security Number.',
17
- required: true,
24
+ required: false,
18
25
  },
19
26
  familyName: {
20
27
  id: 'familyName',
@@ -34,13 +41,13 @@ exports.fields = {
34
41
  id: 'birthDate',
35
42
  label: 'Birth date',
36
43
  type: extensions_core_1.FieldType.DATE,
37
- required: true,
44
+ required: false,
38
45
  },
39
46
  gender: {
40
47
  id: 'gender',
41
48
  label: 'Gender',
42
49
  type: extensions_core_1.FieldType.STRING,
43
- required: true,
50
+ required: false,
44
51
  options: {
45
52
  dropdownOptions: Patient_1.GenderSchema._def.values.map((value) => ({
46
53
  value,
@@ -56,14 +63,15 @@ exports.fields = {
56
63
  },
57
64
  };
58
65
  exports.FieldsValidationSchema = zod_1.default.object({
66
+ assigningOrganizationId: zod_1.default.string().min(1),
59
67
  ssn: zod_1.default
60
68
  .string()
61
- .min(1)
62
- .regex(/^\d{3}-\d{2}-\d{4}$/, 'Invalid SSN format. Must be in the format xxx-xx-xxxx'),
69
+ .regex(/^\d{3}-\d{2}-\d{4}$/, 'Invalid SSN format. Must be in the format xxx-xx-xxxx')
70
+ .optional(),
63
71
  familyName: zod_1.default.string().min(1),
64
72
  givenName: zod_1.default.string().min(1),
65
- birthDate: zod_1.default.coerce.date(),
66
- gender: Patient_1.GenderSchema,
73
+ birthDate: zod_1.default.coerce.date().optional(),
74
+ gender: Patient_1.GenderSchema.optional(),
67
75
  email: zod_1.default.string().email().optional(),
68
76
  });
69
77
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createPatient/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AACxC,yEAA0E;AAC1E,mCAAkC;AAErB,QAAA,MAAM,GAAG;IACpB,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EACT,+DAA+D;QACjE,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;KACf;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,eAAe,EAAE,sBAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxD,KAAK;gBACL,KAAK,EAAE,IAAA,kBAAS,EAAC,KAAK,CAAC;aACxB,CAAC,CAAC;SACJ;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,aAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CACJ,qBAAqB,EACrB,uDAAuD,CACxD;IACH,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,SAAS,EAAE,aAAC,CAAC,MAAM,CAAC,IAAI,EAAE;IAC1B,MAAM,EAAE,sBAAY;IACpB,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CACa,CAAC,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/cerner/actions/createPatient/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AACxC,yEAA0E;AAC1E,mCAAkC;AAErB,QAAA,MAAM,GAAG;IACpB,uBAAuB,EAAE;QACvB,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EAAE,0DAA0D;QACvE,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,KAAK;KAChB;IACD,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,WAAW,EACT,+DAA+D;QACjE,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,eAAe,EAAE,sBAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxD,KAAK;gBACL,KAAK,EAAE,IAAA,kBAAS,EAAC,KAAK,CAAC;aACxB,CAAC,CAAC;SACJ;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,uBAAuB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,GAAG,EAAE,aAAC;SACH,MAAM,EAAE;SACR,KAAK,CACJ,qBAAqB,EACrB,uDAAuD,CACxD;SACA,QAAQ,EAAE;IACb,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,SAAS,EAAE,aAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,sBAAY,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CACa,CAAC,CAAA"}
@@ -7,28 +7,47 @@ const validatePayloadAndCreateSdks_1 = require("../../lib/validatePayloadAndCrea
7
7
  const axios_1 = require("axios");
8
8
  const lodash_1 = require("lodash");
9
9
  const awell_1 = require("../../../../src/lib/awell");
10
+ const getResourceId_1 = require("../../lib/api/getResourceId");
10
11
  exports.createPatient = {
11
12
  key: 'createPatient',
12
13
  category: extensions_core_1.Category.EHR_INTEGRATIONS,
13
14
  title: 'Create patient',
14
- description: 'Create a patient in Epic',
15
+ description: 'Create a patient in Cerner',
15
16
  fields: config_1.fields,
16
17
  previewable: false,
17
18
  dataPoints: config_1.dataPoints,
18
19
  onEvent: async ({ payload, onComplete, onError }) => {
19
- var _a, _b;
20
- const { cernerFhirR4Sdk, fields: { familyName, givenName, email, gender, birthDate, ssn }, } = await (0, validatePayloadAndCreateSdks_1.validatePayloadAndCreateSdks)({
20
+ var _a, _b, _c, _d;
21
+ const { cernerFhirR4Sdk, fields: { familyName, givenName, email, gender, birthDate, ssn, assigningOrganizationId, }, } = await (0, validatePayloadAndCreateSdks_1.validatePayloadAndCreateSdks)({
21
22
  fieldsSchema: config_1.FieldsValidationSchema,
22
23
  payload,
23
24
  });
24
25
  const PatientResource = {
25
26
  resourceType: 'Patient',
26
27
  identifier: [
28
+ // Assigning Organization ID (required)
27
29
  {
28
- use: 'usual',
29
- system: 'urn:oid:2.16.840.1.113883.4.1', // SSN
30
- value: ssn,
30
+ assigner: {
31
+ reference: `Organization/${assigningOrganizationId}`,
32
+ },
31
33
  },
34
+ // Social Security Number
35
+ ...(!(0, lodash_1.isEmpty)(ssn)
36
+ ? [
37
+ {
38
+ type: {
39
+ coding: [
40
+ {
41
+ system: 'http://terminology.hl7.org/CodeSystem/v2-0203',
42
+ code: 'SS',
43
+ },
44
+ ],
45
+ },
46
+ system: 'http://hl7.org/fhir/sid/us-ssn',
47
+ value: ssn,
48
+ },
49
+ ]
50
+ : []),
32
51
  ],
33
52
  name: [
34
53
  {
@@ -37,11 +56,16 @@ exports.createPatient = {
37
56
  given: [givenName],
38
57
  },
39
58
  ],
40
- gender,
41
- birthDate: birthDate.toISOString().split('T')[0],
59
+ ...(!(0, lodash_1.isEmpty)(gender) && {
60
+ gender,
61
+ }),
62
+ ...(!(0, lodash_1.isEmpty)(birthDate) && {
63
+ birthDate: birthDate.toISOString().split('T')[0],
64
+ }),
42
65
  ...(!(0, lodash_1.isEmpty)(email) && {
43
66
  telecom: [
44
67
  {
68
+ use: 'home',
45
69
  system: 'email',
46
70
  value: email,
47
71
  },
@@ -51,7 +75,7 @@ exports.createPatient = {
51
75
  try {
52
76
  const res = await cernerFhirR4Sdk.createPatient(PatientResource);
53
77
  const resourceReference = (_a = res.headers.Location) !== null && _a !== void 0 ? _a : res.headers.location;
54
- const resourceId = resourceReference.split('/')[1];
78
+ const resourceId = (0, getResourceId_1.getResourceId)(resourceReference);
55
79
  await onComplete({
56
80
  data_points: {
57
81
  resourceId,
@@ -64,7 +88,7 @@ exports.createPatient = {
64
88
  await onError({
65
89
  events: [
66
90
  (0, awell_1.addActivityEventLog)({
67
- message: JSON.stringify((_b = err.response) === null || _b === void 0 ? void 0 : _b.data, null, 2),
91
+ message: `Status: ${String((_b = err.response) === null || _b === void 0 ? void 0 : _b.status)} (${String((_c = err.response) === null || _c === void 0 ? void 0 : _c.statusText)})\n${JSON.stringify((_d = err.response) === null || _d === void 0 ? void 0 : _d.data, null, 2)}`,
68
92
  }),
69
93
  ],
70
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createPatient.js","sourceRoot":"","sources":["../../../../../extensions/cerner/actions/createPatient/createPatient.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,yFAAqF;AAErF,iCAAkC;AAClC,mCAAgC;AAChC,qDAA+D;AAElD,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,0BAA0B;IACvC,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAiB,EAAE;;QACjE,MAAM,EACJ,eAAe,EACf,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GACjE,GAAG,MAAM,IAAA,2DAA4B,EAAC;YACrC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG;YACtB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE;gBACV;oBACE,GAAG,EAAE,OAAO;oBACZ,MAAM,EAAE,+BAA+B,EAAE,MAAM;oBAC/C,KAAK,EAAE,GAAG;iBACX;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,CAAC,SAAS,CAAC;iBACnB;aACF;YACD,MAAM;YACN,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,GAAG,CAAC,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,IAAI;gBACrB,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,KAAK;qBACb;iBACF;aACF,CAAC;SACe,CAAA;QAEnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;YAChE,MAAM,iBAAiB,GACrB,MAAC,GAAG,CAAC,OAAO,CAAC,QAAmB,mCAAK,GAAG,CAAC,OAAO,CAAC,QAAmB,CAAA;YACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,UAAU;iBACX;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,kBAAU,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,KAAmB,CAAA;gBAC/B,MAAM,OAAO,CAAC;oBACZ,MAAM,EAAE;wBACN,IAAA,2BAAmB,EAAC;4BAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;yBACrD,CAAC;qBACH;iBACF,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,yBAAyB;YACzB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"createPatient.js","sourceRoot":"","sources":["../../../../../extensions/cerner/actions/createPatient/createPatient.ts"],"names":[],"mappings":"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"}