sdc-qrf 0.3.22 → 0.3.24
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 +4 -0
- package/dist/converter/extensions.js.map +1 -1
- package/dist/converter/fhirToFce/utils.d.ts.map +1 -1
- package/dist/converter/fhirToFce/utils.js +2 -3
- package/dist/converter/fhirToFce/utils.js.map +1 -1
- package/dist/converter/reference.d.ts +5 -0
- package/dist/converter/reference.d.ts.map +1 -0
- package/dist/converter/reference.js +34 -0
- package/dist/converter/reference.js.map +1 -0
- package/dist/fce.types.d.ts +158 -0
- package/dist/fce.types.d.ts.map +1 -0
- package/dist/fce.types.js +3 -0
- package/dist/fce.types.js.map +1 -0
- package/package.json +1 -1
- package/src/converter/__tests__/fce.test.ts +24 -37
- package/src/converter/__tests__/resources/questionnaire_fce/variable.json +29 -0
- package/src/converter/__tests__/resources/questionnaire_fhir/variable.json +38 -0
- package/src/converter/extensions.ts +4 -0
- package/src/converter/fhirToFce/utils.ts +2 -3
|
@@ -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":"utils.d.ts","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAWxF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,OAqBnC"}
|
|
@@ -5,10 +5,9 @@ exports.trimUndefined = trimUndefined;
|
|
|
5
5
|
function checkFhirQuestionnaireProfile(fhirQuestionnaire) {
|
|
6
6
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
7
7
|
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
|
-
'https://beda.software/beda-emr-questionnaire' ||
|
|
8
|
+
(((_e = (_d = fhirQuestionnaire.meta) === null || _d === void 0 ? void 0 : _d.profile) === null || _e === void 0 ? void 0 : _e[0]) === 'https://beda.software/beda-emr-questionnaire' ||
|
|
10
9
|
((_g = (_f = fhirQuestionnaire.meta) === null || _f === void 0 ? void 0 : _f.profile) === null || _g === void 0 ? void 0 : _g[0]) ===
|
|
11
|
-
'https://emr.beda.software/StructureDefinition/fhir-emr-questionnaire'))) {
|
|
10
|
+
'https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire'))) {
|
|
12
11
|
throw new Error('Only beda emr questionanire supported');
|
|
13
12
|
}
|
|
14
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/converter/fhirToFce/utils.ts"],"names":[],"mappings":";;AAEA,sEAWC;AAED,sCAqBC;AAlCD,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,8CAA8C;YACpF,CAAA,MAAA,MAAA,iBAAiB,CAAC,IAAI,0CAAE,OAAO,0CAAG,CAAC,CAAC;gBAChC,2EAA2E,CAAC,CACvF,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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InternalReference } from '@beda.software/aidbox-types';
|
|
2
|
+
import { Reference } from 'fhir/r4b';
|
|
3
|
+
export declare function fromFHIRReference(r?: Reference): InternalReference | undefined;
|
|
4
|
+
export declare function toFHIRReference(r?: InternalReference): Reference | undefined;
|
|
5
|
+
//# sourceMappingURL=reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/converter/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC,wBAAgB,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CA4B9E;AAED,wBAAgB,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAa5E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromFHIRReference = fromFHIRReference;
|
|
4
|
+
exports.toFHIRReference = toFHIRReference;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
// These two functions fromFHIRReference,toFHIRReference are very useful
|
|
7
|
+
// EMR-based projects uses it
|
|
8
|
+
function fromFHIRReference(r) {
|
|
9
|
+
if (!r || !r.reference) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
// We remove original reference from r in this "strange" way
|
|
13
|
+
// TODO: re-write omitting
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
|
+
const { reference: literalReference } = r, commonReferenceProperties = tslib_1.__rest(r, ["reference"]);
|
|
16
|
+
const isHistoryVersionLink = r.reference.split('/').slice(-2, -1)[0] === '_history';
|
|
17
|
+
if (isHistoryVersionLink) {
|
|
18
|
+
const [, , id, resourceType] = r.reference.split('/').reverse();
|
|
19
|
+
return Object.assign(Object.assign({}, commonReferenceProperties), { id: id, resourceType });
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const [id, resourceType] = r.reference.split('/').reverse();
|
|
23
|
+
return Object.assign(Object.assign({}, commonReferenceProperties), { id: id, resourceType });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function toFHIRReference(r) {
|
|
27
|
+
if (!r) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const { id, resourceType } = r, commonReferenceProperties = tslib_1.__rest(r, ["id", "resourceType"]);
|
|
31
|
+
delete commonReferenceProperties.resource;
|
|
32
|
+
return Object.assign(Object.assign({}, commonReferenceProperties), { reference: `${resourceType}/${id}` });
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/converter/reference.ts"],"names":[],"mappings":";;AAMA,8CA4BC;AAED,0CAaC;;AA7CD,wEAAwE;AACxE,6BAA6B;AAC7B,SAAgB,iBAAiB,CAAC,CAAa;IAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,4DAA4D;IAC5D,0BAA0B;IAC1B,6DAA6D;IAC7D,MAAM,EAAE,SAAS,EAAE,gBAAgB,KAAmC,CAAC,EAA/B,yBAAyB,kBAAK,CAAC,EAAjE,aAA6D,CAAI,CAAC;IACxE,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;IAEpF,IAAI,oBAAoB,EAAE,CAAC;QACvB,MAAM,CAAC,EAAE,AAAD,EAAG,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAEhE,uCACO,yBAAyB,KAC5B,EAAE,EAAE,EAAG,EACP,YAAY,IACd;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAE5D,uCACO,yBAAyB,KAC5B,EAAE,EAAE,EAAG,EACP,YAAY,IACd;IACN,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAAC,CAAqB;IACjD,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,YAAY,KAAmC,CAAC,EAA/B,yBAAyB,kBAAK,CAAC,EAAtD,sBAAkD,CAAI,CAAC;IAE7D,OAAO,yBAAyB,CAAC,QAAQ,CAAC;IAE1C,uCACO,yBAAyB,KAC5B,SAAS,EAAE,GAAG,YAAY,IAAI,EAAE,EAAE,IACpC;AACN,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Attachment, CodeableConcept, Coding, Duration, Expression, Extension, Quantity, Questionnaire, QuestionnaireItem, Reference } from 'fhir/r4b';
|
|
2
|
+
export interface FCEQuestionnaire extends Questionnaire {
|
|
3
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext */
|
|
4
|
+
assembleContext?: QuestionnaireAssembleContext[];
|
|
5
|
+
/** NOTE: from extension https://jira.hl7.org/browse/FHIR-22356#assembledFrom */
|
|
6
|
+
assembledFrom?: string;
|
|
7
|
+
item?: FCEQuestionnaireItem[];
|
|
8
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext */
|
|
9
|
+
/** Deprecated in favour itemPopulationContext */
|
|
10
|
+
itemContext?: Expression;
|
|
11
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext */
|
|
12
|
+
/** Specifies a query that identifies the resource (or set of resources for a repeating item) that should be used to populate this Questionnaire or Questionnaire.item on initial population. */
|
|
13
|
+
itemPopulationContext?: Expression;
|
|
14
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext */
|
|
15
|
+
launchContext?: FCEQuestionnaireLaunchContext[];
|
|
16
|
+
/** NOTE: from extension https://emr-core.beda.software/StructureDefinition/questionnaire-mapper */
|
|
17
|
+
/** List of mapping resources that must be executed on extract */
|
|
18
|
+
mapping?: Array<Reference>;
|
|
19
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-sourceQueries */
|
|
20
|
+
sourceQueries?: Array<Reference>;
|
|
21
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/variable */
|
|
22
|
+
/** Variable specifying a logic to generate a variable for use in subsequent logic. The name of the variable will be added to FHIRPath's context when processing descendants of the element that contains this extension. */
|
|
23
|
+
variable?: Expression[];
|
|
24
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-targetStructureMap */
|
|
25
|
+
targetStructureMap?: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface QuestionnaireAssembleContext {
|
|
28
|
+
/** NOTE: from extension description */
|
|
29
|
+
description?: string;
|
|
30
|
+
/** NOTE: from extension name */
|
|
31
|
+
name?: string;
|
|
32
|
+
/** NOTE: from extension type */
|
|
33
|
+
type?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface FCEQuestionnaireItem extends QuestionnaireItem {
|
|
36
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression */
|
|
37
|
+
/** An expression (FHIRPath, CQL or FHIR Query) that resolves to a list of permitted answers for the question item or that establishes context for a group item. */
|
|
38
|
+
answerExpression?: Expression;
|
|
39
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression */
|
|
40
|
+
/** Calculated value for a question answer as determined by an evaluated expression. */
|
|
41
|
+
calculatedExpression?: Expression;
|
|
42
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-choiceColumn */
|
|
43
|
+
/** Guide for rendering multi-column choices */
|
|
44
|
+
choiceColumn?: FCEQuestionnaireItemChoiceColumn[];
|
|
45
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/questionnaire-constraint */
|
|
46
|
+
/** An invariant that must be satisfied before responses to the questionnaire can be considered "complete". */
|
|
47
|
+
itemConstraint?: FCEQuestionnaireItemConstraint[];
|
|
48
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression */
|
|
49
|
+
/** An expression that returns a boolean value for whether to enable the item. */
|
|
50
|
+
enableWhenExpression?: Expression;
|
|
51
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/questionnaire-hidden */
|
|
52
|
+
hidden?: boolean;
|
|
53
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression */
|
|
54
|
+
/** Initial value for a question answer as determined by an evaluated expression. */
|
|
55
|
+
initialExpression?: Expression;
|
|
56
|
+
/** Nested questionnaire items */
|
|
57
|
+
item?: FCEQuestionnaireItem[];
|
|
58
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext */
|
|
59
|
+
/** Deprecated in favour itemPopulationContext */
|
|
60
|
+
itemContext?: Expression;
|
|
61
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl */
|
|
62
|
+
/** The type of data entry control or structure that should be used to render the item. */
|
|
63
|
+
itemControl?: CodeableConcept;
|
|
64
|
+
/** NOTE: from extension http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext */
|
|
65
|
+
/** Specifies a query that identifies the resource (or set of resources for a repeating item) that should be used to populate this Questionnaire or Questionnaire.item on initial population. */
|
|
66
|
+
itemPopulationContext?: Expression;
|
|
67
|
+
/** NOTE: from extension https://emr-core.beda.software/StructureDefinition/macro */
|
|
68
|
+
macro?: string;
|
|
69
|
+
_readOnly?: FCEQuestionnaireItemReadOnly;
|
|
70
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/questionnaire-referenceResource */
|
|
71
|
+
/** Where the type for a question is Reference, indicates a type of resource that is permitted. */
|
|
72
|
+
referenceResource?: string[];
|
|
73
|
+
_required?: FCEQuestionnaireItemRequired;
|
|
74
|
+
/** NOTE: from extension https://jira.hl7.org/browse/FHIR-22356#subQuestionnaire */
|
|
75
|
+
subQuestionnaire?: string;
|
|
76
|
+
_text?: FCEQuestionnaireItemText;
|
|
77
|
+
/** NOTE: from extension https://jira.hl7.org/browse/FHIR-22356#subQuestionnaire */
|
|
78
|
+
/** Additional instructions for the user to guide their input (i.e. a human readable version of a regular expression like “nnn-nnn-nnn”). In most UIs this is the placeholder (or ‘ghost’) text placed directly inside the edit controls and that disappear when the control gets the focus. */
|
|
79
|
+
entryFormat?: string;
|
|
80
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/entryFormat */
|
|
81
|
+
/** NOTE: from extension http://hl7.org/fhir/StructureDefinition/variable */
|
|
82
|
+
/** Variable specifying a logic to generate a variable for use in subsequent logic. The name of the variable will be added to FHIRPath's context when processing descendants of the element that contains this extension. */
|
|
83
|
+
variable?: Expression[];
|
|
84
|
+
unit?: Coding;
|
|
85
|
+
sliderStepValue?: number;
|
|
86
|
+
adjustLastToRight?: boolean;
|
|
87
|
+
start?: number;
|
|
88
|
+
stop?: number;
|
|
89
|
+
helpText?: string;
|
|
90
|
+
stopLabel?: string;
|
|
91
|
+
rowsNumber?: number;
|
|
92
|
+
unitOption?: Coding[];
|
|
93
|
+
columnSize?: number;
|
|
94
|
+
itemMedia?: Attachment;
|
|
95
|
+
regex?: string;
|
|
96
|
+
observationExtract?: boolean;
|
|
97
|
+
observationLinkPeriod?: Duration;
|
|
98
|
+
minValue?: Extension;
|
|
99
|
+
maxValue?: Extension;
|
|
100
|
+
minQuantity?: Extension;
|
|
101
|
+
maxQuantity?: Extension;
|
|
102
|
+
showOrdinalValue?: boolean;
|
|
103
|
+
preferredTerminologyServer?: string;
|
|
104
|
+
openLabel?: string;
|
|
105
|
+
backgroundImage?: Attachment;
|
|
106
|
+
language?: Coding;
|
|
107
|
+
choiceOrientation?: 'horizontal' | 'vertical';
|
|
108
|
+
choiceColumns?: number;
|
|
109
|
+
ordinalValue?: number;
|
|
110
|
+
}
|
|
111
|
+
export interface FCEQuestionnaireItemText {
|
|
112
|
+
cqfExpression?: Expression;
|
|
113
|
+
extension?: Extension[];
|
|
114
|
+
}
|
|
115
|
+
export interface FCEQuestionnaireItemReadOnly {
|
|
116
|
+
cqfExpression?: Expression;
|
|
117
|
+
extension?: Extension[];
|
|
118
|
+
}
|
|
119
|
+
export interface FCEQuestionnaireItemRequired {
|
|
120
|
+
cqfExpression?: Expression;
|
|
121
|
+
extension?: Extension[];
|
|
122
|
+
}
|
|
123
|
+
export interface FCEQuestionnaireItemChoiceColumn {
|
|
124
|
+
/** NOTE: from extension forDisplay */
|
|
125
|
+
/** Use for display ? */
|
|
126
|
+
forDisplay?: boolean;
|
|
127
|
+
/** NOTE: from extension label */
|
|
128
|
+
/** Column label */
|
|
129
|
+
label?: string;
|
|
130
|
+
/** NOTE: from extension path */
|
|
131
|
+
/** Column path */
|
|
132
|
+
path?: string;
|
|
133
|
+
/** NOTE: from extension width */
|
|
134
|
+
/** Width of column */
|
|
135
|
+
width?: Quantity;
|
|
136
|
+
}
|
|
137
|
+
export interface FCEQuestionnaireItemConstraint {
|
|
138
|
+
/** NOTE: from extension expression */
|
|
139
|
+
expression: string;
|
|
140
|
+
/** NOTE: from extension human */
|
|
141
|
+
human: string;
|
|
142
|
+
/** NOTE: from extension key */
|
|
143
|
+
key: string;
|
|
144
|
+
/** NOTE: from extension location */
|
|
145
|
+
/** NOTE: from extension requirements */
|
|
146
|
+
requirements?: string;
|
|
147
|
+
/** NOTE: from extension severity */
|
|
148
|
+
severity: string;
|
|
149
|
+
}
|
|
150
|
+
export interface FCEQuestionnaireLaunchContext {
|
|
151
|
+
/** NOTE: from extension description */
|
|
152
|
+
description?: string;
|
|
153
|
+
/** NOTE: from extension name */
|
|
154
|
+
name?: Coding;
|
|
155
|
+
/** NOTE: from extension type */
|
|
156
|
+
type?: string;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=fce.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fce.types.d.ts","sourceRoot":"","sources":["../src/fce.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fce.types.js","sourceRoot":"","sources":["../src/fce.types.ts"],"names":[],"mappings":""}
|
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
|
});
|
|
@@ -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
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -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
|
},
|
|
@@ -4,10 +4,9 @@ export function checkFhirQuestionnaireProfile(fhirQuestionnaire: FHIRQuestionnai
|
|
|
4
4
|
if (
|
|
5
5
|
!(
|
|
6
6
|
(fhirQuestionnaire.meta?.profile?.length ?? 0) === 1 &&
|
|
7
|
-
(fhirQuestionnaire.meta?.profile?.[0] ===
|
|
8
|
-
'https://beda.software/beda-emr-questionnaire' ||
|
|
7
|
+
(fhirQuestionnaire.meta?.profile?.[0] === 'https://beda.software/beda-emr-questionnaire' ||
|
|
9
8
|
fhirQuestionnaire.meta?.profile?.[0] ===
|
|
10
|
-
'https://emr.beda.software/StructureDefinition/fhir-emr-questionnaire')
|
|
9
|
+
'https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire')
|
|
11
10
|
)
|
|
12
11
|
) {
|
|
13
12
|
throw new Error('Only beda emr questionanire supported');
|