@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,4 +1,4 @@
|
|
1
|
-
import { type NewActivityPayload, type Patient } from '@awell-health/extensions-core';
|
1
|
+
import { type NewActivityPayload, type Patient, type Pathway } from '@awell-health/extensions-core';
|
2
2
|
import z from 'zod';
|
3
3
|
import { MedplumClient } from '@medplum/core';
|
4
4
|
import { SettingsValidationSchema } from '../settings';
|
@@ -10,6 +10,7 @@ type ValidateAndCreateSdkClient = <T extends z.ZodTypeAny, P extends NewActivity
|
|
10
10
|
medplumSdk: MedplumClient;
|
11
11
|
fields: z.infer<(typeof args)['fieldsSchema']>;
|
12
12
|
settings: z.infer<typeof SettingsValidationSchema>;
|
13
|
+
pathway: Pathway;
|
13
14
|
patient: Patient;
|
14
15
|
activity: Activity;
|
15
16
|
}>;
|
@@ -13,15 +13,17 @@ const validateAndCreateSdkClient = async ({ fieldsSchema, payload, }) => {
|
|
13
13
|
schema: zod_1.default.object({
|
14
14
|
fields: fieldsSchema,
|
15
15
|
settings: settings_1.SettingsValidationSchema,
|
16
|
+
pathway: zod_1.default.object({ id: zod_1.default.string() }),
|
17
|
+
activity: zod_1.default.object({ id: zod_1.default.string() }),
|
16
18
|
}),
|
17
19
|
payload,
|
18
20
|
});
|
19
|
-
const { patient, activity } = payload;
|
21
|
+
const { patient, pathway, activity } = payload;
|
20
22
|
const medplumSdk = new core_1.MedplumClient({
|
21
23
|
clientId,
|
22
24
|
});
|
23
25
|
await medplumSdk.startClientLogin(clientId, clientSecret);
|
24
|
-
return { medplumSdk, fields, settings, patient, activity };
|
26
|
+
return { medplumSdk, fields, settings, patient, pathway, activity };
|
25
27
|
};
|
26
28
|
exports.validateAndCreateSdkClient = validateAndCreateSdkClient;
|
27
29
|
//# sourceMappingURL=validateAndCreateSdkClient.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validateAndCreateSdkClient.js","sourceRoot":"","sources":["../../../../extensions/medplum/utils/validateAndCreateSdkClient.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"validateAndCreateSdkClient.js","sourceRoot":"","sources":["../../../../extensions/medplum/utils/validateAndCreateSdkClient.ts"],"names":[],"mappings":";;;;;;AAAA,mEAKsC;AACtC,8CAAmB;AACnB,wCAA6C;AAC7C,0CAAsD;AAkB/C,MAAM,0BAA0B,GAA+B,KAAK,EAAE,EAC3E,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EACpC,MAAM,EACN,QAAQ,GACT,GAAG,IAAA,0BAAQ,EAAC;QACX,MAAM,EAAE,aAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,mCAAwB;YAClC,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,QAAQ,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACvC,CAAC;QACF,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAE9C,MAAM,UAAU,GAAG,IAAI,oBAAa,CAAC;QACnC,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrE,CAAC,CAAA;AA3BY,QAAA,0BAA0B,8BA2BtC"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { type Form, type FormResponse } from '../../../../../extensions/awell/v1/gql/graphql';
|
2
|
+
import { type QuestionnaireResponseItem } from '@medplum/fhirtypes';
|
3
|
+
export declare const AwellFormResponseToFhirQuestionnaireResponseItems: (opts: {
|
4
|
+
awellFormDefinition: Form;
|
5
|
+
awellFormResponse: FormResponse;
|
6
|
+
}) => QuestionnaireResponseItem[];
|
@@ -0,0 +1,105 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AwellFormResponseToFhirQuestionnaireResponseItems = void 0;
|
4
|
+
const graphql_1 = require("../../../../../extensions/awell/v1/gql/graphql");
|
5
|
+
const lodash_1 = require("lodash");
|
6
|
+
const getQuestionLabel = (awellFormDefinition, questionId) => {
|
7
|
+
const itemDefinition = awellFormDefinition.questions.find((item) => item.id === questionId);
|
8
|
+
if ((0, lodash_1.isNil)(itemDefinition)) {
|
9
|
+
throw new Error(`Could not find question definition for question with id ${questionId}`);
|
10
|
+
}
|
11
|
+
return itemDefinition.title;
|
12
|
+
};
|
13
|
+
const getMultipleSelectFhirAnswers = (itemResponse) => {
|
14
|
+
var _a, _b;
|
15
|
+
const itemResponseValueArray = JSON.parse(itemResponse.value);
|
16
|
+
const itemResponseLabelArray = (_b = (_a = itemResponse.label) === null || _a === void 0 ? void 0 : _a.split(', ')) !== null && _b !== void 0 ? _b : [];
|
17
|
+
return itemResponseValueArray.map((item, i) => {
|
18
|
+
return {
|
19
|
+
valueCoding: {
|
20
|
+
code: String(item),
|
21
|
+
display: String(itemResponseLabelArray[i]),
|
22
|
+
},
|
23
|
+
};
|
24
|
+
});
|
25
|
+
};
|
26
|
+
const getAnswer = (awellFormDefinition, itemResponse) => {
|
27
|
+
var _a;
|
28
|
+
const itemDefinition = awellFormDefinition.questions.find((item) => item.id === itemResponse.question_id);
|
29
|
+
if ((0, lodash_1.isNil)(itemDefinition)) {
|
30
|
+
throw new Error(`Could not find question definition for question with id ${itemResponse.question_id}`);
|
31
|
+
}
|
32
|
+
const userQuestionType = itemDefinition.userQuestionType;
|
33
|
+
switch (userQuestionType) {
|
34
|
+
case graphql_1.UserQuestionType.YesNo:
|
35
|
+
return [
|
36
|
+
{
|
37
|
+
valueBoolean: Boolean(itemResponse.value),
|
38
|
+
},
|
39
|
+
];
|
40
|
+
case graphql_1.UserQuestionType.Date:
|
41
|
+
return [
|
42
|
+
{
|
43
|
+
valueDateTime: itemResponse.value,
|
44
|
+
},
|
45
|
+
];
|
46
|
+
case graphql_1.UserQuestionType.Number:
|
47
|
+
return [
|
48
|
+
{
|
49
|
+
valueInteger: Number(itemResponse.value),
|
50
|
+
},
|
51
|
+
];
|
52
|
+
case graphql_1.UserQuestionType.LongText:
|
53
|
+
return [
|
54
|
+
{
|
55
|
+
valueString: itemResponse.value,
|
56
|
+
},
|
57
|
+
];
|
58
|
+
case graphql_1.UserQuestionType.MultipleChoice:
|
59
|
+
return [
|
60
|
+
{
|
61
|
+
valueCoding: {
|
62
|
+
code: itemResponse.value,
|
63
|
+
display: (_a = itemResponse.label) !== null && _a !== void 0 ? _a : 'Answer label not found',
|
64
|
+
},
|
65
|
+
},
|
66
|
+
];
|
67
|
+
case graphql_1.UserQuestionType.MultipleSelect:
|
68
|
+
return getMultipleSelectFhirAnswers(itemResponse);
|
69
|
+
case graphql_1.UserQuestionType.Slider:
|
70
|
+
return [
|
71
|
+
{
|
72
|
+
valueInteger: Number(itemResponse.value),
|
73
|
+
},
|
74
|
+
];
|
75
|
+
case graphql_1.UserQuestionType.ShortText:
|
76
|
+
return [
|
77
|
+
{
|
78
|
+
valueString: itemResponse.value,
|
79
|
+
},
|
80
|
+
];
|
81
|
+
case graphql_1.UserQuestionType.Telephone:
|
82
|
+
return [
|
83
|
+
{
|
84
|
+
valueString: itemResponse.value,
|
85
|
+
},
|
86
|
+
];
|
87
|
+
default:
|
88
|
+
return [
|
89
|
+
{
|
90
|
+
valueString: String(itemResponse.value),
|
91
|
+
},
|
92
|
+
];
|
93
|
+
}
|
94
|
+
};
|
95
|
+
const AwellFormResponseToFhirQuestionnaireResponseItems = (opts) => {
|
96
|
+
return opts.awellFormResponse.answers.map((itemResponse) => {
|
97
|
+
return {
|
98
|
+
linkId: itemResponse.question_id,
|
99
|
+
text: getQuestionLabel(opts.awellFormDefinition, itemResponse.question_id),
|
100
|
+
answer: getAnswer(opts.awellFormDefinition, itemResponse),
|
101
|
+
};
|
102
|
+
});
|
103
|
+
};
|
104
|
+
exports.AwellFormResponseToFhirQuestionnaireResponseItems = AwellFormResponseToFhirQuestionnaireResponseItems;
|
105
|
+
//# sourceMappingURL=AwellFormResponseToFhirQuestionnaireResponseItems.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AwellFormResponseToFhirQuestionnaireResponseItems.js","sourceRoot":"","sources":["../../../../../../src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,138 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const _1 = require(".");
|
4
|
+
const __testdata__1 = require("../__testdata__");
|
5
|
+
describe('AwellFormResponsetoFhirQuestionnaireResponse', () => {
|
6
|
+
test('Should work', async () => {
|
7
|
+
const res = (0, _1.AwellFormResponseToFhirQuestionnaireResponseItems)({
|
8
|
+
awellFormDefinition: __testdata__1.formDefinitionMock,
|
9
|
+
awellFormResponse: __testdata__1.formResponseMock,
|
10
|
+
});
|
11
|
+
expect(res).toEqual([
|
12
|
+
{
|
13
|
+
linkId: '-hCGgfqR3zZ7',
|
14
|
+
text: 'Yes or no? (boolean)',
|
15
|
+
answer: [
|
16
|
+
{
|
17
|
+
valueBoolean: true,
|
18
|
+
},
|
19
|
+
],
|
20
|
+
},
|
21
|
+
{
|
22
|
+
linkId: 'bVGD5I6ckKZx',
|
23
|
+
text: 'Single select (number)',
|
24
|
+
answer: [
|
25
|
+
{
|
26
|
+
valueCoding: {
|
27
|
+
code: '1',
|
28
|
+
display: 'Option 2',
|
29
|
+
},
|
30
|
+
},
|
31
|
+
],
|
32
|
+
},
|
33
|
+
{
|
34
|
+
linkId: 'C9dHRQWojfkP',
|
35
|
+
text: 'Question that collects a numeric value',
|
36
|
+
answer: [
|
37
|
+
{
|
38
|
+
valueInteger: 1,
|
39
|
+
},
|
40
|
+
],
|
41
|
+
},
|
42
|
+
{
|
43
|
+
linkId: 'KcvNZ5dJHPf0',
|
44
|
+
text: 'Single select (string)',
|
45
|
+
answer: [
|
46
|
+
{
|
47
|
+
valueCoding: {
|
48
|
+
code: 'option_3',
|
49
|
+
display: 'Option 3',
|
50
|
+
},
|
51
|
+
},
|
52
|
+
],
|
53
|
+
},
|
54
|
+
{
|
55
|
+
linkId: 'knDhobvb9xWJ',
|
56
|
+
text: 'Multiple select (string)',
|
57
|
+
answer: [
|
58
|
+
{
|
59
|
+
valueCoding: {
|
60
|
+
code: '3232',
|
61
|
+
display: 'Option 2',
|
62
|
+
},
|
63
|
+
},
|
64
|
+
{
|
65
|
+
valueCoding: {
|
66
|
+
code: 'some option',
|
67
|
+
display: 'Option 1',
|
68
|
+
},
|
69
|
+
},
|
70
|
+
],
|
71
|
+
},
|
72
|
+
{
|
73
|
+
linkId: 'PwQq1MVz3sYn',
|
74
|
+
text: 'Question that collects a string but long-form (textarea)',
|
75
|
+
answer: [
|
76
|
+
{
|
77
|
+
valueString: 'long hello world',
|
78
|
+
},
|
79
|
+
],
|
80
|
+
},
|
81
|
+
{
|
82
|
+
linkId: 'saf_RczvRbay',
|
83
|
+
text: 'Multiple select (number)',
|
84
|
+
answer: [
|
85
|
+
{
|
86
|
+
valueCoding: {
|
87
|
+
code: '0',
|
88
|
+
display: 'Option 1',
|
89
|
+
},
|
90
|
+
},
|
91
|
+
{
|
92
|
+
valueCoding: {
|
93
|
+
code: '2',
|
94
|
+
display: 'Option 3',
|
95
|
+
},
|
96
|
+
},
|
97
|
+
],
|
98
|
+
},
|
99
|
+
{
|
100
|
+
linkId: 'uuir17H9iz9P',
|
101
|
+
text: 'Question that collects a phone number',
|
102
|
+
answer: [
|
103
|
+
{
|
104
|
+
valueString: '+32476581696',
|
105
|
+
},
|
106
|
+
],
|
107
|
+
},
|
108
|
+
{
|
109
|
+
linkId: 'vn-VF15nIsv_',
|
110
|
+
text: 'Question that collects a sstring value',
|
111
|
+
answer: [
|
112
|
+
{
|
113
|
+
valueString: 'hello world',
|
114
|
+
},
|
115
|
+
],
|
116
|
+
},
|
117
|
+
{
|
118
|
+
linkId: 'yiVk87BHUNYs',
|
119
|
+
text: 'Slider',
|
120
|
+
answer: [
|
121
|
+
{
|
122
|
+
valueInteger: 3,
|
123
|
+
},
|
124
|
+
],
|
125
|
+
},
|
126
|
+
{
|
127
|
+
linkId: 'ypR9Yudhfsbg',
|
128
|
+
text: 'Date',
|
129
|
+
answer: [
|
130
|
+
{
|
131
|
+
valueDateTime: '2024-05-04T00:00:00.000Z',
|
132
|
+
},
|
133
|
+
],
|
134
|
+
},
|
135
|
+
]);
|
136
|
+
});
|
137
|
+
});
|
138
|
+
//# sourceMappingURL=AwellFormResponseToFhirQuestionnaireResponseItems.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AwellFormResponseToFhirQuestionnaireResponseItems.test.js","sourceRoot":"","sources":["../../../../../../src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/AwellFormResponseToFhirQuestionnaireResponseItems.test.ts"],"names":[],"mappings":";;AAAA,wBAAqE;AACrE,iDAAsE;AAEtE,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAA,oDAAiD,EAAC;YAC5D,mBAAmB,EAAE,gCAAkB;YACvC,iBAAiB,EAAE,8BAAgB;SACpC,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAClB;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE;oBACN;wBACE,YAAY,EAAE,IAAI;qBACnB;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,wBAAwB;gBAC9B,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE;4BACX,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,UAAU;yBACpB;qBACF;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,wCAAwC;gBAC9C,MAAM,EAAE;oBACN;wBACE,YAAY,EAAE,CAAC;qBAChB;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,wBAAwB;gBAC9B,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,UAAU;yBACpB;qBACF;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE;4BACX,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,UAAU;yBACpB;qBACF;oBACD;wBACE,WAAW,EAAE;4BACX,IAAI,EAAE,aAAa;4BACnB,OAAO,EAAE,UAAU;yBACpB;qBACF;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,0DAA0D;gBAChE,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE,kBAAkB;qBAChC;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE;4BACX,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,UAAU;yBACpB;qBACF;oBACD;wBACE,WAAW,EAAE;4BACX,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,UAAU;yBACpB;qBACF;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,uCAAuC;gBAC7C,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE,cAAc;qBAC5B;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,wCAAwC;gBAC9C,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE,aAAa;qBAC3B;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN;wBACE,YAAY,EAAE,CAAC;qBAChB;iBACF;aACF;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN;wBACE,aAAa,EAAE,0BAA0B;qBAC1C;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export * from './AwellFormResponseToFhirQuestionnaireResponseItems';
|
@@ -0,0 +1,18 @@
|
|
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("./AwellFormResponseToFhirQuestionnaireResponseItems"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
package/dist/src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/index.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/fhir/transformers/AwellFormResponseToFhirQuestionnaireResponse/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sFAAmE"}
|
package/dist/src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.js
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AwellFormToFhirQuestionnaire = void 0;
|
4
|
+
const graphql_1 = require("../../../../../extensions/awell/v1/gql/graphql");
|
5
|
+
const lodash_1 = require("lodash");
|
6
|
+
const getQuestionnaireItemType = (question) => {
|
7
|
+
const userQuestionType = question.userQuestionType;
|
8
|
+
switch (userQuestionType) {
|
9
|
+
case graphql_1.UserQuestionType.Description:
|
10
|
+
return {
|
11
|
+
type: 'display',
|
12
|
+
};
|
13
|
+
case graphql_1.UserQuestionType.YesNo:
|
14
|
+
return {
|
15
|
+
type: 'boolean',
|
16
|
+
};
|
17
|
+
case graphql_1.UserQuestionType.Date:
|
18
|
+
return {
|
19
|
+
type: 'dateTime',
|
20
|
+
};
|
21
|
+
case graphql_1.UserQuestionType.Number:
|
22
|
+
return {
|
23
|
+
type: 'integer',
|
24
|
+
};
|
25
|
+
case graphql_1.UserQuestionType.LongText:
|
26
|
+
return {
|
27
|
+
type: 'text',
|
28
|
+
};
|
29
|
+
case graphql_1.UserQuestionType.MultipleChoice:
|
30
|
+
return {
|
31
|
+
type: 'choice',
|
32
|
+
};
|
33
|
+
case graphql_1.UserQuestionType.MultipleSelect:
|
34
|
+
return {
|
35
|
+
type: 'choice',
|
36
|
+
};
|
37
|
+
case graphql_1.UserQuestionType.Slider:
|
38
|
+
return {
|
39
|
+
type: 'integer',
|
40
|
+
};
|
41
|
+
case graphql_1.UserQuestionType.ShortText:
|
42
|
+
return {
|
43
|
+
type: 'string',
|
44
|
+
};
|
45
|
+
case graphql_1.UserQuestionType.Telephone:
|
46
|
+
return {
|
47
|
+
type: 'string',
|
48
|
+
};
|
49
|
+
default:
|
50
|
+
return {
|
51
|
+
type: 'string',
|
52
|
+
};
|
53
|
+
}
|
54
|
+
};
|
55
|
+
const getSelectAnswerOptions = (answerOptions) => {
|
56
|
+
return answerOptions.map((option) => {
|
57
|
+
return {
|
58
|
+
valueCoding: {
|
59
|
+
code: String(option.value_string),
|
60
|
+
display: String(option.label),
|
61
|
+
},
|
62
|
+
};
|
63
|
+
});
|
64
|
+
};
|
65
|
+
const getFormItems = (formQuestions) => {
|
66
|
+
return formQuestions.map((q) => {
|
67
|
+
var _a, _b;
|
68
|
+
const obj = {
|
69
|
+
linkId: q.id,
|
70
|
+
text: q.userQuestionType === graphql_1.UserQuestionType.Description
|
71
|
+
? JSON.stringify(q.title) // Description titles are slate and gives errors when using JSON.parse
|
72
|
+
: q.title,
|
73
|
+
type: getQuestionnaireItemType(q).type,
|
74
|
+
repeats: q.userQuestionType === graphql_1.UserQuestionType.MultipleSelect
|
75
|
+
? true
|
76
|
+
: undefined,
|
77
|
+
required: q.userQuestionType === graphql_1.UserQuestionType.Description
|
78
|
+
? undefined
|
79
|
+
: (_a = q.questionConfig) === null || _a === void 0 ? void 0 : _a.mandatory,
|
80
|
+
answerOption: q.userQuestionType === graphql_1.UserQuestionType.MultipleSelect ||
|
81
|
+
q.userQuestionType === graphql_1.UserQuestionType.MultipleChoice
|
82
|
+
? getSelectAnswerOptions((_b = q.options) !== null && _b !== void 0 ? _b : [])
|
83
|
+
: undefined,
|
84
|
+
};
|
85
|
+
// @ts-expect-error fix later
|
86
|
+
return (0, lodash_1.pickBy)(obj, (v) => v !== undefined);
|
87
|
+
});
|
88
|
+
};
|
89
|
+
const AwellFormToFhirQuestionnaire = (awellFormDefinition) => {
|
90
|
+
var _a;
|
91
|
+
return {
|
92
|
+
resourceType: 'Questionnaire',
|
93
|
+
url: `http://awellhealth.com/forms/${awellFormDefinition.definition_id}`,
|
94
|
+
name: `${(0, lodash_1.kebabCase)(awellFormDefinition.title)}-version-${awellFormDefinition.id}`,
|
95
|
+
title: `${awellFormDefinition.title} (version ${awellFormDefinition.id})`,
|
96
|
+
copyright: (_a = awellFormDefinition === null || awellFormDefinition === void 0 ? void 0 : awellFormDefinition.trademark) !== null && _a !== void 0 ? _a : undefined,
|
97
|
+
status: 'unknown',
|
98
|
+
version: awellFormDefinition.id,
|
99
|
+
publisher: 'Awell',
|
100
|
+
contact: [
|
101
|
+
{
|
102
|
+
name: 'Awell',
|
103
|
+
telecom: [
|
104
|
+
{
|
105
|
+
system: 'email',
|
106
|
+
value: 'info@awellhealth.com',
|
107
|
+
},
|
108
|
+
],
|
109
|
+
},
|
110
|
+
],
|
111
|
+
identifier: [
|
112
|
+
{
|
113
|
+
system: 'https://awellhealth.com/forms',
|
114
|
+
value: `${awellFormDefinition.definition_id}/published/${awellFormDefinition.id}`,
|
115
|
+
},
|
116
|
+
],
|
117
|
+
item: getFormItems(awellFormDefinition.questions),
|
118
|
+
};
|
119
|
+
};
|
120
|
+
exports.AwellFormToFhirQuestionnaire = AwellFormToFhirQuestionnaire;
|
121
|
+
//# sourceMappingURL=AwellFormToFhirQuestionnaire.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AwellFormToFhirQuestionnaire.js","sourceRoot":"","sources":["../../../../../../src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,112 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const _1 = require(".");
|
4
|
+
const __testdata__1 = require("../__testdata__");
|
5
|
+
describe('AwellFormResponsetoFhirQuestionnaireResponse', () => {
|
6
|
+
test('Should work', async () => {
|
7
|
+
const res = (0, _1.AwellFormToFhirQuestionnaire)(__testdata__1.formDefinitionMock);
|
8
|
+
expect(res).toEqual({
|
9
|
+
resourceType: 'Questionnaire',
|
10
|
+
url: 'http://awellhealth.com/forms/q6OwH0yp2JKq',
|
11
|
+
name: 'form-with-all-question-types-version-Z-N6CVFy9cv-',
|
12
|
+
title: 'Form with all question types (version Z-N6CVFy9cv-)',
|
13
|
+
status: 'unknown',
|
14
|
+
version: 'Z-N6CVFy9cv-',
|
15
|
+
publisher: 'Awell',
|
16
|
+
contact: [
|
17
|
+
{
|
18
|
+
name: 'Awell',
|
19
|
+
telecom: [{ system: 'email', value: 'info@awellhealth.com' }],
|
20
|
+
},
|
21
|
+
],
|
22
|
+
identifier: [
|
23
|
+
{
|
24
|
+
system: 'https://awellhealth.com/forms',
|
25
|
+
value: 'q6OwH0yp2JKq/published/Z-N6CVFy9cv-',
|
26
|
+
},
|
27
|
+
],
|
28
|
+
item: [
|
29
|
+
{
|
30
|
+
linkId: 'MUha7ldV6gJL',
|
31
|
+
text: '"<p class=\\"slate-p\\">This is a description question. It's doesn't collect any data but just shows some text to the user.</p>"',
|
32
|
+
type: 'display',
|
33
|
+
},
|
34
|
+
{
|
35
|
+
linkId: 'bVGD5I6ckKZx',
|
36
|
+
text: 'Single select (number)',
|
37
|
+
type: 'choice',
|
38
|
+
answerOption: [
|
39
|
+
{ valueCoding: { code: '0', display: 'Option 1' } },
|
40
|
+
{ valueCoding: { code: '1', display: 'Option 2' } },
|
41
|
+
{ valueCoding: { code: '2', display: 'Option 3' } },
|
42
|
+
],
|
43
|
+
},
|
44
|
+
{
|
45
|
+
linkId: 'KcvNZ5dJHPf0',
|
46
|
+
text: 'Single select (string)',
|
47
|
+
type: 'choice',
|
48
|
+
answerOption: [
|
49
|
+
{ valueCoding: { code: 'option_1', display: 'Option 1' } },
|
50
|
+
{ valueCoding: { code: 'option_2', display: 'Option 2' } },
|
51
|
+
{ valueCoding: { code: 'option_3', display: 'Option 3' } },
|
52
|
+
{ valueCoding: { code: 'option_4', display: 'helloo' } },
|
53
|
+
{ valueCoding: { code: 'option_5', display: 'helloooooo' } },
|
54
|
+
{ valueCoding: { code: 'option_6', display: 'test' } },
|
55
|
+
],
|
56
|
+
},
|
57
|
+
{
|
58
|
+
linkId: 'saf_RczvRbay',
|
59
|
+
text: 'Multiple select (number)',
|
60
|
+
type: 'choice',
|
61
|
+
repeats: true,
|
62
|
+
answerOption: [
|
63
|
+
{ valueCoding: { code: '0', display: 'Option 1' } },
|
64
|
+
{ valueCoding: { code: '1', display: 'Option 2' } },
|
65
|
+
{ valueCoding: { code: '2', display: 'Option 3' } },
|
66
|
+
{ valueCoding: { code: '3', display: 'Option 4' } },
|
67
|
+
],
|
68
|
+
},
|
69
|
+
{
|
70
|
+
linkId: 'knDhobvb9xWJ',
|
71
|
+
text: 'Multiple select (string)',
|
72
|
+
type: 'choice',
|
73
|
+
repeats: true,
|
74
|
+
answerOption: [
|
75
|
+
{ valueCoding: { code: 'some option', display: 'Option 1' } },
|
76
|
+
{ valueCoding: { code: '3232', display: 'Option 2' } },
|
77
|
+
{ valueCoding: { code: 'another option', display: 'Option 3' } },
|
78
|
+
{ valueCoding: { code: 'option 4', display: 'fdsfds' } },
|
79
|
+
],
|
80
|
+
},
|
81
|
+
{
|
82
|
+
linkId: '-hCGgfqR3zZ7',
|
83
|
+
text: 'Yes or no? (boolean)',
|
84
|
+
type: 'boolean',
|
85
|
+
},
|
86
|
+
{ linkId: 'yiVk87BHUNYs', text: 'Slider', type: 'integer' },
|
87
|
+
{ linkId: 'ypR9Yudhfsbg', text: 'Date', type: 'dateTime' },
|
88
|
+
{
|
89
|
+
linkId: 'C9dHRQWojfkP',
|
90
|
+
text: 'Question that collects a numeric value',
|
91
|
+
type: 'integer',
|
92
|
+
},
|
93
|
+
{
|
94
|
+
linkId: 'vn-VF15nIsv_',
|
95
|
+
text: 'Question that collects a sstring value',
|
96
|
+
type: 'string',
|
97
|
+
},
|
98
|
+
{
|
99
|
+
linkId: 'PwQq1MVz3sYn',
|
100
|
+
text: 'Question that collects a string but long-form (textarea)',
|
101
|
+
type: 'text',
|
102
|
+
},
|
103
|
+
{
|
104
|
+
linkId: 'uuir17H9iz9P',
|
105
|
+
text: 'Question that collects a phone number',
|
106
|
+
type: 'string',
|
107
|
+
},
|
108
|
+
],
|
109
|
+
});
|
110
|
+
});
|
111
|
+
});
|
112
|
+
//# sourceMappingURL=AwellFormToFhirQuestionnaire.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AwellFormToFhirQuestionnaire.test.js","sourceRoot":"","sources":["../../../../../../src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/AwellFormToFhirQuestionnaire.test.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './AwellFormToFhirQuestionnaire';
|
@@ -0,0 +1,18 @@
|
|
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("./AwellFormToFhirQuestionnaire"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/fhir/transformers/AwellFormToFhirQuestionnaire/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C"}
|