@awell-health/awell-extensions 1.0.55 → 1.0.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/extensions/calDotCom/index.js +2 -0
- package/dist/extensions/calDotCom/index.js.map +1 -1
- package/dist/extensions/calDotCom/types.d.ts +13 -0
- package/dist/extensions/calDotCom/types.js +10 -0
- package/dist/extensions/calDotCom/types.js.map +1 -0
- package/dist/extensions/calDotCom/webhooks/bookingCancelled.d.ts +15 -0
- package/dist/extensions/calDotCom/webhooks/bookingCancelled.js +33 -0
- package/dist/extensions/calDotCom/webhooks/bookingCancelled.js.map +1 -0
- package/dist/extensions/calDotCom/webhooks/bookingCreated.d.ts +15 -0
- package/dist/extensions/calDotCom/webhooks/bookingCreated.js +33 -0
- package/dist/extensions/calDotCom/webhooks/bookingCreated.js.map +1 -0
- package/dist/extensions/calDotCom/webhooks/bookingRescheduled.d.ts +15 -0
- package/dist/extensions/calDotCom/webhooks/bookingRescheduled.js +33 -0
- package/dist/extensions/calDotCom/webhooks/bookingRescheduled.js.map +1 -0
- package/dist/extensions/calDotCom/webhooks/index.d.ts +4 -0
- package/dist/extensions/calDotCom/webhooks/index.js +8 -0
- package/dist/extensions/calDotCom/webhooks/index.js.map +1 -0
- package/dist/extensions/markdown.json +2 -2
- package/package.json +1 -1
@@ -4,6 +4,7 @@ exports.CalDotCom = void 0;
|
|
4
4
|
const extensions_core_1 = require("@awell-health/extensions-core");
|
5
5
|
const actions_1 = require("./actions");
|
6
6
|
const settings_1 = require("./settings");
|
7
|
+
const webhooks_1 = require("./webhooks");
|
7
8
|
exports.CalDotCom = {
|
8
9
|
key: 'calDotCom',
|
9
10
|
title: 'Cal.com',
|
@@ -17,6 +18,7 @@ exports.CalDotCom = {
|
|
17
18
|
bookAppointment: actions_1.bookAppointment,
|
18
19
|
getBooking: actions_1.getBooking,
|
19
20
|
},
|
21
|
+
webhooks: webhooks_1.webhooks,
|
20
22
|
settings: settings_1.settings,
|
21
23
|
};
|
22
24
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/calDotCom/index.ts"],"names":[],"mappings":";;;AACA,mEAAoE;AACpE,uCAAuD;AACvD,yCAAqC;AAExB,QAAA,SAAS,GAAc;IAClC,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,0BAA0B;IACpC,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,0BAAQ,CAAC,UAAU;IAC7B,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,GAAG;KAC3B;IACD,OAAO,EAAE;QACP,eAAe,EAAf,yBAAe;QACf,UAAU,EAAV,oBAAU;KACX;IACD,QAAQ,EAAR,mBAAQ;CACT,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/calDotCom/index.ts"],"names":[],"mappings":";;;AACA,mEAAoE;AACpE,uCAAuD;AACvD,yCAAqC;AACrC,yCAAqC;AAExB,QAAA,SAAS,GAAc;IAClC,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,0BAA0B;IACpC,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,0BAAQ,CAAC,UAAU;IAC7B,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,GAAG;KAC3B;IACD,OAAO,EAAE;QACP,eAAe,EAAf,yBAAe;QACf,UAAU,EAAV,oBAAU;KACX;IACD,QAAQ,EAAR,mBAAQ;IACR,QAAQ,EAAR,mBAAQ;CACT,CAAA"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare enum TriggerEvent {
|
2
|
+
BOOKING_CREATED = "BOOKING_CREATED",
|
3
|
+
BOOKING_CANCELLED = "BOOKING_CANCELLED",
|
4
|
+
BOOKING_RESCHEDULED = "BOOKING_RESCHEDULED"
|
5
|
+
}
|
6
|
+
export interface CalComWebhookPayload {
|
7
|
+
triggerEvent: TriggerEvent;
|
8
|
+
createdAt: string;
|
9
|
+
payload: {
|
10
|
+
uid: string;
|
11
|
+
bookingId: number;
|
12
|
+
};
|
13
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TriggerEvent = void 0;
|
4
|
+
var TriggerEvent;
|
5
|
+
(function (TriggerEvent) {
|
6
|
+
TriggerEvent["BOOKING_CREATED"] = "BOOKING_CREATED";
|
7
|
+
TriggerEvent["BOOKING_CANCELLED"] = "BOOKING_CANCELLED";
|
8
|
+
TriggerEvent["BOOKING_RESCHEDULED"] = "BOOKING_RESCHEDULED";
|
9
|
+
})(TriggerEvent = exports.TriggerEvent || (exports.TriggerEvent = {}));
|
10
|
+
//# sourceMappingURL=types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../extensions/calDotCom/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mDAAmC,CAAA;IACnC,uDAAuC,CAAA;IACvC,2DAA2C,CAAA;AAC7C,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { type Webhook } from '@awell-health/extensions-core';
|
2
|
+
import { type CalComWebhookPayload } from '../types';
|
3
|
+
declare const dataPoints: {
|
4
|
+
bookingId: {
|
5
|
+
key: string;
|
6
|
+
valueType: "string";
|
7
|
+
};
|
8
|
+
bookingUid: {
|
9
|
+
key: string;
|
10
|
+
valueType: "string";
|
11
|
+
};
|
12
|
+
};
|
13
|
+
export declare const bookingCancelled: Webhook<keyof typeof dataPoints, CalComWebhookPayload>;
|
14
|
+
export type BookingCancelled = typeof bookingCancelled;
|
15
|
+
export {};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.bookingCancelled = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const dataPoints = {
|
6
|
+
bookingId: {
|
7
|
+
key: 'bookingId',
|
8
|
+
valueType: 'string',
|
9
|
+
},
|
10
|
+
bookingUid: {
|
11
|
+
key: 'bookingUid',
|
12
|
+
valueType: 'string',
|
13
|
+
},
|
14
|
+
};
|
15
|
+
exports.bookingCancelled = {
|
16
|
+
key: 'bookingCancelled',
|
17
|
+
dataPoints,
|
18
|
+
onWebhookReceived: async ({ payload, settings }, onSuccess, onError) => {
|
19
|
+
const { payload: { bookingId, uid }, } = payload;
|
20
|
+
if ((0, lodash_1.isNil)(bookingId) || (0, lodash_1.isNil)(uid)) {
|
21
|
+
await onError({
|
22
|
+
// We should automatically send a 400 here, so no need to provide info
|
23
|
+
});
|
24
|
+
}
|
25
|
+
await onSuccess({
|
26
|
+
data_points: {
|
27
|
+
bookingId: String(bookingId),
|
28
|
+
bookingUid: uid,
|
29
|
+
},
|
30
|
+
});
|
31
|
+
},
|
32
|
+
};
|
33
|
+
//# sourceMappingURL=bookingCancelled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bookingCancelled.js","sourceRoot":"","sources":["../../../../extensions/calDotCom/webhooks/bookingCancelled.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAO9B,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,gBAAgB,GAGzB;IACF,GAAG,EAAE,kBAAkB;IACvB,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACrE,MAAM,EACJ,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAC5B,GAAG,OAAO,CAAA;QAEX,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YAClC,MAAM,OAAO,CAAC;YACZ,sEAAsE;aACvE,CAAC,CAAA;SACH;QAED,MAAM,SAAS,CAAC;YACd,WAAW,EAAE;gBACX,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC5B,UAAU,EAAE,GAAG;aAChB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { type Webhook } from '@awell-health/extensions-core';
|
2
|
+
import { type CalComWebhookPayload } from '../types';
|
3
|
+
declare const dataPoints: {
|
4
|
+
bookingId: {
|
5
|
+
key: string;
|
6
|
+
valueType: "string";
|
7
|
+
};
|
8
|
+
bookingUid: {
|
9
|
+
key: string;
|
10
|
+
valueType: "string";
|
11
|
+
};
|
12
|
+
};
|
13
|
+
export declare const bookingCreated: Webhook<keyof typeof dataPoints, CalComWebhookPayload>;
|
14
|
+
export type BookingCreated = typeof bookingCreated;
|
15
|
+
export {};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.bookingCreated = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const dataPoints = {
|
6
|
+
bookingId: {
|
7
|
+
key: 'bookingId',
|
8
|
+
valueType: 'string',
|
9
|
+
},
|
10
|
+
bookingUid: {
|
11
|
+
key: 'bookingUid',
|
12
|
+
valueType: 'string',
|
13
|
+
},
|
14
|
+
};
|
15
|
+
exports.bookingCreated = {
|
16
|
+
key: 'bookingCreated',
|
17
|
+
dataPoints,
|
18
|
+
onWebhookReceived: async ({ payload, settings }, onSuccess, onError) => {
|
19
|
+
const { payload: { bookingId, uid }, } = payload;
|
20
|
+
if ((0, lodash_1.isNil)(bookingId) || (0, lodash_1.isNil)(uid)) {
|
21
|
+
await onError({
|
22
|
+
// We should automatically send a 400 here, so no need to provide info
|
23
|
+
});
|
24
|
+
}
|
25
|
+
await onSuccess({
|
26
|
+
data_points: {
|
27
|
+
bookingId: String(bookingId),
|
28
|
+
bookingUid: uid,
|
29
|
+
},
|
30
|
+
});
|
31
|
+
},
|
32
|
+
};
|
33
|
+
//# sourceMappingURL=bookingCreated.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bookingCreated.js","sourceRoot":"","sources":["../../../../extensions/calDotCom/webhooks/bookingCreated.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAO9B,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,cAAc,GAGvB;IACF,GAAG,EAAE,gBAAgB;IACrB,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACrE,MAAM,EACJ,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAC5B,GAAG,OAAO,CAAA;QAEX,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YAClC,MAAM,OAAO,CAAC;YACZ,sEAAsE;aACvE,CAAC,CAAA;SACH;QAED,MAAM,SAAS,CAAC;YACd,WAAW,EAAE;gBACX,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC5B,UAAU,EAAE,GAAG;aAChB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { type Webhook } from '@awell-health/extensions-core';
|
2
|
+
import { type CalComWebhookPayload } from '../types';
|
3
|
+
declare const dataPoints: {
|
4
|
+
bookingId: {
|
5
|
+
key: string;
|
6
|
+
valueType: "string";
|
7
|
+
};
|
8
|
+
bookingUid: {
|
9
|
+
key: string;
|
10
|
+
valueType: "string";
|
11
|
+
};
|
12
|
+
};
|
13
|
+
export declare const bookingRescheduled: Webhook<keyof typeof dataPoints, CalComWebhookPayload>;
|
14
|
+
export type BookingRescheduled = typeof bookingRescheduled;
|
15
|
+
export {};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.bookingRescheduled = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const dataPoints = {
|
6
|
+
bookingId: {
|
7
|
+
key: 'bookingId',
|
8
|
+
valueType: 'string',
|
9
|
+
},
|
10
|
+
bookingUid: {
|
11
|
+
key: 'bookingUid',
|
12
|
+
valueType: 'string',
|
13
|
+
},
|
14
|
+
};
|
15
|
+
exports.bookingRescheduled = {
|
16
|
+
key: 'bookingRescheduled',
|
17
|
+
dataPoints,
|
18
|
+
onWebhookReceived: async ({ payload, settings }, onSuccess, onError) => {
|
19
|
+
const { payload: { bookingId, uid }, } = payload;
|
20
|
+
if ((0, lodash_1.isNil)(bookingId) || (0, lodash_1.isNil)(uid)) {
|
21
|
+
await onError({
|
22
|
+
// We should automatically send a 400 here, so no need to provide info
|
23
|
+
});
|
24
|
+
}
|
25
|
+
await onSuccess({
|
26
|
+
data_points: {
|
27
|
+
bookingId: String(bookingId),
|
28
|
+
bookingUid: uid,
|
29
|
+
},
|
30
|
+
});
|
31
|
+
},
|
32
|
+
};
|
33
|
+
//# sourceMappingURL=bookingRescheduled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bookingRescheduled.js","sourceRoot":"","sources":["../../../../extensions/calDotCom/webhooks/bookingRescheduled.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAO9B,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,kBAAkB,GAG3B;IACF,GAAG,EAAE,oBAAoB;IACzB,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACrE,MAAM,EACJ,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAC5B,GAAG,OAAO,CAAA;QAEX,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YAClC,MAAM,OAAO,CAAC;YACZ,sEAAsE;aACvE,CAAC,CAAA;SACH;QAED,MAAM,SAAS,CAAC;YACd,WAAW,EAAE;gBACX,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC5B,UAAU,EAAE,GAAG;aAChB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export type { BookingCreated } from './bookingCreated';
|
2
|
+
export type { BookingCancelled } from './bookingCancelled';
|
3
|
+
export type { BookingRescheduled } from './bookingRescheduled';
|
4
|
+
export declare const webhooks: import("@awell-health/extensions-core").Webhook<"bookingId" | "bookingUid", import("../types").CalComWebhookPayload>[];
|
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.webhooks = void 0;
|
4
|
+
const bookingCreated_1 = require("./bookingCreated");
|
5
|
+
const bookingCancelled_1 = require("./bookingCancelled");
|
6
|
+
const bookingRescheduled_1 = require("./bookingRescheduled");
|
7
|
+
exports.webhooks = [bookingCreated_1.bookingCreated, bookingCancelled_1.bookingCancelled, bookingRescheduled_1.bookingRescheduled];
|
8
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/calDotCom/webhooks/index.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AACjD,yDAAqD;AACrD,6DAAyD;AAK5C,QAAA,QAAQ,GAAG,CAAC,+BAAc,EAAE,mCAAgB,EAAE,uCAAkB,CAAC,CAAA"}
|
@@ -8,7 +8,7 @@
|
|
8
8
|
"changelog": "# Awell changelog\n\n## April 19, 2023\n\nStop care flow action added.\nSearch patients by patient code action was added.\n\"Is patient enrolled in care flow\" action added.\n"
|
9
9
|
},
|
10
10
|
"calDotCom": {
|
11
|
-
"readme": "---\ntitle: Cal.com\ndescription: Cal.com is a modern and open source scheduling platform. With HIPAA, GDPR and SOC2 compliance, you can ensure that data is well-protected and that makes Cal.com a great fit for healthcare use cases.\n---\n# Cal.com\n\n[Cal.com](https://cal.com/) is a modern and **open source** scheduling platform. With HIPAA, GDPR and SOC2 compliance, you can ensure that data is well-protected and that makes Cal.com a great fit for healthcare use cases.\n## Cal.com x Awell\n\nThis extension allows you to let a stakeholder (eg: a patient) book an appointment as part of a care flow and to retrieve the booking details of an appointment.\n\n## Extension settings\n\nIn order to set up this extension, **you will need to provide a Cal.com API key**. You can obtain an API key via the Cal.com portal (`Settings > Developer > API keys`).\n\n## Custom Actions\n\n### Book appointment action\n\nYou can add this action to your care flow to enable a stakeholder (eg: a patient) to book an appointment in a predefined calendar. This is a **stakeholder-actionable action** which means it requires an actual user to book an appointment. Also note that this is a blocking action and that the care flow will not progress - unless there are parallel tracks or transitions - until the action/activity is completed (i.e. an appointment was booked).\n\n**The actual booking of the appointment can happen in two ways:**\n\n1. With Awell Hosted Pages: when the \"Book appointment\" action is activated, we serve the booking widget to the stakeholder so they can book an appointment directly from within Awell Hosted Pages.\n2. If you are not leveraging Awell Hosted Pages but have built a custom integration then we expose you all the details via our API so you can either create a Cal.com booking widget yourself or redirect the user to the Cal.com platform. Additionally, we expose a mutation that allows you to complete the activity and pass in the required data.\n\nBelow you can find an overview of all Awell Apps and whether they support rendering of the booking widget.\n\n| App | Supported |\n
|
11
|
+
"readme": "---\ntitle: Cal.com\ndescription: Cal.com is a modern and open source scheduling platform. With HIPAA, GDPR and SOC2 compliance, you can ensure that data is well-protected and that makes Cal.com a great fit for healthcare use cases.\n---\n# Cal.com\n\n[Cal.com](https://cal.com/) is a modern and **open source** scheduling platform. With HIPAA, GDPR and SOC2 compliance, you can ensure that data is well-protected and that makes Cal.com a great fit for healthcare use cases.\n\n## Cal.com x Awell\n\nThis extension allows you to let a stakeholder (eg: a patient) book an appointment as part of a care flow and to retrieve the booking details of an appointment.\n\n## Extension settings\n\nIn order to set up this extension, **you will need to provide a Cal.com API key**. You can obtain an API key via the Cal.com portal (`Settings > Developer > API keys`).\n\n## Custom Actions\n\n### Book appointment action\n\nYou can add this action to your care flow to enable a stakeholder (eg: a patient) to book an appointment in a predefined calendar. This is a **stakeholder-actionable action** which means it requires an actual user to book an appointment. Also note that this is a blocking action and that the care flow will not progress - unless there are parallel tracks or transitions - until the action/activity is completed (i.e. an appointment was booked).\n\n**The actual booking of the appointment can happen in two ways:**\n\n1. With Awell Hosted Pages: when the \"Book appointment\" action is activated, we serve the booking widget to the stakeholder so they can book an appointment directly from within Awell Hosted Pages.\n2. If you are not leveraging Awell Hosted Pages but have built a custom integration then we expose you all the details via our API so you can either create a Cal.com booking widget yourself or redirect the user to the Cal.com platform. Additionally, we expose a mutation that allows you to complete the activity and pass in the required data.\n\nBelow you can find an overview of all Awell Apps and whether they support rendering of the booking widget.\n\n| App | Supported |\n| ----------------------------- | --------- |\n| Awell Hosted Pages | Yes |\n| Your app (custom integration) | Yes |\n| Awell Care | No |\n| Awell MyCare | No |\n\n#### Data points\n\nAdding this action to your care flow will expose a new data point you can use in your care flow, the `bookingId`. When the care flow is orchestrated and the book appointment activity is completed, the id of the actual booking will be ingested as the value of that `bookingId` data point.\n\n### Get booking action\n\nThis action allows you to fetch the details of a booking based on the provided `bookingId`. This action will make the following data points available for you to use in your care flow:\n\n1. Event type ID\n2. Title\n3. Description\n4. Start time\n5. End time\n6. Status\n7. Cancel URL\n8. Reschedule URL\n\n## Pricing\n\n**This extension is free** but keep in mind that you might need a paid plan for Cal.com depending on your needs.\n\n## Limitations\n\n### Rescheduling\n\nWhen a previously made booking is rescheduled, there is no way yet to get the new/updated booking details into the care flow or have the care flow react on the updated booking.\n\nAlso note that when a booking is rescheduled, Cal.com doesn't update the original booking resource but creates a new one instead. As far as we know, there is no reference from the old booking to the new (rescheduled) booking.\n\n#### Example\n\nAn appointment has been booked with Cal.com and we have the below booking resource:\n\n```json\n{\n ...,\n \"bookingId\": \"1\",\n \"date\": \"Jan 1, 2023\"\n}\n```\n\nHowever, the patient reschedules the booking to Jan 10, 2023. When querying Cal.com's API (`GET v1/bookings/{bookingId}`), it will still return the old booking date instead of the new/rescheduled date.\n\n```json\n{\n ...,\n \"bookingId\": \"1\",\n \"date\": \"Jan 1, 2023\"\n}\n```\n\n## Webhooks\n\nWebhooks offer a great way to automate the flow with Awell when invitees schedule, cancel, or reschedule events, or when the meeting ends.\n\n**Important notes:**\n\n1. An Awell webhook endpoint can only listen to one event type. So make sure that when you create a webhook in Cal.com, the subscriber URL and the event trigger match the Awell webhook endpoint. This also means there can only be one event type per subscriber URL.\n2. Using a secret to verify the authenticity of the received payload is not yet supported.\n3. Custom payload templates are not supported, please use the default ones.\n",
|
12
12
|
"changelog": "# Cal.com changelog\n\n## July 4, 2023\n\n- Get booking action: add validation that bookingId and apiKey are not empty\n- Get booking action: add validation of response data to make sure we have data points\n\n## April 27, 2023\n\n- Get booking action: `startTime` and `endTime` data points are now of value type `date` instead of `string`.\n"
|
13
13
|
},
|
14
14
|
"cloudinary": {
|
@@ -28,7 +28,7 @@
|
|
28
28
|
"changelog": "# Dropbox Sign changelog"
|
29
29
|
},
|
30
30
|
"elation": {
|
31
|
-
"readme": "---\ntitle: Elation
|
31
|
+
"readme": "---\ntitle: Elation\ndescription: Elation is a cloud-based health record system designed for healthcare providers, clinics, and medical practices.\n---\n# Elation\n\nElation is a cloud-based health record system designed for healthcare providers, clinics, and medical practices. It offers a range of features including patient scheduling, charting, e-prescribing, billing, and telemedicine. Overall, Elation is designed to streamline the workflow of medical practices, improve patient care, and increase efficiency.\n\n## Extension settings\n\nIn order to use this extension you will need to provide the extension with the following settings:\n\n- Base URL / endpoint URL of the API\n- Authorization URL\n- Client ID for OAuth2 Password authentication\n- Client Secret for OAuth2 Password authentication\n- API Username for OAuth2 Password authentication\n- API Password for OAuth2 Password authentication\n\n## Actions\n\nThe following actions are supported with Elation today:\n\n### Create Patient\n\nCreate a patient in the EHR. **Does not look for duplicates**\n\nRequired fields include:\n- First Name\n- Last Name\n- Date of Birth (YYYY-MM-DD)\n- Sex (Male, Female, Other, Unknown)\n- Primary Physician (the ID of the physician, which you will be able to retrieve using the [Find Physicians](https://docs.elationhealth.com/reference/find-physicians) API call, or by using the `Find Physician` action)\n- Caregiver Practice (the ID of the practice. Again, you can find using the same API call or action as listed above)\n\nThere are also a number of optional fields.\n\n**NOTE: We currently do not support nested objects, so the entire patient object supported by elation's API is not yet exposed**. Please reach out to us if you're looking to add a particular field or set of fields.\n\n### Get Patient\n\nUsing a patient identifier, get a patient object that has all datapoints listed above in `Create Patient`.\n\n**NOTE: Because we don't yet support nested objects and arrays in extensions, we expose specifically the `mobile_phone` field, which is a search for the patient's mobile phone specifically.**\n\n### Update Patient\n\nUpdate a patient using any fields available in create patient.\n\nOddly enough, the following fields are always required by Elation:\n- first_name\n- last_name\n- dob\n- sex\n- primary_physician\n- caregiver_practice\n\n\n\n### Create Appointment\n\nCreate a patient appointment in your EHR for a given practice and physician.\n\nCreating an appointment requires a few strings to be well-formulated:\n- `Scheduled date` must be a datetime string (ISO-8601). For example, January 1, 2023 at noon, Pacific Time (-8 hours) would be shown as such: `2023-01-01T12:00:00.000-08:00`\n- `Reason` must not be free text. This value comes from the following list of appointment types (`Follow-Up`, `Office Visit`, `Physical Exam`, etc.):\n\n- `Patient` is the patient ID.\n- `Physician` is the physician ID (see `Find Physician`)\n- `Practice` is the practice ID (again, see `Find Physician`)\n\nYou can also include a duration (default to 15 minutes, or whatever has been set in your EHR)\n\n### Get Appointment\n\nGet an appointment using an appointment ID. View all of the fields supported by the API.\n\n### Create Non-Visit Note\n\nThe non-visit note is a special kind of note that, as the name suggests, is not associated with a visit. These notes, in their simplest form, provide a chronological account of information about the patient.\n\n### Update Non-Visit Note\n\nUpdates the non-visit note identified by an ID. Only ID is required by default, however editing any of `text`, `author` or `category` requires `Bullet ID` and both `text` and `author` to be provided.\n\n### Delete Non-Visit Note\n\nDeletes the non-visit note identified by an ID.\n\n### Get Non-Visit Note\n\nGets the non-visit note identified by an ID. Fields are saved as data points:\n- `authorId`\n- `text`\n- `chartDate`\n- `documentDate`\n- `patientId`\n- `practiceId`\n- `tags` (comma-separated list)",
|
32
32
|
"changelog": "# Elation Changelog\n"
|
33
33
|
},
|
34
34
|
"formsort": {
|