@awell-health/awell-extensions 1.0.243 → 1.0.245

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. package/dist/extensions/dockHealth/actions/createTask/config/datapoints.d.ts +6 -0
  2. package/dist/extensions/dockHealth/actions/createTask/config/datapoints.js +10 -0
  3. package/dist/extensions/dockHealth/actions/createTask/config/datapoints.js.map +1 -0
  4. package/dist/extensions/dockHealth/actions/createTask/config/fields.d.ts +48 -0
  5. package/dist/extensions/dockHealth/actions/createTask/config/fields.js +45 -0
  6. package/dist/extensions/dockHealth/actions/createTask/config/fields.js.map +1 -0
  7. package/dist/extensions/dockHealth/actions/createTask/config/index.d.ts +2 -0
  8. package/dist/extensions/dockHealth/actions/createTask/config/index.js +9 -0
  9. package/dist/extensions/dockHealth/actions/createTask/config/index.js.map +1 -0
  10. package/dist/extensions/dockHealth/actions/createTask/createTask.d.ts +4 -0
  11. package/dist/extensions/dockHealth/actions/createTask/createTask.js +56 -0
  12. package/dist/extensions/dockHealth/actions/createTask/createTask.js.map +1 -0
  13. package/dist/extensions/dockHealth/actions/createTask/createTask.test.d.ts +1 -0
  14. package/dist/extensions/dockHealth/actions/createTask/createTask.test.js +32 -0
  15. package/dist/extensions/dockHealth/actions/createTask/createTask.test.js.map +1 -0
  16. package/dist/extensions/dockHealth/actions/createTask/index.d.ts +1 -0
  17. package/dist/extensions/dockHealth/actions/createTask/index.js +6 -0
  18. package/dist/extensions/dockHealth/actions/createTask/index.js.map +1 -0
  19. package/dist/extensions/dockHealth/actions/getPatient/config/datapoints.d.ts +10 -0
  20. package/dist/extensions/dockHealth/actions/getPatient/config/datapoints.js +15 -0
  21. package/dist/extensions/dockHealth/actions/getPatient/config/datapoints.js.map +1 -0
  22. package/dist/extensions/dockHealth/actions/getPatient/config/fields.d.ts +18 -0
  23. package/dist/extensions/dockHealth/actions/getPatient/config/fields.js +21 -0
  24. package/dist/extensions/dockHealth/actions/getPatient/config/fields.js.map +1 -0
  25. package/dist/extensions/dockHealth/actions/getPatient/config/index.d.ts +2 -0
  26. package/dist/extensions/dockHealth/actions/getPatient/config/index.js +9 -0
  27. package/dist/extensions/dockHealth/actions/getPatient/config/index.js.map +1 -0
  28. package/dist/extensions/dockHealth/actions/getPatient/getPatient.d.ts +4 -0
  29. package/dist/extensions/dockHealth/actions/getPatient/getPatient.js +29 -0
  30. package/dist/extensions/dockHealth/actions/getPatient/getPatient.js.map +1 -0
  31. package/dist/extensions/dockHealth/actions/getPatient/getPatient.test.d.ts +1 -0
  32. package/dist/extensions/dockHealth/actions/getPatient/getPatient.test.js +29 -0
  33. package/dist/extensions/dockHealth/actions/getPatient/getPatient.test.js.map +1 -0
  34. package/dist/extensions/dockHealth/actions/getPatient/index.d.ts +1 -0
  35. package/dist/extensions/dockHealth/actions/getPatient/index.js +6 -0
  36. package/dist/extensions/dockHealth/actions/getPatient/index.js.map +1 -0
  37. package/dist/extensions/dockHealth/actions/index.d.ts +128 -0
  38. package/dist/extensions/dockHealth/actions/index.js +10 -0
  39. package/dist/extensions/dockHealth/actions/index.js.map +1 -0
  40. package/dist/extensions/dockHealth/api/cacheService.d.ts +11 -0
  41. package/dist/extensions/dockHealth/api/cacheService.js +15 -0
  42. package/dist/extensions/dockHealth/api/cacheService.js.map +1 -0
  43. package/dist/extensions/dockHealth/api/client.d.ts +32 -0
  44. package/dist/extensions/dockHealth/api/client.js +66 -0
  45. package/dist/extensions/dockHealth/api/client.js.map +1 -0
  46. package/dist/extensions/dockHealth/api/schema/atoms/index.d.ts +8 -0
  47. package/dist/extensions/dockHealth/api/schema/atoms/index.js +25 -0
  48. package/dist/extensions/dockHealth/api/schema/atoms/index.js.map +1 -0
  49. package/dist/extensions/dockHealth/api/schema/atoms/patientReference.schema.d.ts +14 -0
  50. package/dist/extensions/dockHealth/api/schema/atoms/patientReference.schema.js +10 -0
  51. package/dist/extensions/dockHealth/api/schema/atoms/patientReference.schema.js.map +1 -0
  52. package/dist/extensions/dockHealth/api/schema/atoms/taskGroup.schema.d.ts +14 -0
  53. package/dist/extensions/dockHealth/api/schema/atoms/taskGroup.schema.js +10 -0
  54. package/dist/extensions/dockHealth/api/schema/atoms/taskGroup.schema.js.map +1 -0
  55. package/dist/extensions/dockHealth/api/schema/atoms/taskListReference.schema.d.ts +14 -0
  56. package/dist/extensions/dockHealth/api/schema/atoms/taskListReference.schema.js +10 -0
  57. package/dist/extensions/dockHealth/api/schema/atoms/taskListReference.schema.js.map +1 -0
  58. package/dist/extensions/dockHealth/api/schema/atoms/taskMetadataSchema.d.ts +17 -0
  59. package/dist/extensions/dockHealth/api/schema/atoms/taskMetadataSchema.js +13 -0
  60. package/dist/extensions/dockHealth/api/schema/atoms/taskMetadataSchema.js.map +1 -0
  61. package/dist/extensions/dockHealth/api/schema/atoms/taskReference.schema.d.ts +14 -0
  62. package/dist/extensions/dockHealth/api/schema/atoms/taskReference.schema.js +10 -0
  63. package/dist/extensions/dockHealth/api/schema/atoms/taskReference.schema.js.map +1 -0
  64. package/dist/extensions/dockHealth/api/schema/atoms/taskWorkflowStatusReference.schema.d.ts +14 -0
  65. package/dist/extensions/dockHealth/api/schema/atoms/taskWorkflowStatusReference.schema.js +10 -0
  66. package/dist/extensions/dockHealth/api/schema/atoms/taskWorkflowStatusReference.schema.js.map +1 -0
  67. package/dist/extensions/dockHealth/api/schema/atoms/userReference.schema.d.ts +14 -0
  68. package/dist/extensions/dockHealth/api/schema/atoms/userReference.schema.js +10 -0
  69. package/dist/extensions/dockHealth/api/schema/atoms/userReference.schema.js.map +1 -0
  70. package/dist/extensions/dockHealth/api/schema/index.d.ts +2 -0
  71. package/dist/extensions/dockHealth/api/schema/index.js +19 -0
  72. package/dist/extensions/dockHealth/api/schema/index.js.map +1 -0
  73. package/dist/extensions/dockHealth/api/schema/patient.schema.d.ts +201 -0
  74. package/dist/extensions/dockHealth/api/schema/patient.schema.js +76 -0
  75. package/dist/extensions/dockHealth/api/schema/patient.schema.js.map +1 -0
  76. package/dist/extensions/dockHealth/api/schema/task.schema.d.ts +583 -0
  77. package/dist/extensions/dockHealth/api/schema/task.schema.js +60 -0
  78. package/dist/extensions/dockHealth/api/schema/task.schema.js.map +1 -0
  79. package/dist/extensions/dockHealth/index.d.ts +2 -0
  80. package/dist/extensions/dockHealth/index.js +22 -0
  81. package/dist/extensions/dockHealth/index.js.map +1 -0
  82. package/dist/extensions/dockHealth/lib/dock.types.d.ts +28 -0
  83. package/dist/extensions/dockHealth/lib/dock.types.js +36 -0
  84. package/dist/extensions/dockHealth/lib/dock.types.js.map +1 -0
  85. package/dist/extensions/dockHealth/lib/index.d.ts +2 -0
  86. package/dist/extensions/dockHealth/lib/index.js +21 -0
  87. package/dist/extensions/dockHealth/lib/index.js.map +1 -0
  88. package/dist/extensions/dockHealth/lib/validatePayloadAndCreateClient.d.ts +15 -0
  89. package/dist/extensions/dockHealth/lib/validatePayloadAndCreateClient.js +36 -0
  90. package/dist/extensions/dockHealth/lib/validatePayloadAndCreateClient.js.map +1 -0
  91. package/dist/extensions/dockHealth/settings.d.ts +44 -0
  92. package/dist/extensions/dockHealth/settings.js +48 -0
  93. package/dist/extensions/dockHealth/settings.js.map +1 -0
  94. package/dist/extensions/index.js +2 -0
  95. package/dist/extensions/index.js.map +1 -1
  96. package/dist/extensions/markdown.json +5 -1
  97. package/package.json +2 -2
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ taskId: {
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
+ taskId: {
6
+ key: 'taskId',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/dockHealth/actions/createTask/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ description: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ taskListId: {
12
+ id: string;
13
+ label: string;
14
+ description: string;
15
+ type: FieldType.STRING;
16
+ required: true;
17
+ };
18
+ patientId: {
19
+ id: string;
20
+ label: string;
21
+ description: string;
22
+ type: FieldType.STRING;
23
+ required: false;
24
+ };
25
+ taskGroupId: {
26
+ id: string;
27
+ label: string;
28
+ description: string;
29
+ type: FieldType.STRING;
30
+ required: false;
31
+ };
32
+ };
33
+ export declare const FieldsValidationSchema: z.ZodObject<{
34
+ description: z.ZodString;
35
+ taskListId: z.ZodString;
36
+ patientId: z.ZodOptional<z.ZodString>;
37
+ taskGroupId: z.ZodOptional<z.ZodString>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ description: string;
40
+ taskListId: string;
41
+ patientId?: string | undefined;
42
+ taskGroupId?: string | undefined;
43
+ }, {
44
+ description: string;
45
+ taskListId: string;
46
+ patientId?: string | undefined;
47
+ taskGroupId?: string | undefined;
48
+ }>;
@@ -0,0 +1,45 @@
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
+ description: {
11
+ id: 'description',
12
+ label: 'Description',
13
+ description: 'Description of the task',
14
+ type: extensions_core_1.FieldType.STRING,
15
+ required: true,
16
+ },
17
+ taskListId: {
18
+ id: 'taskListId',
19
+ label: 'Task list ID',
20
+ description: 'The task list identifier.',
21
+ type: extensions_core_1.FieldType.STRING,
22
+ required: true,
23
+ },
24
+ patientId: {
25
+ id: 'patientId',
26
+ label: 'Patient ID',
27
+ description: 'The patient the task is associated with',
28
+ type: extensions_core_1.FieldType.STRING,
29
+ required: false,
30
+ },
31
+ taskGroupId: {
32
+ id: 'taskGroupId',
33
+ label: 'Task group ID',
34
+ description: 'The group to assign the task to',
35
+ type: extensions_core_1.FieldType.STRING,
36
+ required: false,
37
+ },
38
+ };
39
+ exports.FieldsValidationSchema = zod_1.default.object({
40
+ description: zod_1.default.string().min(1),
41
+ taskListId: zod_1.default.string().min(1),
42
+ patientId: zod_1.default.string().optional(),
43
+ taskGroupId: zod_1.default.string().optional(),
44
+ });
45
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/dockHealth/actions/createTask/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACe,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/dockHealth/actions/createTask/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 createTask: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTask = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const lib_1 = require("../../lib");
7
+ const lodash_1 = require("lodash");
8
+ exports.createTask = {
9
+ key: 'createTask',
10
+ category: extensions_core_1.Category.WORKFLOW,
11
+ title: 'Create task',
12
+ description: 'Create a Task in Dock Health',
13
+ fields: config_1.fields,
14
+ previewable: false,
15
+ dataPoints: config_1.dataPoints,
16
+ onActivityCreated: async (payload, onComplete, onError) => {
17
+ const { fields, dockClient } = await (0, lib_1.validatePayloadAndCreateClient)({
18
+ fieldsSchema: config_1.FieldsValidationSchema,
19
+ payload,
20
+ });
21
+ const res = await dockClient.createTask({
22
+ description: fields.description,
23
+ patient: !(0, lodash_1.isEmpty)(fields.patientId)
24
+ ? {
25
+ id: fields.patientId,
26
+ }
27
+ : undefined,
28
+ taskList: {
29
+ id: fields.taskListId,
30
+ },
31
+ taskGroup: !(0, lodash_1.isEmpty)(fields.taskGroupId)
32
+ ? {
33
+ id: fields.taskGroupId,
34
+ }
35
+ : undefined,
36
+ // taskMetaData: [
37
+ // {
38
+ // customFieldIdentifier: 'awellCareflowId',
39
+ // customFieldName: 'Awell care flow ID',
40
+ // value: pathwayId,
41
+ // },
42
+ // {
43
+ // customFieldIdentifier: 'awellActivityId',
44
+ // customFieldName: 'Awell activity ID',
45
+ // value: activityId,
46
+ // },
47
+ // ],
48
+ });
49
+ await onComplete({
50
+ data_points: {
51
+ taskId: res.id,
52
+ },
53
+ });
54
+ },
55
+ };
56
+ //# sourceMappingURL=createTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTask.js","sourceRoot":"","sources":["../../../../../extensions/dockHealth/actions/createTask/createTask.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,mCAA0D;AAC1D,mCAAgC;AAEnB,QAAA,UAAU,GAInB;IACF,GAAG,EAAE,YAAY;IACjB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,8BAA8B;IAC3C,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,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,oCAA8B,EAAC;YAClE,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,SAAS,CAAC;gBACjC,CAAC,CAAC;oBACE,EAAE,EAAE,MAAM,CAAC,SAAmB;iBAC/B;gBACH,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE;gBACR,EAAE,EAAE,MAAM,CAAC,UAAU;aACtB;YACD,SAAS,EAAE,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,WAAW,CAAC;gBACrC,CAAC,CAAC;oBACE,EAAE,EAAE,MAAM,CAAC,WAAqB;iBACjC;gBACH,CAAC,CAAC,SAAS;YACb,kBAAkB;YAClB,MAAM;YACN,gDAAgD;YAChD,6CAA6C;YAC7C,wBAAwB;YACxB,OAAO;YACP,MAAM;YACN,gDAAgD;YAChD,4CAA4C;YAC5C,yBAAyB;YACzB,OAAO;YACP,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,MAAM,EAAE,GAAG,CAAC,EAAE;aACf;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,32 @@
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("../../api/__mocks__");
6
+ const mockTask_1 = require("../../api/__mocks__/mockTask");
7
+ jest.mock('../../api/client');
8
+ describe('Dock Health - Create task', () => {
9
+ const onComplete = jest.fn();
10
+ const onError = jest.fn();
11
+ beforeEach(() => {
12
+ jest.clearAllMocks();
13
+ });
14
+ test('Should return a patient', async () => {
15
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
16
+ fields: {
17
+ description: 'description',
18
+ patientId: 'test-patient-id',
19
+ taskListId: 'test-task-list-id',
20
+ taskGroupId: 'test-task-group-id',
21
+ },
22
+ settings: __mocks__1.mockSettings,
23
+ });
24
+ await _1.createTask.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
25
+ expect(onComplete).toHaveBeenCalledWith({
26
+ data_points: {
27
+ taskId: mockTask_1.mockCreateTaskResponse.id,
28
+ },
29
+ });
30
+ });
31
+ });
32
+ //# sourceMappingURL=createTask.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTask.test.js","sourceRoot":"","sources":["../../../../../extensions/dockHealth/actions/createTask/createTask.test.ts"],"names":[],"mappings":";;AAAA,wBAA8B;AAC9B,iDAA2D;AAC3D,kDAAkD;AAClD,2DAAqE;AAErE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAE7B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,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,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,WAAW,EAAE,aAAa;gBAC1B,SAAS,EAAE,iBAAiB;gBAC5B,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,oBAAoB;aAClC;YACD,QAAQ,EAAE,uBAAY;SACvB,CAAC,CAAA;QAEF,MAAM,aAAU,CAAC,iBAAiB,CAChC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,MAAM,EAAE,iCAAsB,CAAC,EAAE;aAClC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { createTask } from './createTask';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTask = void 0;
4
+ var createTask_1 = require("./createTask");
5
+ Object.defineProperty(exports, "createTask", { enumerable: true, get: function () { return createTask_1.createTask; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/dockHealth/actions/createTask/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,10 @@
1
+ export declare const dataPoints: {
2
+ firstName: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ lastName: {
7
+ key: string;
8
+ valueType: "string";
9
+ };
10
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ firstName: {
6
+ key: 'firstName',
7
+ valueType: 'string',
8
+ },
9
+ lastName: {
10
+ key: 'lastName',
11
+ valueType: 'string',
12
+ },
13
+ // More data points can be added later
14
+ };
15
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/dockHealth/actions/getPatient/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,SAAS,EAAE,QAAQ;KACpB;IACD,sCAAsC;CACO,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ dockPatientId: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ dockPatientId: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ dockPatientId: string;
16
+ }, {
17
+ dockPatientId: string;
18
+ }>;
@@ -0,0 +1,21 @@
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
+ dockPatientId: {
11
+ id: 'dockPatientId',
12
+ label: 'Dock patient ID',
13
+ description: 'Identifier of the patient in Dock Health',
14
+ type: extensions_core_1.FieldType.STRING,
15
+ required: true,
16
+ },
17
+ };
18
+ exports.FieldsValidationSchema = zod_1.default.object({
19
+ dockPatientId: zod_1.default.string(),
20
+ });
21
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/dockHealth/actions/getPatient/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,aAAC,CAAC,MAAM,EAAE;CACwB,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/dockHealth/actions/getPatient/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 getPatient: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPatient = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const lib_1 = require("../../lib");
7
+ exports.getPatient = {
8
+ key: 'getPatient',
9
+ category: extensions_core_1.Category.WORKFLOW,
10
+ title: 'Get patient',
11
+ description: 'Retrieve patient details from Dock',
12
+ fields: config_1.fields,
13
+ previewable: true,
14
+ dataPoints: config_1.dataPoints,
15
+ onActivityCreated: async (payload, onComplete, onError) => {
16
+ const { fields, dockClient } = await (0, lib_1.validatePayloadAndCreateClient)({
17
+ fieldsSchema: config_1.FieldsValidationSchema,
18
+ payload,
19
+ });
20
+ const res = await dockClient.getPatient({ id: fields.dockPatientId });
21
+ await onComplete({
22
+ data_points: {
23
+ firstName: res.firstName,
24
+ lastName: res.lastName,
25
+ },
26
+ });
27
+ },
28
+ };
29
+ //# sourceMappingURL=getPatient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPatient.js","sourceRoot":"","sources":["../../../../../extensions/dockHealth/actions/getPatient/getPatient.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,mCAA0D;AAE7C,QAAA,UAAU,GAInB;IACF,GAAG,EAAE,YAAY;IACjB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,IAAI;IACjB,UAAU,EAAV,mBAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;QACvE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,oCAA8B,EAAC;YAClE,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;QAErE,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,29 @@
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("../../api/__mocks__");
6
+ jest.mock('../../api/client');
7
+ describe('Dock Health - Get patient', () => {
8
+ const onComplete = jest.fn();
9
+ const onError = jest.fn();
10
+ beforeEach(() => {
11
+ jest.clearAllMocks();
12
+ });
13
+ test('Should return a patient', async () => {
14
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
15
+ fields: {
16
+ dockPatientId: 'some-patient-id',
17
+ },
18
+ settings: __mocks__1.mockSettings,
19
+ });
20
+ await _1.getPatient.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
21
+ expect(onComplete).toHaveBeenCalledWith({
22
+ data_points: {
23
+ firstName: __mocks__1.mockGetPatientResponse.firstName,
24
+ lastName: __mocks__1.mockGetPatientResponse.lastName,
25
+ },
26
+ });
27
+ });
28
+ });
29
+ //# sourceMappingURL=getPatient.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPatient.test.js","sourceRoot":"","sources":["../../../../../extensions/dockHealth/actions/getPatient/getPatient.test.ts"],"names":[],"mappings":";;AAAA,wBAA8B;AAC9B,iDAA2D;AAC3D,kDAA0E;AAE1E,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAE7B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,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,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,aAAa,EAAE,iBAAiB;aACjC;YACD,QAAQ,EAAE,uBAAY;SACvB,CAAC,CAAA;QAEF,MAAM,aAAU,CAAC,iBAAiB,CAChC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,SAAS,EAAE,iCAAsB,CAAC,SAAS;gBAC3C,QAAQ,EAAE,iCAAsB,CAAC,QAAQ;aAC1C;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { getPatient } from './getPatient';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPatient = void 0;
4
+ var getPatient_1 = require("./getPatient");
5
+ Object.defineProperty(exports, "getPatient", { enumerable: true, get: function () { return getPatient_1.getPatient; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/dockHealth/actions/getPatient/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,128 @@
1
+ declare const actions: {
2
+ getPatient: import("@awell-health/extensions-core").Action<{
3
+ dockPatientId: {
4
+ id: string;
5
+ label: string;
6
+ description: string;
7
+ type: import("@awell-health/extensions-core").FieldType.STRING;
8
+ required: true;
9
+ };
10
+ }, {
11
+ environment: {
12
+ key: string;
13
+ label: string;
14
+ obfuscated: false;
15
+ required: false;
16
+ description: string;
17
+ };
18
+ clientId: {
19
+ key: string;
20
+ label: string;
21
+ obfuscated: false;
22
+ required: true;
23
+ description: string;
24
+ };
25
+ clientSecret: {
26
+ key: string;
27
+ label: string;
28
+ obfuscated: true;
29
+ required: true;
30
+ description: string;
31
+ };
32
+ apiKey: {
33
+ key: string;
34
+ label: string;
35
+ obfuscated: true;
36
+ required: true;
37
+ description: string;
38
+ };
39
+ organizationId: {
40
+ key: string;
41
+ label: string;
42
+ obfuscated: false;
43
+ required: true;
44
+ description: string;
45
+ };
46
+ userId: {
47
+ key: string;
48
+ label: string;
49
+ obfuscated: false;
50
+ required: true;
51
+ description: string;
52
+ };
53
+ }, "firstName" | "lastName", never>;
54
+ createTask: import("@awell-health/extensions-core").Action<{
55
+ description: {
56
+ id: string;
57
+ label: string;
58
+ description: string;
59
+ type: import("@awell-health/extensions-core").FieldType.STRING;
60
+ required: true;
61
+ };
62
+ taskListId: {
63
+ id: string;
64
+ label: string;
65
+ description: string;
66
+ type: import("@awell-health/extensions-core").FieldType.STRING;
67
+ required: true;
68
+ };
69
+ patientId: {
70
+ id: string;
71
+ label: string;
72
+ description: string;
73
+ type: import("@awell-health/extensions-core").FieldType.STRING;
74
+ required: false;
75
+ };
76
+ taskGroupId: {
77
+ id: string;
78
+ label: string;
79
+ description: string;
80
+ type: import("@awell-health/extensions-core").FieldType.STRING;
81
+ required: false;
82
+ };
83
+ }, {
84
+ environment: {
85
+ key: string;
86
+ label: string;
87
+ obfuscated: false;
88
+ required: false;
89
+ description: string;
90
+ };
91
+ clientId: {
92
+ key: string;
93
+ label: string;
94
+ obfuscated: false;
95
+ required: true;
96
+ description: string;
97
+ };
98
+ clientSecret: {
99
+ key: string;
100
+ label: string;
101
+ obfuscated: true;
102
+ required: true;
103
+ description: string;
104
+ };
105
+ apiKey: {
106
+ key: string;
107
+ label: string;
108
+ obfuscated: true;
109
+ required: true;
110
+ description: string;
111
+ };
112
+ organizationId: {
113
+ key: string;
114
+ label: string;
115
+ obfuscated: false;
116
+ required: true;
117
+ description: string;
118
+ };
119
+ userId: {
120
+ key: string;
121
+ label: string;
122
+ obfuscated: false;
123
+ required: true;
124
+ description: string;
125
+ };
126
+ }, "taskId", never>;
127
+ };
128
+ export default actions;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getPatient_1 = require("./getPatient");
4
+ const createTask_1 = require("./createTask");
5
+ const actions = {
6
+ getPatient: getPatient_1.getPatient,
7
+ createTask: createTask_1.createTask,
8
+ };
9
+ exports.default = actions;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/dockHealth/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,6CAAyC;AAEzC,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,uBAAU;IACV,UAAU,EAAV,uBAAU;CACX,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { cache } from '@awell-health/extensions-core';
2
+ /**
3
+ * A cache service can be used in combination with the OAuth API client
4
+ * to automatically cache tokens between requests.
5
+ * The only cache implementation available is a simple in-memory cache,
6
+ * so it has to be initialised as a singleton to preserve the data across
7
+ * the lifecycle of the server running your extension.
8
+ * Note that we will soon be releasing another implementation of the cache
9
+ * service that will remove this restriction.
10
+ */
11
+ export declare const dockCacheService: cache.InMemoryCache;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dockCacheService = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ /**
6
+ * A cache service can be used in combination with the OAuth API client
7
+ * to automatically cache tokens between requests.
8
+ * The only cache implementation available is a simple in-memory cache,
9
+ * so it has to be initialised as a singleton to preserve the data across
10
+ * the lifecycle of the server running your extension.
11
+ * Note that we will soon be releasing another implementation of the cache
12
+ * service that will remove this restriction.
13
+ */
14
+ exports.dockCacheService = new extensions_core_1.cache.InMemoryCache();
15
+ //# sourceMappingURL=cacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheService.js","sourceRoot":"","sources":["../../../../extensions/dockHealth/api/cacheService.ts"],"names":[],"mappings":";;;AAAA,mEAAqD;AAErD;;;;;;;;GAQG;AACU,QAAA,gBAAgB,GAAG,IAAI,uBAAK,CAAC,aAAa,EAAE,CAAA"}