sdc-qrf 0.1.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components.d.ts +3 -3
- package/lib/components.js +12 -12
- package/lib/components.js.map +1 -1
- package/lib/context.d.ts +0 -1
- package/lib/converter/extensions.d.ts +35 -0
- package/lib/converter/extensions.js +128 -0
- package/lib/converter/extensions.js.map +1 -0
- package/lib/converter/fceToFhir/index.d.ts +4 -0
- package/lib/converter/fceToFhir/index.js +15 -0
- package/lib/converter/fceToFhir/index.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaire/index.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaire/index.js +17 -0
- package/lib/converter/fceToFhir/questionnaire/index.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaire/processExtensions.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaire/processExtensions.js +61 -0
- package/lib/converter/fceToFhir/questionnaire/processExtensions.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaire/processItems.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaire/processItems.js +144 -0
- package/lib/converter/fceToFhir/questionnaire/processItems.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaire/processMeta.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaire/processMeta.js +20 -0
- package/lib/converter/fceToFhir/questionnaire/processMeta.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaireResponse/index.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaireResponse/index.js +20 -0
- package/lib/converter/fceToFhir/questionnaireResponse/index.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.d.ts +2 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.js +48 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processMeta.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processMeta.js +18 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processMeta.js.map +1 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processReference.d.ts +3 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processReference.js +19 -0
- package/lib/converter/fceToFhir/questionnaireResponse/processReference.js.map +1 -0
- package/lib/converter/fhirToFce/index.d.ts +4 -0
- package/lib/converter/fhirToFce/index.js +15 -0
- package/lib/converter/fhirToFce/index.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaire/index.d.ts +3 -0
- package/lib/converter/fhirToFce/questionnaire/index.js +21 -0
- package/lib/converter/fhirToFce/questionnaire/index.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaire/processExtensions.d.ts +8 -0
- package/lib/converter/fhirToFce/questionnaire/processExtensions.js +89 -0
- package/lib/converter/fhirToFce/questionnaire/processExtensions.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaire/processItems.d.ts +3 -0
- package/lib/converter/fhirToFce/questionnaire/processItems.js +131 -0
- package/lib/converter/fhirToFce/questionnaire/processItems.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaire/processMeta.d.ts +32 -0
- package/lib/converter/fhirToFce/questionnaire/processMeta.js +14 -0
- package/lib/converter/fhirToFce/questionnaire/processMeta.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaireResponse/index.d.ts +3 -0
- package/lib/converter/fhirToFce/questionnaireResponse/index.js +20 -0
- package/lib/converter/fhirToFce/questionnaireResponse/index.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.d.ts +2 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.js +46 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processMeta.d.ts +3 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processMeta.js +15 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processMeta.js.map +1 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processReference.d.ts +3 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processReference.js +18 -0
- package/lib/converter/fhirToFce/questionnaireResponse/processReference.js.map +1 -0
- package/lib/converter/fhirToFce/utils.d.ts +3 -0
- package/lib/converter/fhirToFce/utils.js +37 -0
- package/lib/converter/fhirToFce/utils.js.map +1 -0
- package/lib/converter/index.d.ts +12 -0
- package/lib/converter/index.js +84 -0
- package/lib/converter/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/setupTests.d.ts +1 -0
- package/lib/setupTests.js +4 -0
- package/lib/setupTests.js.map +1 -0
- package/lib/types.d.ts +10 -10
- package/lib/utils.d.ts +4 -1
- package/lib/utils.js +9 -2
- package/lib/utils.js.map +1 -1
- package/package.json +4 -5
- package/src/components.tsx +12 -12
- package/src/converter/__tests__/fce.test.ts +224 -0
- package/src/converter/__tests__/resources/questionnaire_fce/allergies.json +405 -0
- package/src/converter/__tests__/resources/questionnaire_fce/beverages.json +72 -0
- package/src/converter/__tests__/resources/questionnaire_fce/choice_answer_option.json +53 -0
- package/src/converter/__tests__/resources/questionnaire_fce/consent.json +86 -0
- package/src/converter/__tests__/resources/questionnaire_fce/enable_when.json +103 -0
- package/src/converter/__tests__/resources/questionnaire_fce/encounter_create.json +126 -0
- package/src/converter/__tests__/resources/questionnaire_fce/gad_7.json +459 -0
- package/src/converter/__tests__/resources/questionnaire_fce/immunization.json +182 -0
- package/src/converter/__tests__/resources/questionnaire_fce/medication.json +189 -0
- package/src/converter/__tests__/resources/questionnaire_fce/multiple_type_launch_context.json +406 -0
- package/src/converter/__tests__/resources/questionnaire_fce/patient_create.json +84 -0
- package/src/converter/__tests__/resources/questionnaire_fce/patient_edit.json +125 -0
- package/src/converter/__tests__/resources/questionnaire_fce/phq_2_phq_9.json +552 -0
- package/src/converter/__tests__/resources/questionnaire_fce/physicalexam.json +385 -0
- package/src/converter/__tests__/resources/questionnaire_fce/practitioner_create.json +90 -0
- package/src/converter/__tests__/resources/questionnaire_fce/practitioner_create_structure_map.json +91 -0
- package/src/converter/__tests__/resources/questionnaire_fce/practitioner_edit.json +144 -0
- package/src/converter/__tests__/resources/questionnaire_fce/practitioner_role_create.json +37 -0
- package/src/converter/__tests__/resources/questionnaire_fce/public_appointment.json +91 -0
- package/src/converter/__tests__/resources/questionnaire_fce/review_of_systems.json +389 -0
- package/src/converter/__tests__/resources/questionnaire_fce/source_queries.json +34 -0
- package/src/converter/__tests__/resources/questionnaire_fce/vitals.json +234 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/allergies.json +433 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/beverages.json +99 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/choice_answer_option.json +49 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/consent.json +119 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/enable_when.json +87 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/encounter_create.json +171 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/gad_7.json +489 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/immunization.json +215 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/medication.json +226 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/multiple_type_launch_context.json +416 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/patient_create.json +97 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/patient_edit.json +183 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/phq_2_phq_9.json +580 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/physicalexam.json +544 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_create.json +87 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_create_structure_map.json +91 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_edit.json +193 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_role_create.json +44 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/public_appointment.json +116 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/review_of_systems.json +368 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/source_queries.json +37 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/vitals.json +317 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/allergies_inprogress.json +78 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/cardiology.json +96 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/few_answers.json +48 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/gad_7.json +165 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/immunization.json +86 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/medication.json +116 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/new_appointment.json +96 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/patient.json +87 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/phq_2_phq_9.json +193 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/physicalexam.json +187 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/practitioner.json +57 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/reference_answer_with_assoc.json +147 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/review_of_systems.json +129 -0
- package/src/converter/__tests__/resources/questionnaire_response_fce/vitals.json +168 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/allergies_inprogress.json +73 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/cardiology.json +87 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/few_answers.json +46 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/gad_7.json +146 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/immunization.json +77 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/medication.json +101 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/new_appointment.json +86 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/patient.json +78 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/phq_2_phq_9.json +170 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/physicalexam.json +158 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/practitioner.json +54 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/reference_answer_with_assoc.json +86 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/review_of_systems.json +118 -0
- package/src/converter/__tests__/resources/questionnaire_response_fhir/vitals.json +145 -0
- package/src/converter/extensions.ts +149 -0
- package/src/converter/fceToFhir/index.ts +27 -0
- package/src/converter/fceToFhir/questionnaire/index.ts +15 -0
- package/src/converter/fceToFhir/questionnaire/processExtensions.ts +75 -0
- package/src/converter/fceToFhir/questionnaire/processItems.ts +194 -0
- package/src/converter/fceToFhir/questionnaire/processMeta.ts +19 -0
- package/src/converter/fceToFhir/questionnaireResponse/index.ts +21 -0
- package/src/converter/fceToFhir/questionnaireResponse/processAnswers.ts +53 -0
- package/src/converter/fceToFhir/questionnaireResponse/processMeta.ts +16 -0
- package/src/converter/fceToFhir/questionnaireResponse/processReference.ts +24 -0
- package/src/converter/fhirToFce/index.ts +27 -0
- package/src/converter/fhirToFce/questionnaire/index.ts +25 -0
- package/src/converter/fhirToFce/questionnaire/processExtensions.ts +113 -0
- package/src/converter/fhirToFce/questionnaire/processItems.ts +159 -0
- package/src/converter/fhirToFce/questionnaire/processMeta.ts +17 -0
- package/src/converter/fhirToFce/questionnaireResponse/index.ts +21 -0
- package/src/converter/fhirToFce/questionnaireResponse/processAnswers.ts +53 -0
- package/src/converter/fhirToFce/questionnaireResponse/processMeta.ts +14 -0
- package/src/converter/fhirToFce/questionnaireResponse/processReference.ts +20 -0
- package/src/converter/fhirToFce/utils.ts +36 -0
- package/src/converter/index.ts +106 -0
- package/src/index.ts +1 -0
- package/src/setupTests.ts +1 -0
- package/src/utils.ts +13 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertQuestionnaireResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
|
|
6
|
+
const processAnswers_1 = require("./processAnswers");
|
|
7
|
+
const processMeta_1 = require("./processMeta");
|
|
8
|
+
const processReference_1 = require("./processReference");
|
|
9
|
+
function convertQuestionnaireResponse(questionnaireResponse) {
|
|
10
|
+
questionnaireResponse = (0, cloneDeep_1.default)(questionnaireResponse);
|
|
11
|
+
if (questionnaireResponse.item) {
|
|
12
|
+
(0, processAnswers_1.processAnswers)(questionnaireResponse.item);
|
|
13
|
+
}
|
|
14
|
+
questionnaireResponse.meta = questionnaireResponse.meta
|
|
15
|
+
? (0, processMeta_1.processMeta)(questionnaireResponse.meta)
|
|
16
|
+
: questionnaireResponse.meta;
|
|
17
|
+
return (0, processReference_1.processReference)(questionnaireResponse);
|
|
18
|
+
}
|
|
19
|
+
exports.convertQuestionnaireResponse = convertQuestionnaireResponse;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaireResponse/index.ts"],"names":[],"mappings":";;;;AACA,yEAAyC;AAIzC,qDAAkD;AAClD,+CAA4C;AAC5C,yDAAsD;AAEtD,SAAgB,4BAA4B,CACxC,qBAA+C;IAE/C,qBAAqB,GAAG,IAAA,mBAAS,EAAC,qBAAqB,CAAC,CAAC;IACzD,IAAI,qBAAqB,CAAC,IAAI,EAAE;QAC5B,IAAA,+BAAc,EAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;KAC9C;IACD,qBAAqB,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI;QACnD,CAAC,CAAC,IAAA,yBAAW,EAAC,qBAAqB,CAAC,IAAI,CAAC;QACzC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;IACjC,OAAO,IAAA,mCAAgB,EAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC;AAXD,oEAWC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processAnswers = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
|
|
6
|
+
const converter_1 = require("../../../converter");
|
|
7
|
+
function processAnswers(items) {
|
|
8
|
+
for (const item of items) {
|
|
9
|
+
if (item.answer) {
|
|
10
|
+
item.answer = item.answer.map(processAnswer).filter((answer) => !(0, isEmpty_1.default)(answer));
|
|
11
|
+
}
|
|
12
|
+
if (item.item) {
|
|
13
|
+
processAnswers(item.item);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.processAnswers = processAnswers;
|
|
18
|
+
function processAnswer(answerItem) {
|
|
19
|
+
if (!answerItem.value) {
|
|
20
|
+
return answerItem;
|
|
21
|
+
}
|
|
22
|
+
const { value } = answerItem, item = tslib_1.__rest(answerItem, ["value"]);
|
|
23
|
+
const fhirAnswerItem = item;
|
|
24
|
+
const valueMappings = {
|
|
25
|
+
string: 'valueString',
|
|
26
|
+
decimal: 'valueDecimal',
|
|
27
|
+
integer: 'valueInteger',
|
|
28
|
+
boolean: 'valueBoolean',
|
|
29
|
+
Coding: 'valueCoding',
|
|
30
|
+
date: 'valueDate',
|
|
31
|
+
dateTime: 'valueDateTime',
|
|
32
|
+
time: 'valueTime',
|
|
33
|
+
};
|
|
34
|
+
for (const key in valueMappings) {
|
|
35
|
+
if (key in value) {
|
|
36
|
+
const newKey = valueMappings[key];
|
|
37
|
+
if (newKey) {
|
|
38
|
+
fhirAnswerItem[newKey] = value[key];
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (value.Reference) {
|
|
44
|
+
fhirAnswerItem.valueReference = (0, converter_1.toFHIRReference)(value.Reference);
|
|
45
|
+
}
|
|
46
|
+
return fhirAnswerItem;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=processAnswers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processAnswers.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaireResponse/processAnswers.ts"],"names":[],"mappings":";;;;AACA,qEAAqC;AAOrC,kDAAqD;AAErD,SAAgB,cAAc,CAAC,KAAqC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC;SACrF;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;KACJ;AACL,CAAC;AATD,wCASC;AAED,SAAS,aAAa,CAClB,UAA8C;IAE9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QACnB,OAAO,UAAU,CAAC;KACrB;IACD,MAAM,EAAE,KAAK,KAAc,UAAU,EAAnB,IAAI,kBAAK,UAAU,EAA/B,SAAkB,CAAa,CAAC;IACtC,MAAM,cAAc,GAAwC,IAAI,CAAC;IACjE,MAAM,aAAa,GAAG;QAClB,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,WAAW;KACpB,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAC7B,IAAI,GAAG,IAAI,KAAK,EAAE;YACd,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,MAAM,EAAE;gBACR,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;aACvC;YACD,MAAM;SACT;KACJ;IACD,IAAI,KAAK,CAAC,SAAS,EAAE;QACjB,cAAc,CAAC,cAAc,GAAG,IAAA,2BAAe,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACpE;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processMeta = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
function processMeta(meta) {
|
|
6
|
+
const { createdAt } = meta, fhirMeta = tslib_1.__rest(meta, ["createdAt"]);
|
|
7
|
+
if (createdAt) {
|
|
8
|
+
fhirMeta.extension = [
|
|
9
|
+
{
|
|
10
|
+
url: 'ex:createdAt',
|
|
11
|
+
valueInstant: meta.createdAt,
|
|
12
|
+
},
|
|
13
|
+
];
|
|
14
|
+
}
|
|
15
|
+
return fhirMeta;
|
|
16
|
+
}
|
|
17
|
+
exports.processMeta = processMeta;
|
|
18
|
+
//# sourceMappingURL=processMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processMeta.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaireResponse/processMeta.ts"],"names":[],"mappings":";;;;AAIA,SAAgB,WAAW,CAAC,IAAa;IACrC,MAAM,EAAE,SAAS,KAAkB,IAAI,EAAjB,QAAQ,kBAAK,IAAI,EAAjC,aAA0B,CAAO,CAAC;IACxC,IAAI,SAAS,EAAE;QACX,QAAQ,CAAC,SAAS,GAAG;YACjB;gBACI,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,IAAI,CAAC,SAAS;aAC/B;SACJ,CAAC;KACL;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAXD,kCAWC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { QuestionnaireResponse as FHIRQuestionnaireResponse } from 'fhir/r4b';
|
|
2
|
+
import { QuestionnaireResponse as FCEQuestionnaireResponse } from 'shared/src/contrib/aidbox';
|
|
3
|
+
export declare function processReference(fceQR: FCEQuestionnaireResponse): FHIRQuestionnaireResponse;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processReference = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
function processReference(fceQR) {
|
|
6
|
+
const { encounter, source } = fceQR, commonProprties = tslib_1.__rest(fceQR, ["encounter", "source"]);
|
|
7
|
+
const fhirQuestionnaireResponse = commonProprties;
|
|
8
|
+
if (encounter && encounter.resourceType && encounter.id) {
|
|
9
|
+
const { id, resourceType } = encounter, encounterProperties = tslib_1.__rest(encounter, ["id", "resourceType"]);
|
|
10
|
+
fhirQuestionnaireResponse.encounter = Object.assign({ reference: `${resourceType}/${id}` }, encounterProperties);
|
|
11
|
+
}
|
|
12
|
+
if (source && source.resourceType && source.id) {
|
|
13
|
+
const { id, resourceType } = source, sourceProperties = tslib_1.__rest(source, ["id", "resourceType"]);
|
|
14
|
+
fhirQuestionnaireResponse.source = Object.assign({ reference: `${resourceType}/${id}` }, sourceProperties);
|
|
15
|
+
}
|
|
16
|
+
return fhirQuestionnaireResponse;
|
|
17
|
+
}
|
|
18
|
+
exports.processReference = processReference;
|
|
19
|
+
//# sourceMappingURL=processReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processReference.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaireResponse/processReference.ts"],"names":[],"mappings":";;;;AAIA,SAAgB,gBAAgB,CAAC,KAA+B;IAC5D,MAAM,EAAE,SAAS,EAAE,MAAM,KAAyB,KAAK,EAAzB,eAAe,kBAAK,KAAK,EAAjD,uBAAyC,CAAQ,CAAC;IACxD,MAAM,yBAAyB,GAC3B,eAA4C,CAAC;IACjD,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,EAAE,EAAE;QACrD,MAAM,EAAE,EAAE,EAAE,YAAY,KAA6B,SAAS,EAAjC,mBAAmB,kBAAK,SAAS,EAAxD,sBAA4C,CAAY,CAAC;QAC/D,yBAAyB,CAAC,SAAS,mBAC/B,SAAS,EAAE,GAAG,YAAY,IAAI,EAAE,EAAE,IAC/B,mBAAmB,CACzB,CAAC;KACL;IACD,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,EAAE;QAC5C,MAAM,EAAE,EAAE,EAAE,YAAY,KAA0B,MAAM,EAA3B,gBAAgB,kBAAK,MAAM,EAAlD,sBAAyC,CAAS,CAAC;QACzD,yBAAyB,CAAC,MAAM,mBAC5B,SAAS,EAAE,GAAG,YAAY,IAAI,EAAE,EAAE,IAC/B,gBAAgB,CACtB,CAAC;KACL;IACD,OAAO,yBAAyB,CAAC;AACrC,CAAC;AAnBD,4CAmBC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Questionnaire as FHIRQuestionnaire, QuestionnaireResponse as FHIRQuestionnaireResponse } from 'fhir/r4b';
|
|
2
|
+
import { Questionnaire as FCEQuestionnaire, QuestionnaireResponse as FCEQuestionnaireResponse } from 'shared/src/contrib/aidbox';
|
|
3
|
+
export declare function toFirstClassExtension(fhirQuestionnaireResponse: FHIRQuestionnaireResponse): FCEQuestionnaireResponse;
|
|
4
|
+
export declare function toFirstClassExtension(fhirQuestionnaire: FHIRQuestionnaire): FCEQuestionnaire;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toFirstClassExtension = void 0;
|
|
4
|
+
const questionnaire_1 = require("./questionnaire");
|
|
5
|
+
const questionnaireResponse_1 = require("./questionnaireResponse");
|
|
6
|
+
function toFirstClassExtension(fhirResource) {
|
|
7
|
+
switch (fhirResource.resourceType) {
|
|
8
|
+
case 'Questionnaire':
|
|
9
|
+
return (0, questionnaire_1.convertQuestionnaire)(fhirResource);
|
|
10
|
+
case 'QuestionnaireResponse':
|
|
11
|
+
return (0, questionnaireResponse_1.convertQuestionnaireResponse)(fhirResource);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.toFirstClassExtension = toFirstClassExtension;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/converter/fhirToFce/index.ts"],"names":[],"mappings":";;;AAUA,mDAAuD;AACvD,mEAAuE;AAMvE,SAAgB,qBAAqB,CACjC,YAA2D;IAE3D,QAAQ,YAAY,CAAC,YAAY,EAAE;QAC/B,KAAK,eAAe;YAChB,OAAO,IAAA,oCAAoB,EAAC,YAAY,CAAC,CAAC;QAC9C,KAAK,uBAAuB;YACxB,OAAO,IAAA,oDAA4B,EAAC,YAAY,CAAC,CAAC;KACzD;AACL,CAAC;AATD,sDASC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertQuestionnaire = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
|
|
6
|
+
const processExtensions_1 = require("./processExtensions");
|
|
7
|
+
const processItems_1 = require("./processItems");
|
|
8
|
+
const processMeta_1 = require("./processMeta");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
function convertQuestionnaire(fhirQuestionnaire) {
|
|
11
|
+
(0, utils_1.checkFhirQuestionnaireProfile)(fhirQuestionnaire);
|
|
12
|
+
fhirQuestionnaire = (0, cloneDeep_1.default)(fhirQuestionnaire);
|
|
13
|
+
const meta = (0, processMeta_1.processMeta)(fhirQuestionnaire);
|
|
14
|
+
const item = (0, processItems_1.processItems)(fhirQuestionnaire);
|
|
15
|
+
const extensions = (0, processExtensions_1.processExtensions)(fhirQuestionnaire);
|
|
16
|
+
const questionnaire = (0, utils_1.trimUndefined)(Object.assign(Object.assign(Object.assign(Object.assign({}, fhirQuestionnaire), { meta,
|
|
17
|
+
item }), extensions), { extension: undefined }));
|
|
18
|
+
return questionnaire;
|
|
19
|
+
}
|
|
20
|
+
exports.convertQuestionnaire = convertQuestionnaire;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/index.ts"],"names":[],"mappings":";;;;AACA,yEAAyC;AAIzC,2DAAwD;AACxD,iDAA8C;AAC9C,+CAA4C;AAC5C,oCAAwE;AAExE,SAAgB,oBAAoB,CAAC,iBAAoC;IACrE,IAAA,qCAA6B,EAAC,iBAAiB,CAAC,CAAC;IACjD,iBAAiB,GAAG,IAAA,mBAAS,EAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,iBAAiB,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,qCAAiB,EAAC,iBAAiB,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,IAAA,qBAAa,8DAC5B,iBAAiB,KACpB,IAAI;QACJ,IAAI,KACD,UAAU,KACb,SAAS,EAAE,SAAS,IACtB,CAAC;IACH,OAAO,aAA4C,CAAC;AACxD,CAAC;AAdD,oDAcC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
|
|
2
|
+
export declare function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
|
|
3
|
+
launchContext?: any[];
|
|
4
|
+
mapping?: any[];
|
|
5
|
+
sourceQueries?: any[];
|
|
6
|
+
targetStructureMap?: any[];
|
|
7
|
+
};
|
|
8
|
+
export declare function processLaunchContext(fhirQuestionnaire: FHIRQuestionnaire): any[] | undefined;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processLaunchContext = exports.processExtensions = void 0;
|
|
4
|
+
function processExtensions(fhirQuestionnaire) {
|
|
5
|
+
const launchContext = processLaunchContext(fhirQuestionnaire);
|
|
6
|
+
const mapping = processMapping(fhirQuestionnaire);
|
|
7
|
+
const sourceQueries = processSourceQueries(fhirQuestionnaire);
|
|
8
|
+
const targetStructureMap = processTargetStructureMap(fhirQuestionnaire);
|
|
9
|
+
return {
|
|
10
|
+
launchContext: (launchContext === null || launchContext === void 0 ? void 0 : launchContext.length) ? launchContext : undefined,
|
|
11
|
+
mapping: (mapping === null || mapping === void 0 ? void 0 : mapping.length) ? mapping : undefined,
|
|
12
|
+
sourceQueries: (sourceQueries === null || sourceQueries === void 0 ? void 0 : sourceQueries.length) ? sourceQueries : undefined,
|
|
13
|
+
targetStructureMap: (targetStructureMap === null || targetStructureMap === void 0 ? void 0 : targetStructureMap.length) ? targetStructureMap : undefined,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.processExtensions = processExtensions;
|
|
17
|
+
function processLaunchContext(fhirQuestionnaire) {
|
|
18
|
+
var _a, _b, _c, _d, _e;
|
|
19
|
+
let launchContextExtensions = (_a = fhirQuestionnaire.extension) !== null && _a !== void 0 ? _a : [];
|
|
20
|
+
launchContextExtensions = launchContextExtensions.filter((ext) => ext.url ===
|
|
21
|
+
'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext');
|
|
22
|
+
if (launchContextExtensions.length === 0) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const launchContextArray = [];
|
|
26
|
+
for (const launchContextExtension of launchContextExtensions) {
|
|
27
|
+
const nameExtension = (_b = launchContextExtension.extension) === null || _b === void 0 ? void 0 : _b.find((ext) => ext.url === 'name');
|
|
28
|
+
const typeExtensions = (_c = launchContextExtension.extension) === null || _c === void 0 ? void 0 : _c.filter((ext) => ext.url === 'type');
|
|
29
|
+
const descriptionExtension = (_d = launchContextExtension.extension) === null || _d === void 0 ? void 0 : _d.find((ext) => ext.url === 'description');
|
|
30
|
+
const nameCode = (_e = nameExtension === null || nameExtension === void 0 ? void 0 : nameExtension.valueCoding) === null || _e === void 0 ? void 0 : _e.code;
|
|
31
|
+
const typeCodes = typeExtensions === null || typeExtensions === void 0 ? void 0 : typeExtensions.map((typeExtension) => typeExtension.valueCode);
|
|
32
|
+
const description = descriptionExtension === null || descriptionExtension === void 0 ? void 0 : descriptionExtension.valueString;
|
|
33
|
+
let contextFound = false;
|
|
34
|
+
for (const context of launchContextArray) {
|
|
35
|
+
if (context.name.code === nameCode) {
|
|
36
|
+
context.type.push(...(typeCodes !== null && typeCodes !== void 0 ? typeCodes : []));
|
|
37
|
+
contextFound = true;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (!contextFound) {
|
|
42
|
+
const context = {
|
|
43
|
+
name: nameExtension === null || nameExtension === void 0 ? void 0 : nameExtension.valueCoding,
|
|
44
|
+
type: typeCodes !== null && typeCodes !== void 0 ? typeCodes : [],
|
|
45
|
+
};
|
|
46
|
+
if (description) {
|
|
47
|
+
context.description = description;
|
|
48
|
+
}
|
|
49
|
+
launchContextArray.push(context);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return launchContextArray;
|
|
53
|
+
}
|
|
54
|
+
exports.processLaunchContext = processLaunchContext;
|
|
55
|
+
function processMapping(fhirQuestionnaire) {
|
|
56
|
+
var _a;
|
|
57
|
+
const mapperExtensions = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url === 'http://beda.software/fhir-extensions/questionnaire-mapper');
|
|
58
|
+
if (!mapperExtensions) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
return mapperExtensions.map((mapperExtension) => {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
return ({
|
|
64
|
+
id: (_b = (_a = mapperExtension.valueReference) === null || _a === void 0 ? void 0 : _a.reference) === null || _b === void 0 ? void 0 : _b.split('/')[1],
|
|
65
|
+
resourceType: 'Mapping',
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function processSourceQueries(fhirQuestionnaire) {
|
|
70
|
+
var _a, _b;
|
|
71
|
+
const extensions = (_b = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url ===
|
|
72
|
+
'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-sourceQueries')) !== null && _b !== void 0 ? _b : [];
|
|
73
|
+
return extensions.map((ext) => {
|
|
74
|
+
var _a, _b, _c;
|
|
75
|
+
return ({
|
|
76
|
+
localRef: (_c = (_b = (_a = ext.valueReference) === null || _a === void 0 ? void 0 : _a.reference) === null || _b === void 0 ? void 0 : _b.substring(1)) !== null && _c !== void 0 ? _c : '',
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function processTargetStructureMap(fhirQuestionnaire) {
|
|
81
|
+
var _a;
|
|
82
|
+
const extensions = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url ===
|
|
83
|
+
'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-targetStructureMap');
|
|
84
|
+
if (!extensions) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
return extensions.map((extension) => extension.valueCanonical);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=processExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processItems = void 0;
|
|
4
|
+
const converter_1 = require("../../../converter");
|
|
5
|
+
const extensions_1 = require("../../../converter/extensions");
|
|
6
|
+
function processItems(fhirQuestionnaire) {
|
|
7
|
+
var _a;
|
|
8
|
+
return (_a = fhirQuestionnaire.item) === null || _a === void 0 ? void 0 : _a.map(convertItemProperties);
|
|
9
|
+
}
|
|
10
|
+
exports.processItems = processItems;
|
|
11
|
+
function convertItemProperties(item) {
|
|
12
|
+
var _a;
|
|
13
|
+
const updatedProperties = getUpdatedPropertiesFromItem(item);
|
|
14
|
+
const newItem = Object.assign(Object.assign({}, item), updatedProperties);
|
|
15
|
+
newItem.item = (_a = item.item) === null || _a === void 0 ? void 0 : _a.map((nestedItem) => convertItemProperties(nestedItem));
|
|
16
|
+
if (newItem.extension) {
|
|
17
|
+
delete newItem.extension;
|
|
18
|
+
}
|
|
19
|
+
return newItem;
|
|
20
|
+
}
|
|
21
|
+
function getUpdatedPropertiesFromItem(item) {
|
|
22
|
+
var _a, _b, _c;
|
|
23
|
+
let updatedProperties = { linkId: item.linkId, type: item.type };
|
|
24
|
+
for (const identifer in extensions_1.ExtensionIdentifier) {
|
|
25
|
+
const identifierURI = extensions_1.ExtensionIdentifier[identifer];
|
|
26
|
+
const extension = (0, converter_1.findExtension)(item, identifierURI);
|
|
27
|
+
if (extension !== undefined) {
|
|
28
|
+
updatedProperties = Object.assign(Object.assign({}, updatedProperties), (0, converter_1.convertFromFHIRExtension)(extension));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
updatedProperties.answerOption = (_a = item.answerOption) === null || _a === void 0 ? void 0 : _a.map(processItemOption);
|
|
32
|
+
updatedProperties.initial = (_b = item.initial) === null || _b === void 0 ? void 0 : _b.map(processItemOption);
|
|
33
|
+
updatedProperties.enableWhen = (_c = item.enableWhen) === null || _c === void 0 ? void 0 : _c.map(processEnableWhenItem);
|
|
34
|
+
return updatedProperties;
|
|
35
|
+
}
|
|
36
|
+
function processEnableWhenItem(item) {
|
|
37
|
+
return {
|
|
38
|
+
question: item.question,
|
|
39
|
+
operator: item.operator,
|
|
40
|
+
answer: processEnableWhenAnswerOption(item),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function processEnableWhenAnswerOption(item) {
|
|
44
|
+
const answer = {};
|
|
45
|
+
switch (true) {
|
|
46
|
+
case 'answerBoolean' in item:
|
|
47
|
+
answer['boolean'] = item.answerBoolean;
|
|
48
|
+
break;
|
|
49
|
+
case 'answerDecimal' in item:
|
|
50
|
+
answer['decimal'] = item.answerDecimal;
|
|
51
|
+
break;
|
|
52
|
+
case 'answerInteger' in item:
|
|
53
|
+
answer['integer'] = item.answerInteger;
|
|
54
|
+
break;
|
|
55
|
+
case 'answerDate' in item:
|
|
56
|
+
answer['date'] = item.answerDate;
|
|
57
|
+
break;
|
|
58
|
+
case 'answerDateTime' in item:
|
|
59
|
+
answer['dateTime'] = item.answerDateTime;
|
|
60
|
+
break;
|
|
61
|
+
case 'answerTime' in item:
|
|
62
|
+
answer['time'] = item.answerTime;
|
|
63
|
+
break;
|
|
64
|
+
case 'answerString' in item:
|
|
65
|
+
answer['string'] = item.answerString;
|
|
66
|
+
break;
|
|
67
|
+
case 'answerCoding' in item:
|
|
68
|
+
answer['Coding'] = item.answerCoding;
|
|
69
|
+
break;
|
|
70
|
+
case 'answerQuantity' in item:
|
|
71
|
+
answer['Quantity'] = item.answerQuantity;
|
|
72
|
+
break;
|
|
73
|
+
case 'answerReference' in item:
|
|
74
|
+
if (item.answerReference) {
|
|
75
|
+
answer['Reference'] = (0, converter_1.fromFHIRReference)(item.answerReference);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
throw Error("Can not process 'answerReference' with no reference inside");
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
return answer;
|
|
85
|
+
}
|
|
86
|
+
function processItemOption(option) {
|
|
87
|
+
if (option.valueString) {
|
|
88
|
+
return {
|
|
89
|
+
value: {
|
|
90
|
+
string: option.valueString,
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
if (option.valueCoding) {
|
|
95
|
+
return {
|
|
96
|
+
value: {
|
|
97
|
+
Coding: option.valueCoding,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (option.valueReference) {
|
|
102
|
+
return {
|
|
103
|
+
value: {
|
|
104
|
+
Reference: (0, converter_1.fromFHIRReference)(option.valueReference),
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (option.valueDate) {
|
|
109
|
+
return {
|
|
110
|
+
value: {
|
|
111
|
+
date: option.valueDate,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
if (option.valueInteger) {
|
|
116
|
+
return {
|
|
117
|
+
value: {
|
|
118
|
+
integer: option.valueInteger,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
if ('valueBoolean' in option) {
|
|
123
|
+
return {
|
|
124
|
+
value: {
|
|
125
|
+
boolean: option.valueBoolean,
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return option;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=processItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processItems.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
|
|
2
|
+
export declare function processMeta(fhirQuestionnaire: FHIRQuestionnaire): {
|
|
3
|
+
extension: undefined;
|
|
4
|
+
createdAt: string | undefined;
|
|
5
|
+
lastUpdated?: string | undefined;
|
|
6
|
+
_lastUpdated?: import("fhir/r4b").Element | undefined;
|
|
7
|
+
profile?: string[] | undefined;
|
|
8
|
+
_profile?: import("fhir/r4b").Element[] | undefined;
|
|
9
|
+
security?: import("fhir/r4b").Coding[] | undefined;
|
|
10
|
+
source?: string | undefined;
|
|
11
|
+
_source?: import("fhir/r4b").Element | undefined;
|
|
12
|
+
tag?: import("fhir/r4b").Coding[] | undefined;
|
|
13
|
+
versionId?: string | undefined;
|
|
14
|
+
_versionId?: import("fhir/r4b").Element | undefined;
|
|
15
|
+
id?: string | undefined;
|
|
16
|
+
_id?: import("fhir/r4b").Element | undefined;
|
|
17
|
+
} | {
|
|
18
|
+
extension: undefined;
|
|
19
|
+
createdAt?: undefined;
|
|
20
|
+
lastUpdated?: string | undefined;
|
|
21
|
+
_lastUpdated?: import("fhir/r4b").Element | undefined;
|
|
22
|
+
profile?: string[] | undefined;
|
|
23
|
+
_profile?: import("fhir/r4b").Element[] | undefined;
|
|
24
|
+
security?: import("fhir/r4b").Coding[] | undefined;
|
|
25
|
+
source?: string | undefined;
|
|
26
|
+
_source?: import("fhir/r4b").Element | undefined;
|
|
27
|
+
tag?: import("fhir/r4b").Coding[] | undefined;
|
|
28
|
+
versionId?: string | undefined;
|
|
29
|
+
_versionId?: import("fhir/r4b").Element | undefined;
|
|
30
|
+
id?: string | undefined;
|
|
31
|
+
_id?: import("fhir/r4b").Element | undefined;
|
|
32
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processMeta = void 0;
|
|
4
|
+
function processMeta(fhirQuestionnaire) {
|
|
5
|
+
const createdAt = getCreatedAt(fhirQuestionnaire);
|
|
6
|
+
return Object.assign(Object.assign(Object.assign({}, fhirQuestionnaire.meta), createdAt), { extension: undefined });
|
|
7
|
+
}
|
|
8
|
+
exports.processMeta = processMeta;
|
|
9
|
+
function getCreatedAt(fhirQuestionnaire) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const metaExtension = (_b = (_a = fhirQuestionnaire.meta) === null || _a === void 0 ? void 0 : _a.extension) === null || _b === void 0 ? void 0 : _b.find((ext) => ext.url === 'ex:createdAt');
|
|
12
|
+
return metaExtension ? { createdAt: metaExtension.valueInstant } : {};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=processMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processMeta.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processMeta.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,iBAAoC;IAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClD,qDACO,iBAAiB,CAAC,IAAI,GACtB,SAAS,KACZ,SAAS,EAAE,SAAS,IACtB;AACN,CAAC;AAPD,kCAOC;AAED,SAAS,YAAY,CAAC,iBAAoC;;IACtD,MAAM,aAAa,GAAG,MAAA,MAAA,iBAAiB,CAAC,IAAI,0CAAE,SAAS,0CAAE,IAAI,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,cAAc,CACtC,CAAC;IACF,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { QuestionnaireResponse as FHIRQuestionnaireResponse } from 'fhir/r4b';
|
|
2
|
+
import { QuestionnaireResponse as FCEQuestionnaireResponse } from 'shared/src/contrib/aidbox';
|
|
3
|
+
export declare function convertQuestionnaireResponse(questionnaireResponse: FHIRQuestionnaireResponse): FCEQuestionnaireResponse;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertQuestionnaireResponse = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
|
|
6
|
+
const processAnswers_1 = require("./processAnswers");
|
|
7
|
+
const processMeta_1 = require("./processMeta");
|
|
8
|
+
const processReference_1 = require("./processReference");
|
|
9
|
+
function convertQuestionnaireResponse(questionnaireResponse) {
|
|
10
|
+
questionnaireResponse = (0, cloneDeep_1.default)(questionnaireResponse);
|
|
11
|
+
if (questionnaireResponse.item) {
|
|
12
|
+
(0, processAnswers_1.processAnswers)(questionnaireResponse.item);
|
|
13
|
+
}
|
|
14
|
+
if (questionnaireResponse.meta) {
|
|
15
|
+
questionnaireResponse.meta = (0, processMeta_1.processMeta)(questionnaireResponse.meta);
|
|
16
|
+
}
|
|
17
|
+
return (0, processReference_1.processReference)(questionnaireResponse);
|
|
18
|
+
}
|
|
19
|
+
exports.convertQuestionnaireResponse = convertQuestionnaireResponse;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaireResponse/index.ts"],"names":[],"mappings":";;;;AACA,yEAAyC;AAIzC,qDAAkD;AAClD,+CAA4C;AAC5C,yDAAsD;AAEtD,SAAgB,4BAA4B,CACxC,qBAAgD;IAEhD,qBAAqB,GAAG,IAAA,mBAAS,EAAC,qBAAqB,CAAC,CAAC;IACzD,IAAI,qBAAqB,CAAC,IAAI,EAAE;QAC5B,IAAA,+BAAc,EAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;KAC9C;IACD,IAAI,qBAAqB,CAAC,IAAI,EAAE;QAC5B,qBAAqB,CAAC,IAAI,GAAG,IAAA,yBAAW,EAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;KACxE;IACD,OAAO,IAAA,mCAAgB,EAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC;AAXD,oEAWC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processAnswers = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
|
|
6
|
+
const converter_1 = require("../../../converter");
|
|
7
|
+
function processAnswers(items) {
|
|
8
|
+
if (!items) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
for (const item of items) {
|
|
12
|
+
if (item.answer) {
|
|
13
|
+
item.answer = item.answer.map(processAnswer).filter((answer) => !(0, isEmpty_1.default)(answer));
|
|
14
|
+
}
|
|
15
|
+
if (item.item) {
|
|
16
|
+
processAnswers(item.item);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.processAnswers = processAnswers;
|
|
21
|
+
function processAnswer(answer) {
|
|
22
|
+
var _a;
|
|
23
|
+
const fceAnswer = Object.assign({}, answer);
|
|
24
|
+
const valueHandlers = {
|
|
25
|
+
valueString: (value) => ({ string: value }),
|
|
26
|
+
valueInteger: (value) => ({ integer: value }),
|
|
27
|
+
valueDecimal: (value) => ({ decimal: value }),
|
|
28
|
+
valueBoolean: (value) => ({ boolean: value }),
|
|
29
|
+
valueCoding: (value) => ({ Coding: value }),
|
|
30
|
+
valueDate: (value) => ({ date: value }),
|
|
31
|
+
valueDateTime: (value) => ({ dateTime: value }),
|
|
32
|
+
valueReference: (value) => ({
|
|
33
|
+
Reference: (0, converter_1.fromFHIRReference)(value),
|
|
34
|
+
}),
|
|
35
|
+
valueTime: (value) => ({ time: value }),
|
|
36
|
+
};
|
|
37
|
+
for (const key in valueHandlers) {
|
|
38
|
+
if (key in fceAnswer) {
|
|
39
|
+
const value = fceAnswer[key];
|
|
40
|
+
delete fceAnswer[key];
|
|
41
|
+
fceAnswer.value = (_a = valueHandlers[key]) === null || _a === void 0 ? void 0 : _a.call(valueHandlers, value);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return fceAnswer;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=processAnswers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processAnswers.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaireResponse/processAnswers.ts"],"names":[],"mappings":";;;;AAMA,qEAAqC;AAIrC,kDAAuD;AAEvD,SAAgB,cAAc,CAAC,KAAsC;IACjE,IAAI,CAAC,KAAK,EAAE;QACR,OAAO;KACV;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC;SACrF;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;KACJ;AACL,CAAC;AAZD,wCAYC;AAED,SAAS,aAAa,CAClB,MAA2C;;IAE3C,MAAM,SAAS,qBAA4C,MAAM,CAAE,CAAC;IACpE,MAAM,aAAa,GAAG;QAClB,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACnD,YAAY,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrD,YAAY,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrD,YAAY,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtD,WAAW,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACvD,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC/C,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACvD,cAAc,EAAE,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC;YACvC,SAAS,EAAE,IAAA,6BAAiB,EAAC,KAAK,CAAC;SACtC,CAAC;QACF,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAClD,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAC7B,IAAI,GAAG,IAAI,SAAS,EAAE;YAClB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS,CAAC,KAAK,GAAG,MAAA,aAAa,CAAC,GAAG,CAAC,8DAAG,KAAK,CAAC,CAAC;SACjD;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processMeta = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const converter_1 = require("../../../converter");
|
|
6
|
+
function processMeta(meta) {
|
|
7
|
+
const { extension } = meta, commonMeta = tslib_1.__rest(meta, ["extension"]);
|
|
8
|
+
const fceMeta = Object.assign({}, commonMeta);
|
|
9
|
+
if (extension) {
|
|
10
|
+
fceMeta.createdAt = (0, converter_1.extractExtension)(extension, 'ex:createdAt');
|
|
11
|
+
}
|
|
12
|
+
return fceMeta;
|
|
13
|
+
}
|
|
14
|
+
exports.processMeta = processMeta;
|
|
15
|
+
//# sourceMappingURL=processMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processMeta.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaireResponse/processMeta.ts"],"names":[],"mappings":";;;;AAIA,kDAAsD;AAEtD,SAAgB,WAAW,CAAC,IAAc;IACtC,MAAM,EAAE,SAAS,KAAoB,IAAI,EAAnB,UAAU,kBAAK,IAAI,EAAnC,aAA4B,CAAO,CAAC;IAC1C,MAAM,OAAO,qBAAiB,UAAU,CAAE,CAAC;IAC3C,IAAI,SAAS,EAAE;QACX,OAAO,CAAC,SAAS,GAAG,IAAA,4BAAgB,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;KACnE;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAPD,kCAOC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { QuestionnaireResponse as FHIRQuestionnaireResponse } from 'fhir/r4b';
|
|
2
|
+
import { QuestionnaireResponse as FCEQuestionnaireResponse } from 'shared/src/contrib/aidbox';
|
|
3
|
+
export declare function processReference(fhirQuestionnaireResponse: FHIRQuestionnaireResponse): FCEQuestionnaireResponse;
|