@awell-health/awell-extensions 1.0.245 → 1.0.247
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/extensions/awell/v1/actions/searchPatientsByPatientCode/searchPatientsByPatientCode.test.js.map +1 -1
- package/dist/extensions/awell/v1/sdk/awellSdk.d.ts +4 -1
- package/dist/extensions/awell/v1/sdk/awellSdk.js +21 -0
- package/dist/extensions/awell/v1/sdk/awellSdk.js.map +1 -1
- package/dist/extensions/awell/v1/sdk/graphql/form.query.d.ts +1 -0
- package/dist/extensions/awell/v1/sdk/graphql/form.query.js +91 -0
- package/dist/extensions/awell/v1/sdk/graphql/form.query.js.map +1 -0
- package/dist/extensions/awell/v1/sdk/graphql/formResponse.query.d.ts +1 -0
- package/dist/extensions/awell/v1/sdk/graphql/formResponse.query.js +20 -0
- package/dist/extensions/awell/v1/sdk/graphql/formResponse.query.js.map +1 -0
- package/dist/extensions/awell/v1/sdk/graphql/index.d.ts +3 -0
- package/dist/extensions/awell/v1/sdk/graphql/index.js +7 -1
- package/dist/extensions/awell/v1/sdk/graphql/index.js.map +1 -1
- package/dist/extensions/awell/v1/sdk/graphql/pathwayActivities.query.d.ts +1 -0
- package/dist/extensions/awell/v1/sdk/graphql/pathwayActivities.query.js +63 -0
- package/dist/extensions/awell/v1/sdk/graphql/pathwayActivities.query.js.map +1 -0
- package/dist/extensions/medplum/actions/index.d.ts +1 -0
- package/dist/extensions/medplum/actions/index.js +3 -1
- package/dist/extensions/medplum/actions/index.js.map +1 -1
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/dataPoints.d.ts +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/dataPoints.js +5 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/dataPoints.js.map +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/fields.d.ts +3 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/fields.js +7 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/fields.js.map +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/index.d.ts +2 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/index.js +19 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/config/index.js.map +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/index.d.ts +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/index.js +6 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/index.js.map +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.d.ts +4 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.js +74 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.js.map +1 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.test.d.ts +5 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.test.js +38 -0
- package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.test.js.map +1 -0
- package/dist/extensions/medplum/settings.d.ts +20 -0
- package/dist/extensions/medplum/settings.js +18 -2
- package/dist/extensions/medplum/settings.js.map +1 -1
- package/dist/extensions/medplum/utils/validateAndCreateSdkClient.d.ts +2 -1
- package/dist/extensions/medplum/utils/validateAndCreateSdkClient.js +4 -2
- package/dist/extensions/medplum/utils/validateAndCreateSdkClient.js.map +1 -1
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.d.ts +6 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.js +105 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.js.map +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.test.d.ts +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.test.js +138 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.test.js.map +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/index.d.ts +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/index.js +18 -0
- package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/index.js.map +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.d.ts +3 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.js +121 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.js.map +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.test.d.ts +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.test.js +112 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.test.js.map +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/index.d.ts +1 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/index.js +18 -0
- package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/index.js.map +1 -0
- package/dist/src/lib/fhir/transformers/__testdata__/formDefinition.data.d.ts +2 -0
- package/dist/src/lib/fhir/transformers/__testdata__/formDefinition.data.js +264 -0
- package/dist/src/lib/fhir/transformers/__testdata__/formDefinition.data.js.map +1 -0
- package/dist/src/lib/fhir/transformers/__testdata__/formResponse.data.d.ts +2 -0
- package/dist/src/lib/fhir/transformers/__testdata__/formResponse.data.js +68 -0
- package/dist/src/lib/fhir/transformers/__testdata__/formResponse.data.js.map +1 -0
- package/dist/src/lib/fhir/transformers/__testdata__/index.d.ts +2 -0
- package/dist/src/lib/fhir/transformers/__testdata__/index.js +19 -0
- package/dist/src/lib/fhir/transformers/__testdata__/index.js.map +1 -0
- package/dist/src/lib/fhir/transformers/index.d.ts +2 -0
- package/dist/src/lib/fhir/transformers/index.js +19 -0
- package/dist/src/lib/fhir/transformers/index.js.map +1 -0
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"searchPatientsByPatientCode.test.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/actions/searchPatientsByPatientCode/searchPatientsByPatientCode.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAA8D;
|
1
|
+
{"version":3,"file":"searchPatientsByPatientCode.test.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/actions/searchPatientsByPatientCode/searchPatientsByPatientCode.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAA8D;AAC9D,kEAAyC;AACzC,+EAA2E;AAE3E,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;AAE/B,MAAM,MAAM,GAAG,IAAI;KAChB,KAAK,CAAC,kBAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;KACxD,sBAAsB,CACrB,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAC1B;QACE,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;IACD;QACE,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE;YACP,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAC,CACH,CAAA;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,CAAC,SAAS,EAAE,CAAA;QACtB,OAAO,CAAC,SAAS,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,yDAA2B,CAAC,iBAAiB,CACjD,IAAA,2BAAmB,EAAC;YAClB,OAAO,EAAE;gBACP,EAAE,EAAE,cAAc;gBAClB,OAAO,EAAE;oBACP,YAAY,EAAE,KAAK;iBACpB;aACF;YACD,MAAM,EAAE;gBACN,mBAAmB,EAAE,yBAAyB;aAC/C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,YAAY;aACrB;SACF,CAAC,EACF,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACjC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,oBAAoB,EAAE,MAAM;gBAC5B,qBAAqB,EAAE,GAAG;gBAC1B,eAAe,EAAE,cAAc;aAChC;SACF,CAAC,CAAA;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { GraphQLClient } from 'graphql-request';
|
2
|
-
import { type DeletePatientInput, type StopPathwayInput, type StartPathwayInput, type UpdatePatientInput, type UpdateBaselineInfoInput, type QuerySearchPatientsByPatientCodeArgs, type UserProfile, type User, type PatientPathway, type AddIdentifierToPatientInput, type Maybe } from '../gql/graphql';
|
2
|
+
import { type DeletePatientInput, type StopPathwayInput, type StartPathwayInput, type UpdatePatientInput, type UpdateBaselineInfoInput, type QuerySearchPatientsByPatientCodeArgs, type UserProfile, type User, type PatientPathway, type AddIdentifierToPatientInput, type Maybe, type QueryPathwayActivitiesArgs, type Activity, type QueryFormArgs, type Form, type QueryFormResponseArgs, type FormResponse } from '../gql/graphql';
|
3
3
|
export default class AwellSdk {
|
4
4
|
readonly apiUrl: string;
|
5
5
|
readonly apiKey: string;
|
@@ -25,4 +25,7 @@ export default class AwellSdk {
|
|
25
25
|
value: string;
|
26
26
|
}): Promise<Maybe<User> | undefined>;
|
27
27
|
addIdentifierToPatient(input: AddIdentifierToPatientInput): Promise<boolean>;
|
28
|
+
getPathwayActivities(input: QueryPathwayActivitiesArgs): Promise<Activity[]>;
|
29
|
+
getForm(input: QueryFormArgs): Promise<Form>;
|
30
|
+
getFormResponse(input: QueryFormResponseArgs): Promise<FormResponse>;
|
28
31
|
}
|
@@ -87,6 +87,27 @@ class AwellSdk {
|
|
87
87
|
}
|
88
88
|
throw new Error('Failed to add identifier to patient.');
|
89
89
|
}
|
90
|
+
async getPathwayActivities(input) {
|
91
|
+
const data = await this.client.request(graphql_1.GetPathwayActivitiesQuery, input);
|
92
|
+
if (data.pathwayActivities.success) {
|
93
|
+
return data.pathwayActivities.activities;
|
94
|
+
}
|
95
|
+
throw new Error('Retrieving pathway activities failed');
|
96
|
+
}
|
97
|
+
async getForm(input) {
|
98
|
+
const data = await this.client.request(graphql_1.GetFormQuery, input);
|
99
|
+
if (data.form.form != null) {
|
100
|
+
return data.form.form;
|
101
|
+
}
|
102
|
+
throw new Error(`Retrieving form ${input.id} failed`);
|
103
|
+
}
|
104
|
+
async getFormResponse(input) {
|
105
|
+
const data = await this.client.request(graphql_1.GetFormResponseQuery, input);
|
106
|
+
if (data.formResponse.success) {
|
107
|
+
return data.formResponse.response;
|
108
|
+
}
|
109
|
+
throw new Error(`Retrieving form response for activity ${input.activity_id} failed`);
|
110
|
+
}
|
90
111
|
}
|
91
112
|
exports.default = AwellSdk;
|
92
113
|
//# sourceMappingURL=awellSdk.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"awellSdk.js","sourceRoot":"","sources":["../../../../../extensions/awell/v1/sdk/awellSdk.ts"],"names":[],"mappings":";;AAAA,qDAA+C;
|
1
|
+
{"version":3,"file":"awellSdk.js","sourceRoot":"","sources":["../../../../../extensions/awell/v1/sdk/awellSdk.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const GetFormQuery = "\nquery GetForm($id: String!) {\n form(id: $id) {\n code\n success\n form {\n id\n release_id\n definition_id\n title\n key\n metadata\n trademark\n questions {\n id\n definition_id\n title\n key\n dataPointValueType\n questionType\n userQuestionType\n metadata\n options {\n id\n value\n value_string\n label\n }\n rule {\n boolean_operator\n conditions {\n id\n reference\n operator\n operand {\n type\n value\n }\n }\n }\n questionConfig {\n recode_enabled\n mandatory\n use_select\n slider {\n min\n max\n step_value\n min_label\n max_label\n is_value_tooltip_on\n display_marks\n show_min_max_values\n }\n phone {\n default_country\n available_countries\n }\n number {\n range {\n min\n max\n enabled\n }\n }\n multiple_select {\n range {\n enabled\n min\n max\n }\n exclusive_option {\n enabled\n option_id\n }\n }\n date {\n allowed_dates\n include_date_of_response\n }\n }\n }\n }\n }\n}\n\n";
|
@@ -0,0 +1,91 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetFormQuery = void 0;
|
4
|
+
exports.GetFormQuery = `
|
5
|
+
query GetForm($id: String!) {
|
6
|
+
form(id: $id) {
|
7
|
+
code
|
8
|
+
success
|
9
|
+
form {
|
10
|
+
id
|
11
|
+
release_id
|
12
|
+
definition_id
|
13
|
+
title
|
14
|
+
key
|
15
|
+
metadata
|
16
|
+
trademark
|
17
|
+
questions {
|
18
|
+
id
|
19
|
+
definition_id
|
20
|
+
title
|
21
|
+
key
|
22
|
+
dataPointValueType
|
23
|
+
questionType
|
24
|
+
userQuestionType
|
25
|
+
metadata
|
26
|
+
options {
|
27
|
+
id
|
28
|
+
value
|
29
|
+
value_string
|
30
|
+
label
|
31
|
+
}
|
32
|
+
rule {
|
33
|
+
boolean_operator
|
34
|
+
conditions {
|
35
|
+
id
|
36
|
+
reference
|
37
|
+
operator
|
38
|
+
operand {
|
39
|
+
type
|
40
|
+
value
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
questionConfig {
|
45
|
+
recode_enabled
|
46
|
+
mandatory
|
47
|
+
use_select
|
48
|
+
slider {
|
49
|
+
min
|
50
|
+
max
|
51
|
+
step_value
|
52
|
+
min_label
|
53
|
+
max_label
|
54
|
+
is_value_tooltip_on
|
55
|
+
display_marks
|
56
|
+
show_min_max_values
|
57
|
+
}
|
58
|
+
phone {
|
59
|
+
default_country
|
60
|
+
available_countries
|
61
|
+
}
|
62
|
+
number {
|
63
|
+
range {
|
64
|
+
min
|
65
|
+
max
|
66
|
+
enabled
|
67
|
+
}
|
68
|
+
}
|
69
|
+
multiple_select {
|
70
|
+
range {
|
71
|
+
enabled
|
72
|
+
min
|
73
|
+
max
|
74
|
+
}
|
75
|
+
exclusive_option {
|
76
|
+
enabled
|
77
|
+
option_id
|
78
|
+
}
|
79
|
+
}
|
80
|
+
date {
|
81
|
+
allowed_dates
|
82
|
+
include_date_of_response
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
`;
|
91
|
+
//# sourceMappingURL=form.query.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"form.query.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/sdk/graphql/form.query.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsF3B,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const GetFormResponseQuery = "\nquery GetFormResponse($pathway_id: String!, $activity_id: String!) {\n formResponse(pathway_id: $pathway_id, activity_id: $activity_id) {\n success\n response {\n answers {\n question_id\n value\n label\n value_type\n label\n }\n }\n }\n } \n";
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetFormResponseQuery = void 0;
|
4
|
+
exports.GetFormResponseQuery = `
|
5
|
+
query GetFormResponse($pathway_id: String!, $activity_id: String!) {
|
6
|
+
formResponse(pathway_id: $pathway_id, activity_id: $activity_id) {
|
7
|
+
success
|
8
|
+
response {
|
9
|
+
answers {
|
10
|
+
question_id
|
11
|
+
value
|
12
|
+
label
|
13
|
+
value_type
|
14
|
+
label
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
`;
|
20
|
+
//# sourceMappingURL=formResponse.query.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"formResponse.query.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/sdk/graphql/formResponse.query.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;CAenC,CAAA"}
|
@@ -9,3 +9,6 @@ export { searchPatientByPatientCodeQuery } from './searchPatientByPatientCode.qu
|
|
9
9
|
export { patientPathwaysQuery } from './patientPathways.query';
|
10
10
|
export { getPatientByIdentifierQuery } from './getPatientByIdentifier.query';
|
11
11
|
export { addIdentifierToPatientMutation } from './addIdentifier.mutation';
|
12
|
+
export { GetPathwayActivitiesQuery } from './pathwayActivities.query';
|
13
|
+
export { GetFormResponseQuery } from './formResponse.query';
|
14
|
+
export { GetFormQuery } from './form.query';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.addIdentifierToPatientMutation = exports.getPatientByIdentifierQuery = exports.patientPathwaysQuery = exports.searchPatientByPatientCodeQuery = exports.stopPathwayMutation = exports.deletePathwayMutation = exports.updateBaselineInfoMutation = exports.deletePatientMutation = exports.updatePatientMutation = exports.startPathwayMutation = exports.createPatientMutation = void 0;
|
3
|
+
exports.GetFormQuery = exports.GetFormResponseQuery = exports.GetPathwayActivitiesQuery = exports.addIdentifierToPatientMutation = exports.getPatientByIdentifierQuery = exports.patientPathwaysQuery = exports.searchPatientByPatientCodeQuery = exports.stopPathwayMutation = exports.deletePathwayMutation = exports.updateBaselineInfoMutation = exports.deletePatientMutation = exports.updatePatientMutation = exports.startPathwayMutation = exports.createPatientMutation = void 0;
|
4
4
|
var createPatient_mutation_1 = require("./createPatient.mutation");
|
5
5
|
Object.defineProperty(exports, "createPatientMutation", { enumerable: true, get: function () { return createPatient_mutation_1.createPatientMutation; } });
|
6
6
|
var startPathway_mutation_1 = require("./startPathway.mutation");
|
@@ -23,4 +23,10 @@ var getPatientByIdentifier_query_1 = require("./getPatientByIdentifier.query");
|
|
23
23
|
Object.defineProperty(exports, "getPatientByIdentifierQuery", { enumerable: true, get: function () { return getPatientByIdentifier_query_1.getPatientByIdentifierQuery; } });
|
24
24
|
var addIdentifier_mutation_1 = require("./addIdentifier.mutation");
|
25
25
|
Object.defineProperty(exports, "addIdentifierToPatientMutation", { enumerable: true, get: function () { return addIdentifier_mutation_1.addIdentifierToPatientMutation; } });
|
26
|
+
var pathwayActivities_query_1 = require("./pathwayActivities.query");
|
27
|
+
Object.defineProperty(exports, "GetPathwayActivitiesQuery", { enumerable: true, get: function () { return pathwayActivities_query_1.GetPathwayActivitiesQuery; } });
|
28
|
+
var formResponse_query_1 = require("./formResponse.query");
|
29
|
+
Object.defineProperty(exports, "GetFormResponseQuery", { enumerable: true, get: function () { return formResponse_query_1.GetFormResponseQuery; } });
|
30
|
+
var form_query_1 = require("./form.query");
|
31
|
+
Object.defineProperty(exports, "GetFormQuery", { enumerable: true, get: function () { return form_query_1.GetFormQuery; } });
|
26
32
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/sdk/graphql/index.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,iEAA8D;AAArD,6HAAA,oBAAoB,OAAA;AAC7B,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,6EAA0E;AAAjE,yIAAA,0BAA0B,OAAA;AACnC,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,+DAA4D;AAAnD,2HAAA,mBAAmB,OAAA;AAC5B,uFAAoF;AAA3E,mJAAA,+BAA+B,OAAA;AACxC,iEAA8D;AAArD,6HAAA,oBAAoB,OAAA;AAC7B,+EAA4E;AAAnE,2IAAA,2BAA2B,OAAA;AACpC,mEAAyE;AAAhE,wIAAA,8BAA8B,OAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/sdk/graphql/index.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,iEAA8D;AAArD,6HAAA,oBAAoB,OAAA;AAC7B,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,6EAA0E;AAAjE,yIAAA,0BAA0B,OAAA;AACnC,mEAAgE;AAAvD,+HAAA,qBAAqB,OAAA;AAC9B,+DAA4D;AAAnD,2HAAA,mBAAmB,OAAA;AAC5B,uFAAoF;AAA3E,mJAAA,+BAA+B,OAAA;AACxC,iEAA8D;AAArD,6HAAA,oBAAoB,OAAA;AAC7B,+EAA4E;AAAnE,2IAAA,2BAA2B,OAAA;AACpC,mEAAyE;AAAhE,wIAAA,8BAA8B,OAAA;AACvC,qEAAqE;AAA5D,oIAAA,yBAAyB,OAAA;AAClC,2DAA2D;AAAlD,0HAAA,oBAAoB,OAAA;AAC7B,2CAA2C;AAAlC,0GAAA,YAAY,OAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const GetPathwayActivitiesQuery = "\nquery GetPathwayActivities($pathway_id: String!) {\n pathwayActivities(pathway_id: $pathway_id) {\n success\n activities {\n id\n status\n date\n isUserActivity\n subject {\n type\n name\n }\n action\n object {\n id\n type\n name\n }\n indirect_object {\n id\n type\n name\n }\n form {\n title\n questions {\n key\n title\n questionConfig {\n mandatory\n }\n }\n }\n track {\n id\n title\n }\n context {\n instance_id\n pathway_id\n track_id\n step_id\n action_id\n }\n session_id\n stakeholders {\n type\n id\n name\n email\n preferred_language\n }\n resolution\n stream_id\n }\n }\n}\n";
|
@@ -0,0 +1,63 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetPathwayActivitiesQuery = void 0;
|
4
|
+
exports.GetPathwayActivitiesQuery = `
|
5
|
+
query GetPathwayActivities($pathway_id: String!) {
|
6
|
+
pathwayActivities(pathway_id: $pathway_id) {
|
7
|
+
success
|
8
|
+
activities {
|
9
|
+
id
|
10
|
+
status
|
11
|
+
date
|
12
|
+
isUserActivity
|
13
|
+
subject {
|
14
|
+
type
|
15
|
+
name
|
16
|
+
}
|
17
|
+
action
|
18
|
+
object {
|
19
|
+
id
|
20
|
+
type
|
21
|
+
name
|
22
|
+
}
|
23
|
+
indirect_object {
|
24
|
+
id
|
25
|
+
type
|
26
|
+
name
|
27
|
+
}
|
28
|
+
form {
|
29
|
+
title
|
30
|
+
questions {
|
31
|
+
key
|
32
|
+
title
|
33
|
+
questionConfig {
|
34
|
+
mandatory
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
track {
|
39
|
+
id
|
40
|
+
title
|
41
|
+
}
|
42
|
+
context {
|
43
|
+
instance_id
|
44
|
+
pathway_id
|
45
|
+
track_id
|
46
|
+
step_id
|
47
|
+
action_id
|
48
|
+
}
|
49
|
+
session_id
|
50
|
+
stakeholders {
|
51
|
+
type
|
52
|
+
id
|
53
|
+
name
|
54
|
+
email
|
55
|
+
preferred_language
|
56
|
+
}
|
57
|
+
resolution
|
58
|
+
stream_id
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
`;
|
63
|
+
//# sourceMappingURL=pathwayActivities.query.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pathwayActivities.query.js","sourceRoot":"","sources":["../../../../../../extensions/awell/v1/sdk/graphql/pathwayActivities.query.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DxC,CAAA"}
|
@@ -4,3 +4,4 @@ export { getAppointment } from './getAppointment';
|
|
4
4
|
export { executeBot } from './executeBot';
|
5
5
|
export { createTask } from './createTask';
|
6
6
|
export { createServiceRequest } from './createServiceRequest';
|
7
|
+
export { submitQuestionnaireResponse } from './submitQuestionnaireResponse';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.createServiceRequest = exports.createTask = exports.executeBot = exports.getAppointment = exports.createPatient = exports.getPatient = void 0;
|
3
|
+
exports.submitQuestionnaireResponse = exports.createServiceRequest = exports.createTask = exports.executeBot = exports.getAppointment = exports.createPatient = exports.getPatient = void 0;
|
4
4
|
var getPatient_1 = require("./getPatient");
|
5
5
|
Object.defineProperty(exports, "getPatient", { enumerable: true, get: function () { return getPatient_1.getPatient; } });
|
6
6
|
var createPatient_1 = require("./createPatient");
|
@@ -13,4 +13,6 @@ var createTask_1 = require("./createTask");
|
|
13
13
|
Object.defineProperty(exports, "createTask", { enumerable: true, get: function () { return createTask_1.createTask; } });
|
14
14
|
var createServiceRequest_1 = require("./createServiceRequest");
|
15
15
|
Object.defineProperty(exports, "createServiceRequest", { enumerable: true, get: function () { return createServiceRequest_1.createServiceRequest; } });
|
16
|
+
var submitQuestionnaireResponse_1 = require("./submitQuestionnaireResponse");
|
17
|
+
Object.defineProperty(exports, "submitQuestionnaireResponse", { enumerable: true, get: function () { return submitQuestionnaireResponse_1.submitQuestionnaireResponse; } });
|
16
18
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/medplum/actions/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/medplum/actions/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,6EAA2E;AAAlE,0IAAA,2BAA2B,OAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const dataPoints: {};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../extensions/medplum/actions/submitQuestionnaireResponse/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG,EAAgD,CAAA"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FieldsValidationSchema = exports.fields = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
exports.fields = {};
|
6
|
+
exports.FieldsValidationSchema = zod_1.z.object({});
|
7
|
+
//# sourceMappingURL=fields.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/medplum/actions/submitQuestionnaireResponse/config/fields.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,MAAM,GAAG,EAAkC,CAAA;AAE3C,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAC5C,EAAoD,CACrD,CAAA"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./dataPoints"), exports);
|
18
|
+
__exportStar(require("./fields"), exports);
|
19
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/medplum/actions/submitQuestionnaireResponse/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,2CAAwB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { submitQuestionnaireResponse } from './submitQuestionnaireResponse';
|
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.submitQuestionnaireResponse = void 0;
|
4
|
+
var submitQuestionnaireResponse_1 = require("./submitQuestionnaireResponse");
|
5
|
+
Object.defineProperty(exports, "submitQuestionnaireResponse", { enumerable: true, get: function () { return submitQuestionnaireResponse_1.submitQuestionnaireResponse; } });
|
6
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/medplum/actions/submitQuestionnaireResponse/index.ts"],"names":[],"mappings":";;;AAAA,6EAA2E;AAAlE,0IAAA,2BAA2B,OAAA"}
|
package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.d.ts
ADDED
@@ -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 submitQuestionnaireResponse: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
|
package/dist/extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.js
ADDED
@@ -0,0 +1,74 @@
|
|
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.submitQuestionnaireResponse = void 0;
|
7
|
+
const extensions_core_1 = require("@awell-health/extensions-core");
|
8
|
+
const config_1 = require("./config");
|
9
|
+
const utils_1 = require("../../utils");
|
10
|
+
const lodash_1 = require("lodash");
|
11
|
+
const awellSdk_1 = __importDefault(require("../../../awell/v1/sdk/awellSdk"));
|
12
|
+
const transformers_1 = require("../../../../src/lib/fhir/transformers");
|
13
|
+
exports.submitQuestionnaireResponse = {
|
14
|
+
key: 'submitQuestionnaireResponse',
|
15
|
+
category: extensions_core_1.Category.EHR_INTEGRATIONS,
|
16
|
+
title: 'Submit questionnaire response',
|
17
|
+
description: 'Creates a questionnaire response in Medplum for the latest submitted form in the current step',
|
18
|
+
fields: config_1.fields,
|
19
|
+
previewable: false,
|
20
|
+
dataPoints: config_1.dataPoints,
|
21
|
+
onActivityCreated: async (payload, onComplete, onError) => {
|
22
|
+
var _a;
|
23
|
+
const { medplumSdk, pathway, activity, settings: { awellApiKey, awellApiUrl }, } = await (0, utils_1.validateAndCreateSdkClient)({
|
24
|
+
fieldsSchema: config_1.FieldsValidationSchema,
|
25
|
+
payload,
|
26
|
+
});
|
27
|
+
if ((0, lodash_1.isEmpty)(awellApiKey) || (0, lodash_1.isEmpty)(awellApiUrl))
|
28
|
+
throw new Error('Please provide the well API key and Awell API URL in the settings of the Medplum extension to use this action.');
|
29
|
+
const awellSdk = new awellSdk_1.default({
|
30
|
+
apiUrl: awellApiUrl !== null && awellApiUrl !== void 0 ? awellApiUrl : '',
|
31
|
+
apiKey: awellApiKey !== null && awellApiKey !== void 0 ? awellApiKey : '',
|
32
|
+
});
|
33
|
+
const activities = await awellSdk.getPathwayActivities({
|
34
|
+
pathway_id: pathway.id,
|
35
|
+
});
|
36
|
+
const currentActivity = activities.find((a) => a.id === activity.id);
|
37
|
+
if ((0, lodash_1.isNil)(currentActivity))
|
38
|
+
throw new Error('Cannot find the current activity');
|
39
|
+
const currentStepId = (_a = currentActivity.context) === null || _a === void 0 ? void 0 : _a.step_id;
|
40
|
+
if ((0, lodash_1.isNil)(currentStepId))
|
41
|
+
throw new Error('Could not find step ID of the current activity');
|
42
|
+
const filteredFormActivities = activities.filter((a) => {
|
43
|
+
var _a;
|
44
|
+
return ((_a = a.context) === null || _a === void 0 ? void 0 : _a.step_id) === currentStepId &&
|
45
|
+
a.object.type === 'FORM' &&
|
46
|
+
a.status === 'DONE' &&
|
47
|
+
a.date <= currentActivity.date;
|
48
|
+
});
|
49
|
+
// Grab the most recent form activity
|
50
|
+
const formActivityToPushToMedplum = filteredFormActivities[0];
|
51
|
+
if ((0, lodash_1.isNil)(formActivityToPushToMedplum))
|
52
|
+
throw new Error('No form action found in the current step to push to Medplum');
|
53
|
+
const formDefinition = await awellSdk.getForm({
|
54
|
+
id: formActivityToPushToMedplum.object.id,
|
55
|
+
});
|
56
|
+
const formResponse = await awellSdk.getFormResponse({
|
57
|
+
pathway_id: pathway.id,
|
58
|
+
activity_id: formActivityToPushToMedplum.id,
|
59
|
+
});
|
60
|
+
const FhirQuestionnaire = (0, transformers_1.AwellFormToFhirQuestionnaire)(formDefinition);
|
61
|
+
const QuestionnaireResource = await medplumSdk.createResourceIfNoneExist(FhirQuestionnaire, `identifier=${formDefinition.definition_id}/published/${formDefinition.id}`);
|
62
|
+
await medplumSdk.createResource({
|
63
|
+
resourceType: 'QuestionnaireResponse',
|
64
|
+
questionnaire: `Questionnaire/${String(QuestionnaireResource.id)}`,
|
65
|
+
status: 'completed',
|
66
|
+
item: (0, transformers_1.AwellFormResponseToFhirQuestionnaireResponseItems)({
|
67
|
+
awellFormDefinition: formDefinition,
|
68
|
+
awellFormResponse: formResponse,
|
69
|
+
}),
|
70
|
+
});
|
71
|
+
await onComplete();
|
72
|
+
},
|
73
|
+
};
|
74
|
+
//# sourceMappingURL=submitQuestionnaireResponse.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"submitQuestionnaireResponse.js","sourceRoot":"","sources":["../../../../../extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* TODO: write tests
|
4
|
+
* Uncomment what is below as it's a good start
|
5
|
+
*/
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
+
const _1 = require(".");
|
8
|
+
const tests_1 = require("../../../../src/tests");
|
9
|
+
const __mocks__1 = require("../../__mocks__");
|
10
|
+
jest.mock('@medplum/core', () => {
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
12
|
+
const { MedplumClient: MedplumMockClient } = require('../../__mocks__');
|
13
|
+
return {
|
14
|
+
MedplumClient: MedplumMockClient,
|
15
|
+
};
|
16
|
+
});
|
17
|
+
describe.skip('Medplum - Submit questionnaire response', () => {
|
18
|
+
const onComplete = jest.fn();
|
19
|
+
const onError = jest.fn();
|
20
|
+
beforeEach(() => {
|
21
|
+
jest.clearAllMocks();
|
22
|
+
});
|
23
|
+
test('Should submit a questionnaire response', async () => {
|
24
|
+
const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
|
25
|
+
fields: {},
|
26
|
+
settings: __mocks__1.mockSettings,
|
27
|
+
pathway: {
|
28
|
+
id: 'LldfGZ7x1rZx',
|
29
|
+
},
|
30
|
+
activity: {
|
31
|
+
id: 'vFTGRflHTL1iUVCzHhHts',
|
32
|
+
},
|
33
|
+
});
|
34
|
+
await _1.submitQuestionnaireResponse.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
|
35
|
+
expect(onComplete).toHaveBeenCalled();
|
36
|
+
});
|
37
|
+
});
|
38
|
+
//# sourceMappingURL=submitQuestionnaireResponse.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"submitQuestionnaireResponse.test.js","sourceRoot":"","sources":["../../../../../extensions/medplum/actions/submitQuestionnaireResponse/submitQuestionnaireResponse.test.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,wBAA+C;AAC/C,iDAA2D;AAC3D,8CAA8C;AAE9C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,8DAA8D;IAC9D,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAEvE,OAAO;QACL,aAAa,EAAE,iBAAiB;KACjC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,uBAAY;YACtB,OAAO,EAAE;gBACP,EAAE,EAAE,cAAc;aACnB;YACD,QAAQ,EAAE;gBACR,EAAE,EAAE,uBAAuB;aAC5B;SACF,CAAC,CAAA;QAEF,MAAM,8BAA2B,CAAC,iBAAiB,CACjD,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
@@ -14,14 +14,34 @@ export declare const settings: {
|
|
14
14
|
required: true;
|
15
15
|
description: string;
|
16
16
|
};
|
17
|
+
awellApiUrl: {
|
18
|
+
key: string;
|
19
|
+
label: string;
|
20
|
+
obfuscated: true;
|
21
|
+
required: false;
|
22
|
+
description: string;
|
23
|
+
};
|
24
|
+
awellApiKey: {
|
25
|
+
key: string;
|
26
|
+
label: string;
|
27
|
+
obfuscated: true;
|
28
|
+
required: false;
|
29
|
+
description: string;
|
30
|
+
};
|
17
31
|
};
|
18
32
|
export declare const SettingsValidationSchema: z.ZodObject<{
|
19
33
|
clientId: z.ZodString;
|
20
34
|
clientSecret: z.ZodString;
|
35
|
+
awellApiKey: z.ZodOptional<z.ZodString>;
|
36
|
+
awellApiUrl: z.ZodOptional<z.ZodString>;
|
21
37
|
}, "strip", z.ZodTypeAny, {
|
22
38
|
clientId: string;
|
23
39
|
clientSecret: string;
|
40
|
+
awellApiUrl?: string | undefined;
|
41
|
+
awellApiKey?: string | undefined;
|
24
42
|
}, {
|
25
43
|
clientId: string;
|
26
44
|
clientSecret: string;
|
45
|
+
awellApiUrl?: string | undefined;
|
46
|
+
awellApiKey?: string | undefined;
|
27
47
|
}>;
|
@@ -17,9 +17,25 @@ exports.settings = {
|
|
17
17
|
required: true,
|
18
18
|
description: 'Used to authenticate with Medplum',
|
19
19
|
},
|
20
|
+
awellApiUrl: {
|
21
|
+
key: 'awellApiUrl',
|
22
|
+
label: 'Awell API URL',
|
23
|
+
obfuscated: true,
|
24
|
+
required: false,
|
25
|
+
description: 'Temporary to support "Submit Questionnaire Response" action',
|
26
|
+
},
|
27
|
+
awellApiKey: {
|
28
|
+
key: 'awellApiKey',
|
29
|
+
label: 'Awell API key',
|
30
|
+
obfuscated: true,
|
31
|
+
required: false,
|
32
|
+
description: 'Temporary to support "Submit Questionnaire Response" action',
|
33
|
+
},
|
20
34
|
};
|
21
35
|
exports.SettingsValidationSchema = zod_1.z.object({
|
22
|
-
clientId: zod_1.z.string().
|
23
|
-
clientSecret: zod_1.z.string().
|
36
|
+
clientId: zod_1.z.string().min(1),
|
37
|
+
clientSecret: zod_1.z.string().min(1),
|
38
|
+
awellApiKey: zod_1.z.string().optional(),
|
39
|
+
awellApiUrl: zod_1.z.string().optional(),
|
24
40
|
});
|
25
41
|
//# sourceMappingURL=settings.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/medplum/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/medplum/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,QAAQ,EAAE;QACR,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,6DAA6D;KAC3E;IACD,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,6DAA6D;KAC3E;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACiB,CAAC,CAAA"}
|