@awell-health/awell-extensions 1.1.7 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (22) hide show
  1. package/dist/extensions/medplum/actions/addSideEffect/addSideEffect.d.ts +4 -0
  2. package/dist/extensions/medplum/actions/addSideEffect/addSideEffect.js +42 -0
  3. package/dist/extensions/medplum/actions/addSideEffect/addSideEffect.js.map +1 -0
  4. package/dist/extensions/medplum/actions/addSideEffect/addSideEffect.test.d.ts +1 -0
  5. package/dist/extensions/medplum/actions/addSideEffect/addSideEffect.test.js +36 -0
  6. package/dist/extensions/medplum/actions/addSideEffect/addSideEffect.test.js.map +1 -0
  7. package/dist/extensions/medplum/actions/addSideEffect/config/dataPoints.d.ts +1 -0
  8. package/dist/extensions/medplum/actions/addSideEffect/config/dataPoints.js +5 -0
  9. package/dist/extensions/medplum/actions/addSideEffect/config/dataPoints.js.map +1 -0
  10. package/dist/extensions/medplum/actions/addSideEffect/config/fields.d.ts +28 -0
  11. package/dist/extensions/medplum/actions/addSideEffect/config/fields.js +26 -0
  12. package/dist/extensions/medplum/actions/addSideEffect/config/fields.js.map +1 -0
  13. package/dist/extensions/medplum/actions/addSideEffect/config/index.d.ts +2 -0
  14. package/dist/extensions/medplum/actions/addSideEffect/config/index.js +19 -0
  15. package/dist/extensions/medplum/actions/addSideEffect/config/index.js.map +1 -0
  16. package/dist/extensions/medplum/actions/addSideEffect/index.d.ts +1 -0
  17. package/dist/extensions/medplum/actions/addSideEffect/index.js +6 -0
  18. package/dist/extensions/medplum/actions/addSideEffect/index.js.map +1 -0
  19. package/dist/extensions/medplum/actions/index.d.ts +1 -0
  20. package/dist/extensions/medplum/actions/index.js +3 -1
  21. package/dist/extensions/medplum/actions/index.js.map +1 -1
  22. package/package.json +1 -1
