@awell-health/awell-extensions 1.0.220 → 1.0.222

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. package/dist/extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.d.ts +4 -0
  2. package/dist/extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.js +55 -0
  3. package/dist/extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.js.map +1 -0
  4. package/dist/extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.test.d.ts +1 -0
  5. package/dist/extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.test.js +74 -0
  6. package/dist/extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.test.js.map +1 -0
  7. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/datapoints.d.ts +6 -0
  8. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/datapoints.js +10 -0
  9. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/datapoints.js.map +1 -0
  10. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/fields.d.ts +38 -0
  11. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/fields.js +37 -0
  12. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/fields.js.map +1 -0
  13. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/index.d.ts +2 -0
  14. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/index.js +9 -0
  15. package/dist/extensions/athenahealth/actions/addClinicalDocument/config/index.js.map +1 -0
  16. package/dist/extensions/athenahealth/actions/addClinicalDocument/index.d.ts +1 -0
  17. package/dist/extensions/athenahealth/actions/addClinicalDocument/index.js +6 -0
  18. package/dist/extensions/athenahealth/actions/addClinicalDocument/index.js.map +1 -0
  19. package/dist/extensions/athenahealth/actions/createAppointmentNote/createAppointmentNote.test.js +2 -2
  20. package/dist/extensions/athenahealth/actions/createAppointmentNote/createAppointmentNote.test.js.map +1 -1
  21. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.test.js +2 -2
  22. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.test.js.map +1 -1
  23. package/dist/extensions/athenahealth/actions/getPatient/getPatient.test.js +2 -2
  24. package/dist/extensions/athenahealth/actions/getPatient/getPatient.test.js.map +1 -1
  25. package/dist/extensions/athenahealth/actions/index.d.ts +66 -0
  26. package/dist/extensions/athenahealth/actions/index.js +2 -0
  27. package/dist/extensions/athenahealth/actions/index.js.map +1 -1
  28. package/dist/extensions/athenahealth/api/client.d.ts +11 -3
  29. package/dist/extensions/athenahealth/api/client.js +23 -0
  30. package/dist/extensions/athenahealth/api/client.js.map +1 -1
  31. package/dist/extensions/athenahealth/api/schema/clinicalDocument.d.ts +31 -0
  32. package/dist/extensions/athenahealth/api/schema/clinicalDocument.js +25 -0
  33. package/dist/extensions/athenahealth/api/schema/clinicalDocument.js.map +1 -0
  34. package/dist/extensions/athenahealth/api/schema/index.d.ts +3 -2
  35. package/dist/extensions/athenahealth/api/schema/index.js.map +1 -1
  36. package/dist/extensions/athenahealth/helpers/htmlToBase64Pdf.d.ts +1 -0
  37. package/dist/extensions/athenahealth/helpers/htmlToBase64Pdf.js +20 -0
  38. package/dist/extensions/athenahealth/helpers/htmlToBase64Pdf.js.map +1 -0
  39. package/dist/extensions/athenahealth/helpers/index.d.ts +2 -0
  40. package/dist/extensions/athenahealth/helpers/index.js +8 -0
  41. package/dist/extensions/athenahealth/helpers/index.js.map +1 -0
  42. package/dist/extensions/athenahealth/{helpers.d.ts → helpers/validatePayloadAndCreateClient.d.ts} +2 -2
  43. package/dist/extensions/athenahealth/{helpers.js → helpers/validatePayloadAndCreateClient.js} +3 -3
  44. package/dist/extensions/athenahealth/helpers/validatePayloadAndCreateClient.js.map +1 -0
  45. package/dist/src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.d.ts +9 -0
  46. package/dist/src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.js +31 -0
  47. package/dist/src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.js.map +1 -0
  48. package/dist/src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.test.d.ts +1 -0
  49. package/dist/src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.test.js +30 -0
  50. package/dist/src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.test.js.map +1 -0
  51. package/dist/src/utils/getNextDateWithinBusinessHours/index.d.ts +1 -0
  52. package/dist/src/utils/getNextDateWithinBusinessHours/index.js +6 -0
  53. package/dist/src/utils/getNextDateWithinBusinessHours/index.js.map +1 -0
  54. package/package.json +2 -1
  55. package/dist/extensions/athenahealth/helpers.js.map +0 -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 addClinicalDocument: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addClinicalDocument = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const helpers_1 = require("../../helpers");
