@awell-health/awell-extensions 1.0.184 → 1.0.187

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/addDocumentToPatientChart.d.ts +4 -0
  2. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/addDocumentToPatientChart.js +24 -0
  3. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/addDocumentToPatientChart.js.map +1 -0
  4. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/addDocumentToPatientChart.test.d.ts +1 -0
  5. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/addDocumentToPatientChart.test.js +31 -0
  6. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/addDocumentToPatientChart.test.js.map +1 -0
  7. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/datapoints.d.ts +1 -0
  8. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/datapoints.js +5 -0
  9. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/datapoints.js.map +1 -0
  10. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/fields.d.ts +68 -0
  11. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/fields.js +61 -0
  12. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/fields.js.map +1 -0
  13. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/index.d.ts +2 -0
  14. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/index.js +9 -0
  15. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/config/index.js.map +1 -0
  16. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/index.d.ts +1 -0
  17. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/index.js +6 -0
  18. package/dist/extensions/athenahealth/actions/addDocumentToPatientChart/index.js.map +1 -0
  19. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/addProblemToPatientChart.d.ts +4 -0
  20. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/addProblemToPatientChart.js +24 -0
  21. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/addProblemToPatientChart.js.map +1 -0
  22. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/addProblemToPatientChart.test.d.ts +1 -0
  23. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/addProblemToPatientChart.test.js +29 -0
  24. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/addProblemToPatientChart.test.js.map +1 -0
  25. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/datapoints.d.ts +1 -0
  26. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/datapoints.js +5 -0
  27. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/datapoints.js.map +1 -0
  28. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/fields.d.ts +48 -0
  29. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/fields.js +45 -0
  30. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/fields.js.map +1 -0
  31. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/index.d.ts +2 -0
  32. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/index.js +9 -0
  33. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/config/index.js.map +1 -0
  34. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/index.d.ts +1 -0
  35. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/index.js +6 -0
  36. package/dist/extensions/athenahealth/actions/addProblemToPatientChart/index.js.map +1 -0
  37. package/dist/extensions/athenahealth/actions/cancelAppointment/cancelAppointment.d.ts +4 -0
  38. package/dist/extensions/athenahealth/actions/cancelAppointment/cancelAppointment.js +24 -0
  39. package/dist/extensions/athenahealth/actions/cancelAppointment/cancelAppointment.js.map +1 -0
  40. package/dist/extensions/athenahealth/actions/cancelAppointment/cancelAppointment.test.d.ts +1 -0
  41. package/dist/extensions/athenahealth/actions/cancelAppointment/cancelAppointment.test.js +27 -0
  42. package/dist/extensions/athenahealth/actions/cancelAppointment/cancelAppointment.test.js.map +1 -0
  43. package/dist/extensions/athenahealth/actions/cancelAppointment/config/datapoints.d.ts +1 -0
  44. package/dist/extensions/athenahealth/actions/cancelAppointment/config/datapoints.js +5 -0
  45. package/dist/extensions/athenahealth/actions/cancelAppointment/config/datapoints.js.map +1 -0
  46. package/dist/extensions/athenahealth/actions/cancelAppointment/config/fields.d.ts +28 -0
  47. package/dist/extensions/athenahealth/actions/cancelAppointment/config/fields.js +29 -0
  48. package/dist/extensions/athenahealth/actions/cancelAppointment/config/fields.js.map +1 -0
  49. package/dist/extensions/athenahealth/actions/cancelAppointment/config/index.d.ts +2 -0
  50. package/dist/extensions/athenahealth/actions/cancelAppointment/config/index.js +9 -0
  51. package/dist/extensions/athenahealth/actions/cancelAppointment/config/index.js.map +1 -0
  52. package/dist/extensions/athenahealth/actions/cancelAppointment/index.d.ts +1 -0
  53. package/dist/extensions/athenahealth/actions/cancelAppointment/index.js +6 -0
  54. package/dist/extensions/athenahealth/actions/cancelAppointment/index.js.map +1 -0
  55. package/dist/extensions/athenahealth/actions/getAppointment/config/datapoints.d.ts +22 -0
  56. package/dist/extensions/athenahealth/actions/getAppointment/config/datapoints.js +26 -0
  57. package/dist/extensions/athenahealth/actions/getAppointment/config/datapoints.js.map +1 -0
  58. package/dist/extensions/athenahealth/actions/getAppointment/config/fields.d.ts +28 -0
  59. package/dist/extensions/athenahealth/actions/getAppointment/config/fields.js +29 -0
  60. package/dist/extensions/athenahealth/actions/getAppointment/config/fields.js.map +1 -0
  61. package/dist/extensions/athenahealth/actions/getAppointment/config/index.d.ts +2 -0
  62. package/dist/extensions/athenahealth/actions/getAppointment/config/index.js +9 -0
  63. package/dist/extensions/athenahealth/actions/getAppointment/config/index.js.map +1 -0
  64. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.d.ts +4 -0
  65. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.js +32 -0
  66. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.js.map +1 -0
  67. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.test.d.ts +1 -0
  68. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.test.js +35 -0
  69. package/dist/extensions/athenahealth/actions/getAppointment/getAppointment.test.js.map +1 -0
  70. package/dist/extensions/athenahealth/actions/getAppointment/index.d.ts +1 -0
  71. package/dist/extensions/athenahealth/actions/getAppointment/index.js +6 -0
  72. package/dist/extensions/athenahealth/actions/getAppointment/index.js.map +1 -0
  73. package/dist/extensions/athenahealth/actions/getPatient/config/datapoints.d.ts +18 -0
  74. package/dist/extensions/athenahealth/actions/getPatient/config/datapoints.js +22 -0
  75. package/dist/extensions/athenahealth/actions/getPatient/config/datapoints.js.map +1 -0
  76. package/dist/extensions/athenahealth/actions/getPatient/config/fields.d.ts +28 -0
  77. package/dist/extensions/athenahealth/actions/getPatient/config/fields.js +29 -0
  78. package/dist/extensions/athenahealth/actions/getPatient/config/fields.js.map +1 -0
  79. package/dist/extensions/athenahealth/actions/getPatient/config/index.d.ts +2 -0
  80. package/dist/extensions/athenahealth/actions/getPatient/config/index.js +9 -0
  81. package/dist/extensions/athenahealth/actions/getPatient/config/index.js.map +1 -0
  82. package/dist/extensions/athenahealth/actions/getPatient/getPatient.d.ts +4 -0
  83. package/dist/extensions/athenahealth/actions/getPatient/getPatient.js +33 -0
  84. package/dist/extensions/athenahealth/actions/getPatient/getPatient.js.map +1 -0
  85. package/dist/extensions/athenahealth/actions/getPatient/getPatient.test.d.ts +1 -0
  86. package/dist/extensions/athenahealth/actions/getPatient/getPatient.test.js +34 -0
  87. package/dist/extensions/athenahealth/actions/getPatient/getPatient.test.js.map +1 -0
  88. package/dist/extensions/athenahealth/actions/getPatient/index.d.ts +1 -0
  89. package/dist/extensions/athenahealth/actions/getPatient/index.js +6 -0
  90. package/dist/extensions/athenahealth/actions/getPatient/index.js.map +1 -0
  91. package/dist/extensions/athenahealth/actions/index.d.ts +305 -0
  92. package/dist/extensions/athenahealth/actions/index.js +16 -0
  93. package/dist/extensions/athenahealth/actions/index.js.map +1 -0
  94. package/dist/extensions/athenahealth/api/cacheService.d.ts +11 -0
  95. package/dist/extensions/athenahealth/api/cacheService.js +15 -0
  96. package/dist/extensions/athenahealth/api/cacheService.js.map +1 -0
  97. package/dist/extensions/athenahealth/api/client.d.ts +21 -0
  98. package/dist/extensions/athenahealth/api/client.js +31 -0
  99. package/dist/extensions/athenahealth/api/client.js.map +1 -0
  100. package/dist/extensions/athenahealth/helpers.d.ts +11 -0
  101. package/dist/extensions/athenahealth/helpers.js +31 -0
  102. package/dist/extensions/athenahealth/helpers.js.map +1 -0
  103. package/dist/extensions/athenahealth/index.d.ts +2 -0
  104. package/dist/extensions/athenahealth/index.js +22 -0
  105. package/dist/extensions/athenahealth/index.js.map +1 -0
  106. package/dist/extensions/athenahealth/settings.d.ts +57 -0
  107. package/dist/extensions/athenahealth/settings.js +49 -0
  108. package/dist/extensions/athenahealth/settings.js.map +1 -0
  109. package/dist/extensions/index.js +3 -1
  110. package/dist/extensions/index.js.map +1 -1
  111. package/dist/extensions/markdown.json +5 -1
  112. package/package.json +1 -1
