sdc-qrf 0.3.31 → 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 +4 -1
- package/dist/converter/extensions.d.ts.map +1 -1
- package/dist/converter/extensions.js +81 -0
- package/dist/converter/extensions.js.map +1 -1
- package/dist/converter/fhirToFce/questionnaire/processItems.js +38 -27
- package/dist/converter/fhirToFce/questionnaire/processItems.js.map +1 -1
- package/dist/converter/index.d.ts +1 -2
- package/dist/converter/index.d.ts.map +1 -1
- package/dist/converter/index.js +2 -6
- package/dist/converter/index.js.map +1 -1
- package/package.json +1 -1
- package/src/converter/__tests__/fce.test.ts +84 -58
- package/src/converter/__tests__/resources/questionnaire_fce/answerOptionsToggleExpression.json +98 -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/unknown-extensions.json +58 -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/unknown-extensions.json +62 -0
- package/src/converter/extensions.ts +90 -1
- package/src/converter/fhirToFce/questionnaire/processItems.ts +49 -43
- package/src/converter/index.ts +4 -10
|
@@ -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",
|
|
@@ -43,7 +44,9 @@ export declare enum ExtensionIdentifier {
|
|
|
43
44
|
StopLabel = "https://beda.software/fhir-emr-questionnaire/slider-stop-label",
|
|
44
45
|
Macro = "https://beda.software/fhir-emr-questionnaire/macro",
|
|
45
46
|
RowsNumber = "https://beda.software/fhir-emr-questionnaire/rows-number",
|
|
46
|
-
SubQuestionnaire = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire"
|
|
47
|
+
SubQuestionnaire = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire",
|
|
48
|
+
MinOccurs = "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs",
|
|
49
|
+
MaxOccurs = "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"
|
|
47
50
|
}
|
|
48
51
|
export type ExtensionTransformer = {
|
|
49
52
|
[key in ExtensionIdentifier]: {
|
|
@@ -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";
|
|
@@ -46,6 +48,8 @@ var ExtensionIdentifier;
|
|
|
46
48
|
ExtensionIdentifier["Macro"] = "https://beda.software/fhir-emr-questionnaire/macro";
|
|
47
49
|
ExtensionIdentifier["RowsNumber"] = "https://beda.software/fhir-emr-questionnaire/rows-number";
|
|
48
50
|
ExtensionIdentifier["SubQuestionnaire"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire";
|
|
51
|
+
ExtensionIdentifier["MinOccurs"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs";
|
|
52
|
+
ExtensionIdentifier["MaxOccurs"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs";
|
|
49
53
|
})(ExtensionIdentifier || (exports.ExtensionIdentifier = ExtensionIdentifier = {}));
|
|
50
54
|
exports.extensionTransformers = {
|
|
51
55
|
[ExtensionIdentifier.Hidden]: {
|
|
@@ -162,6 +166,12 @@ exports.extensionTransformers = {
|
|
|
162
166
|
[ExtensionIdentifier.ChoiceColumns]: {
|
|
163
167
|
path: { extension: 'valueInteger', questionnaire: 'choiceColumns' },
|
|
164
168
|
},
|
|
169
|
+
[ExtensionIdentifier.MinOccurs]: {
|
|
170
|
+
path: { extension: 'valueInteger', questionnaire: 'minOccurs' },
|
|
171
|
+
},
|
|
172
|
+
[ExtensionIdentifier.MaxOccurs]: {
|
|
173
|
+
path: { extension: 'valueInteger', questionnaire: 'maxOccurs' },
|
|
174
|
+
},
|
|
165
175
|
[ExtensionIdentifier.ItemPopulationContext]: {
|
|
166
176
|
path: { extension: 'valueExpression', questionnaire: 'itemPopulationContext' },
|
|
167
177
|
},
|
|
@@ -214,6 +224,39 @@ exports.extensionTransformers = {
|
|
|
214
224
|
},
|
|
215
225
|
},
|
|
216
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
|
+
},
|
|
217
260
|
[ExtensionIdentifier.Variable]: {
|
|
218
261
|
path: { extension: 'valueExpression', questionnaire: 'variable', isCollection: true },
|
|
219
262
|
},
|
|
@@ -289,4 +332,42 @@ exports.extensionTransformers = {
|
|
|
289
332
|
path: { extension: 'valueString', questionnaire: 'macro' },
|
|
290
333
|
},
|
|
291
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
|
+
}
|
|
292
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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"}
|
|
@@ -10,41 +10,52 @@ function processItems(fhirQuestionnaire, extensionsOnly) {
|
|
|
10
10
|
return (_a = fhirQuestionnaire.item) === null || _a === void 0 ? void 0 : _a.map((item) => convertItemProperties(item, extensionsOnly));
|
|
11
11
|
}
|
|
12
12
|
function convertItemProperties(item, extensionsOnly) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
newItem.item = (_a = item.item) === null || _a === void 0 ? void 0 : _a.map((nestedItem) => convertItemProperties(nestedItem, extensionsOnly));
|
|
17
|
-
if (newItem.extension) {
|
|
18
|
-
delete newItem.extension;
|
|
13
|
+
const newItem = getUpdatedPropertiesFromItem(item, extensionsOnly);
|
|
14
|
+
if (item.item) {
|
|
15
|
+
newItem.item = item.item.map((nestedItem) => convertItemProperties(nestedItem, extensionsOnly));
|
|
19
16
|
}
|
|
20
17
|
return newItem;
|
|
21
18
|
}
|
|
22
19
|
function getUpdatedPropertiesFromItem(item, extensionsOnly) {
|
|
23
|
-
var _a, _b, _c
|
|
24
|
-
let
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
updatedProperties = Object.assign(Object.assign({}, updatedProperties), { [property]: (0, converter_1.convertFromFHIRExtension)([extension]) });
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const extensions = (0, converter_1.filterExtensions)(item, identifier);
|
|
38
|
-
if (extensions === null || extensions === void 0 ? void 0 : extensions.length) {
|
|
39
|
-
updatedProperties = Object.assign(Object.assign({}, updatedProperties), (0, converter_1.convertFromFHIRExtension)(extensions));
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
let newItem = Object.assign({}, item);
|
|
22
|
+
// Primitive extensions
|
|
23
|
+
for (const property of Object.keys(item)) {
|
|
24
|
+
const element = item[property];
|
|
25
|
+
if (property.startsWith('_') && element instanceof Object && !Array.isArray(element)) {
|
|
26
|
+
newItem = Object.assign(Object.assign({}, newItem), {
|
|
27
|
+
[property]: processExtensibleElement(element),
|
|
28
|
+
});
|
|
40
29
|
}
|
|
41
30
|
}
|
|
42
31
|
if (!extensionsOnly) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
newItem.answerOption = (_a = item.answerOption) === null || _a === void 0 ? void 0 : _a.map(processItemOption);
|
|
33
|
+
newItem.initial = (_b = item.initial) === null || _b === void 0 ? void 0 : _b.map(processItemOption);
|
|
34
|
+
newItem.enableWhen = (_c = item.enableWhen) === null || _c === void 0 ? void 0 : _c.map(processEnableWhenItem);
|
|
35
|
+
}
|
|
36
|
+
return processExtensibleElement(newItem);
|
|
37
|
+
}
|
|
38
|
+
function processExtensibleElement(element) {
|
|
39
|
+
var _a;
|
|
40
|
+
let newElement = Object.assign({}, element);
|
|
41
|
+
const knownExtensionUrls = Object.values(extensions_1.ExtensionIdentifier);
|
|
42
|
+
const allExtensions = (_a = element.extension) !== null && _a !== void 0 ? _a : [];
|
|
43
|
+
const knownExtensions = allExtensions.filter((ext) => knownExtensionUrls.includes(ext.url));
|
|
44
|
+
const unknownExtensions = allExtensions.filter((ext) => !knownExtensionUrls.includes(ext.url));
|
|
45
|
+
if (knownExtensions.length) {
|
|
46
|
+
const uniqueExtensionUrls = new Set(knownExtensions.map((ext) => ext.url));
|
|
47
|
+
for (const extensionUrl of uniqueExtensionUrls) {
|
|
48
|
+
const extensions = knownExtensions.filter((ext) => ext.url === extensionUrl);
|
|
49
|
+
newElement = Object.assign(Object.assign({}, newElement), (0, converter_1.convertFromFHIRExtension)(extensions));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (unknownExtensions.length) {
|
|
53
|
+
newElement.extension = unknownExtensions;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
delete newElement.extension;
|
|
46
57
|
}
|
|
47
|
-
return
|
|
58
|
+
return newElement;
|
|
48
59
|
}
|
|
49
60
|
function processEnableWhenItem(item) {
|
|
50
61
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processItems.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processItems.ts"],"names":[],"mappings":";;AAqBA,oCAEC;;AAfD,4DAAuB;AAUvB,
|
|
1
|
+
{"version":3,"file":"processItems.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Reference as FHIRReference, Extension as FHIRExtension
|
|
1
|
+
import { Reference as FHIRReference, Extension as FHIRExtension } from 'fhir/r4b';
|
|
2
2
|
import { Extension as FCEExtension, QuestionnaireItem as FCEQuestionnaireItem, InternalReference } from '@beda.software/aidbox-types';
|
|
3
3
|
import { fromFirstClassExtension, fromFirstClassExtensionV2 } from './fceToFhir';
|
|
4
4
|
import { toFirstClassExtension, toFirstClassExtensionV2 } from './fhirToFce';
|
|
@@ -7,7 +7,6 @@ export * from './utils';
|
|
|
7
7
|
export declare function convertFromFHIRExtension(extensions: FHIRExtension[]): Partial<FCEQuestionnaireItem> | undefined;
|
|
8
8
|
export declare function convertToFHIRExtension(item: FCEQuestionnaireItem): FHIRExtension[];
|
|
9
9
|
export declare function extractExtension(extension: FCEExtension[] | undefined, url: 'ex:createdAt'): string | undefined;
|
|
10
|
-
export declare function filterExtensions(item: FHIRQuestionnaireItem, url: string): FHIRExtension[] | undefined;
|
|
11
10
|
export declare function fromFHIRReference(r?: FHIRReference): InternalReference | undefined;
|
|
12
11
|
export declare function toFHIRReference(r?: InternalReference | FHIRReference): FHIRReference | undefined;
|
|
13
12
|
export { toFirstClassExtension, toFirstClassExtensionV2, fromFirstClassExtension, fromFirstClassExtensionV2, processLaunchContextToFce, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAElF,OAAO,EACH,SAAS,IAAI,YAAY,EACzB,iBAAiB,IAAI,oBAAoB,EACzC,iBAAiB,EACpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,oBAAoB,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAChH,cAAc,SAAS,CAAC;AAExB,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAc/G;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAuBlF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,cAAc,sBAE1F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CA4BlF;AAED,wBAAgB,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAgBhG;AAED,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC5B,CAAC"}
|
package/dist/converter/index.js
CHANGED
|
@@ -4,7 +4,6 @@ exports.processLaunchContextToFce = exports.fromFirstClassExtensionV2 = exports.
|
|
|
4
4
|
exports.convertFromFHIRExtension = convertFromFHIRExtension;
|
|
5
5
|
exports.convertToFHIRExtension = convertToFHIRExtension;
|
|
6
6
|
exports.extractExtension = extractExtension;
|
|
7
|
-
exports.filterExtensions = filterExtensions;
|
|
8
7
|
exports.fromFHIRReference = fromFHIRReference;
|
|
9
8
|
exports.toFHIRReference = toFHIRReference;
|
|
10
9
|
const tslib_1 = require("tslib");
|
|
@@ -35,7 +34,8 @@ function convertFromFHIRExtension(extensions) {
|
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
function convertToFHIRExtension(item) {
|
|
38
|
-
|
|
37
|
+
var _a;
|
|
38
|
+
const extensions = [...((_a = item.extension) !== null && _a !== void 0 ? _a : [])];
|
|
39
39
|
Object.values(extensions_1.ExtensionIdentifier).forEach((identifier) => {
|
|
40
40
|
const transformer = extensions_1.extensionTransformers[identifier];
|
|
41
41
|
if ('transform' in transformer) {
|
|
@@ -58,10 +58,6 @@ function extractExtension(extension, url) {
|
|
|
58
58
|
var _a;
|
|
59
59
|
return (_a = extension === null || extension === void 0 ? void 0 : extension.find((e) => e.url === url)) === null || _a === void 0 ? void 0 : _a.valueInstant;
|
|
60
60
|
}
|
|
61
|
-
function filterExtensions(item, url) {
|
|
62
|
-
var _a;
|
|
63
|
-
return (_a = item.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url === url);
|
|
64
|
-
}
|
|
65
61
|
function fromFHIRReference(r) {
|
|
66
62
|
if (!r || !r.reference) {
|
|
67
63
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converter/index.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';
|
|
@@ -35,12 +36,16 @@ import fce_vitals from './resources/questionnaire_fce/vitals.json';
|
|
|
35
36
|
import fce_variable from './resources/questionnaire_fce/variable.json';
|
|
36
37
|
import fce_sub_questionnaire from './resources/questionnaire_fce/sub-questionnaire.json';
|
|
37
38
|
import fce_with_attachment_questionnaire from './resources/questionnaire_fce/with-attachment-question.json';
|
|
39
|
+
import fce_mixed_fce_with_extensions from './resources/questionnaire_fce/mixed-fce-with-extensions.json';
|
|
40
|
+
import fce_unknown_extensions from './resources/questionnaire_fce/unknown-extensions.json';
|
|
41
|
+
import fce_occurs from './resources/questionnaire_fce/occurs.json';
|
|
38
42
|
// fhir questionnaire
|
|
39
43
|
import fhir_allergies from './resources/questionnaire_fhir/allergies.json';
|
|
40
44
|
import fhir_beverages from './resources/questionnaire_fhir/beverages.json';
|
|
41
45
|
import fhir_choice_answer_option from './resources/questionnaire_fhir/choice_answer_option.json';
|
|
42
46
|
import fhir_consent from './resources/questionnaire_fhir/consent.json';
|
|
43
47
|
import fhir_constraint from './resources/questionnaire_fhir/constraint.json';
|
|
48
|
+
import fhir_answer_options_toggle_expression from './resources/questionnaire_fhir/answerOptionsToggleExpression.json';
|
|
44
49
|
import fhir_cqf_examples from './resources/questionnaire_fhir/cqf-examples.json';
|
|
45
50
|
import fhir_enable_when from './resources/questionnaire_fhir/enable_when.json';
|
|
46
51
|
import fhir_encounter_create from './resources/questionnaire_fhir/encounter_create.json';
|
|
@@ -64,6 +69,9 @@ import fhir_vitals from './resources/questionnaire_fhir/vitals.json';
|
|
|
64
69
|
import fhir_variable from './resources/questionnaire_fhir/variable.json';
|
|
65
70
|
import fhir_sub_questionnaire from './resources/questionnaire_fhir/sub-questionnaire.json';
|
|
66
71
|
import fhir_with_attachment_questionnaire from './resources/questionnaire_fhir/with-attachment-question.json';
|
|
72
|
+
import fhir_mixed_fce_with_extensions from './resources/questionnaire_fhir/mixed-fce-with-extensions.json';
|
|
73
|
+
import fhir_unknown_extensions from './resources/questionnaire_fhir/unknown-extensions.json';
|
|
74
|
+
import fhir_occurs from './resources/questionnaire_fhir/occurs.json';
|
|
67
75
|
// fce questionnaire response
|
|
68
76
|
import fce_allergies_inprogress_qr from './resources/questionnaire_response_fce/allergies_inprogress.json';
|
|
69
77
|
import fce_cardiology_qr from './resources/questionnaire_response_fce/cardiology.json';
|
|
@@ -94,73 +102,91 @@ import fhir_practitioner_qr from './resources/questionnaire_response_fhir/practi
|
|
|
94
102
|
import fhir_reference_answer_with_assoc from './resources/questionnaire_response_fhir/reference_answer_with_assoc.json';
|
|
95
103
|
import fhir_review_of_systems_qr from './resources/questionnaire_response_fhir/review_of_systems.json';
|
|
96
104
|
import fhir_vitals_qr from './resources/questionnaire_response_fhir/vitals.json';
|
|
105
|
+
|
|
97
106
|
import { toFirstClassExtension, fromFirstClassExtension } from '../../converter';
|
|
98
107
|
import { sortExtensionsList } from '../utils';
|
|
99
108
|
|
|
100
109
|
describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
101
110
|
test.each([
|
|
102
|
-
[fhir_allergies, fce_allergies],
|
|
103
|
-
[fhir_beverages, fce_beverages],
|
|
104
|
-
[fhir_choice_answer_option, fce_choice_answer_option],
|
|
105
|
-
[fhir_encounter_create, fce_encounter_create],
|
|
106
|
-
[fhir_gad_7, fce_gad_7],
|
|
107
|
-
[fhir_immunization, fce_immunization],
|
|
108
|
-
[fhir_medication, fce_medication],
|
|
109
|
-
[fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
|
|
110
|
-
[fhir_patient_create, fce_patient_create],
|
|
111
|
-
[fhir_patient_edit, fce_patient_edit],
|
|
112
|
-
[fhir_phq_2_phq_9, fce_phq_2_phq_9],
|
|
113
|
-
[fhir_physicalexam, fce_physicalexam],
|
|
114
|
-
[fhir_practitioner_create, fce_practitioner_create],
|
|
115
|
-
[fhir_practitioner_edit, fce_practitioner_edit],
|
|
116
|
-
[fhir_practitioner_role_create, fce_practitioner_role_create],
|
|
117
|
-
[fhir_public_appointment, fce_public_appointment],
|
|
118
|
-
[fhir_review_of_systems, fce_review_of_systems],
|
|
119
|
-
[fhir_source_queries, fce_source_queries],
|
|
120
|
-
[fhir_vitals, fce_vitals],
|
|
121
|
-
[
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
[
|
|
127
|
-
[
|
|
128
|
-
[
|
|
129
|
-
[
|
|
130
|
-
|
|
111
|
+
['allergies', fhir_allergies, fce_allergies],
|
|
112
|
+
['beverages', fhir_beverages, fce_beverages],
|
|
113
|
+
['choice-answer-option', fhir_choice_answer_option, fce_choice_answer_option],
|
|
114
|
+
['encounter-create', fhir_encounter_create, fce_encounter_create],
|
|
115
|
+
['gad-7', fhir_gad_7, fce_gad_7],
|
|
116
|
+
['immunization', fhir_immunization, fce_immunization],
|
|
117
|
+
['medication', fhir_medication, fce_medication],
|
|
118
|
+
['multiple-type-launch-context', fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
|
|
119
|
+
['patient-create', fhir_patient_create, fce_patient_create],
|
|
120
|
+
['patient-edit', fhir_patient_edit, fce_patient_edit],
|
|
121
|
+
['phq-2-phq-9', fhir_phq_2_phq_9, fce_phq_2_phq_9],
|
|
122
|
+
['physicalexam', fhir_physicalexam, fce_physicalexam],
|
|
123
|
+
['practitioner-create', fhir_practitioner_create, fce_practitioner_create],
|
|
124
|
+
['practitioner-edit', fhir_practitioner_edit, fce_practitioner_edit],
|
|
125
|
+
['practitioner-role-create', fhir_practitioner_role_create, fce_practitioner_role_create],
|
|
126
|
+
['public-appointment', fhir_public_appointment, fce_public_appointment],
|
|
127
|
+
['review-of-systems', fhir_review_of_systems, fce_review_of_systems],
|
|
128
|
+
['source-queries', fhir_source_queries, fce_source_queries],
|
|
129
|
+
['vitals', fhir_vitals, fce_vitals],
|
|
130
|
+
[
|
|
131
|
+
'practitioner-create-structure-map',
|
|
132
|
+
fhir_practitioner_create_structure_map,
|
|
133
|
+
fce_practitioner_create_structure_map,
|
|
134
|
+
],
|
|
135
|
+
['consent', fhir_consent, fce_consent],
|
|
136
|
+
['enable-when', fhir_enable_when, fce_enable_when],
|
|
137
|
+
['cqf-examples', fhir_cqf_examples, fce_cqf_examples],
|
|
138
|
+
['constraint', fhir_constraint, fce_constraint],
|
|
139
|
+
['answerOptionsToggleExpression', fhir_answer_options_toggle_expression, fce_answer_options_toggle_expression],
|
|
140
|
+
['unit-option', fhir_unit_option, fce_unit_option],
|
|
141
|
+
['variable', fhir_variable, fce_variable],
|
|
142
|
+
['sub-questionnaire', fhir_sub_questionnaire, fce_sub_questionnaire],
|
|
143
|
+
['with-attachment-questionnaire', fhir_with_attachment_questionnaire, fce_with_attachment_questionnaire],
|
|
144
|
+
// NOTE: this following is not included here because it's example of mixed FCE + extensions, it is only for FCE -> FHIR
|
|
145
|
+
// ['mixed-fce-with-extensions', fhir_mixed_fce_with_extensions, fce_mixed_fce_with_extensions],
|
|
146
|
+
['unknown-extensions', fhir_unknown_extensions, fce_unknown_extensions],
|
|
147
|
+
['occurs', fhir_occurs, fce_occurs],
|
|
148
|
+
])('Each FHIR Questionnaire should convert to FCE %s', async (_, fhir_questionnaire, fce_questionnaire) => {
|
|
131
149
|
expect(toFirstClassExtension(fhir_questionnaire as FHIRQuestionnaire)).toStrictEqual(fce_questionnaire);
|
|
132
150
|
});
|
|
133
151
|
|
|
134
152
|
test.each([
|
|
135
|
-
[fce_allergies, fhir_allergies],
|
|
136
|
-
[fce_beverages, fhir_beverages],
|
|
137
|
-
[fce_choice_answer_option, fhir_choice_answer_option],
|
|
138
|
-
[fce_encounter_create, fhir_encounter_create],
|
|
139
|
-
[fce_gad_7, fhir_gad_7],
|
|
140
|
-
[fce_immunization, fhir_immunization],
|
|
141
|
-
[fce_medication, fhir_medication],
|
|
142
|
-
[fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
|
|
143
|
-
[fce_patient_create, fhir_patient_create],
|
|
144
|
-
[fce_patient_edit, fhir_patient_edit],
|
|
145
|
-
[fce_phq_2_phq_9, fhir_phq_2_phq_9],
|
|
146
|
-
[fce_physicalexam, fhir_physicalexam],
|
|
147
|
-
[fce_practitioner_create, fhir_practitioner_create],
|
|
148
|
-
[fce_practitioner_edit, fhir_practitioner_edit],
|
|
149
|
-
[fce_practitioner_role_create, fhir_practitioner_role_create],
|
|
150
|
-
[fce_public_appointment, fhir_public_appointment],
|
|
151
|
-
[fce_review_of_systems, fhir_review_of_systems],
|
|
152
|
-
[fce_source_queries, fhir_source_queries],
|
|
153
|
-
[fce_vitals, fhir_vitals],
|
|
154
|
-
[
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
[
|
|
160
|
-
[
|
|
161
|
-
[
|
|
162
|
-
[
|
|
163
|
-
|
|
153
|
+
['allergies', fce_allergies, fhir_allergies],
|
|
154
|
+
['beverages', fce_beverages, fhir_beverages],
|
|
155
|
+
['choice-answer-option', fce_choice_answer_option, fhir_choice_answer_option],
|
|
156
|
+
['encounter-create', fce_encounter_create, fhir_encounter_create],
|
|
157
|
+
['gad-7', fce_gad_7, fhir_gad_7],
|
|
158
|
+
['immunization', fce_immunization, fhir_immunization],
|
|
159
|
+
['medication', fce_medication, fhir_medication],
|
|
160
|
+
['multiple-type-launch-context', fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
|
|
161
|
+
['patient-create', fce_patient_create, fhir_patient_create],
|
|
162
|
+
['patient-edit', fce_patient_edit, fhir_patient_edit],
|
|
163
|
+
['phq-2-phq-9', fce_phq_2_phq_9, fhir_phq_2_phq_9],
|
|
164
|
+
['physicalexam', fce_physicalexam, fhir_physicalexam],
|
|
165
|
+
['practitioner-create', fce_practitioner_create, fhir_practitioner_create],
|
|
166
|
+
['practitioner-edit', fce_practitioner_edit, fhir_practitioner_edit],
|
|
167
|
+
['practitioner-role-create', fce_practitioner_role_create, fhir_practitioner_role_create],
|
|
168
|
+
['public-appointment', fce_public_appointment, fhir_public_appointment],
|
|
169
|
+
['review-of-systems', fce_review_of_systems, fhir_review_of_systems],
|
|
170
|
+
['source-queries', fce_source_queries, fhir_source_queries],
|
|
171
|
+
['vitals', fce_vitals, fhir_vitals],
|
|
172
|
+
[
|
|
173
|
+
'practitioner-create-structure-map',
|
|
174
|
+
fce_practitioner_create_structure_map,
|
|
175
|
+
fhir_practitioner_create_structure_map,
|
|
176
|
+
],
|
|
177
|
+
['consent', fce_consent, fhir_consent],
|
|
178
|
+
['enable-when', fce_enable_when, fhir_enable_when],
|
|
179
|
+
['cqf-examples', fce_cqf_examples, fhir_cqf_examples],
|
|
180
|
+
['constraint', fce_constraint, fhir_constraint],
|
|
181
|
+
['answerOptionsToggleExpression', fce_answer_options_toggle_expression, fhir_answer_options_toggle_expression],
|
|
182
|
+
['unit-option', fce_unit_option, fhir_unit_option],
|
|
183
|
+
['variable', fce_variable, fhir_variable],
|
|
184
|
+
['sub-questionnaire', fce_sub_questionnaire, fhir_sub_questionnaire],
|
|
185
|
+
['with-attachment-questionnaire', fce_with_attachment_questionnaire, fhir_with_attachment_questionnaire],
|
|
186
|
+
['mixed-fce-with-extensions', fce_mixed_fce_with_extensions, fhir_mixed_fce_with_extensions],
|
|
187
|
+
['unknown-extensions', fce_unknown_extensions, fhir_unknown_extensions],
|
|
188
|
+
['occurs', fce_occurs, fhir_occurs],
|
|
189
|
+
])('Each FCE Questionnaire should convert to FHIR %s', async (_, fce_questionnaire, fhir_questionnaire) => {
|
|
164
190
|
expect(sortExtensionsList(fromFirstClassExtension(fce_questionnaire as FCEQuestionnaire))).toStrictEqual(
|
|
165
191
|
sortExtensionsList(fhir_questionnaire),
|
|
166
192
|
);
|