@@ -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 addSideEffect: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addSideEffect = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const utils_1 = require("../../utils");
7
+ exports.addSideEffect = {
8
+ key: 'addSideEffect',
9
+ category: extensions_core_1.Category.EHR_INTEGRATIONS,
10
+ title: 'Add side effect',
11
+ description: 'Add side effect to Medication Request',
12
+ fields: config_1.fields,
13
+ previewable: false,
14
+ dataPoints: config_1.dataPoints,
15
+ onActivityCreated: async (payload, onComplete, onError) => {
16
+ const { fields: input, medplumSdk, activity, } = await (0, utils_1.validateAndCreateSdkClient)({
17
+ fieldsSchema: config_1.FieldsValidationSchema,
18
+ payload,
19
+ });
20
+ const annotation = {
21
+ text: input.sideEffect,
22
+ authorReference: {
23
+ identifier: {
24
+ system: 'https://awellhealth.com/activities/',
25
+ value: activity.id,
26
+ },
27
+ display: 'Awell',
28
+ },
29
+ };
30
+ const currentMedicationRequest = await medplumSdk.readResource('MedicationRequest', input.medicationRequestId);
31
+ const currentAnnotations = currentMedicationRequest.note;
32
+ await medplumSdk.patchResource('MedicationRequest', input.medicationRequestId, [
33
+ {
34
+ op: 'add',
35
+ path: '/note',
36
+ value: [...(currentAnnotations !== null && currentAnnotations !== void 0 ? currentAnnotations : []), annotation],
37
+ },
38
+ ]);
39
+ await onComplete();
40
+ },
41
+ };
42
+ //# sourceMappingURL=addSideEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSideEffect.js","sourceRoot":"","sources":["../../../../../extensions/medplum/actions/addSideEffect/addSideEffect.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,uCAAwD;AAG3C,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,uCAAuC;IACpD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;QACvE,MAAM,EACJ,MAAM,EAAE,KAAK,EACb,UAAU,EACV,QAAQ,GACT,GAAG,MAAM,IAAA,kCAA0B,EAAC;YACnC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,eAAe,EAAE;gBACf,UAAU,EAAE;oBACV,MAAM,EAAE,qCAAqC;oBAC7C,KAAK,EAAE,QAAQ,CAAC,EAAE;iBACnB;gBACD,OAAO,EAAE,OAAO;aACjB;SACF,CAAA;QAED,MAAM,wBAAwB,GAAG,MAAM,UAAU,CAAC,YAAY,CAC5D,mBAAmB,EACnB,KAAK,CAAC,mBAAmB,CAC1B,CAAA;QAED,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,IAAI,CAAA;QAExD,MAAM,UAAU,CAAC,aAAa,CAC5B,mBAAmB,EACnB,KAAK,CAAC,mBAAmB,EACzB;YACE;gBACE,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC,GAAG,CAAC,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,EAAE,CAAC,EAAE,UAAU,CAAC;aACnD;SACF,CACF,CAAA;QAED,MAAM,UAAU,EAAE,CAAA;IACpB,CAAC;CACF,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const tests_1 = require("../../../../src/tests");
5
+ const __mocks__1 = require("../../__mocks__");
6
+ jest.mock('@medplum/core', () => {
7
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
8
+ const { MedplumClient: MedplumMockClient } = require('../../__mocks__');
9
+ return {
10
+ MedplumClient: MedplumMockClient,
11
+ };
12
+ });
13
+ /**
14
+ * Add tests later
15
+ */
16
+ describe.skip('Medplum - Add side effect to medication request', () => {
17
+ const onComplete = jest.fn();
18
+ const onError = jest.fn();
19
+ beforeEach(() => {
20
+ jest.clearAllMocks();
21
+ });
22
+ test('Should work', async () => {
23
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
24
+ fields: {
25
+ medicationRequestId: '2efed325-ab4a-4b65-9118-9c79f4626f3a',
26
+ sideEffect: 'A new side effect',
27
+ },
28
+ settings: {
29
+ ...__mocks__1.mockSettings,
30
+ },
31
+ });
32
+ await _1.addSideEffect.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
33
+ expect(onComplete).toHaveBeenCalled();
34
+ });
35
+ });
36
+ //# sourceMappingURL=addSideEffect.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSideEffect.test.js","sourceRoot":"","sources":["../../../../../extensions/medplum/actions/addSideEffect/addSideEffect.test.ts"],"names":[],"mappings":";;AAAA,wBAAiC;AACjC,iDAA2D;AAC3D,8CAA8C;AAE9C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAEvE,OAAO;QACL,aAAa,EAAE,iBAAiB;KACjC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,QAAQ,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,mBAAmB,EAAE,sCAAsC;gBAC3D,UAAU,EAAE,mBAAmB;aAChC;YACD,QAAQ,EAAE;gBACR,GAAG,uBAAY;aAChB;SACF,CAAC,CAAA;QAEF,MAAM,gBAAa,CAAC,iBAAiB,CACnC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const dataPoints: {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {};
5
+ //# sourceMappingURL=dataPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../extensions/medplum/actions/addSideEffect/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,EAAgD,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import { z } from 'zod';
3
+ export declare const fields: {
4
+ medicationRequestId: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ sideEffect: {
12
+ id: string;
13
+ label: string;
14
+ description: string;
15
+ type: FieldType.STRING;
16
+ required: true;
17
+ };
18
+ };
19
+ export declare const FieldsValidationSchema: z.ZodObject<{
20
+ medicationRequestId: z.ZodString;
21
+ sideEffect: z.ZodString;
22
+ }, "strip", z.ZodTypeAny, {
23
+ medicationRequestId: string;
24
+ sideEffect: string;
25
+ }, {
26
+ medicationRequestId: string;
27
+ sideEffect: string;
28
+ }>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const zod_1 = require("zod");
6
+ exports.fields = {
7
+ medicationRequestId: {
8
+ id: 'medicationRequestId',
9
+ label: 'The ID of the medication request you want to link the side effec to',
10
+ description: '',
11
+ type: extensions_core_1.FieldType.STRING,
12
+ required: true,
13
+ },
14
+ sideEffect: {
15
+ id: 'sideEffect',
16
+ label: 'Side effect',
17
+ description: '',
18
+ type: extensions_core_1.FieldType.STRING,
19
+ required: true,
20
+ },
21
+ };
22
+ exports.FieldsValidationSchema = zod_1.z.object({
23
+ medicationRequestId: zod_1.z.string().min(1),
24
+ sideEffect: zod_1.z.string().min(1),
25
+ });
26
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/medplum/actions/addSideEffect/config/fields.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,6BAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,mBAAmB,EAAE;QACnB,EAAE,EAAE,qBAAqB;QACzB,KAAK,EACH,qEAAqE;QACvE,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACoB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './dataPoints';
2
+ export * from './fields';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./dataPoints"), exports);
18
+ __exportStar(require("./fields"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/medplum/actions/addSideEffect/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,2CAAwB"}
@@ -0,0 +1 @@
1
+ export { addSideEffect } from './addSideEffect';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addSideEffect = void 0;
4
+ var addSideEffect_1 = require("./addSideEffect");
5
+ Object.defineProperty(exports, "addSideEffect", { enumerable: true, get: function () { return addSideEffect_1.addSideEffect; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/medplum/actions/addSideEffect/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
@@ -6,3 +6,4 @@ export { createTask } from './createTask';
6
6
  export { createServiceRequest } from './createServiceRequest';
7
7
  export { submitQuestionnaireResponse } from './submitQuestionnaireResponse';
8
8
  export { createCalculationObservation } from './createCalculationObservation';
9
+ export { addSideEffect } from './addSideEffect';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCalculationObservation = exports.submitQuestionnaireResponse = exports.createServiceRequest = exports.createTask = exports.executeBot = exports.getAppointment = exports.createPatient = exports.getPatient = void 0;
3
+ exports.addSideEffect = exports.createCalculationObservation = exports.submitQuestionnaireResponse = exports.createServiceRequest = exports.createTask = exports.executeBot = exports.getAppointment = exports.createPatient = exports.getPatient = void 0;
4
4
  var getPatient_1 = require("./getPatient");
5
5
  Object.defineProperty(exports, "getPatient", { enumerable: true, get: function () { return getPatient_1.getPatient; } });
6
6
  var createPatient_1 = require("./createPatient");
@@ -17,4 +17,6 @@ var submitQuestionnaireResponse_1 = require("./submitQuestionnaireResponse");
17
17
  Object.defineProperty(exports, "submitQuestionnaireResponse", { enumerable: true, get: function () { return submitQuestionnaireResponse_1.submitQuestionnaireResponse; } });
18
18
  var createCalculationObservation_1 = require("./createCalculationObservation");
19
19
  Object.defineProperty(exports, "createCalculationObservation", { enumerable: true, get: function () { return createCalculationObservation_1.createCalculationObservation; } });
20
+ var addSideEffect_1 = require("./addSideEffect");
21
+ Object.defineProperty(exports, "addSideEffect", { enumerable: true, get: function () { return addSideEffect_1.addSideEffect; } });
20
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/medplum/actions/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,6EAA2E;AAAlE,0IAAA,2BAA2B,OAAA;AACpC,+EAA6E;AAApE,4IAAA,4BAA4B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/medplum/actions/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,6EAA2E;AAAlE,0IAAA,2BAA2B,OAAA;AACpC,+EAA6E;AAApE,4IAAA,4BAA4B,OAAA;AACrC,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {