sdc-qrf 1.0.0-beta.2 → 1.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/converter/extensions.d.ts +9 -2
- package/dist/converter/extensions.d.ts.map +1 -1
- package/dist/converter/extensions.js +66 -2
- package/dist/converter/extensions.js.map +1 -1
- package/dist/converter/fhirToFce/questionnaire/processItems.d.ts.map +1 -1
- package/dist/converter/fhirToFce/questionnaire/processItems.js +33 -23
- package/dist/converter/fhirToFce/questionnaire/processItems.js.map +1 -1
- package/dist/converter/index.d.ts.map +1 -1
- package/dist/converter/index.js +2 -1
- package/dist/converter/index.js.map +1 -1
- package/dist/converter/utils.d.ts +1 -2
- package/dist/converter/utils.d.ts.map +1 -1
- package/dist/converter/utils.js +0 -5
- package/dist/converter/utils.js.map +1 -1
- package/dist/fce.types.d.ts +13 -1
- package/dist/fce.types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +16 -6
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +42 -26
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/converter/__tests__/fce.test.ts +88 -54
- package/src/converter/__tests__/resources/questionnaire_fce/answerOptionsToggleExpression.json +84 -0
- package/src/converter/__tests__/resources/questionnaire_fce/mixed-fce-with-extensions.json +26 -0
- package/src/converter/__tests__/resources/questionnaire_fce/occurs.json +16 -0
- package/src/converter/__tests__/resources/questionnaire_fce/sub-questionnaire.json +22 -0
- package/src/converter/__tests__/resources/questionnaire_fce/unknown-extensions.json +58 -0
- package/src/converter/__tests__/resources/questionnaire_fce/with-attachment-question.json +17 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/answerOptionsToggleExpression.json +96 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/mixed-fce-with-extensions.json +27 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/occurs.json +24 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/sub-questionnaire.json +32 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/unknown-extensions.json +62 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/with-attachment-question.json +26 -0
- package/src/converter/extensions.ts +78 -4
- package/src/converter/fhirToFce/questionnaire/processItems.ts +43 -34
- package/src/converter/index.ts +3 -1
- package/src/converter/utils.ts +1 -5
- package/src/fce.types.ts +18 -0
- package/src/index.ts +5 -1
- package/src/types.ts +2 -1
- package/src/utils.ts +79 -43
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ITEM_KEY = void 0;
|
|
3
4
|
exports.wrapAnswerValue = wrapAnswerValue;
|
|
4
5
|
exports.getBranchItems = getBranchItems;
|
|
5
6
|
exports.calcContext = calcContext;
|
|
@@ -8,7 +9,7 @@ exports.getItemKey = getItemKey;
|
|
|
8
9
|
exports.removeItemKey = removeItemKey;
|
|
9
10
|
exports.populateItemKey = populateItemKey;
|
|
10
11
|
exports.mapResponseToForm = mapResponseToForm;
|
|
11
|
-
exports.
|
|
12
|
+
exports.findAnswersForQuestion = findAnswersForQuestion;
|
|
12
13
|
exports.compareValue = compareValue;
|
|
13
14
|
exports.isValueEqual = isValueEqual;
|
|
14
15
|
exports.getChecker = getChecker;
|
|
@@ -23,6 +24,7 @@ exports.toFHIRAnswerValue = toFHIRAnswerValue;
|
|
|
23
24
|
exports.getAnswerValueType = getAnswerValueType;
|
|
24
25
|
exports.getAnswerValues = getAnswerValues;
|
|
25
26
|
exports.isAnswerValueEmpty = isAnswerValueEmpty;
|
|
27
|
+
exports.cleanFormAnswerItems = cleanFormAnswerItems;
|
|
26
28
|
exports.isValueEmpty = isValueEmpty;
|
|
27
29
|
const tslib_1 = require("tslib");
|
|
28
30
|
const fhirpath_1 = tslib_1.__importDefault(require("fhirpath"));
|
|
@@ -200,22 +202,24 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
|
|
|
200
202
|
];
|
|
201
203
|
}, acc);
|
|
202
204
|
}
|
|
205
|
+
const qrItemAnswers = cleanFormAnswerItems(answers).reduce((answersAcc, answer) => {
|
|
206
|
+
var _a;
|
|
207
|
+
const items = hasSubAnswerItems(answer.items)
|
|
208
|
+
? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
|
|
209
|
+
: [];
|
|
210
|
+
return [
|
|
211
|
+
...answersAcc,
|
|
212
|
+
Object.assign(Object.assign({}, toFHIRAnswerValue(answer.value, 'value')), (items.length ? { item: items } : {})),
|
|
213
|
+
];
|
|
214
|
+
}, []);
|
|
215
|
+
if (!qrItemAnswers.length) {
|
|
216
|
+
return acc;
|
|
217
|
+
}
|
|
203
218
|
return [
|
|
204
219
|
...acc,
|
|
205
220
|
{
|
|
206
221
|
linkId,
|
|
207
|
-
answer:
|
|
208
|
-
.filter((answer) => !isAnswerValueEmpty(answer.value))
|
|
209
|
-
.reduce((answersAcc, answer) => {
|
|
210
|
-
var _a;
|
|
211
|
-
const items = hasSubAnswerItems(answer.items)
|
|
212
|
-
? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
|
|
213
|
-
: [];
|
|
214
|
-
return [
|
|
215
|
-
...answersAcc,
|
|
216
|
-
Object.assign(Object.assign({}, toFHIRAnswerValue(answer.value, 'value')), (items.length ? { item: items } : {})),
|
|
217
|
-
];
|
|
218
|
-
}, []),
|
|
222
|
+
answer: qrItemAnswers,
|
|
219
223
|
},
|
|
220
224
|
];
|
|
221
225
|
}, []);
|
|
@@ -226,20 +230,20 @@ function mapFormToResponse(values, questionnaire) {
|
|
|
226
230
|
item: mapFormToResponseRecursive(values, (_a = questionnaire.item) !== null && _a !== void 0 ? _a : []),
|
|
227
231
|
};
|
|
228
232
|
}
|
|
229
|
-
|
|
233
|
+
exports.ITEM_KEY = '_itemKey';
|
|
230
234
|
function getItemKey(items) {
|
|
231
|
-
return items[ITEM_KEY];
|
|
235
|
+
return items[exports.ITEM_KEY];
|
|
232
236
|
}
|
|
233
237
|
function removeItemKey(items) {
|
|
234
238
|
const newItems = lodash_1.default.cloneDeep(items);
|
|
235
|
-
delete newItems[ITEM_KEY];
|
|
239
|
+
delete newItems[exports.ITEM_KEY];
|
|
236
240
|
return newItems;
|
|
237
241
|
}
|
|
238
242
|
function populateItemKey(items) {
|
|
239
|
-
if (items[ITEM_KEY]) {
|
|
243
|
+
if (items[exports.ITEM_KEY]) {
|
|
240
244
|
return items;
|
|
241
245
|
}
|
|
242
|
-
return Object.assign(Object.assign({}, items), { [ITEM_KEY]: (0, uuid_1.v4)() });
|
|
246
|
+
return Object.assign(Object.assign({}, items), { [exports.ITEM_KEY]: (0, uuid_1.v4)() });
|
|
243
247
|
}
|
|
244
248
|
function mapResponseToFormRecursive(questionnaireResponseItems, questionnaireItems) {
|
|
245
249
|
return questionnaireItems.reduce((acc, question) => {
|
|
@@ -301,6 +305,8 @@ function mapResponseToForm(resource, questionnaire) {
|
|
|
301
305
|
return mapResponseToFormRecursive((_a = resource.item) !== null && _a !== void 0 ? _a : [], (_b = questionnaire.item) !== null && _b !== void 0 ? _b : []);
|
|
302
306
|
}
|
|
303
307
|
function findAnswersForQuestionsRecursive(linkId, values) {
|
|
308
|
+
// TODO: specify types for returning value
|
|
309
|
+
// TODO: pass Questionnaire structure to make code robust
|
|
304
310
|
if (values && lodash_1.default.has(values, linkId)) {
|
|
305
311
|
return values[linkId];
|
|
306
312
|
}
|
|
@@ -316,7 +322,7 @@ function findAnswersForQuestionsRecursive(linkId, values) {
|
|
|
316
322
|
if (acc2) {
|
|
317
323
|
return acc2;
|
|
318
324
|
}
|
|
319
|
-
return findAnswersForQuestionsRecursive(linkId, v2.items);
|
|
325
|
+
return findAnswersForQuestionsRecursive(linkId, v2 === null || v2 === void 0 ? void 0 : v2.items);
|
|
320
326
|
}, null);
|
|
321
327
|
}
|
|
322
328
|
else if (lodash_1.default.isArray(v.items)) {
|
|
@@ -332,29 +338,36 @@ function findAnswersForQuestionsRecursive(linkId, values) {
|
|
|
332
338
|
}
|
|
333
339
|
}, null);
|
|
334
340
|
}
|
|
341
|
+
// TODO: deprecate usage of this function because it relies on internals
|
|
342
|
+
// TODO: pass Questionnaire structure to make code robust, currently it uses isNaN that might work falsy when linkId is number
|
|
335
343
|
function findAnswersForQuestion(linkId, parentPath, values) {
|
|
344
|
+
if (linkId === exports.ITEM_KEY) {
|
|
345
|
+
return [];
|
|
346
|
+
}
|
|
336
347
|
const p = lodash_1.default.cloneDeep(parentPath);
|
|
337
348
|
// Go up
|
|
338
349
|
while (p.length) {
|
|
339
350
|
const part = p.pop();
|
|
340
351
|
// Find answers in parent groups (including repeatable)
|
|
341
352
|
// They might have either 'items' of the group or number of the repeatable group in path
|
|
353
|
+
// TODO: using isNaN might return invalid value for linkId like '0'
|
|
342
354
|
if (part === 'items' || !isNaN(part)) {
|
|
355
|
+
// TODO: specify type FormItems, and handle group's linkId
|
|
343
356
|
const parentGroup = lodash_1.default.get(values, [...p, part]);
|
|
344
357
|
if (typeof parentGroup === 'object' && linkId in parentGroup) {
|
|
345
|
-
return parentGroup[linkId];
|
|
358
|
+
return cleanFormAnswerItems(parentGroup[linkId]);
|
|
346
359
|
}
|
|
347
360
|
}
|
|
348
361
|
}
|
|
349
362
|
// Go down
|
|
350
363
|
const answers = findAnswersForQuestionsRecursive(linkId, values);
|
|
351
|
-
return answers ? answers : [];
|
|
364
|
+
return answers ? cleanFormAnswerItems(answers) : [];
|
|
352
365
|
}
|
|
353
366
|
function compareValue(firstAnswerValue, secondAnswerValue) {
|
|
354
367
|
const firstValueType = getAnswerValueType(firstAnswerValue);
|
|
355
368
|
const secondValueType = getAnswerValueType(secondAnswerValue);
|
|
356
369
|
if (firstValueType !== secondValueType) {
|
|
357
|
-
throw new Error(
|
|
370
|
+
throw new Error(`Enable when must be used for the same type, first type is ${firstValueType}, second type is ${secondValueType}`);
|
|
358
371
|
}
|
|
359
372
|
if (!lodash_1.default.includes(FHIRPrimitiveTypes, firstValueType)) {
|
|
360
373
|
throw new Error('Impossible to compare non-primitive type');
|
|
@@ -374,7 +387,7 @@ function isValueEqual(firstValue, secondValue) {
|
|
|
374
387
|
const firstValueType = getAnswerValueType(firstValue);
|
|
375
388
|
const secondValueType = getAnswerValueType(secondValue);
|
|
376
389
|
if (firstValueType !== secondValueType) {
|
|
377
|
-
console.error(
|
|
390
|
+
console.error(`Enable when must be used for the same type, first type is ${firstValueType}, second type is ${secondValueType}`);
|
|
378
391
|
return false;
|
|
379
392
|
}
|
|
380
393
|
if (firstValueType === 'Coding') {
|
|
@@ -512,9 +525,7 @@ function removeDisabledAnswersRecursive(args) {
|
|
|
512
525
|
}) }) });
|
|
513
526
|
}
|
|
514
527
|
}
|
|
515
|
-
return Object.assign(Object.assign({}, acc), { [linkId]: answers
|
|
516
|
-
.filter((answer) => !isAnswerValueEmpty(answer.value))
|
|
517
|
-
.reduce((answersAcc, answer, index) => {
|
|
528
|
+
return Object.assign(Object.assign({}, acc), { [linkId]: cleanFormAnswerItems(answers).reduce((answersAcc, answer, index) => {
|
|
518
529
|
var _a;
|
|
519
530
|
const items = hasSubAnswerItems(answer.items)
|
|
520
531
|
? removeDisabledAnswersRecursive({
|
|
@@ -633,6 +644,11 @@ function getAnswerValues(answers) {
|
|
|
633
644
|
function isAnswerValueEmpty(value) {
|
|
634
645
|
return isValueEmpty(value) || lodash_1.default.every(lodash_1.default.mapValues(value, isValueEmpty));
|
|
635
646
|
}
|
|
647
|
+
function cleanFormAnswerItems(answerItems) {
|
|
648
|
+
// TODO: answerItems might be any here, we use _.filter because it handles object and nulls.
|
|
649
|
+
// TODO: get rid of it, once we have right types for all other functions
|
|
650
|
+
return lodash_1.default.filter(answerItems, (answer) => !!answer).filter((answer) => !isAnswerValueEmpty(answer.value));
|
|
651
|
+
}
|
|
636
652
|
function isValueEmpty(value) {
|
|
637
653
|
if (lodash_1.default.isNaN(value)) {
|
|
638
654
|
console.warn('Please be aware that a NaN value has been detected. In the context of an "exist" operator, a NaN value is interpreted as a non-existent value. This may lead to unexpected behavior in your code. Ensure to handle or correct this to maintain the integrity of your application.');
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import fce_beverages from './resources/questionnaire_fce/beverages.json';
|
|
|
7
7
|
import fce_choice_answer_option from './resources/questionnaire_fce/choice_answer_option.json';
|
|
8
8
|
import fce_consent from './resources/questionnaire_fce/consent.json';
|
|
9
9
|
import fce_constraint from './resources/questionnaire_fce/constraint.json';
|
|
10
|
+
import fce_answer_options_toggle_expression from './resources/questionnaire_fce/answerOptionsToggleExpression.json';
|
|
10
11
|
import fce_cqf_examples from './resources/questionnaire_fce/cqf-examples.json';
|
|
11
12
|
import fce_enable_when from './resources/questionnaire_fce/enable_when.json';
|
|
12
13
|
import fce_encounter_create from './resources/questionnaire_fce/encounter_create.json';
|
|
@@ -28,12 +29,18 @@ import fce_source_queries from './resources/questionnaire_fce/source_queries.jso
|
|
|
28
29
|
import fce_unit_option from './resources/questionnaire_fce/unit-option.json';
|
|
29
30
|
import fce_vitals from './resources/questionnaire_fce/vitals.json';
|
|
30
31
|
import fce_variable from './resources/questionnaire_fce/variable.json';
|
|
32
|
+
import fce_sub_questionnaire from './resources/questionnaire_fce/sub-questionnaire.json';
|
|
33
|
+
import fce_with_attachment_questionnaire from './resources/questionnaire_fce/with-attachment-question.json';
|
|
34
|
+
import fce_mixed_fce_with_extensions from './resources/questionnaire_fce/mixed-fce-with-extensions.json';
|
|
35
|
+
import fce_unknown_extensions from './resources/questionnaire_fce/unknown-extensions.json';
|
|
36
|
+
import fce_occurs from './resources/questionnaire_fce/occurs.json';
|
|
31
37
|
// fhir questionnaire
|
|
32
38
|
import fhir_allergies from './resources/questionnaire_fhir/allergies.json';
|
|
33
39
|
import fhir_beverages from './resources/questionnaire_fhir/beverages.json';
|
|
34
40
|
import fhir_choice_answer_option from './resources/questionnaire_fhir/choice_answer_option.json';
|
|
35
41
|
import fhir_consent from './resources/questionnaire_fhir/consent.json';
|
|
36
42
|
import fhir_constraint from './resources/questionnaire_fhir/constraint.json';
|
|
43
|
+
import fhir_answer_options_toggle_expression from './resources/questionnaire_fhir/answerOptionsToggleExpression.json';
|
|
37
44
|
import fhir_cqf_examples from './resources/questionnaire_fhir/cqf-examples.json';
|
|
38
45
|
import fhir_enable_when from './resources/questionnaire_fhir/enable_when.json';
|
|
39
46
|
import fhir_encounter_create from './resources/questionnaire_fhir/encounter_create.json';
|
|
@@ -55,6 +62,12 @@ import fhir_source_queries from './resources/questionnaire_fhir/source_queries.j
|
|
|
55
62
|
import fhir_unit_option from './resources/questionnaire_fhir/unit-option.json';
|
|
56
63
|
import fhir_vitals from './resources/questionnaire_fhir/vitals.json';
|
|
57
64
|
import fhir_variable from './resources/questionnaire_fhir/variable.json';
|
|
65
|
+
import fhir_sub_questionnaire from './resources/questionnaire_fhir/sub-questionnaire.json';
|
|
66
|
+
import fhir_with_attachment_questionnaire from './resources/questionnaire_fhir/with-attachment-question.json';
|
|
67
|
+
import fhir_mixed_fce_with_extensions from './resources/questionnaire_fhir/mixed-fce-with-extensions.json';
|
|
68
|
+
import fhir_unknown_extensions from './resources/questionnaire_fhir/unknown-extensions.json';
|
|
69
|
+
import fhir_occurs from './resources/questionnaire_fhir/occurs.json';
|
|
70
|
+
|
|
58
71
|
import { FCEQuestionnaire } from '../../fce.types';
|
|
59
72
|
|
|
60
73
|
import { toFirstClassExtension, fromFirstClassExtension } from '../../converter';
|
|
@@ -62,64 +75,85 @@ import { sortExtensionsList } from '../utils';
|
|
|
62
75
|
|
|
63
76
|
describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
64
77
|
test.each([
|
|
65
|
-
[fhir_allergies, fce_allergies],
|
|
66
|
-
[fhir_beverages, fce_beverages],
|
|
67
|
-
[fhir_choice_answer_option, fce_choice_answer_option],
|
|
68
|
-
[fhir_encounter_create, fce_encounter_create],
|
|
69
|
-
[fhir_gad_7, fce_gad_7],
|
|
70
|
-
[fhir_immunization, fce_immunization],
|
|
71
|
-
[fhir_medication, fce_medication],
|
|
72
|
-
[fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
|
|
73
|
-
[fhir_patient_create, fce_patient_create],
|
|
74
|
-
[fhir_patient_edit, fce_patient_edit],
|
|
75
|
-
[fhir_phq_2_phq_9, fce_phq_2_phq_9],
|
|
76
|
-
[fhir_physicalexam, fce_physicalexam],
|
|
77
|
-
[fhir_practitioner_create, fce_practitioner_create],
|
|
78
|
-
[fhir_practitioner_edit, fce_practitioner_edit],
|
|
79
|
-
[fhir_practitioner_role_create, fce_practitioner_role_create],
|
|
80
|
-
[fhir_public_appointment, fce_public_appointment],
|
|
81
|
-
[fhir_review_of_systems, fce_review_of_systems],
|
|
82
|
-
[fhir_source_queries, fce_source_queries],
|
|
83
|
-
[fhir_vitals, fce_vitals],
|
|
84
|
-
[
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
[
|
|
90
|
-
[
|
|
91
|
-
|
|
78
|
+
['allergies', fhir_allergies, fce_allergies],
|
|
79
|
+
['beverages', fhir_beverages, fce_beverages],
|
|
80
|
+
['choice-answer-option', fhir_choice_answer_option, fce_choice_answer_option],
|
|
81
|
+
['encounter-create', fhir_encounter_create, fce_encounter_create],
|
|
82
|
+
['gad-7', fhir_gad_7, fce_gad_7],
|
|
83
|
+
['immunization', fhir_immunization, fce_immunization],
|
|
84
|
+
['medication', fhir_medication, fce_medication],
|
|
85
|
+
['multiple-type-launch-context', fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
|
|
86
|
+
['patient-create', fhir_patient_create, fce_patient_create],
|
|
87
|
+
['patient-edit', fhir_patient_edit, fce_patient_edit],
|
|
88
|
+
['phq-2-phq-9', fhir_phq_2_phq_9, fce_phq_2_phq_9],
|
|
89
|
+
['physicalexam', fhir_physicalexam, fce_physicalexam],
|
|
90
|
+
['practitioner-create', fhir_practitioner_create, fce_practitioner_create],
|
|
91
|
+
['practitioner-edit', fhir_practitioner_edit, fce_practitioner_edit],
|
|
92
|
+
['practitioner-role-create', fhir_practitioner_role_create, fce_practitioner_role_create],
|
|
93
|
+
['public-appointment', fhir_public_appointment, fce_public_appointment],
|
|
94
|
+
['review-of-systems', fhir_review_of_systems, fce_review_of_systems],
|
|
95
|
+
['source-queries', fhir_source_queries, fce_source_queries],
|
|
96
|
+
['vitals', fhir_vitals, fce_vitals],
|
|
97
|
+
[
|
|
98
|
+
'practitioner-create-structure-map',
|
|
99
|
+
fhir_practitioner_create_structure_map,
|
|
100
|
+
fce_practitioner_create_structure_map,
|
|
101
|
+
],
|
|
102
|
+
['consent', fhir_consent, fce_consent],
|
|
103
|
+
['enable-when', fhir_enable_when, fce_enable_when],
|
|
104
|
+
['cqf-examples', fhir_cqf_examples, fce_cqf_examples],
|
|
105
|
+
['constraint', fhir_constraint, fce_constraint],
|
|
106
|
+
['answerOptionsToggleExpression', fhir_answer_options_toggle_expression, fce_answer_options_toggle_expression],
|
|
107
|
+
['unit-option', fhir_unit_option, fce_unit_option],
|
|
108
|
+
['variable', fhir_variable, fce_variable],
|
|
109
|
+
['sub-questionnaire', fhir_sub_questionnaire, fce_sub_questionnaire],
|
|
110
|
+
['with-attachment-questionnaire', fhir_with_attachment_questionnaire, fce_with_attachment_questionnaire],
|
|
111
|
+
// NOTE: this following is not included here because it's example of mixed FCE + extensions, it is only for FCE -> FHIR
|
|
112
|
+
// ['mixed-fce-with-extensions', fhir_mixed_fce_with_extensions, fce_mixed_fce_with_extensions],
|
|
113
|
+
['unknown-extensions', fhir_unknown_extensions, fce_unknown_extensions],
|
|
114
|
+
['occurs', fhir_occurs, fce_occurs],
|
|
115
|
+
])('Each FHIR Questionnaire should convert to FCE %s', async (_, fhir_questionnaire, fce_questionnaire) => {
|
|
92
116
|
expect(toFirstClassExtension(fhir_questionnaire as FHIRQuestionnaire)).toStrictEqual(fce_questionnaire);
|
|
93
117
|
});
|
|
94
118
|
|
|
95
119
|
test.each([
|
|
96
|
-
[fce_allergies, fhir_allergies],
|
|
97
|
-
[fce_beverages, fhir_beverages],
|
|
98
|
-
[fce_choice_answer_option, fhir_choice_answer_option],
|
|
99
|
-
[fce_encounter_create, fhir_encounter_create],
|
|
100
|
-
[fce_gad_7, fhir_gad_7],
|
|
101
|
-
[fce_immunization, fhir_immunization],
|
|
102
|
-
[fce_medication, fhir_medication],
|
|
103
|
-
[fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
|
|
104
|
-
[fce_patient_create, fhir_patient_create],
|
|
105
|
-
[fce_patient_edit, fhir_patient_edit],
|
|
106
|
-
[fce_phq_2_phq_9, fhir_phq_2_phq_9],
|
|
107
|
-
[fce_physicalexam, fhir_physicalexam],
|
|
108
|
-
[fce_practitioner_create, fhir_practitioner_create],
|
|
109
|
-
[fce_practitioner_edit, fhir_practitioner_edit],
|
|
110
|
-
[fce_practitioner_role_create, fhir_practitioner_role_create],
|
|
111
|
-
[fce_public_appointment, fhir_public_appointment],
|
|
112
|
-
[fce_review_of_systems, fhir_review_of_systems],
|
|
113
|
-
[fce_source_queries, fhir_source_queries],
|
|
114
|
-
[fce_vitals, fhir_vitals],
|
|
115
|
-
[
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
[
|
|
121
|
-
[
|
|
122
|
-
|
|
120
|
+
['allergies', fce_allergies, fhir_allergies],
|
|
121
|
+
['beverages', fce_beverages, fhir_beverages],
|
|
122
|
+
['choice-answer-option', fce_choice_answer_option, fhir_choice_answer_option],
|
|
123
|
+
['encounter-create', fce_encounter_create, fhir_encounter_create],
|
|
124
|
+
['gad-7', fce_gad_7, fhir_gad_7],
|
|
125
|
+
['immunization', fce_immunization, fhir_immunization],
|
|
126
|
+
['medication', fce_medication, fhir_medication],
|
|
127
|
+
['multiple-type-launch-context', fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
|
|
128
|
+
['patient-create', fce_patient_create, fhir_patient_create],
|
|
129
|
+
['patient-edit', fce_patient_edit, fhir_patient_edit],
|
|
130
|
+
['phq-2-phq-9', fce_phq_2_phq_9, fhir_phq_2_phq_9],
|
|
131
|
+
['physicalexam', fce_physicalexam, fhir_physicalexam],
|
|
132
|
+
['practitioner-create', fce_practitioner_create, fhir_practitioner_create],
|
|
133
|
+
['practitioner-edit', fce_practitioner_edit, fhir_practitioner_edit],
|
|
134
|
+
['practitioner-role-create', fce_practitioner_role_create, fhir_practitioner_role_create],
|
|
135
|
+
['public-appointment', fce_public_appointment, fhir_public_appointment],
|
|
136
|
+
['review-of-systems', fce_review_of_systems, fhir_review_of_systems],
|
|
137
|
+
['source-queries', fce_source_queries, fhir_source_queries],
|
|
138
|
+
['vitals', fce_vitals, fhir_vitals],
|
|
139
|
+
[
|
|
140
|
+
'practitioner-create-structure-map',
|
|
141
|
+
fce_practitioner_create_structure_map,
|
|
142
|
+
fhir_practitioner_create_structure_map,
|
|
143
|
+
],
|
|
144
|
+
['consent', fce_consent, fhir_consent],
|
|
145
|
+
['enable-when', fce_enable_when, fhir_enable_when],
|
|
146
|
+
['cqf-examples', fce_cqf_examples, fhir_cqf_examples],
|
|
147
|
+
['constraint', fce_constraint, fhir_constraint],
|
|
148
|
+
['answerOptionsToggleExpression', fce_answer_options_toggle_expression, fhir_answer_options_toggle_expression],
|
|
149
|
+
['unit-option', fce_unit_option, fhir_unit_option],
|
|
150
|
+
['variable', fce_variable, fhir_variable],
|
|
151
|
+
['sub-questionnaire', fce_sub_questionnaire, fhir_sub_questionnaire],
|
|
152
|
+
['with-attachment-questionnaire', fce_with_attachment_questionnaire, fhir_with_attachment_questionnaire],
|
|
153
|
+
['mixed-fce-with-extensions', fce_mixed_fce_with_extensions, fhir_mixed_fce_with_extensions],
|
|
154
|
+
['unknown-extensions', fce_unknown_extensions, fhir_unknown_extensions],
|
|
155
|
+
['occurs', fce_occurs, fhir_occurs],
|
|
156
|
+
])('Each FCE Questionnaire should convert to FHIR %s', async (_, fce_questionnaire, fhir_questionnaire) => {
|
|
123
157
|
expect(sortExtensionsList(fromFirstClassExtension(fce_questionnaire as FCEQuestionnaire))).toStrictEqual(
|
|
124
158
|
sortExtensionsList(fhir_questionnaire),
|
|
125
159
|
);
|
package/src/converter/__tests__/resources/questionnaire_fce/answerOptionsToggleExpression.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"resourceType": "Questionnaire",
|
|
3
|
+
"id": "answerOptionsToggleExpression",
|
|
4
|
+
"meta": {
|
|
5
|
+
"profile": [
|
|
6
|
+
"https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"status": "active",
|
|
10
|
+
"item": [
|
|
11
|
+
{
|
|
12
|
+
"type": "choice",
|
|
13
|
+
"linkId": "answerOptions",
|
|
14
|
+
"answerOption": [
|
|
15
|
+
{
|
|
16
|
+
"valueCoding": {
|
|
17
|
+
"code": "code-1",
|
|
18
|
+
"display": "display-1"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"valueCoding": {
|
|
23
|
+
"code": "code-2",
|
|
24
|
+
"display": "display-2"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"valueCoding": {
|
|
29
|
+
"code": "code-3",
|
|
30
|
+
"display": "display-3"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"valueCoding": {
|
|
35
|
+
"code": "code-4",
|
|
36
|
+
"display": "display-4"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"answerOptionsToggleExpression": [
|
|
41
|
+
{
|
|
42
|
+
"option": [
|
|
43
|
+
{
|
|
44
|
+
"valueCoding": {
|
|
45
|
+
"code": "code-1",
|
|
46
|
+
"display": "display-1"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"valueCoding": {
|
|
51
|
+
"code": "code-2",
|
|
52
|
+
"display": "display-2"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"expression": {
|
|
57
|
+
"language": "text/fhirpath",
|
|
58
|
+
"expression": "1 = 1"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"option": [
|
|
63
|
+
{
|
|
64
|
+
"valueCoding": {
|
|
65
|
+
"code": "code-3",
|
|
66
|
+
"display": "display-3"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"valueCoding": {
|
|
71
|
+
"code": "code-4",
|
|
72
|
+
"display": "display-4"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"expression": {
|
|
77
|
+
"language": "text/fhirpath",
|
|
78
|
+
"expression": "1 != 1"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"resourceType": "Questionnaire",
|
|
3
|
+
"id": "fce-with-extensions",
|
|
4
|
+
"meta": {
|
|
5
|
+
"profile": [
|
|
6
|
+
"https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"status": "active",
|
|
10
|
+
"item": [
|
|
11
|
+
{
|
|
12
|
+
"type": "string",
|
|
13
|
+
"linkId": "question",
|
|
14
|
+
"entryFormat": "This is FCE",
|
|
15
|
+
"extension": [
|
|
16
|
+
{
|
|
17
|
+
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
|
|
18
|
+
"valueExpression": {
|
|
19
|
+
"language": "text/fhirpath",
|
|
20
|
+
"expression": "'This is extension'"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"resourceType": "Questionnaire",
|
|
3
|
+
"id": "occurs",
|
|
4
|
+
"meta": {
|
|
5
|
+
"profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
|
|
6
|
+
},
|
|
7
|
+
"status": "active",
|
|
8
|
+
"item": [
|
|
9
|
+
{
|
|
10
|
+
"type": "number",
|
|
11
|
+
"linkId": "number",
|
|
12
|
+
"minOccurs": 1,
|
|
13
|
+
"maxOccurs": 2
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|