@@ -0,0 +1,305 @@
1
+ declare const actions: {
2
+ getPatient: import("@awell-health/extensions-core").Action<{
3
+ patientId: {
4
+ id: string;
5
+ label: string;
6
+ description: string;
7
+ type: import("@awell-health/extensions-core").FieldType.STRING;
8
+ required: true;
9
+ };
10
+ practiceId: {
11
+ id: string;
12
+ label: string;
13
+ description: string;
14
+ type: import("@awell-health/extensions-core").FieldType.STRING;
15
+ required: true;
16
+ };
17
+ }, {
18
+ auth_url: {
19
+ key: string;
20
+ label: string;
21
+ obfuscated: false;
22
+ required: true;
23
+ description: string;
24
+ };
25
+ client_id: {
26
+ key: string;
27
+ label: string;
28
+ obfuscated: true;
29
+ required: true;
30
+ description: string;
31
+ };
32
+ client_secret: {
33
+ key: string;
34
+ label: string;
35
+ obfuscated: true;
36
+ required: true;
37
+ description: string;
38
+ };
39
+ api_url: {
40
+ key: string;
41
+ label: string;
42
+ obfuscated: false;
43
+ required: true;
44
+ description: string;
45
+ };
46
+ scope: {
47
+ key: string;
48
+ label: string;
49
+ obfuscated: false;
50
+ required: true;
51
+ description: string;
52
+ };
53
+ }, "email" | "firstName" | "lastName" | "dob", never>;
54
+ getAppointment: import("@awell-health/extensions-core").Action<{
55
+ appointmentId: {
56
+ id: string;
57
+ label: string;
58
+ description: string;
59
+ type: import("@awell-health/extensions-core").FieldType.STRING;
60
+ required: true;
61
+ };
62
+ practiceId: {
63
+ id: string;
64
+ label: string;
65
+ description: string;
66
+ type: import("@awell-health/extensions-core").FieldType.STRING;
67
+ required: true;
68
+ };
69
+ }, {
70
+ auth_url: {
71
+ key: string;
72
+ label: string;
73
+ obfuscated: false;
74
+ required: true;
75
+ description: string;
76
+ };
77
+ client_id: {
78
+ key: string;
79
+ label: string;
80
+ obfuscated: true;
81
+ required: true;
82
+ description: string;
83
+ };
84
+ client_secret: {
85
+ key: string;
86
+ label: string;
87
+ obfuscated: true;
88
+ required: true;
89
+ description: string;
90
+ };
91
+ api_url: {
92
+ key: string;
93
+ label: string;
94
+ obfuscated: false;
95
+ required: true;
96
+ description: string;
97
+ };
98
+ scope: {
99
+ key: string;
100
+ label: string;
101
+ obfuscated: false;
102
+ required: true;
103
+ description: string;
104
+ };
105
+ }, "type" | "startTime" | "status" | "date" | "patientId", never>;
106
+ cancelAppointment: import("@awell-health/extensions-core").Action<{
107
+ appointmentId: {
108
+ id: string;
109
+ label: string;
110
+ description: string;
111
+ type: import("@awell-health/extensions-core").FieldType.STRING;
112
+ required: true;
113
+ };
114
+ practiceId: {
115
+ id: string;
116
+ label: string;
117
+ description: string;
118
+ type: import("@awell-health/extensions-core").FieldType.STRING;
119
+ required: true;
120
+ };
121
+ }, {
122
+ auth_url: {
123
+ key: string;
124
+ label: string;
125
+ obfuscated: false;
126
+ required: true;
127
+ description: string;
128
+ };
129
+ client_id: {
130
+ key: string;
131
+ label: string;
132
+ obfuscated: true;
133
+ required: true;
134
+ description: string;
135
+ };
136
+ client_secret: {
137
+ key: string;
138
+ label: string;
139
+ obfuscated: true;
140
+ required: true;
141
+ description: string;
142
+ };
143
+ api_url: {
144
+ key: string;
145
+ label: string;
146
+ obfuscated: false;
147
+ required: true;
148
+ description: string;
149
+ };
150
+ scope: {
151
+ key: string;
152
+ label: string;
153
+ obfuscated: false;
154
+ required: true;
155
+ description: string;
156
+ };
157
+ }, never, never>;
158
+ addProblemToPatientChart: import("@awell-health/extensions-core").Action<{
159
+ patientId: {
160
+ id: string;
161
+ label: string;
162
+ description: string;
163
+ type: import("@awell-health/extensions-core").FieldType.STRING;
164
+ required: true;
165
+ };
166
+ practiceId: {
167
+ id: string;
168
+ label: string;
169
+ description: string;
170
+ type: import("@awell-health/extensions-core").FieldType.STRING;
171
+ required: true;
172
+ };
173
+ note: {
174
+ id: string;
175
+ label: string;
176
+ description: string;
177
+ type: import("@awell-health/extensions-core").FieldType.TEXT;
178
+ required: true;
179
+ };
180
+ onsetDate: {
181
+ id: string;
182
+ label: string;
183
+ description: string;
184
+ type: import("@awell-health/extensions-core").FieldType.DATE;
185
+ required: true;
186
+ };
187
+ }, {
188
+ auth_url: {
189
+ key: string;
190
+ label: string;
191
+ obfuscated: false;
192
+ required: true;
193
+ description: string;
194
+ };
195
+ client_id: {
196
+ key: string;
197
+ label: string;
198
+ obfuscated: true;
199
+ required: true;
200
+ description: string;
201
+ };
202
+ client_secret: {
203
+ key: string;
204
+ label: string;
205
+ obfuscated: true;
206
+ required: true;
207
+ description: string;
208
+ };
209
+ api_url: {
210
+ key: string;
211
+ label: string;
212
+ obfuscated: false;
213
+ required: true;
214
+ description: string;
215
+ };
216
+ scope: {
217
+ key: string;
218
+ label: string;
219
+ obfuscated: false;
220
+ required: true;
221
+ description: string;
222
+ };
223
+ }, never, never>;
224
+ addDocumentToPatientChart: import("@awell-health/extensions-core").Action<{
225
+ patientId: {
226
+ id: string;
227
+ label: string;
228
+ description: string;
229
+ type: import("@awell-health/extensions-core").FieldType.STRING;
230
+ required: true;
231
+ };
232
+ practiceId: {
233
+ id: string;
234
+ label: string;
235
+ description: string;
236
+ type: import("@awell-health/extensions-core").FieldType.STRING;
237
+ required: true;
238
+ };
239
+ departmentId: {
240
+ id: string;
241
+ label: string;
242
+ description: string;
243
+ type: import("@awell-health/extensions-core").FieldType.STRING;
244
+ required: true;
245
+ };
246
+ actionNote: {
247
+ id: string;
248
+ label: string;
249
+ description: string;
250
+ type: import("@awell-health/extensions-core").FieldType.STRING;
251
+ required: false;
252
+ };
253
+ documentContent: {
254
+ id: string;
255
+ label: string;
256
+ description: string;
257
+ type: import("@awell-health/extensions-core").FieldType.HTML;
258
+ required: true;
259
+ };
260
+ autoClose: {
261
+ id: string;
262
+ label: string;
263
+ description: string;
264
+ type: import("@awell-health/extensions-core").FieldType.BOOLEAN;
265
+ required: true;
266
+ };
267
+ }, {
268
+ auth_url: {
269
+ key: string;
270
+ label: string;
271
+ obfuscated: false;
272
+ required: true;
273
+ description: string;
274
+ };
275
+ client_id: {
276
+ key: string;
277
+ label: string;
278
+ obfuscated: true;
279
+ required: true;
280
+ description: string;
281
+ };
282
+ client_secret: {
283
+ key: string;
284
+ label: string;
285
+ obfuscated: true;
286
+ required: true;
287
+ description: string;
288
+ };
289
+ api_url: {
290
+ key: string;
291
+ label: string;
292
+ obfuscated: false;
293
+ required: true;
294
+ description: string;
295
+ };
296
+ scope: {
297
+ key: string;
298
+ label: string;
299
+ obfuscated: false;
300
+ required: true;
301
+ description: string;
302
+ };
303
+ }, never, never>;
304
+ };
305
+ export default actions;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getPatient_1 = require("./getPatient");
4
+ const getAppointment_1 = require("./getAppointment");
5
+ const cancelAppointment_1 = require("./cancelAppointment");
6
+ const addProblemToPatientChart_1 = require("./addProblemToPatientChart");
7
+ const addDocumentToPatientChart_1 = require("./addDocumentToPatientChart");
8
+ const actions = {
9
+ getPatient: getPatient_1.getPatient,
10
+ getAppointment: getAppointment_1.getAppointment,
11
+ cancelAppointment: cancelAppointment_1.cancelAppointment,
12
+ addProblemToPatientChart: addProblemToPatientChart_1.addProblemToPatientChart,
13
+ addDocumentToPatientChart: addDocumentToPatientChart_1.addDocumentToPatientChart,
14
+ };
15
+ exports.default = actions;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,qDAAiD;AACjD,2DAAuD;AACvD,yEAAqE;AACrE,2EAAuE;AAEvE,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,uBAAU;IACV,cAAc,EAAd,+BAAc;IACd,iBAAiB,EAAjB,qCAAiB;IACjB,wBAAwB,EAAxB,mDAAwB;IACxB,yBAAyB,EAAzB,qDAAyB;CAC1B,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 cacheService: cache.InMemoryCache;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheService = 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.cacheService = new extensions_core_1.cache.InMemoryCache();
15
+ //# sourceMappingURL=cacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheService.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/api/cacheService.ts"],"names":[],"mappings":";;;AAAA,mEAAqD;AAErD;;;;;;;;GAQG;AACU,QAAA,YAAY,GAAG,IAAI,uBAAK,CAAC,aAAa,EAAE,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { APIClient, DataWrapper, type DataWrapperCtor, type OAuthGrantClientCredentialsRequest } from '@awell-health/extensions-core';
2
+ export declare class AthenaDataWrapper extends DataWrapper {
3
+ getPatient({ practiceId, patientId, }: {
4
+ practiceId: string;
5
+ patientId: string;
6
+ }): Promise<any>;
7
+ }
8
+ interface AthenaClientConstructorProps {
9
+ authUrl: string;
10
+ requestConfig: Omit<OAuthGrantClientCredentialsRequest, 'grant_type'>;
11
+ baseUrl: string;
12
+ }
13
+ export declare class AthenaAPIClient extends APIClient<AthenaDataWrapper> {
14
+ readonly ctor: DataWrapperCtor<AthenaDataWrapper>;
15
+ constructor({ authUrl, requestConfig, ...opts }: AthenaClientConstructorProps);
16
+ getPatient({ practiceId, patientId, }: {
17
+ practiceId: string;
18
+ patientId: string;
19
+ }): Promise<any>;
20
+ }
21
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AthenaAPIClient = exports.AthenaDataWrapper = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ class AthenaDataWrapper extends extensions_core_1.DataWrapper {
6
+ async getPatient({ practiceId, patientId, }) {
7
+ return await this.Request({
8
+ method: 'GET',
9
+ url: `/v1/${practiceId}/patients/${patientId}`,
10
+ });
11
+ }
12
+ }
13
+ exports.AthenaDataWrapper = AthenaDataWrapper;
14
+ class AthenaAPIClient extends extensions_core_1.APIClient {
15
+ constructor({ authUrl, requestConfig, ...opts }) {
16
+ super({
17
+ ...opts,
18
+ auth: new extensions_core_1.OAuthClientCredentials({
19
+ auth_url: authUrl,
20
+ request_config: requestConfig,
21
+ }),
22
+ });
23
+ this.ctor = (token, baseUrl) => new AthenaDataWrapper(token, baseUrl);
24
+ }
25
+ async getPatient({ practiceId, patientId, }) {
26
+ /** FetchData returns a 404 */
27
+ return await this.FetchData(async (dw) => await dw.getPatient({ patientId, practiceId }));
28
+ }
29
+ }
30
+ exports.AthenaAPIClient = AthenaAPIClient;
31
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../extensions/athenahealth/api/client.ts"],"names":[],"mappings":";;;AAAA,mEAK+E;AAE/E,MAAa,iBAAkB,SAAQ,6BAAW;IACzC,KAAK,CAAC,UAAU,CAAC,EACtB,UAAU,EACV,SAAS,GAIV;QACC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAM;YAC7B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,OAAO,UAAU,aAAa,SAAS,EAAE;SAC/C,CAAC,CAAA;IACJ,CAAC;CACF;AAbD,8CAaC;AAQD,MAAa,eAAgB,SAAQ,2BAA4B;IAM/D,YAAmB,EACjB,OAAO,EACP,aAAa,EACb,GAAG,IAAI,EACsB;QAC7B,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,wCAAsB,CAAC;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,aAAa;aAC9B,CAAC;SACH,CAAC,CAAA;QAhBK,SAAI,GAAuC,CAClD,KAAa,EACb,OAAe,EACf,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAc1C,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EACtB,UAAU,EACV,SAAS,GAIV;QACC,8BAA8B;QAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAC7D,CAAA;IACH,CAAC;CACF;AAhCD,0CAgCC"}
@@ -0,0 +1,11 @@
1
+ import z from 'zod';
2
+ import { AthenaAPIClient } from './api/client';
3
+ type ValidateAndCreateClient = <T extends z.ZodTypeAny>(args: {
4
+ fieldsSchema: T;
5
+ payload: unknown;
6
+ }) => Promise<{
7
+ client: AthenaAPIClient;
8
+ fields: z.infer<(typeof args)['fieldsSchema']>;
9
+ }>;
10
+ export declare const validatePayloadAndCreateClient: ValidateAndCreateClient;
11
+ export {};
@@ -0,0 +1,31 @@
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.validatePayloadAndCreateClient = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const zod_1 = __importDefault(require("zod"));
9
+ const client_1 = require("./api/client");
10
+ const settings_1 = require("./settings");
11
+ const validatePayloadAndCreateClient = async ({ fieldsSchema, payload, }) => {
12
+ const { settings: { client_id, client_secret, auth_url, api_url, scope }, fields, } = (0, extensions_core_1.validate)({
13
+ schema: zod_1.default.object({
14
+ fields: fieldsSchema,
15
+ settings: settings_1.SettingsValidationSchema,
16
+ }),
17
+ payload,
18
+ });
19
+ const client = new client_1.AthenaAPIClient({
20
+ authUrl: auth_url,
21
+ requestConfig: {
22
+ client_id,
23
+ client_secret,
24
+ scope,
25
+ },
26
+ baseUrl: api_url,
27
+ });
28
+ return { client, fields };
29
+ };
30
+ exports.validatePayloadAndCreateClient = validatePayloadAndCreateClient;
31
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../extensions/athenahealth/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAwD;AACxD,8CAAmB;AACnB,yCAA8C;AAC9C,yCAAqD;AAU9C,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,GACP,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,CAAA;AAC3B,CAAC,CAAA;AA1BY,QAAA,8BAA8B,kCA0B1C"}
@@ -0,0 +1,2 @@
1
+ import { type Extension } from '@awell-health/extensions-core';
2
+ export declare const athenahealth: Extension;
@@ -0,0 +1,22 @@
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.athenahealth = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const actions_1 = __importDefault(require("./actions"));
9
+ const settings_1 = require("./settings");
10
+ exports.athenahealth = {
11
+ key: 'athenahealth',
12
+ title: 'athenahealth',
13
+ description: 'Athena offers medical groups, hospitals, and health systems cloud-based EHR, practice management, and patient engagement services that seamlessly connect care and drive results for every client.',
14
+ icon_url: 'https://res.cloudinary.com/da7x4rzl4/image/upload/v1708088411/Awell%20Extensions/athenahealth.png',
15
+ category: extensions_core_1.Category.EHR_INTEGRATIONS,
16
+ author: {
17
+ authorType: extensions_core_1.AuthorType.AWELL,
18
+ },
19
+ settings: settings_1.settings,
20
+ actions: actions_1.default,
21
+ };
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/athenahealth/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAIsC;AACtC,wDAA+B;AAC/B,yCAAqC;AAExB,QAAA,YAAY,GAAc;IACrC,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,oMAAoM;IACtM,QAAQ,EACN,mGAAmG;IACrG,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,KAAK;KAC7B;IACD,QAAQ,EAAR,mBAAQ;IACR,OAAO,EAAP,iBAAO;CACR,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { z } from 'zod';
2
+ export declare const settings: {
3
+ auth_url: {
4
+ key: string;
5
+ label: string;
6
+ obfuscated: false;
7
+ required: true;
8
+ description: string;
9
+ };
10
+ client_id: {
11
+ key: string;
12
+ label: string;
13
+ obfuscated: true;
14
+ required: true;
15
+ description: string;
16
+ };
17
+ client_secret: {
18
+ key: string;
19
+ label: string;
20
+ obfuscated: true;
21
+ required: true;
22
+ description: string;
23
+ };
24
+ api_url: {
25
+ key: string;
26
+ label: string;
27
+ obfuscated: false;
28
+ required: true;
29
+ description: string;
30
+ };
31
+ scope: {
32
+ key: string;
33
+ label: string;
34
+ obfuscated: false;
35
+ required: true;
36
+ description: string;
37
+ };
38
+ };
39
+ export declare const SettingsValidationSchema: z.ZodObject<{
40
+ client_id: z.ZodString;
41
+ client_secret: z.ZodString;
42
+ auth_url: z.ZodString;
43
+ api_url: z.ZodString;
44
+ scope: z.ZodString;
45
+ }, "strip", z.ZodTypeAny, {
46
+ auth_url: string;
47
+ client_id: string;
48
+ client_secret: string;
49
+ scope: string;
50
+ api_url: string;
51
+ }, {
52
+ auth_url: string;
53
+ client_id: string;
54
+ client_secret: string;
55
+ scope: string;
56
+ api_url: string;
57
+ }>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SettingsValidationSchema = exports.settings = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.settings = {
6
+ auth_url: {
7
+ key: 'auth_url',
8
+ label: 'Auth server URL',
9
+ obfuscated: false,
10
+ required: true,
11
+ description: 'Used to perform the Client Credential grant to obtain an access token',
12
+ },
13
+ client_id: {
14
+ key: 'client_id',
15
+ label: 'Client ID',
16
+ obfuscated: true,
17
+ required: true,
18
+ description: 'Used to perform the Client Credential grant to obtain an access token',
19
+ },
20
+ client_secret: {
21
+ key: 'client_secret',
22
+ label: 'Client secret',
23
+ obfuscated: true,
24
+ required: true,
25
+ description: 'Used to perform the Client Credential grant to obtain an access token',
26
+ },
27
+ api_url: {
28
+ key: 'api_url',
29
+ label: 'API URL',
30
+ obfuscated: false,
31
+ required: true,
32
+ description: 'The base URL of the resource server/API',
33
+ },
34
+ scope: {
35
+ key: 'scope',
36
+ label: 'Scope',
37
+ obfuscated: false,
38
+ required: true,
39
+ description: 'The value is a space-delimited, case-sensitive string of requested scopes.',
40
+ },
41
+ };
42
+ exports.SettingsValidationSchema = zod_1.z.object({
43
+ client_id: zod_1.z.string(),
44
+ client_secret: zod_1.z.string(),
45
+ auth_url: zod_1.z.string().url(),
46
+ api_url: zod_1.z.string().url(),
47
+ scope: zod_1.z.string(),
48
+ });
49
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/athenahealth/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,uEAAuE;KAC1E;IACD,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,uEAAuE;KAC1E;IACD,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,uEAAuE;KAC1E;IACD,OAAO,EAAE;QACP,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,yCAAyC;KACvD;IACD,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,4EAA4E;KAC/E;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CACkC,CAAC,CAAA"}
@@ -53,6 +53,7 @@ const infobip_1 = require("./infobip");
53
53
  const westFax_1 = require("./westFax");
