sdc-qrf 0.3.33 → 0.3.34
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 +1 -0
- package/dist/converter/extensions.d.ts.map +1 -1
- package/dist/converter/extensions.js +73 -0
- package/dist/converter/extensions.js.map +1 -1
- package/package.json +1 -1
- package/src/converter/__tests__/fce.test.ts +4 -0
- package/src/converter/__tests__/resources/questionnaire_fce/answerOptionsToggleExpression.json +98 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/answerOptionsToggleExpression.json +96 -0
- package/src/converter/extensions.ts +82 -0
|
@@ -28,6 +28,7 @@ export declare enum ExtensionIdentifier {
|
|
|
28
28
|
ChoiceColumns = "http://aidbox.io/fhir/StructureDefinition/questionnaire-choiceColumns",
|
|
29
29
|
ItemPopulationContext = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext",
|
|
30
30
|
ItemConstraint = "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint",
|
|
31
|
+
AnswerOptionsToggleExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression",
|
|
31
32
|
InitialExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
|
|
32
33
|
ChoiceColumn = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-choiceColumn",
|
|
33
34
|
CalculatedExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxF,oBAAY,mBAAmB;IAC3B,MAAM,iEAAiE;IACvE,WAAW,sEAAsE;IACjF,eAAe,0EAA0E;IACzF,IAAI,+DAA+D;IACnE,UAAU,qEAAqE;IAC/E,iBAAiB,4EAA4E;IAC7F,WAAW,wDAAwD;IACnE,UAAU,kDAAkD;IAC5D,SAAS,+EAA+E;IACxF,KAAK,kDAAkD;IACvD,kBAAkB,wFAAwF;IAC1G,qBAAqB,2FAA2F;IAChH,QAAQ,qDAAqD;IAC7D,QAAQ,qDAAqD;IAC7D,WAAW,iFAAiF;IAC5F,WAAW,iFAAiF;IAC5F,gBAAgB,oDAAoD;IACpE,6BAA6B,gGAAgG;IAC7H,0BAA0B,uEAAuE;IACjG,SAAS,+EAA+E;IACxF,eAAe,mDAAmD;IAClE,QAAQ,qDAAqD;IAC7D,iBAAiB,4EAA4E;IAC7F,qBAAqB,yEAAyE;IAC9F,aAAa,0EAA0E;IAEvF,qBAAqB,2FAA2F;IAChH,cAAc,qEAAqE;IACnF,6BAA6B,mGAAmG;IAChI,iBAAiB,uFAAuF;IACxG,YAAY,kFAAkF;IAC9F,oBAAoB,0FAA0F;IAC9G,oBAAoB,0FAA0F;IAC9G,gBAAgB,sFAAsF;IACtG,aAAa,2DAA2D;IACxE,QAAQ,qDAAqD;IAC7D,QAAQ,qDAAqD;IAE7D,iBAAiB,sEAAsE;IACvF,WAAW,8DAA8D;IACzE,UAAU,6DAA6D;IACvE,QAAQ,2DAA2D;IACnE,SAAS,mEAAmE;IAC5E,KAAK,uDAAuD;IAC5D,UAAU,6DAA6D;IACvE,gBAAgB,sFAAsF;IACtG,SAAS,oEAAoE;IAC7E,SAAS,oEAAoE;CAChF;AAED,MAAM,MAAM,oBAAoB,GAAG;KAC9B,GAAG,IAAI,mBAAmB,GACrB;QACI,SAAS,EAAE;YACP,cAAc,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;YAC3F,YAAY,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,aAAa,EAAE,CAAC;SACjE,CAAC;KACL,GACD;QACI,IAAI,EAAE;YACF,SAAS,EAAE,MAAM,aAAa,CAAC;YAC/B,aAAa,EAAE,MAAM,oBAAoB,CAAC;YAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;KACL;CACV,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,oBAiSnC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extensionTransformers = exports.ExtensionIdentifier = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
4
5
|
var ExtensionIdentifier;
|
|
5
6
|
(function (ExtensionIdentifier) {
|
|
6
7
|
ExtensionIdentifier["Hidden"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden";
|
|
@@ -30,6 +31,7 @@ var ExtensionIdentifier;
|
|
|
30
31
|
ExtensionIdentifier["ChoiceColumns"] = "http://aidbox.io/fhir/StructureDefinition/questionnaire-choiceColumns";
|
|
31
32
|
ExtensionIdentifier["ItemPopulationContext"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext";
|
|
32
33
|
ExtensionIdentifier["ItemConstraint"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint";
|
|
34
|
+
ExtensionIdentifier["AnswerOptionsToggleExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression";
|
|
33
35
|
ExtensionIdentifier["InitialExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression";
|
|
34
36
|
ExtensionIdentifier["ChoiceColumn"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-choiceColumn";
|
|
35
37
|
ExtensionIdentifier["CalculatedExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression";
|
|
@@ -222,6 +224,39 @@ exports.extensionTransformers = {
|
|
|
222
224
|
},
|
|
223
225
|
},
|
|
224
226
|
},
|
|
227
|
+
[ExtensionIdentifier.AnswerOptionsToggleExpression]: {
|
|
228
|
+
transform: {
|
|
229
|
+
fromExtensions: (extensions) => {
|
|
230
|
+
return {
|
|
231
|
+
answerOptionsToggleExpression: extensions.map((extension) => {
|
|
232
|
+
const answerOptionsToggleExpression = extension.extension;
|
|
233
|
+
return {
|
|
234
|
+
expression: answerOptionsToggleExpression.find((obj) => obj.url === 'expression')
|
|
235
|
+
.valueExpression,
|
|
236
|
+
option: answerOptionsToggleExpression
|
|
237
|
+
.filter((obj) => obj.url === 'option')
|
|
238
|
+
.map((obj) => toAidboxUnionType(obj, 'value')),
|
|
239
|
+
};
|
|
240
|
+
}),
|
|
241
|
+
};
|
|
242
|
+
},
|
|
243
|
+
toExtensions: (item) => {
|
|
244
|
+
if (item.answerOptionsToggleExpression) {
|
|
245
|
+
return item.answerOptionsToggleExpression.map((answerOptionsToggleExpression) => ({
|
|
246
|
+
url: ExtensionIdentifier.AnswerOptionsToggleExpression,
|
|
247
|
+
extension: [
|
|
248
|
+
...answerOptionsToggleExpression.option.map((option) => (Object.assign({ url: 'option' }, fromAidboxUnionType(option.value, 'value')))),
|
|
249
|
+
{
|
|
250
|
+
url: 'expression',
|
|
251
|
+
valueExpression: answerOptionsToggleExpression.expression,
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
}));
|
|
255
|
+
}
|
|
256
|
+
return [];
|
|
257
|
+
},
|
|
258
|
+
},
|
|
259
|
+
},
|
|
225
260
|
[ExtensionIdentifier.Variable]: {
|
|
226
261
|
path: { extension: 'valueExpression', questionnaire: 'variable', isCollection: true },
|
|
227
262
|
},
|
|
@@ -297,4 +332,42 @@ exports.extensionTransformers = {
|
|
|
297
332
|
path: { extension: 'valueString', questionnaire: 'macro' },
|
|
298
333
|
},
|
|
299
334
|
};
|
|
335
|
+
// fromAidboxUnionType({string: '1'}, 'value) => {valueString: '1'}
|
|
336
|
+
function fromAidboxUnionType(obj, prefix) {
|
|
337
|
+
const key = Object.keys(obj)[0];
|
|
338
|
+
const mappedObjKey = prefix + (0, lodash_1.upperFirst)(key);
|
|
339
|
+
return { [mappedObjKey]: obj[key] };
|
|
340
|
+
}
|
|
341
|
+
const FHIRPrimitiveTypes = [
|
|
342
|
+
'base64Binary',
|
|
343
|
+
'boolean',
|
|
344
|
+
'canonical',
|
|
345
|
+
'code',
|
|
346
|
+
'date',
|
|
347
|
+
'dateTime',
|
|
348
|
+
'decimal',
|
|
349
|
+
'id',
|
|
350
|
+
'instant',
|
|
351
|
+
'integer',
|
|
352
|
+
'integer64',
|
|
353
|
+
'markdown',
|
|
354
|
+
'oid',
|
|
355
|
+
'positiveInt',
|
|
356
|
+
'string',
|
|
357
|
+
'time',
|
|
358
|
+
'unsignedInt',
|
|
359
|
+
'uri',
|
|
360
|
+
'url',
|
|
361
|
+
'uuid',
|
|
362
|
+
];
|
|
363
|
+
// toAidboxUnionType({valueString: '1'}, 'value') => {value: {string: '1'}}
|
|
364
|
+
// toAidboxUnionType({valueCoding: '1'}, 'value') => {value: {Coding: '1'}}
|
|
365
|
+
function toAidboxUnionType(obj, prefix) {
|
|
366
|
+
const prefixKey = Object.keys(obj).filter((key) => key.startsWith(prefix))[0];
|
|
367
|
+
const key = (0, lodash_1.lowerFirst)(prefixKey.slice(prefix.length));
|
|
368
|
+
const answerKey = FHIRPrimitiveTypes.includes(key) ? key : (0, lodash_1.upperFirst)(key);
|
|
369
|
+
return {
|
|
370
|
+
[prefix]: { [answerKey]: obj[prefixKey] },
|
|
371
|
+
};
|
|
372
|
+
}
|
|
300
373
|
//# sourceMappingURL=extensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -12,6 +12,7 @@ import fce_beverages from './resources/questionnaire_fce/beverages.json';
|
|
|
12
12
|
import fce_choice_answer_option from './resources/questionnaire_fce/choice_answer_option.json';
|
|
13
13
|
import fce_consent from './resources/questionnaire_fce/consent.json';
|
|
14
14
|
import fce_constraint from './resources/questionnaire_fce/constraint.json';
|
|
15
|
+
import fce_answer_options_toggle_expression from './resources/questionnaire_fce/answerOptionsToggleExpression.json';
|
|
15
16
|
import fce_cqf_examples from './resources/questionnaire_fce/cqf-examples.json';
|
|
16
17
|
import fce_enable_when from './resources/questionnaire_fce/enable_when.json';
|
|
17
18
|
import fce_encounter_create from './resources/questionnaire_fce/encounter_create.json';
|
|
@@ -44,6 +45,7 @@ import fhir_beverages from './resources/questionnaire_fhir/beverages.json';
|
|
|
44
45
|
import fhir_choice_answer_option from './resources/questionnaire_fhir/choice_answer_option.json';
|
|
45
46
|
import fhir_consent from './resources/questionnaire_fhir/consent.json';
|
|
46
47
|
import fhir_constraint from './resources/questionnaire_fhir/constraint.json';
|
|
48
|
+
import fhir_answer_options_toggle_expression from './resources/questionnaire_fhir/answerOptionsToggleExpression.json';
|
|
47
49
|
import fhir_cqf_examples from './resources/questionnaire_fhir/cqf-examples.json';
|
|
48
50
|
import fhir_enable_when from './resources/questionnaire_fhir/enable_when.json';
|
|
49
51
|
import fhir_encounter_create from './resources/questionnaire_fhir/encounter_create.json';
|
|
@@ -134,6 +136,7 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
|
134
136
|
['enable-when', fhir_enable_when, fce_enable_when],
|
|
135
137
|
['cqf-examples', fhir_cqf_examples, fce_cqf_examples],
|
|
136
138
|
['constraint', fhir_constraint, fce_constraint],
|
|
139
|
+
['answerOptionsToggleExpression', fhir_answer_options_toggle_expression, fce_answer_options_toggle_expression],
|
|
137
140
|
['unit-option', fhir_unit_option, fce_unit_option],
|
|
138
141
|
['variable', fhir_variable, fce_variable],
|
|
139
142
|
['sub-questionnaire', fhir_sub_questionnaire, fce_sub_questionnaire],
|
|
@@ -175,6 +178,7 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
|
175
178
|
['enable-when', fce_enable_when, fhir_enable_when],
|
|
176
179
|
['cqf-examples', fce_cqf_examples, fhir_cqf_examples],
|
|
177
180
|
['constraint', fce_constraint, fhir_constraint],
|
|
181
|
+
['answerOptionsToggleExpression', fce_answer_options_toggle_expression, fhir_answer_options_toggle_expression],
|
|
178
182
|
['unit-option', fce_unit_option, fhir_unit_option],
|
|
179
183
|
['variable', fce_variable, fhir_variable],
|
|
180
184
|
['sub-questionnaire', fce_sub_questionnaire, fhir_sub_questionnaire],
|
package/src/converter/__tests__/resources/questionnaire_fce/answerOptionsToggleExpression.json
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"resourceType": "Questionnaire",
|
|
3
|
+
"id": "answerOptionsToggleExpression",
|
|
4
|
+
"meta": {
|
|
5
|
+
"profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
|
|
6
|
+
},
|
|
7
|
+
"status": "active",
|
|
8
|
+
"item": [
|
|
9
|
+
{
|
|
10
|
+
"type": "choice",
|
|
11
|
+
"linkId": "answerOptions",
|
|
12
|
+
"answerOption": [
|
|
13
|
+
{
|
|
14
|
+
"value": {
|
|
15
|
+
"Coding": {
|
|
16
|
+
"code": "code-1",
|
|
17
|
+
"display": "display-1"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"value": {
|
|
23
|
+
"Coding": {
|
|
24
|
+
"code": "code-2",
|
|
25
|
+
"display": "display-2"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"value": {
|
|
31
|
+
"Coding": {
|
|
32
|
+
"code": "code-3",
|
|
33
|
+
"display": "display-3"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"value": {
|
|
39
|
+
"Coding": {
|
|
40
|
+
"code": "code-4",
|
|
41
|
+
"display": "display-4"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"answerOptionsToggleExpression": [
|
|
47
|
+
{
|
|
48
|
+
"option": [
|
|
49
|
+
{
|
|
50
|
+
"value": {
|
|
51
|
+
"Coding": {
|
|
52
|
+
"code": "code-1",
|
|
53
|
+
"display": "display-1"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"value": {
|
|
59
|
+
"Coding": {
|
|
60
|
+
"code": "code-2",
|
|
61
|
+
"display": "display-2"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"expression": {
|
|
67
|
+
"language": "text/fhirpath",
|
|
68
|
+
"expression": "1 = 1"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"option": [
|
|
73
|
+
{
|
|
74
|
+
"value": {
|
|
75
|
+
"Coding": {
|
|
76
|
+
"code": "code-3",
|
|
77
|
+
"display": "display-3"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"value": {
|
|
83
|
+
"Coding": {
|
|
84
|
+
"code": "code-4",
|
|
85
|
+
"display": "display-4"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"expression": {
|
|
91
|
+
"language": "text/fhirpath",
|
|
92
|
+
"expression": "1 != 1"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
package/src/converter/__tests__/resources/questionnaire_fhir/answerOptionsToggleExpression.json
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"item": [
|
|
3
|
+
{
|
|
4
|
+
"type": "choice",
|
|
5
|
+
"linkId": "answerOptions",
|
|
6
|
+
"answerOption": [
|
|
7
|
+
{
|
|
8
|
+
"valueCoding": {
|
|
9
|
+
"code": "code-1",
|
|
10
|
+
"display": "display-1"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"valueCoding": {
|
|
15
|
+
"code": "code-2",
|
|
16
|
+
"display": "display-2"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"valueCoding": {
|
|
21
|
+
"code": "code-3",
|
|
22
|
+
"display": "display-3"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"valueCoding": {
|
|
27
|
+
"code": "code-4",
|
|
28
|
+
"display": "display-4"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"extension": [
|
|
33
|
+
{
|
|
34
|
+
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression",
|
|
35
|
+
"extension": [
|
|
36
|
+
{
|
|
37
|
+
"url": "option",
|
|
38
|
+
"valueCoding": {
|
|
39
|
+
"code": "code-1",
|
|
40
|
+
"display": "display-1"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"url": "option",
|
|
45
|
+
"valueCoding": {
|
|
46
|
+
"code": "code-2",
|
|
47
|
+
"display": "display-2"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"url": "expression",
|
|
52
|
+
"valueExpression": {
|
|
53
|
+
"language": "text/fhirpath",
|
|
54
|
+
"expression": "1 = 1"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression",
|
|
61
|
+
"extension": [
|
|
62
|
+
{
|
|
63
|
+
"url": "option",
|
|
64
|
+
"valueCoding": {
|
|
65
|
+
"code": "code-3",
|
|
66
|
+
"display": "display-3"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"url": "option",
|
|
71
|
+
"valueCoding": {
|
|
72
|
+
"code": "code-4",
|
|
73
|
+
"display": "display-4"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"url": "expression",
|
|
78
|
+
"valueExpression": {
|
|
79
|
+
"language": "text/fhirpath",
|
|
80
|
+
"expression": "1 != 1"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"meta": {
|
|
89
|
+
"profile": [
|
|
90
|
+
"https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"status": "active",
|
|
94
|
+
"resourceType": "Questionnaire",
|
|
95
|
+
"id": "answerOptionsToggleExpression"
|
|
96
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Extension as FHIRExtension } from 'fhir/r4b';
|
|
2
2
|
|
|
3
3
|
import { QuestionnaireItem as FCEQuestionnaireItem } from '@beda.software/aidbox-types';
|
|
4
|
+
import { lowerFirst, upperFirst } from 'lodash';
|
|
4
5
|
|
|
5
6
|
export enum ExtensionIdentifier {
|
|
6
7
|
Hidden = 'http://hl7.org/fhir/StructureDefinition/questionnaire-hidden',
|
|
@@ -31,6 +32,7 @@ export enum ExtensionIdentifier {
|
|
|
31
32
|
|
|
32
33
|
ItemPopulationContext = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext',
|
|
33
34
|
ItemConstraint = 'http://hl7.org/fhir/StructureDefinition/questionnaire-constraint',
|
|
35
|
+
AnswerOptionsToggleExpression = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerOptionsToggleExpression',
|
|
34
36
|
InitialExpression = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression',
|
|
35
37
|
ChoiceColumn = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-choiceColumn',
|
|
36
38
|
CalculatedExpression = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression',
|
|
@@ -243,6 +245,44 @@ export const extensionTransformers: ExtensionTransformer = {
|
|
|
243
245
|
},
|
|
244
246
|
},
|
|
245
247
|
},
|
|
248
|
+
[ExtensionIdentifier.AnswerOptionsToggleExpression]: {
|
|
249
|
+
transform: {
|
|
250
|
+
fromExtensions: (extensions) => {
|
|
251
|
+
return {
|
|
252
|
+
answerOptionsToggleExpression: extensions.map((extension) => {
|
|
253
|
+
const answerOptionsToggleExpression = extension.extension!;
|
|
254
|
+
|
|
255
|
+
return {
|
|
256
|
+
expression: answerOptionsToggleExpression.find((obj) => obj.url === 'expression')!
|
|
257
|
+
.valueExpression!,
|
|
258
|
+
option: answerOptionsToggleExpression
|
|
259
|
+
.filter((obj) => obj.url === 'option')
|
|
260
|
+
.map((obj) => toAidboxUnionType(obj, 'value')),
|
|
261
|
+
};
|
|
262
|
+
}),
|
|
263
|
+
};
|
|
264
|
+
},
|
|
265
|
+
toExtensions: (item) => {
|
|
266
|
+
if (item.answerOptionsToggleExpression) {
|
|
267
|
+
return item.answerOptionsToggleExpression.map((answerOptionsToggleExpression) => ({
|
|
268
|
+
url: ExtensionIdentifier.AnswerOptionsToggleExpression,
|
|
269
|
+
extension: [
|
|
270
|
+
...answerOptionsToggleExpression.option.map((option) => ({
|
|
271
|
+
url: 'option',
|
|
272
|
+
...fromAidboxUnionType(option.value, 'value'),
|
|
273
|
+
})),
|
|
274
|
+
{
|
|
275
|
+
url: 'expression',
|
|
276
|
+
valueExpression: answerOptionsToggleExpression.expression,
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
}));
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
return [];
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
},
|
|
246
286
|
[ExtensionIdentifier.Variable]: {
|
|
247
287
|
path: { extension: 'valueExpression', questionnaire: 'variable', isCollection: true },
|
|
248
288
|
},
|
|
@@ -321,3 +361,45 @@ export const extensionTransformers: ExtensionTransformer = {
|
|
|
321
361
|
path: { extension: 'valueString', questionnaire: 'macro' },
|
|
322
362
|
},
|
|
323
363
|
};
|
|
364
|
+
|
|
365
|
+
// fromAidboxUnionType({string: '1'}, 'value) => {valueString: '1'}
|
|
366
|
+
function fromAidboxUnionType(obj: any, prefix: string): any {
|
|
367
|
+
const key = Object.keys(obj)[0]!;
|
|
368
|
+
const mappedObjKey = prefix + upperFirst(key);
|
|
369
|
+
|
|
370
|
+
return { [mappedObjKey]: obj[key] };
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
const FHIRPrimitiveTypes = [
|
|
374
|
+
'base64Binary',
|
|
375
|
+
'boolean',
|
|
376
|
+
'canonical',
|
|
377
|
+
'code',
|
|
378
|
+
'date',
|
|
379
|
+
'dateTime',
|
|
380
|
+
'decimal',
|
|
381
|
+
'id',
|
|
382
|
+
'instant',
|
|
383
|
+
'integer',
|
|
384
|
+
'integer64',
|
|
385
|
+
'markdown',
|
|
386
|
+
'oid',
|
|
387
|
+
'positiveInt',
|
|
388
|
+
'string',
|
|
389
|
+
'time',
|
|
390
|
+
'unsignedInt',
|
|
391
|
+
'uri',
|
|
392
|
+
'url',
|
|
393
|
+
'uuid',
|
|
394
|
+
];
|
|
395
|
+
// toAidboxUnionType({valueString: '1'}, 'value') => {value: {string: '1'}}
|
|
396
|
+
// toAidboxUnionType({valueCoding: '1'}, 'value') => {value: {Coding: '1'}}
|
|
397
|
+
function toAidboxUnionType(obj: any, prefix: string): any {
|
|
398
|
+
const prefixKey = Object.keys(obj).filter((key: string) => key.startsWith(prefix))[0]!;
|
|
399
|
+
const key = lowerFirst(prefixKey.slice(prefix.length));
|
|
400
|
+
const answerKey = FHIRPrimitiveTypes.includes(key) ? key : upperFirst(key);
|
|
401
|
+
|
|
402
|
+
return {
|
|
403
|
+
[prefix]: { [answerKey]: obj[prefixKey] },
|
|
404
|
+
};
|
|
405
|
+
}
|