7
+ exports.addClinicalDocument = {
8
+ key: 'addClinicalDocument',
9
+ category: extensions_core_1.Category.EHR_INTEGRATIONS,
10
+ title: 'Add clinical document to chart',
11
+ description: 'Add clinical document to patient chart',
12
+ fields: config_1.fields,
13
+ previewable: false,
14
+ dataPoints: config_1.dataPoints,
15
+ onActivityCreated: async (payload, onComplete, onError) => {
16
+ var _a;
17
+ const { fields: input, client, settings: { practiceId }, } = await (0, helpers_1.validatePayloadAndCreateClient)({
18
+ fieldsSchema: config_1.FieldsValidationSchema,
19
+ payload,
20
+ });
21
+ const contentAsBase64String = await (0, helpers_1.htmlToBase64Pdf)((_a = input.attachmentcontents) !== null && _a !== void 0 ? _a : '');
22
+ const res = await client.addClinicalDocumentToPatientChart({
23
+ practiceId,
24
+ patientId: input.patientid,
25
+ data: {
26
+ departmentid: input.departmentid,
27
+ documentsubclass: 'CLINICALDOCUMENT',
28
+ attachmentcontents: contentAsBase64String,
29
+ },
30
+ });
31
+ if (res.success) {
32
+ await onComplete({
33
+ data_points: {
34
+ clinicalDocumentId: String(res.clinicaldocumentid),
35
+ },
36
+ });
37
+ return;
38
+ }
39
+ await onError({
40
+ events: [
41
+ {
42
+ date: new Date().toISOString(),
43
+ text: {
44
+ en: 'Unable to add the clinical document to the patient chart',
45
+ },
46
+ error: {
47
+ category: 'SERVER_ERROR',
48
+ message: 'Unable to add the clinical document to the patient chart',
49
+ },
50
+ },
51
+ ],
52
+ });
53
+ },
54
+ };
55
+ //# sourceMappingURL=addClinicalDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addClinicalDocument.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,2CAA+E;AAElE,QAAA,mBAAmB,GAI5B;IACF,GAAG,EAAE,qBAAqB;IAC1B,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,gCAAgC;IACvC,WAAW,EAAE,wCAAwC;IACrD,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,MAAM,EACN,QAAQ,EAAE,EAAE,UAAU,EAAE,GACzB,GAAG,MAAM,IAAA,wCAA8B,EAAC;YACvC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,qBAAqB,GAAG,MAAM,IAAA,yBAAe,EACjD,MAAA,KAAK,CAAC,kBAAkB,mCAAI,EAAE,CAC/B,CAAA;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC;YACzD,UAAU;YACV,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE;gBACJ,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,gBAAgB,EAAE,kBAAkB;gBACpC,kBAAkB,EAAE,qBAAqB;aAC1C;SACF,CAAC,CAAA;QAEF,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;iBACnD;aACF,CAAC,CAAA;YACF,OAAM;SACP;QAED,MAAM,OAAO,CAAC;YACZ,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9B,IAAI,EAAE;wBACJ,EAAE,EAAE,0DAA0D;qBAC/D;oBACD,KAAK,EAAE;wBACL,QAAQ,EAAE,cAAc;wBACxB,OAAO,EAAE,0DAA0D;qBACpE;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const tests_1 = require("../../../../src/tests");
5
+ const mockData_1 = require("../../api/__mocks__/mockData");
6
+ jest.mock('../../api/client');
7
+ describe('athenahealth - Add clinical document', () => {
8
+ const onComplete = jest.fn();
9
+ const onError = jest.fn();
10
+ beforeEach(() => {
11
+ jest.clearAllMocks();
12
+ });
13
+ test.skip('Should add a document to the patient chart', async () => {
14
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
15
+ fields: {
16
+ departmentid: '1',
17
+ patientid: '27083',
18
+ attachmentcontents: '<p>Hello world</p>',
19
+ },
20
+ settings: mockData_1.mockSettings,
21
+ });
22
+ await _1.addClinicalDocument.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
23
+ expect(onComplete).toHaveBeenCalled();
24
+ });
25
+ test('Should return an error when the patient does not exist', async () => {
26
+ var _a, _b;
27
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
28
+ fields: {
29
+ departmentid: '1',
30
+ patientid: '99999999999',
31
+ attachmentcontents: '<p>Hello world</p>',
32
+ },
33
+ settings: mockData_1.mockSettings,
34
+ });
35
+ try {
36
+ await _1.addClinicalDocument.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
37
+ }
38
+ catch (error) {
39
+ const axiosError = error;
40
+ expect(axiosError.response).toBeDefined();
41
+ expect((_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status).toBe(400);
42
+ expect((_b = axiosError.response) === null || _b === void 0 ? void 0 : _b.data).toStrictEqual({
43
+ detailedmessage: 'The specified patient does not exist in that department.',
44
+ error: 'The specified patient does not exist in that department.',
45
+ });
46
+ }
47
+ expect(onComplete).not.toHaveBeenCalled();
48
+ });
49
+ test('Should return an error when practice does not exist', async () => {
50
+ var _a, _b;
51
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
52
+ fields: {
53
+ departmentid: '1',
54
+ patientid: '1',
55
+ attachmentcontents: '<p>Hello world</p>',
56
+ },
57
+ settings: { ...mockData_1.mockSettings, practiceId: '99999999999' },
58
+ });
59
+ try {
60
+ await _1.addClinicalDocument.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
61
+ }
62
+ catch (error) {
63
+ const axiosError = error;
64
+ expect(axiosError.response).toBeDefined();
65
+ expect((_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.status).toBe(404);
66
+ expect((_b = axiosError.response) === null || _b === void 0 ? void 0 : _b.data).toStrictEqual({
67
+ error: 'Invalid practice.',
68
+ detailedmessage: 'The practice ID does not exist.',
69
+ });
70
+ }
71
+ expect(onComplete).not.toHaveBeenCalled();
72
+ });
73
+ });
74
+ //# sourceMappingURL=addClinicalDocument.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addClinicalDocument.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/addClinicalDocument/addClinicalDocument.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ clinicalDocumentId: {
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
+ clinicalDocumentId: {
6
+ key: 'clinicalDocumentId',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/athenahealth/actions/addClinicalDocument/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,kBAAkB,EAAE;QAClB,GAAG,EAAE,oBAAoB;QACzB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ departmentid: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ patientid: {
12
+ id: string;
13
+ label: string;
14
+ description: string;
15
+ type: FieldType.STRING;
16
+ required: true;
17
+ };
18
+ attachmentcontents: {
19
+ id: string;
20
+ label: string;
21
+ description: string;
22
+ type: FieldType.HTML;
23
+ required: false;
24
+ };
25
+ };
26
+ export declare const FieldsValidationSchema: z.ZodObject<{
27
+ departmentid: z.ZodString;
28
+ patientid: z.ZodString;
29
+ attachmentcontents: z.ZodOptional<z.ZodString>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ departmentid: string;
32
+ patientid: string;
33
+ attachmentcontents?: string | undefined;
34
+ }, {
35
+ departmentid: string;
36
+ patientid: string;
37
+ attachmentcontents?: string | undefined;
38
+ }>;
@@ -0,0 +1,37 @@
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
+ departmentid: {
11
+ id: 'departmentid',
12
+ label: 'Department ID',
13
+ description: '',
14
+ type: extensions_core_1.FieldType.STRING,
15
+ required: true,
16
+ },
17
+ patientid: {
18
+ id: 'patientid',
19
+ label: 'Patient ID',
20
+ description: '',
21
+ type: extensions_core_1.FieldType.STRING,
22
+ required: true,
23
+ },
24
+ attachmentcontents: {
25
+ id: 'attachmentcontents',
26
+ label: 'Content',
27
+ description: '',
28
+ type: extensions_core_1.FieldType.HTML,
29
+ required: false,
30
+ },
31
+ };
32
+ exports.FieldsValidationSchema = zod_1.default.object({
33
+ departmentid: zod_1.default.string().min(1),
34
+ patientid: zod_1.default.string().min(1),
35
+ attachmentcontents: zod_1.default.string().optional(),
36
+ });
37
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/athenahealth/actions/addClinicalDocument/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,kBAAkB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACQ,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/athenahealth/actions/addClinicalDocument/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { addClinicalDocument } from './addClinicalDocument';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addClinicalDocument = void 0;
4
+ var addClinicalDocument_1 = require("./addClinicalDocument");
5
+ Object.defineProperty(exports, "addClinicalDocument", { enumerable: true, get: function () { return addClinicalDocument_1.addClinicalDocument; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/addClinicalDocument/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA"}
@@ -26,7 +26,7 @@ describe('athenahealth - Create appointment note', () => {
26
26
  var _a, _b;
27
27
  const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
28
28
  fields: {
29
- appointmentid: 'non-existing-appointment-id',
29
+ appointmentid: '99999999999',
30
30
  notetext: 'hello world',
31
31
  displayonschedule: true,
32
32
  },
@@ -53,7 +53,7 @@ describe('athenahealth - Create appointment note', () => {
53
53
  notetext: 'hello world',
54
54
  displayonschedule: true,
55
55
  },
56
- settings: { ...mockData_1.mockSettings, practiceId: 'non-existing-practice-id' },
56
+ settings: { ...mockData_1.mockSettings, practiceId: '99999999999' },
57
57
  });
58
58
  try {
59
59
  await _1.createAppointmentNote.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
@@ -1 +1 @@
1
- {"version":3,"file":"createAppointmentNote.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/createAppointmentNote/createAppointmentNote.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAppointmentNote.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/createAppointmentNote/createAppointmentNote.test.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ describe('athenahealth - Get appointment', () => {
37
37
  var _a, _b;
38
38
  const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
39
39
  fields: {
40
- appointmentId: 'non-existing-appointment-id',
40
+ appointmentId: '99999999999',
41
41
  },
42
42
  settings: mockData_1.mockSettings,
43
43
  });
@@ -60,7 +60,7 @@ describe('athenahealth - Get appointment', () => {
60
60
  fields: {
61
61
  appointmentId: '1',
62
62
  },
63
- settings: { ...mockData_1.mockSettings, practiceId: 'non-existing-practice-id' },
63
+ settings: { ...mockData_1.mockSettings, practiceId: '99999999999' },
64
64
  });
65
65
  try {
66
66
  await _1.getAppointment.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
@@ -1 +1 @@
1
- {"version":3,"file":"getAppointment.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/getAppointment/getAppointment.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getAppointment.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/getAppointment/getAppointment.test.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ describe('athenahealth - Get patient', () => {
36
36
  fields: {
37
37
  patientId: '123',
38
38
  },
39
- settings: { ...mockData_1.mockSettings, practiceId: 'non-existing-practice-id' },
39
+ settings: { ...mockData_1.mockSettings, practiceId: '99999999999' },
40
40
  });
41
41
  try {
42
42
  await _1.getPatient.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
@@ -56,7 +56,7 @@ describe('athenahealth - Get patient', () => {
56
56
  var _a, _b;
57
57
  const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
58
58
  fields: {
59
- patientId: 'non-existing-patient-id',
59
+ patientId: '99999999999',
60
60
  },
61
61
  settings: mockData_1.mockSettings,
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getPatient.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/getPatient/getPatient.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPatient.test.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/actions/getPatient/getPatient.test.ts"],"names":[],"mappings":"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"}
@@ -249,5 +249,71 @@ declare const actions: {
249
249
  description: string;
250
250
  };
251
251
  }, never, never>;
252
+ addClinicalDocument: import("@awell-health/extensions-core").Action<{
253
+ departmentid: {
254
+ id: string;
255
+ label: string;
256
+ description: string;
257
+ type: import("@awell-health/extensions-core").FieldType.STRING;
258
+ required: true;
259
+ };
260
+ patientid: {
261
+ id: string;
262
+ label: string;
263
+ description: string;
264
+ type: import("@awell-health/extensions-core").FieldType.STRING;
265
+ required: true;
266
+ };
267
+ attachmentcontents: {
268
+ id: string;
269
+ label: string;
270
+ description: string;
271
+ type: import("@awell-health/extensions-core").FieldType.HTML;
272
+ required: false;
273
+ };
274
+ }, {
275
+ auth_url: {
276
+ key: string;
277
+ label: string;
278
+ obfuscated: false;
279
+ required: true;
280
+ description: string;
281
+ };
282
+ client_id: {
283
+ key: string;
284
+ label: string;
285
+ obfuscated: true;
286
+ required: true;
287
+ description: string;
288
+ };
289
+ client_secret: {
290
+ key: string;
291
+ label: string;
292
+ obfuscated: true;
293
+ required: true;
294
+ description: string;
295
+ };
296
+ api_url: {
297
+ key: string;
298
+ label: string;
299
+ obfuscated: false;
300
+ required: true;
301
+ description: string;
302
+ };
303
+ scope: {
304
+ key: string;
305
+ label: string;
306
+ obfuscated: false;
307
+ required: true;
308
+ description: string;
309
+ };
310
+ practiceId: {
311
+ key: string;
312
+ label: string;
313
+ obfuscated: false;
314
+ required: true;
315
+ description: string;
316
+ };
317
+ }, "clinicalDocumentId", never>;
252
318
  };
253
319
  export default actions;
@@ -4,11 +4,13 @@ const getPatient_1 = require("./getPatient");
4
4
  const getAppointment_1 = require("./getAppointment");
5
5
  const createPatient_1 = require("./createPatient");
6
6
  const createAppointmentNote_1 = require("./createAppointmentNote");
7
+ const addClinicalDocument_1 = require("./addClinicalDocument");
7
8
  const actions = {
8
9
  getPatient: getPatient_1.getPatient,
9
10
  getAppointment: getAppointment_1.getAppointment,
10
11
  createPatient: createPatient_1.createPatient,
11
12
  createAppointmentNote: createAppointmentNote_1.createAppointmentNote,
13
+ addClinicalDocument: addClinicalDocument_1.addClinicalDocument,
12
14
  };
13
15
  exports.default = actions;
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,qDAAiD;AACjD,mDAA+C;AAC/C,mEAA+D;AAE/D,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,uBAAU;IACV,cAAc,EAAd,+BAAc;IACd,aAAa,EAAb,6BAAa;IACb,qBAAqB,EAArB,6CAAqB;CACtB,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,qDAAiD;AACjD,mDAA+C;AAC/C,mEAA+D;AAC/D,+DAA2D;AAE3D,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,uBAAU;IACV,cAAc,EAAd,+BAAc;IACd,aAAa,EAAb,6BAAa;IACb,qBAAqB,EAArB,6CAAqB;IACrB,mBAAmB,EAAnB,yCAAmB;CACpB,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -1,9 +1,7 @@
1
1
  import { APIClient, DataWrapper, type DataWrapperCtor, type OAuthGrantClientCredentialsRequest } from '@awell-health/extensions-core';
2
2
  import { type CreateAppointmentNoteInputType } from '../actions/createAppointmentNote/config/fields';
3
3
  import { type CreatePatientInputType } from '../actions/createPatient/config/fields';
4
- import { type PatientSchemaType, type AppointmentSchemaType } from './schema';
5
- import { type CreateAppointmentNoteResponseType } from './schema/appointment';
6
- import { type CreatePatientResponseType } from './schema/patient';
4
+ import { type PatientSchemaType, type AppointmentSchemaType, type CreateAppointmentNoteResponseType, type AddClinicalDocumentToPatientChartInputType, type AddClinicalDocumentToPatientChartResponseType, type CreatePatientResponseType } from './schema';
7
5
  export declare class AthenaDataWrapper extends DataWrapper {
8
6
  createPatient({ practiceId, data, }: {
9
7
  practiceId: string;
@@ -22,6 +20,11 @@ export declare class AthenaDataWrapper extends DataWrapper {
22
20
  appointmentId: string;
23
21
  data: Omit<CreateAppointmentNoteInputType, 'practiceid' | 'appointmentid'>;
24
22
  }): Promise<CreateAppointmentNoteResponseType>;
23
+ addClinicalDocumentToPatientChart({ practiceId, patientId, data, }: {
24
+ practiceId: string;
25
+ patientId: string;
26
+ data: AddClinicalDocumentToPatientChartInputType;
27
+ }): Promise<AddClinicalDocumentToPatientChartResponseType>;
25
28
  }
26
29
  interface AthenaClientConstructorProps {
27
30
  authUrl: string;
@@ -48,5 +51,10 @@ export declare class AthenaAPIClient extends APIClient<AthenaDataWrapper> {
48
51
  appointmentId: string;
49
52
  data: Omit<CreateAppointmentNoteInputType, 'practiceid' | 'appointmentid'>;
50
53
  }): Promise<CreateAppointmentNoteResponseType>;
54
+ addClinicalDocumentToPatientChart({ practiceId, patientId, data, }: {
55
+ practiceId: string;
56
+ patientId: string;
57
+ data: AddClinicalDocumentToPatientChartInputType;
58
+ }): Promise<AddClinicalDocumentToPatientChartResponseType>;
51
59
  }
52
60
  export {};
@@ -36,6 +36,22 @@ class AthenaDataWrapper extends extensions_core_1.DataWrapper {
36
36
  });
37
37
  return result;
38
38
  }
39
+ async addClinicalDocumentToPatientChart({ practiceId, patientId, data, }) {
40
+ const formData = new FormData();
41
+ Object.entries(data).forEach((entry) => {
42
+ const [key, value] = entry;
43
+ formData.append(key, String(value));
44
+ });
45
+ const result = await this.Request({
46
+ method: 'POST',
47
+ url: `/v1/${practiceId}/patients/${patientId}/documents/clinicaldocument`,
48
+ headers: {
49
+ 'Content-Type': 'multipart/form-data',
50
+ },
51
+ data: formData,
52
+ });
53
+ return result;
54
+ }
39
55
  }
40
56
  exports.AthenaDataWrapper = AthenaDataWrapper;
41
57
  class AthenaAPIClient extends extensions_core_1.APIClient {
@@ -62,6 +78,13 @@ class AthenaAPIClient extends extensions_core_1.APIClient {
62
78
  async createAppointmentNote({ practiceId, appointmentId, data, }) {
63
79
  return await this.FetchData(async (dw) => await dw.createAppointmentNote({ appointmentId, practiceId, data }));
64
80
  }
81
+ async addClinicalDocumentToPatientChart({ practiceId, patientId, data, }) {
82
+ return await this.FetchData(async (dw) => await dw.addClinicalDocumentToPatientChart({
83
+ patientId,
84
+ practiceId,
85
+ data,
86
+ }));
87
+ }
65
88
  }
66
89
  exports.AthenaAPIClient = AthenaAPIClient;
67
90
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/api/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import z from 'zod';
2
+ export interface AddClinicalDocumentToPatientChartResponseType {
3
+ clinicaldocumentid: number;
4
+ success: boolean;
5
+ }
6
+ export declare const AddClinicalDocumentToPatientChartInputFields: z.ZodObject<{
7
+ departmentid: z.ZodString;
8
+ documentsubclass: z.ZodEnum<["CLINICALDOCUMENT", "ADMISSIONDISCHARGE", "CONSULTNOTE", "MENTALHEALTH", "OPERATIVENOTE", "URGENTCARE"]>;
9
+ attachmentcontents: z.ZodOptional<z.ZodString>;
10
+ autoclose: z.ZodOptional<z.ZodBoolean>;
11
+ internalnote: z.ZodOptional<z.ZodString>;
12
+ observationdate: z.ZodOptional<z.ZodString>;
13
+ priority: z.ZodOptional<z.ZodEnum<["1", "2"]>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ departmentid: string;
16
+ documentsubclass: "CLINICALDOCUMENT" | "ADMISSIONDISCHARGE" | "CONSULTNOTE" | "MENTALHEALTH" | "OPERATIVENOTE" | "URGENTCARE";
17
+ attachmentcontents?: string | undefined;
18
+ autoclose?: boolean | undefined;
19
+ internalnote?: string | undefined;
20
+ observationdate?: string | undefined;
21
+ priority?: "1" | "2" | undefined;
22
+ }, {
23
+ departmentid: string;
24
+ documentsubclass: "CLINICALDOCUMENT" | "ADMISSIONDISCHARGE" | "CONSULTNOTE" | "MENTALHEALTH" | "OPERATIVENOTE" | "URGENTCARE";
25
+ attachmentcontents?: string | undefined;
26
+ autoclose?: boolean | undefined;
27
+ internalnote?: string | undefined;
28
+ observationdate?: string | undefined;
29
+ priority?: "1" | "2" | undefined;
30
+ }>;
31
+ export type AddClinicalDocumentToPatientChartInputType = z.infer<typeof AddClinicalDocumentToPatientChartInputFields>;
@@ -0,0 +1,25 @@
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.AddClinicalDocumentToPatientChartInputFields = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const DOCUMENTSUBCLASS = [
9
+ 'CLINICALDOCUMENT',
10
+ 'ADMISSIONDISCHARGE',
11
+ 'CONSULTNOTE',
12
+ 'MENTALHEALTH',
13
+ 'OPERATIVENOTE',
14
+ 'URGENTCARE',
15
+ ];
16
+ exports.AddClinicalDocumentToPatientChartInputFields = zod_1.default.object({
17
+ departmentid: zod_1.default.string().min(1),
18
+ documentsubclass: zod_1.default.enum(DOCUMENTSUBCLASS),
19
+ attachmentcontents: zod_1.default.string().optional(),
20
+ autoclose: zod_1.default.boolean().optional(),
21
+ internalnote: zod_1.default.string().optional(),
22
+ observationdate: zod_1.default.string().optional(),
23
+ priority: zod_1.default.enum(['1', '2']).optional(), // 1 = HIGH; 2 = NORMAL
24
+ });
25
+ //# sourceMappingURL=clinicalDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clinicalDocument.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/api/schema/clinicalDocument.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAmB;AAOnB,MAAM,gBAAgB,GAAG;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,aAAa;IACb,cAAc;IACd,eAAe;IACf,YAAY;CACJ,CAAA;AAEG,QAAA,4CAA4C,GAAG,aAAC,CAAC,MAAM,CAAC;IACnE,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,gBAAgB,EAAE,aAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,aAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,uBAAuB;CACjE,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
- export { type AppointmentSchemaType, AppointmentSchema } from './appointment';
1
+ export { type AppointmentSchemaType, type CreateAppointmentNoteResponseType, AppointmentSchema, } from './appointment';
2
2
  export { AthenaDateOnlyOptionalSchema, AthenaDateOnlySchema } from './date';
3
- export { type PatientSchemaType, PatientSchema } from './patient';
3
+ export { type PatientSchemaType, type CreatePatientResponseType, PatientSchema, } from './patient';
4
+ export { type AddClinicalDocumentToPatientChartResponseType, type AddClinicalDocumentToPatientChartInputType, } from './clinicalDocument';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/api/schema/index.ts"],"names":[],"mappings":";;;AAAA,6CAA6E;AAAxC,gHAAA,iBAAiB,OAAA;AACtD,+BAA2E;AAAlE,oHAAA,4BAA4B,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAC3D,qCAAiE;AAAhC,wGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/athenahealth/api/schema/index.ts"],"names":[],"mappings":";;;AAAA,6CAIsB;AADpB,gHAAA,iBAAiB,OAAA;AAEnB,+BAA2E;AAAlE,oHAAA,4BAA4B,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAC3D,qCAIkB;AADhB,wGAAA,aAAa,OAAA"}
@@ -0,0 +1 @@
1
+ export declare const htmlToBase64Pdf: (html: string) => Promise<string>;
@@ -0,0 +1,20 @@
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.htmlToBase64Pdf = void 0;
7
+ const puppeteer_1 = __importDefault(require("puppeteer"));
8
+ const htmlToBase64Pdf = async (html) => {
9
+ const browser = await puppeteer_1.default.launch();
10
+ const page = await browser.newPage();
11
+ await page.setContent(html, {
12
+ waitUntil: 'networkidle0', // Waits for network connections to finish
13
+ });
14
+ const pdfBuffer = await page.pdf({ format: 'A4' });
15
+ const base64Pdf = pdfBuffer.toString('base64');
16
+ await browser.close();
17
+ return base64Pdf;
18
+ };
19
+ exports.htmlToBase64Pdf = htmlToBase64Pdf;
20
+ //# sourceMappingURL=htmlToBase64Pdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlToBase64Pdf.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/helpers/htmlToBase64Pdf.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAE1B,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IACrE,MAAM,OAAO,GAAG,MAAM,mBAAS,CAAC,MAAM,EAAE,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IAEpC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAC1B,SAAS,EAAE,cAAc,EAAE,0CAA0C;KACtE,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IAErB,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAdY,QAAA,eAAe,mBAc3B"}
@@ -0,0 +1,2 @@
1
+ export { validatePayloadAndCreateClient } from './validatePayloadAndCreateClient';
2
+ export { htmlToBase64Pdf } from './htmlToBase64Pdf';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.htmlToBase64Pdf = exports.validatePayloadAndCreateClient = void 0;
4
+ var validatePayloadAndCreateClient_1 = require("./validatePayloadAndCreateClient");
5
+ Object.defineProperty(exports, "validatePayloadAndCreateClient", { enumerable: true, get: function () { return validatePayloadAndCreateClient_1.validatePayloadAndCreateClient; } });
6
+ var htmlToBase64Pdf_1 = require("./htmlToBase64Pdf");
7
+ Object.defineProperty(exports, "htmlToBase64Pdf", { enumerable: true, get: function () { return htmlToBase64Pdf_1.htmlToBase64Pdf; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/helpers/index.ts"],"names":[],"mappings":";;;AAAA,mFAAiF;AAAxE,gJAAA,8BAA8B,OAAA;AACvC,qDAAmD;AAA1C,kHAAA,eAAe,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import z from 'zod';
2
- import { AthenaAPIClient } from './api/client';
3
- import { SettingsValidationSchema } from './settings';
2
+ import { AthenaAPIClient } from '../api/client';
3
+ import { SettingsValidationSchema } from '../settings';
4
4
  type ValidateAndCreateClient = <T extends z.ZodTypeAny>(args: {
5
5
  fieldsSchema: T;
6
6
  payload: unknown;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validatePayloadAndCreateClient = void 0;
7
7
  const extensions_core_1 = require("@awell-health/extensions-core");
8
8
  const zod_1 = __importDefault(require("zod"));
9
- const client_1 = require("./api/client");
10
- const settings_1 = require("./settings");
9
+ const client_1 = require("../api/client");
10
+ const settings_1 = require("../settings");
11
11
  const validatePayloadAndCreateClient = async ({ fieldsSchema, payload, }) => {
12
12
  const { settings: { client_id, client_secret, auth_url, api_url, scope }, fields, settings, } = (0, extensions_core_1.validate)({
13
13
  schema: zod_1.default.object({
@@ -28,4 +28,4 @@ const validatePayloadAndCreateClient = async ({ fieldsSchema, payload, }) => {
28
28
  return { client, fields, settings };
29
29
  };
30
30
  exports.validatePayloadAndCreateClient = validatePayloadAndCreateClient;
31
- //# sourceMappingURL=helpers.js.map
31
+ //# sourceMappingURL=validatePayloadAndCreateClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePayloadAndCreateClient.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/helpers/validatePayloadAndCreateClient.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAwD;AACxD,8CAAmB;AACnB,0CAA+C;AAC/C,0CAAsD;AAW/C,MAAM,8BAA8B,GAA4B,KAAK,EAAE,EAC5E,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EACJ,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAChE,MAAM,EACN,QAAQ,GACT,GAAG,IAAA,0BAAQ,EAAC;QACX,MAAM,EAAE,aAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,mCAAwB;SACnC,CAAC;QACF,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC;QACjC,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE;YACb,SAAS;YACT,aAAa;YACb,KAAK;SACN;QACD,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC,CAAA;AA3BY,QAAA,8BAA8B,kCA2B1C"}
@@ -0,0 +1,9 @@
1
+ type ISOString = string;
2
+ /**
3
+ * Function doesn't take into account weekends.
4
+ * Just checks that within any given day it's between 9 AM and 5 PM.
5
+ * - If that's the case, return the reference date
6
+ * - If not, return reference date + 1 day at 9 AM
7
+ */
8
+ export declare const getNextDateWithinBusinessHours: (referenceDateAsISOString: ISOString) => ISOString;
9
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextDateWithinBusinessHours = void 0;
4
+ const date_fns_1 = require("date-fns");
5
+ const START_HOUR_WORKING_DAY = 9; // 9 AM
6
+ const END_HOUR_WORKING_DAY = 17; // 5 PM
7
+ /**
8
+ * Function doesn't take into account weekends.
9
+ * Just checks that within any given day it's between 9 AM and 5 PM.
10
+ * - If that's the case, return the reference date
11
+ * - If not, return reference date + 1 day at 9 AM
12
+ */
13
+ const getNextDateWithinBusinessHours = (referenceDateAsISOString) => {
14
+ const referenceDate = new Date(referenceDateAsISOString);
15
+ if (!(0, date_fns_1.isValid)(referenceDate)) {
16
+ throw new Error('Reference date is not a valid date');
17
+ }
18
+ const hourOfReferenceDate = referenceDate.getHours();
19
+ // If before 9 AM, return 9 AM of the same day
20
+ if (hourOfReferenceDate < START_HOUR_WORKING_DAY) {
21
+ return (0, date_fns_1.formatISO)((0, date_fns_1.setHours)((0, date_fns_1.startOfDay)(referenceDate), START_HOUR_WORKING_DAY));
22
+ }
23
+ // If after 5 PM, return 9 AM of the next day
24
+ else if (hourOfReferenceDate >= END_HOUR_WORKING_DAY) {
25
+ return (0, date_fns_1.formatISO)((0, date_fns_1.setHours)((0, date_fns_1.startOfDay)((0, date_fns_1.addDays)(referenceDate, 1)), START_HOUR_WORKING_DAY));
26
+ }
27
+ // If between 9 AM and 5 PM, return the reference date
28
+ return (0, date_fns_1.formatISO)(referenceDate);
29
+ };
30
+ exports.getNextDateWithinBusinessHours = getNextDateWithinBusinessHours;
31
+ //# sourceMappingURL=getNextDateWithinBusinessHours.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNextDateWithinBusinessHours.js","sourceRoot":"","sources":["../../../../src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.ts"],"names":[],"mappings":";;;AAAA,uCAA4E;AAE5E,MAAM,sBAAsB,GAAG,CAAC,CAAA,CAAC,OAAO;AACxC,MAAM,oBAAoB,GAAG,EAAE,CAAA,CAAC,OAAO;AAIvC;;;;;GAKG;AACI,MAAM,8BAA8B,GAAG,CAC5C,wBAAmC,EACxB,EAAE;IACb,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAExD,IAAI,CAAC,IAAA,kBAAO,EAAC,aAAa,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAA;IAEpD,8CAA8C;IAC9C,IAAI,mBAAmB,GAAG,sBAAsB,EAAE;QAChD,OAAO,IAAA,oBAAS,EACd,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC,CAC5D,CAAA;KACF;IACD,6CAA6C;SACxC,IAAI,mBAAmB,IAAI,oBAAoB,EAAE;QACpD,OAAO,IAAA,oBAAS,EACd,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,IAAA,kBAAO,EAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CACxE,CAAA;KACF;IACD,sDAAsD;IACtD,OAAO,IAAA,oBAAS,EAAC,aAAa,CAAC,CAAA;AACjC,CAAC,CAAA;AAzBY,QAAA,8BAA8B,kCAyB1C"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getNextDateWithinBusinessHours_1 = require("./getNextDateWithinBusinessHours"); // Adjust the import path as necessary
4
+ const date_fns_1 = require("date-fns");
5
+ describe('getNextDateWithinBusinessHours', () => {
6
+ it('returns should throw an error when reference date is not a valid ISO8601 date', () => {
7
+ const mockDateString = 'hello';
8
+ expect(() => {
9
+ (0, getNextDateWithinBusinessHours_1.getNextDateWithinBusinessHours)(mockDateString);
10
+ }).toThrowError();
11
+ });
12
+ it('returns the current date in ISO format if that date is within working hours', () => {
13
+ const mockDate = (0, date_fns_1.setHours)((0, date_fns_1.startOfDay)(new Date()), 10); // 10 AM is within working hours
14
+ const mockDateString = (0, date_fns_1.formatISO)(mockDate);
15
+ expect((0, getNextDateWithinBusinessHours_1.getNextDateWithinBusinessHours)(mockDateString)).toEqual((0, date_fns_1.formatISO)(mockDate));
16
+ });
17
+ it('returns the next day at 9 AM in ISO format when the date is after working hours', () => {
18
+ const mockDate = (0, date_fns_1.setHours)((0, date_fns_1.startOfDay)(new Date()), 18); // 6 PM is after working hours
19
+ const mockDateString = (0, date_fns_1.formatISO)(mockDate);
20
+ const expectedDate = (0, date_fns_1.setHours)((0, date_fns_1.startOfDay)((0, date_fns_1.addDays)(mockDate, 1)), 9);
21
+ expect((0, getNextDateWithinBusinessHours_1.getNextDateWithinBusinessHours)(mockDateString)).toEqual((0, date_fns_1.formatISO)(expectedDate));
22
+ });
23
+ it('returns today at 9 AM in ISO format when the date is before working hours', () => {
24
+ const mockDate = (0, date_fns_1.setHours)((0, date_fns_1.startOfDay)(new Date()), 8); // 8 AM is before working hours
25
+ const mockDateString = (0, date_fns_1.formatISO)(mockDate);
26
+ const expectedDate = (0, date_fns_1.setHours)((0, date_fns_1.startOfDay)(mockDate), 9); // Should return 9 AM of the same day
27
+ expect((0, getNextDateWithinBusinessHours_1.getNextDateWithinBusinessHours)(mockDateString)).toEqual((0, date_fns_1.formatISO)(expectedDate));
28
+ });
29
+ });
30
+ //# sourceMappingURL=getNextDateWithinBusinessHours.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNextDateWithinBusinessHours.test.js","sourceRoot":"","sources":["../../../../src/utils/getNextDateWithinBusinessHours/getNextDateWithinBusinessHours.test.ts"],"names":[],"mappings":";;AAAA,qFAAiF,CAAC,sCAAsC;AACxH,uCAAmE;AAEnE,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,cAAc,GAAG,OAAO,CAAA;QAE9B,MAAM,CAAC,GAAG,EAAE;YACV,IAAA,+DAA8B,EAAC,cAAc,CAAC,CAAA;QAChD,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,gCAAgC;QACtF,MAAM,cAAc,GAAG,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAA;QAE1C,MAAM,CAAC,IAAA,+DAA8B,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAC5D,IAAA,oBAAS,EAAC,QAAQ,CAAC,CACpB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,8BAA8B;QACpF,MAAM,cAAc,GAAG,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,IAAA,kBAAO,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAElE,MAAM,CAAC,IAAA,+DAA8B,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAC5D,IAAA,oBAAS,EAAC,YAAY,CAAC,CACxB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,+BAA+B;QACpF,MAAM,cAAc,GAAG,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAA,mBAAQ,EAAC,IAAA,qBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,qCAAqC;QAE5F,MAAM,CAAC,IAAA,+DAA8B,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAC5D,IAAA,oBAAS,EAAC,YAAY,CAAC,CACxB,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { getNextDateWithinBusinessHours } from './getNextDateWithinBusinessHours';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextDateWithinBusinessHours = void 0;
4
+ var getNextDateWithinBusinessHours_1 = require("./getNextDateWithinBusinessHours");
5
+ Object.defineProperty(exports, "getNextDateWithinBusinessHours", { enumerable: true, get: function () { return getNextDateWithinBusinessHours_1.getNextDateWithinBusinessHours; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/getNextDateWithinBusinessHours/index.ts"],"names":[],"mappings":";;;AAAA,mFAAiF;AAAxE,gJAAA,8BAA8B,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "1.0.220",
3
+ "version": "1.0.222",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {
@@ -89,6 +89,7 @@
89
89
  "messagebird": "^4.0.1",
90
90
  "node-fetch": "2",
91
91
  "openai": "^3.2.1",
92
+ "puppeteer": "^22.6.1",
92
93
  "showdown": "^2.1.0",
93
94
  "twilio": "^4.8.0",
94
95
  "xml2js": "^0.6.2",
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../extensions/athenahealth/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAwD;AACxD,8CAAmB;AACnB,yCAA8C;AAC9C,yCAAqD;AAW9C,MAAM,8BAA8B,GAA4B,KAAK,EAAE,EAC5E,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EACJ,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAChE,MAAM,EACN,QAAQ,GACT,GAAG,IAAA,0BAAQ,EAAC;QACX,MAAM,EAAE,aAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,mCAAwB;SACnC,CAAC;QACF,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC;QACjC,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE;YACb,SAAS;YACT,aAAa;YACb,KAAK;SACN;QACD,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC,CAAA;AA3BY,QAAA,8BAA8B,kCA2B1C"}