54
54
  const nexuzhealth_1 = require("./nexuzhealth");
55
55
  const collectData_1 = require("./collectData");
56
+ const athenahealth_1 = require("./athenahealth");
56
57
  const json = __importStar(require("./markdown.json"));
57
58
  const external_server_1 = require("./external-server");
58
59
  exports.markdown = json;
@@ -61,6 +62,7 @@ exports.extensions = [
61
62
  // ZusHealth is not ready for public use yet
62
63
  // ZusHealth,
63
64
  awell_1.Awell,
65
+ athenahealth_1.athenahealth,
64
66
  calDotCom_1.CalDotCom,
65
67
  calendly_1.Calendly,
66
68
  canvasMedical_1.CanvasMedical,
@@ -88,6 +90,6 @@ exports.extensions = [
88
90
  twilio_1.Twilio,
89
91
  wellinks_1.Wellinks,
90
92
  zendesk_1.Zendesk,
91
- westFax_1.WestFax
93
+ westFax_1.WestFax,
92
94
  ];
93
95
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,yCAAqC;AACrC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,yCAAqC;AACrC,uCAAmC;AACnC,uCAAmC;AACnC,uCAAmC;AACnC,+CAA2C;AAC3C,+CAA2C;AAE3C,sDAAuC;AACvC,uDAAkD;AAGrC,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,4CAA4C;IAC5C,aAAa;IACb,aAAK;IACL,qBAAS;IACT,mBAAQ;IACR,6BAAa;IACb,uBAAU;IACV,mBAAQ;IACR,yBAAW;IACX,mBAAQ;IACR,yBAAW;IACX,iBAAO;IACP,gCAAc;IACd,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,iBAAO;IACP,mBAAQ;IACR,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,yBAAW;IACX,mBAAQ;IACR,6BAAQ;IACR,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,iBAAO;IACP,iBAAO;CACR,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,yCAAqC;AACrC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,yCAAqC;AACrC,uCAAmC;AACnC,uCAAmC;AACnC,uCAAmC;AACnC,+CAA2C;AAC3C,+CAA2C;AAC3C,iDAA6C;AAE7C,sDAAuC;AACvC,uDAAkD;AAGrC,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,4CAA4C;IAC5C,aAAa;IACb,aAAK;IACL,2BAAY;IACZ,qBAAS;IACT,mBAAQ;IACR,6BAAa;IACb,uBAAU;IACV,mBAAQ;IACR,yBAAW;IACX,mBAAQ;IACR,yBAAW;IACX,iBAAO;IACP,gCAAc;IACd,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,iBAAO;IACP,mBAAQ;IACR,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,yBAAW;IACX,mBAAQ;IACR,6BAAQ;IACR,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,iBAAO;IACP,iBAAO;CACR,CAAA"}
@@ -1,6 +1,10 @@
1
1
  {
2
+ "athenahealth": {
3
+ "readme": "---\ntitle: Athena\ndescription: Athena offers medical groups, hospitals, and health systems cloud-based EHR, practice management, and patient engagement services that seamlessly connect care and drive results for every client. \n---\n\nMore information coming soon.",
4
+ "changelog": "# Athena changelog"
5
+ },
2
6
  "avaAi": {
3
- "readme": "---\ntitle: AvaAI\ndescription: Experimental extension to introduce AI actions in care flows.\n---\n# Awell Virtual (AI) Assistant - Ava\n\n## Extension settings\n\nIn order to set up this extension, you will need to provide an Open AI API key.\n\n## Custom Actions\n\n### Generate patient summary\n\nGenerates a human-readable summary about the patient based on the characteristics in the patient's profile.\n\nYou can specify which characteristics of the patient you would like to include by providing a comma-separated string with the below possible options:\n\n- first_name\n- last_name\n- street\n- city\n- country\n- state\n- zip\n- birth_date\n- email\n- mobile_phone\n- phone\n- national_registry_number\n- patient_code\n- preferred_language\n- sex\n\nIf no characteristics are passed, by default a summary will be generated that includes all characteristics.\n",
7
+ "readme": "---\ntitle: AvaAI\ndescription: Experimental extension to introduce AI actions in care flows.\n---\n# Awell Virtual (AI) Assistant - Ava\n\n## Extension settings\n\nIn order to set up this extension, you will need to provide an Open AI API key.\n\n## Custom Actions\n\n### Generate patient summary\n\nGenerates a human-readable summary about the patient based on the characteristics in the patient's profile.\n\nYou can specify which characteristics of the patient you would like to include by providing a comma-separated string with the below possible options:\n\n- first_name\n- last_name\n- street\n- city\n- country\n- state\n- zip\n- birth_date\n- email\n- mobile_phone\n- phone\n- national_registry_number\n- patient_code\n- preferred_language\n- sex\n\nIf no characteristics are passed, by default a summary will be generated that includes all characteristics.",
4
8
  "changelog": "# Ava changelog"
5
9
  },
6
10
  "awell": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "1.0.184",
3
+ "version": "1.0.187",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {