sdc-qrf 0.3.23 → 0.3.26
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/constants.d.ts +5 -0
- package/dist/converter/constants.d.ts.map +1 -0
- package/dist/converter/constants.js +8 -0
- package/dist/converter/constants.js.map +1 -0
- package/dist/converter/extensions.d.ts +1 -0
- package/dist/converter/extensions.d.ts.map +1 -1
- package/dist/converter/extensions.js +4 -0
- package/dist/converter/extensions.js.map +1 -1
- package/dist/converter/fceToFhir/questionnaire/processExtensions.d.ts.map +1 -1
- package/dist/converter/fceToFhir/questionnaire/processExtensions.js +7 -4
- package/dist/converter/fceToFhir/questionnaire/processExtensions.js.map +1 -1
- package/dist/converter/fhirToFce/questionnaire/processExtensions.d.ts.map +1 -1
- package/dist/converter/fhirToFce/questionnaire/processExtensions.js +2 -2
- package/dist/converter/fhirToFce/questionnaire/processExtensions.js.map +1 -1
- package/dist/converter/fhirToFce/utils.d.ts.map +1 -1
- package/dist/converter/fhirToFce/utils.js +3 -3
- package/dist/converter/fhirToFce/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/converter/__tests__/fce.test.ts +24 -37
- package/src/converter/__tests__/resources/questionnaire_fce/allergies.json +1 -1
- package/src/converter/__tests__/resources/questionnaire_fce/variable.json +29 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/allergies.json +2 -2
- package/src/converter/__tests__/resources/questionnaire_fhir/variable.json +38 -0
- package/src/converter/constants.ts +4 -0
- package/src/converter/extensions.ts +4 -0
- package/src/converter/fceToFhir/questionnaire/processExtensions.ts +6 -2
- package/src/converter/fhirToFce/questionnaire/processExtensions.ts +2 -3
- package/src/converter/fhirToFce/utils.ts +3 -3
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const legacyQuestionnaireProfileUrl = "https://beda.software/beda-emr-questionnaire";
|
|
2
|
+
export declare const questionnaireProfileUrl = "https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire";
|
|
3
|
+
export declare const legacyMappingExtensionUrl = "http://beda.software/fhir-extensions/questionnaire-mapper";
|
|
4
|
+
export declare const mappingExtensionUrl = "https://emr-core.beda.software/StructureDefinition/questionnaire-mapper";
|
|
5
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/converter/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,iDAAiD,CAAC;AAC5F,eAAO,MAAM,uBAAuB,8EAA8E,CAAC;AACnH,eAAO,MAAM,yBAAyB,8DAA8D,CAAC;AACrG,eAAO,MAAM,mBAAmB,4EAA4E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mappingExtensionUrl = exports.legacyMappingExtensionUrl = exports.questionnaireProfileUrl = exports.legacyQuestionnaireProfileUrl = void 0;
|
|
4
|
+
exports.legacyQuestionnaireProfileUrl = 'https://beda.software/beda-emr-questionnaire';
|
|
5
|
+
exports.questionnaireProfileUrl = 'https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire';
|
|
6
|
+
exports.legacyMappingExtensionUrl = 'http://beda.software/fhir-extensions/questionnaire-mapper';
|
|
7
|
+
exports.mappingExtensionUrl = 'https://emr-core.beda.software/StructureDefinition/questionnaire-mapper';
|
|
8
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/converter/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,8CAA8C,CAAC;AAC/E,QAAA,uBAAuB,GAAG,2EAA2E,CAAC;AACtG,QAAA,yBAAyB,GAAG,2DAA2D,CAAC;AACxF,QAAA,mBAAmB,GAAG,yEAAyE,CAAC"}
|
|
@@ -33,6 +33,7 @@ export declare enum ExtensionIdentifier {
|
|
|
33
33
|
EnableWhenExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression",
|
|
34
34
|
AnswerExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression",
|
|
35
35
|
CqfExpression = "http://hl7.org/fhir/StructureDefinition/cqf-expression",
|
|
36
|
+
Variable = "http://hl7.org/fhir/StructureDefinition/variable",
|
|
36
37
|
AdjustLastToRight = "https://beda.software/fhir-emr-questionnaire/adjust-last-to-right",
|
|
37
38
|
SliderStart = "https://beda.software/fhir-emr-questionnaire/slider-start",
|
|
38
39
|
SliderStop = "https://beda.software/fhir-emr-questionnaire/slider-stop",
|
|
@@ -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;AAExF,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,0BAA0B,gGAAgG;IAC1H,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,iBAAiB,uFAAuF;IACxG,YAAY,kFAAkF;IAC9F,oBAAoB,0FAA0F;IAC9G,oBAAoB,0FAA0F;IAC9G,gBAAgB,sFAAsF;IACtG,aAAa,2DAA2D;
|
|
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;AAExF,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,0BAA0B,gGAAgG;IAC1H,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,iBAAiB,uFAAuF;IACxG,YAAY,kFAAkF;IAC9F,oBAAoB,0FAA0F;IAC9G,oBAAoB,0FAA0F;IAC9G,gBAAgB,sFAAsF;IACtG,aAAa,2DAA2D;IACxE,QAAQ,qDAAqD;IAE7D,iBAAiB,sEAAsE;IACvF,WAAW,8DAA8D;IACzE,UAAU,6DAA6D;IACvE,QAAQ,2DAA2D;IACnE,SAAS,mEAAmE;IAC5E,KAAK,uDAAuD;IAC5D,UAAU,6DAA6D;CAC1E;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,oBA6OnC,CAAC"}
|
|
@@ -35,6 +35,7 @@ var ExtensionIdentifier;
|
|
|
35
35
|
ExtensionIdentifier["EnableWhenExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression";
|
|
36
36
|
ExtensionIdentifier["AnswerExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression";
|
|
37
37
|
ExtensionIdentifier["CqfExpression"] = "http://hl7.org/fhir/StructureDefinition/cqf-expression";
|
|
38
|
+
ExtensionIdentifier["Variable"] = "http://hl7.org/fhir/StructureDefinition/variable";
|
|
38
39
|
ExtensionIdentifier["AdjustLastToRight"] = "https://beda.software/fhir-emr-questionnaire/adjust-last-to-right";
|
|
39
40
|
ExtensionIdentifier["SliderStart"] = "https://beda.software/fhir-emr-questionnaire/slider-start";
|
|
40
41
|
ExtensionIdentifier["SliderStop"] = "https://beda.software/fhir-emr-questionnaire/slider-stop";
|
|
@@ -204,6 +205,9 @@ exports.extensionTransformers = {
|
|
|
204
205
|
},
|
|
205
206
|
},
|
|
206
207
|
},
|
|
208
|
+
[ExtensionIdentifier.Variable]: {
|
|
209
|
+
path: { extension: 'valueExpression', questionnaire: 'variable', isCollection: true },
|
|
210
|
+
},
|
|
207
211
|
[ExtensionIdentifier.InitialExpression]: {
|
|
208
212
|
path: { extension: 'valueExpression', questionnaire: 'initialExpression' },
|
|
209
213
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":";;;AAIA,IAAY,
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE1F,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE1F,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGhF,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,gBAAgB,GAAG,iBAAiB,CAiFpF"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.processExtensions = processExtensions;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
5
6
|
function processExtensions(questionnaire) {
|
|
6
|
-
var _a;
|
|
7
|
+
var _a, _b, _c;
|
|
7
8
|
const { launchContext, mapping, sourceQueries, targetStructureMap, assembledFrom } = questionnaire, fhirQuestionnaire = tslib_1.__rest(questionnaire, ["launchContext", "mapping", "sourceQueries", "targetStructureMap", "assembledFrom"]);
|
|
8
9
|
let extensions = [];
|
|
9
10
|
if (launchContext) {
|
|
@@ -33,9 +34,11 @@ function processExtensions(questionnaire) {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
if (mapping) {
|
|
37
|
+
const extensionUrl = ((_b = (_a = questionnaire.meta) === null || _a === void 0 ? void 0 : _a.profile) === null || _b === void 0 ? void 0 : _b[0]) === constants_1.legacyQuestionnaireProfileUrl
|
|
38
|
+
? constants_1.legacyMappingExtensionUrl
|
|
39
|
+
: constants_1.mappingExtensionUrl;
|
|
36
40
|
extensions = extensions.concat(mapping.map((m) => ({
|
|
37
|
-
|
|
38
|
-
url: 'http://beda.software/fhir-extensions/questionnaire-mapper',
|
|
41
|
+
url: extensionUrl,
|
|
39
42
|
valueReference: {
|
|
40
43
|
reference: `Mapping/${m.id}`,
|
|
41
44
|
},
|
|
@@ -60,7 +63,7 @@ function processExtensions(questionnaire) {
|
|
|
60
63
|
});
|
|
61
64
|
}
|
|
62
65
|
if (extensions.length) {
|
|
63
|
-
fhirQuestionnaire.extension = ((
|
|
66
|
+
fhirQuestionnaire.extension = ((_c = fhirQuestionnaire.extension) !== null && _c !== void 0 ? _c : []).concat(extensions);
|
|
64
67
|
}
|
|
65
68
|
return fhirQuestionnaire;
|
|
66
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processExtensions.d.ts","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG;IACrE,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,GAAG,CAAC;CACvB,CAcA;AAED,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,GAAG,EAAE,GAAG,SAAS,CA2C5F"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.processExtensions = processExtensions;
|
|
4
4
|
exports.processLaunchContext = processLaunchContext;
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
5
6
|
function processExtensions(fhirQuestionnaire) {
|
|
6
7
|
const launchContext = processLaunchContext(fhirQuestionnaire);
|
|
7
8
|
const mapping = processMapping(fhirQuestionnaire);
|
|
@@ -54,8 +55,7 @@ function processLaunchContext(fhirQuestionnaire) {
|
|
|
54
55
|
}
|
|
55
56
|
function processMapping(fhirQuestionnaire) {
|
|
56
57
|
var _a;
|
|
57
|
-
const mapperExtensions = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url ===
|
|
58
|
-
ext.url === 'https://emr.beda.software/StructureDefinition/questionnaire-mapper');
|
|
58
|
+
const mapperExtensions = (_a = fhirQuestionnaire.extension) === null || _a === void 0 ? void 0 : _a.filter((ext) => ext.url === constants_1.legacyMappingExtensionUrl || ext.url === constants_1.mappingExtensionUrl);
|
|
59
59
|
if (!mapperExtensions) {
|
|
60
60
|
return undefined;
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fhirToFce/questionnaire/processExtensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAUxF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,OAqBnC"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.checkFhirQuestionnaireProfile = checkFhirQuestionnaireProfile;
|
|
4
4
|
exports.trimUndefined = trimUndefined;
|
|
5
|
+
const constants_1 = require("../constants");
|
|
5
6
|
function checkFhirQuestionnaireProfile(fhirQuestionnaire) {
|
|
6
7
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
7
8
|
if (!(((_c = (_b = (_a = fhirQuestionnaire.meta) === null || _a === void 0 ? void 0 : _a.profile) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) === 1 &&
|
|
8
|
-
(((_e = (_d = fhirQuestionnaire.meta) === null || _d === void 0 ? void 0 : _d.profile) === null || _e === void 0 ? void 0 : _e[0]) ===
|
|
9
|
-
((_g = (_f = fhirQuestionnaire.meta) === null || _f === void 0 ? void 0 : _f.profile) === null || _g === void 0 ? void 0 : _g[0]) ===
|
|
10
|
-
'https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire'))) {
|
|
9
|
+
(((_e = (_d = fhirQuestionnaire.meta) === null || _d === void 0 ? void 0 : _d.profile) === null || _e === void 0 ? void 0 : _e[0]) === constants_1.legacyQuestionnaireProfileUrl ||
|
|
10
|
+
((_g = (_f = fhirQuestionnaire.meta) === null || _f === void 0 ? void 0 : _f.profile) === null || _g === void 0 ? void 0 : _g[0]) === constants_1.questionnaireProfileUrl))) {
|
|
11
11
|
throw new Error('Only beda emr questionanire supported');
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":";;AAGA,sEAUC;AAED,sCAqBC;AApCD,4CAAsF;AAGtF,SAAgB,6BAA6B,CAAC,iBAAoC;;IAC9E,IACI,CAAC,CACG,CAAC,MAAA,MAAA,MAAA,iBAAiB,CAAC,IAAI,0CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAC,KAAK,CAAC;QACpD,CAAC,CAAA,MAAA,MAAA,iBAAiB,CAAC,IAAI,0CAAE,OAAO,0CAAG,CAAC,CAAC,MAAK,yCAA6B;YACnE,CAAA,MAAA,MAAA,iBAAiB,CAAC,IAAI,0CAAE,OAAO,0CAAG,CAAC,CAAC,MAAK,mCAAuB,CAAC,CACxE,EACH,CAAC;QACC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAAC,CAAM;IAChC,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC7B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1B,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,aAAa,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
Questionnaire as FHIRQuestionnaire,
|
|
4
|
-
} from 'fhir/r4b';
|
|
5
|
-
import {describe, expect, test} from 'vitest'
|
|
1
|
+
import { QuestionnaireResponse as FHIRQuestionnaireResponse, Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
|
|
2
|
+
import { describe, expect, test } from 'vitest';
|
|
6
3
|
|
|
7
4
|
import {
|
|
8
5
|
QuestionnaireResponse as FCEQuestionnaireResponse,
|
|
@@ -35,6 +32,7 @@ import fce_review_of_systems from './resources/questionnaire_fce/review_of_syste
|
|
|
35
32
|
import fce_source_queries from './resources/questionnaire_fce/source_queries.json';
|
|
36
33
|
import fce_unit_option from './resources/questionnaire_fce/unit-option.json';
|
|
37
34
|
import fce_vitals from './resources/questionnaire_fce/vitals.json';
|
|
35
|
+
import fce_variable from './resources/questionnaire_fce/variable.json';
|
|
38
36
|
// fhir questionnaire
|
|
39
37
|
import fhir_allergies from './resources/questionnaire_fhir/allergies.json';
|
|
40
38
|
import fhir_beverages from './resources/questionnaire_fhir/beverages.json';
|
|
@@ -61,6 +59,7 @@ import fhir_review_of_systems from './resources/questionnaire_fhir/review_of_sys
|
|
|
61
59
|
import fhir_source_queries from './resources/questionnaire_fhir/source_queries.json';
|
|
62
60
|
import fhir_unit_option from './resources/questionnaire_fhir/unit-option.json';
|
|
63
61
|
import fhir_vitals from './resources/questionnaire_fhir/vitals.json';
|
|
62
|
+
import fhir_variable from './resources/questionnaire_fhir/variable.json';
|
|
64
63
|
// fce questionnaire response
|
|
65
64
|
import fce_allergies_inprogress_qr from './resources/questionnaire_response_fce/allergies_inprogress.json';
|
|
66
65
|
import fce_cardiology_qr from './resources/questionnaire_response_fce/cardiology.json';
|
|
@@ -121,14 +120,10 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
|
121
120
|
[fhir_cqf_examples, fce_cqf_examples],
|
|
122
121
|
[fhir_constraint, fce_constraint],
|
|
123
122
|
[fhir_unit_option, fce_unit_option],
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
fce_questionnaire,
|
|
129
|
-
);
|
|
130
|
-
},
|
|
131
|
-
);
|
|
123
|
+
[fhir_variable, fce_variable],
|
|
124
|
+
])('Each FHIR Questionnaire should convert to FCE', async (fhir_questionnaire, fce_questionnaire) => {
|
|
125
|
+
expect(toFirstClassExtension(fhir_questionnaire as FHIRQuestionnaire)).toStrictEqual(fce_questionnaire);
|
|
126
|
+
});
|
|
132
127
|
|
|
133
128
|
test.each([
|
|
134
129
|
[fce_allergies, fhir_allergies],
|
|
@@ -156,14 +151,12 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
|
156
151
|
[fce_cqf_examples, fhir_cqf_examples],
|
|
157
152
|
[fce_constraint, fhir_constraint],
|
|
158
153
|
[fce_unit_option, fhir_unit_option],
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
},
|
|
166
|
-
);
|
|
154
|
+
[fce_variable, fhir_variable],
|
|
155
|
+
])('Each FCE Questionnaire should convert to FHIR', async (fce_questionnaire, fhir_questionnaire) => {
|
|
156
|
+
expect(sortExtensionsList(fromFirstClassExtension(fce_questionnaire as FCEQuestionnaire))).toStrictEqual(
|
|
157
|
+
sortExtensionsList(fhir_questionnaire),
|
|
158
|
+
);
|
|
159
|
+
});
|
|
167
160
|
|
|
168
161
|
test.each([
|
|
169
162
|
[fhir_allergies_inprogress_qr, fce_allergies_inprogress_qr],
|
|
@@ -179,14 +172,11 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
|
179
172
|
[fhir_practitioner_qr, fce_practitioner_qr],
|
|
180
173
|
[fhir_review_of_systems_qr, fce_review_of_systems_qr],
|
|
181
174
|
[fhir_vitals_qr, fce_vitals_qr],
|
|
182
|
-
])(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
).toStrictEqual(expectedFCE);
|
|
188
|
-
},
|
|
189
|
-
);
|
|
175
|
+
])('Each FHIR QuestionnaireResponse should convert to FCE', async (fhirQuestionnaireResponse, expectedFCE) => {
|
|
176
|
+
expect(toFirstClassExtension(fhirQuestionnaireResponse as FHIRQuestionnaireResponse)).toStrictEqual(
|
|
177
|
+
expectedFCE,
|
|
178
|
+
);
|
|
179
|
+
});
|
|
190
180
|
|
|
191
181
|
test.each([
|
|
192
182
|
[fce_allergies_inprogress_qr, fhir_allergies_inprogress_qr],
|
|
@@ -203,12 +193,9 @@ describe('Questionanire and QuestionnaireResponses transformation', () => {
|
|
|
203
193
|
[fce_review_of_systems_qr, fhir_review_of_systems_qr],
|
|
204
194
|
[fce_vitals_qr, fhir_vitals_qr],
|
|
205
195
|
[fce_reference_answer_with_assoc, fhir_reference_answer_with_assoc],
|
|
206
|
-
])(
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
).toStrictEqual(expectedFHIR);
|
|
212
|
-
},
|
|
213
|
-
);
|
|
196
|
+
])('Each FCE QuestionnaireResponse should convert to FHIR', async (fceQuestionnaireResponse, expectedFHIR) => {
|
|
197
|
+
expect(fromFirstClassExtension(fceQuestionnaireResponse as FCEQuestionnaireResponse)).toStrictEqual(
|
|
198
|
+
expectedFHIR,
|
|
199
|
+
);
|
|
200
|
+
});
|
|
214
201
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"subjectType": ["Encounter", "Patient"],
|
|
3
3
|
"meta": {
|
|
4
|
-
"profile": ["https://beda.software/
|
|
4
|
+
"profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"],
|
|
5
5
|
"lastUpdated": "2023-04-10T03:43:34.792167Z",
|
|
6
6
|
"createdAt": "2023-04-05T05:22:35.752466Z",
|
|
7
7
|
"versionId": "694"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"resourceType": "Questionnaire",
|
|
3
|
+
"id": "variable",
|
|
4
|
+
"meta": {
|
|
5
|
+
"profile": [
|
|
6
|
+
"https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
9
|
+
"status": "active",
|
|
10
|
+
"assembledFrom": "variable",
|
|
11
|
+
"item": [
|
|
12
|
+
{
|
|
13
|
+
"type": "string",
|
|
14
|
+
"linkId": "test",
|
|
15
|
+
"variable": [
|
|
16
|
+
{
|
|
17
|
+
"name": "First",
|
|
18
|
+
"language": "text/fhirpath",
|
|
19
|
+
"expression": "'First'"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "Second",
|
|
23
|
+
"language": "text/fhirpath",
|
|
24
|
+
"expression": "'Second'"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"subjectType": ["Encounter", "Patient"],
|
|
3
3
|
"meta": {
|
|
4
|
-
"profile": ["https://beda.software/
|
|
4
|
+
"profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"],
|
|
5
5
|
"lastUpdated": "2023-04-10T03:43:34.792167Z",
|
|
6
6
|
"versionId": "694",
|
|
7
7
|
"extension": [
|
|
@@ -416,7 +416,7 @@
|
|
|
416
416
|
]
|
|
417
417
|
},
|
|
418
418
|
{
|
|
419
|
-
"url": "
|
|
419
|
+
"url": "https://emr-core.beda.software/StructureDefinition/questionnaire-mapper",
|
|
420
420
|
"valueReference": {
|
|
421
421
|
"reference": "Mapping/allergy-extract"
|
|
422
422
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"item": [
|
|
3
|
+
{
|
|
4
|
+
"type": "string",
|
|
5
|
+
"linkId": "test",
|
|
6
|
+
"extension": [
|
|
7
|
+
{
|
|
8
|
+
"url": "http://hl7.org/fhir/StructureDefinition/variable",
|
|
9
|
+
"valueExpression": {
|
|
10
|
+
"name": "First",
|
|
11
|
+
"language": "text/fhirpath",
|
|
12
|
+
"expression": "'First'"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"url": "http://hl7.org/fhir/StructureDefinition/variable",
|
|
17
|
+
"valueExpression": {
|
|
18
|
+
"name": "Second",
|
|
19
|
+
"language": "text/fhirpath",
|
|
20
|
+
"expression": "'Second'"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"meta": {
|
|
27
|
+
"profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
|
|
28
|
+
},
|
|
29
|
+
"extension": [
|
|
30
|
+
{
|
|
31
|
+
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom",
|
|
32
|
+
"valueCanonical": "variable"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"status": "active",
|
|
36
|
+
"id": "variable",
|
|
37
|
+
"resourceType": "Questionnaire"
|
|
38
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const legacyQuestionnaireProfileUrl = 'https://beda.software/beda-emr-questionnaire';
|
|
2
|
+
export const questionnaireProfileUrl = 'https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire';
|
|
3
|
+
export const legacyMappingExtensionUrl = 'http://beda.software/fhir-extensions/questionnaire-mapper';
|
|
4
|
+
export const mappingExtensionUrl = 'https://emr-core.beda.software/StructureDefinition/questionnaire-mapper';
|
|
@@ -36,6 +36,7 @@ export enum ExtensionIdentifier {
|
|
|
36
36
|
EnableWhenExpression = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression',
|
|
37
37
|
AnswerExpression = 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression',
|
|
38
38
|
CqfExpression = 'http://hl7.org/fhir/StructureDefinition/cqf-expression',
|
|
39
|
+
Variable = 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
39
40
|
|
|
40
41
|
AdjustLastToRight = 'https://beda.software/fhir-emr-questionnaire/adjust-last-to-right',
|
|
41
42
|
SliderStart = 'https://beda.software/fhir-emr-questionnaire/slider-start',
|
|
@@ -226,6 +227,9 @@ export const extensionTransformers: ExtensionTransformer = {
|
|
|
226
227
|
},
|
|
227
228
|
},
|
|
228
229
|
},
|
|
230
|
+
[ExtensionIdentifier.Variable]: {
|
|
231
|
+
path: { extension: 'valueExpression', questionnaire: 'variable', isCollection: true },
|
|
232
|
+
},
|
|
229
233
|
[ExtensionIdentifier.InitialExpression]: {
|
|
230
234
|
path: { extension: 'valueExpression', questionnaire: 'initialExpression' },
|
|
231
235
|
},
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Extension as FHIRExtension, Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
|
|
2
2
|
|
|
3
3
|
import { Questionnaire as FCEQuestionnaire } from '@beda.software/aidbox-types';
|
|
4
|
+
import { legacyMappingExtensionUrl, legacyQuestionnaireProfileUrl, mappingExtensionUrl } from '../../constants';
|
|
4
5
|
|
|
5
6
|
export function processExtensions(questionnaire: FCEQuestionnaire): FHIRQuestionnaire {
|
|
6
7
|
const { launchContext, mapping, sourceQueries, targetStructureMap, assembledFrom, ...fhirQuestionnaire } =
|
|
@@ -39,10 +40,13 @@ export function processExtensions(questionnaire: FCEQuestionnaire): FHIRQuestion
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
if (mapping) {
|
|
43
|
+
const extensionUrl =
|
|
44
|
+
questionnaire.meta?.profile?.[0] === legacyQuestionnaireProfileUrl
|
|
45
|
+
? legacyMappingExtensionUrl
|
|
46
|
+
: mappingExtensionUrl;
|
|
42
47
|
extensions = extensions.concat(
|
|
43
48
|
mapping.map((m) => ({
|
|
44
|
-
|
|
45
|
-
url: 'http://beda.software/fhir-extensions/questionnaire-mapper',
|
|
49
|
+
url: extensionUrl,
|
|
46
50
|
valueReference: {
|
|
47
51
|
reference: `Mapping/${m.id}`,
|
|
48
52
|
},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { canonical } from '@beda.software/aidbox-types';
|
|
2
|
+
import { legacyMappingExtensionUrl, mappingExtensionUrl } from '../../constants';
|
|
2
3
|
import { Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
|
|
3
4
|
|
|
4
5
|
export function processExtensions(fhirQuestionnaire: FHIRQuestionnaire): {
|
|
@@ -70,9 +71,7 @@ export function processLaunchContext(fhirQuestionnaire: FHIRQuestionnaire): any[
|
|
|
70
71
|
|
|
71
72
|
function processMapping(fhirQuestionnaire: FHIRQuestionnaire): any[] | undefined {
|
|
72
73
|
const mapperExtensions = fhirQuestionnaire.extension?.filter(
|
|
73
|
-
(ext: any) =>
|
|
74
|
-
ext.url === 'http://beda.software/fhir-extensions/questionnaire-mapper' ||
|
|
75
|
-
ext.url === 'https://emr.beda.software/StructureDefinition/questionnaire-mapper',
|
|
74
|
+
(ext: any) => ext.url === legacyMappingExtensionUrl || ext.url === mappingExtensionUrl,
|
|
76
75
|
);
|
|
77
76
|
|
|
78
77
|
if (!mapperExtensions) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { legacyQuestionnaireProfileUrl, questionnaireProfileUrl } from '../constants';
|
|
1
2
|
import { Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
|
|
2
3
|
|
|
3
4
|
export function checkFhirQuestionnaireProfile(fhirQuestionnaire: FHIRQuestionnaire): void {
|
|
4
5
|
if (
|
|
5
6
|
!(
|
|
6
7
|
(fhirQuestionnaire.meta?.profile?.length ?? 0) === 1 &&
|
|
7
|
-
(fhirQuestionnaire.meta?.profile?.[0] ===
|
|
8
|
-
fhirQuestionnaire.meta?.profile?.[0] ===
|
|
9
|
-
'https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire')
|
|
8
|
+
(fhirQuestionnaire.meta?.profile?.[0] === legacyQuestionnaireProfileUrl ||
|
|
9
|
+
fhirQuestionnaire.meta?.profile?.[0] === questionnaireProfileUrl)
|
|
10
10
|
)
|
|
11
11
|
) {
|
|
12
12
|
throw new Error('Only beda emr questionanire supported');
|