@aehrc/smart-forms-renderer 0.36.1 → 0.38.2
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/CHANGELOG.md +40 -0
- package/lib/components/FormComponents/Button.styles.d.ts +4 -0
- package/lib/components/FormComponents/Button.styles.js +10 -0
- package/lib/components/FormComponents/Button.styles.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.d.ts +1 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.js +3 -2
- package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +4 -0
- package/lib/components/FormComponents/GroupItem/GroupItem.js +3 -3
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +4 -0
- package/lib/components/FormComponents/GroupItem/GroupItemView.js +8 -5
- package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/NextPageButton.d.ts +7 -0
- package/lib/{hooks/useQueryClient.js → components/FormComponents/GroupItem/NextPageButton.js} +9 -12
- package/lib/components/FormComponents/GroupItem/NextPageButton.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.d.ts +8 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +46 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/PreviousPageButton.d.ts +7 -0
- package/lib/components/FormComponents/GroupItem/PreviousPageButton.js +26 -0
- package/lib/components/FormComponents/GroupItem/PreviousPageButton.js.map +1 -0
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +12 -0
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +13 -0
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -0
- package/lib/components/FormComponents/QuantityItem/QuantityField.d.ts +15 -0
- package/lib/components/FormComponents/QuantityItem/QuantityField.js +14 -0
- package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -0
- package/lib/components/FormComponents/{DateTimeItem/DateTimeItem.d.ts → QuantityItem/QuantityItem.d.ts} +3 -3
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js +144 -0
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -0
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.d.ts +12 -0
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +10 -0
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -0
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +2 -1
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +8 -0
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormBodyPage.d.ts +9 -0
- package/lib/components/Renderer/FormBodyPage.js +43 -0
- package/lib/components/Renderer/FormBodyPage.js.map +1 -0
- package/lib/components/Renderer/FormTopLevelItem.js +7 -0
- package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
- package/lib/components/Renderer/FormTopLevelPage.d.ts +9 -0
- package/lib/components/Renderer/FormTopLevelPage.js +29 -0
- package/lib/components/Renderer/FormTopLevelPage.js.map +1 -0
- package/lib/hooks/useDecimalCalculatedExpression.d.ts +2 -2
- package/lib/hooks/useNextAndPreviousVisiblePages.d.ts +7 -0
- package/lib/hooks/useNextAndPreviousVisiblePages.js +47 -0
- package/lib/hooks/useNextAndPreviousVisiblePages.js.map +1 -0
- package/lib/hooks/useQuantityCalculatedExpression.d.ts +14 -0
- package/lib/hooks/useQuantityCalculatedExpression.js +105 -0
- package/lib/hooks/useQuantityCalculatedExpression.js.map +1 -0
- package/lib/hooks/useRenderingExtensions.d.ts +2 -1
- package/lib/hooks/useRenderingExtensions.js +3 -2
- package/lib/hooks/useRenderingExtensions.js.map +1 -1
- package/lib/hooks/useStringInput.js +1 -0
- package/lib/hooks/useStringInput.js.map +1 -1
- package/lib/interfaces/page.interface.d.ts +16 -0
- package/lib/interfaces/page.interface.js +2 -0
- package/lib/interfaces/page.interface.js.map +1 -0
- package/lib/interfaces/questionnaireStore.interface.d.ts +2 -0
- package/lib/interfaces/valueSet.interface.d.ts +15 -0
- package/lib/stores/questionnaireStore.d.ts +13 -0
- package/lib/stores/questionnaireStore.js +19 -3
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/lib/utils/calculatedExpression.js +4 -1
- package/lib/utils/calculatedExpression.js.map +1 -1
- package/lib/utils/initialise.d.ts +3 -0
- package/lib/utils/initialise.js +6 -1
- package/lib/utils/initialise.js.map +1 -1
- package/lib/utils/itemControl.d.ts +7 -1
- package/lib/utils/itemControl.js +14 -0
- package/lib/utils/itemControl.js.map +1 -1
- package/lib/utils/page.d.ts +43 -0
- package/lib/utils/page.js +101 -0
- package/lib/utils/page.js.map +1 -0
- package/lib/utils/quantity.d.ts +4 -0
- package/lib/utils/quantity.js +49 -0
- package/lib/utils/quantity.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractPages.d.ts +3 -0
- package/lib/utils/questionnaireStoreUtils/extractPages.js +18 -0
- package/lib/utils/questionnaireStoreUtils/extractPages.js.map +1 -0
- package/lib/utils/valueSet.d.ts +2 -1
- package/lib/utils/valueSet.js +22 -0
- package/lib/utils/valueSet.js.map +1 -1
- package/package.json +4 -4
- package/src/components/FormComponents/Button.styles.ts +10 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +5 -3
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +11 -1
- package/src/components/FormComponents/GroupItem/GroupItemView.tsx +12 -0
- package/src/components/FormComponents/GroupItem/NextPageButton.tsx +37 -0
- package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +78 -0
- package/src/components/FormComponents/GroupItem/PreviousPageButton.tsx +41 -0
- package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +40 -0
- package/src/components/FormComponents/QuantityItem/QuantityField.tsx +60 -0
- package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +286 -0
- package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +38 -0
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +2 -1
- package/src/components/Renderer/BaseRenderer.tsx +21 -0
- package/src/components/Renderer/FormBodyPage.tsx +93 -0
- package/src/components/Renderer/FormTopLevelItem.tsx +17 -0
- package/src/components/Renderer/FormTopLevelPage.tsx +70 -0
- package/src/hooks/useDecimalCalculatedExpression.ts +2 -2
- package/src/hooks/useNextAndPreviousVisiblePages.ts +69 -0
- package/src/hooks/useQuantityCalculatedExpression.ts +177 -0
- package/src/hooks/useRenderingExtensions.ts +5 -2
- package/src/hooks/useStringInput.ts +1 -0
- package/src/interfaces/page.interface.ts +13 -0
- package/src/interfaces/questionnaireStore.interface.ts +2 -0
- package/src/interfaces/valueSet.interface.ts +19 -0
- package/src/stores/questionnaireStore.ts +33 -2
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreAllergyIntolerance.json +1 -1
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreCondition.json +1 -1
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreEncounter.json +137 -58
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreImmunization.json +175 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreMedicationRequest.json +229 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBP.json +359 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBodyHeight.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBodyWeight.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationHeartRate.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationSmokingStatus.json +174 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePatient.json +495 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePractitioner.json +139 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePractitionerRole.json +216 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreProcedure.json +199 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreRespirationRate.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreWaistCircumference.json +195 -0
- package/src/stories/assets/questionnaires/QAuCoreTesting.ts +3342 -1
- package/src/stories/assets/questionnaires/QItemControlGroup.ts +673 -0
- package/src/stories/assets/questionnaires/QPrePopTester.ts +30 -0
- package/src/stories/assets/questionnaires/QQuantity.ts +283 -1
- package/src/stories/itemTypes/Quantity.stories.tsx +33 -1
- package/src/stories/sdc/ItemControlGroup.stories.tsx +22 -1
- package/src/stories/testing/AuCoreTester.stories.tsx +140 -1
- package/src/utils/calculatedExpression.ts +5 -1
- package/src/utils/initialise.ts +11 -0
- package/src/utils/itemControl.ts +19 -1
- package/src/utils/page.ts +134 -0
- package/src/utils/quantity.ts +62 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +5 -0
- package/src/utils/questionnaireStoreUtils/extractPages.ts +24 -0
- package/src/utils/valueSet.ts +32 -1
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.d.ts +0 -12
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +0 -34
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.js.map +0 -1
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +0 -60
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +0 -1
- package/lib/hooks/useDisplayCalculatedExpression.d.ts +0 -3
- package/lib/hooks/useDisplayCalculatedExpression.js +0 -40
- package/lib/hooks/useDisplayCalculatedExpression.js.map +0 -1
- package/lib/hooks/useInitialiseRenderer.d.ts +0 -4
- package/lib/hooks/useInitialiseRenderer.js +0 -85
- package/lib/hooks/useInitialiseRenderer.js.map +0 -1
- package/lib/hooks/useQueryClient.d.ts +0 -3
- package/lib/hooks/useQueryClient.js.map +0 -1
- package/lib/utils/buildForm.d.ts +0 -8
- package/lib/utils/buildForm.js +0 -26
- package/lib/utils/buildForm.js.map +0 -1
- package/stats.html +0 -4842
- package/stats1.html +0 -4842
- package/stats3.html +0 -4842
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { useEffect, useState } from 'react';
|
|
18
|
+
import { useQuestionnaireStore } from '../stores';
|
|
19
|
+
import { validateCodePromise } from '../utils/valueSet';
|
|
20
|
+
import { TERMINOLOGY_SERVER_URL } from '../globals';
|
|
21
|
+
function useQuantityCalculatedExpression(props) {
|
|
22
|
+
const { qItem, inputValue, precision, onChangeByCalcExpressionDecimal, onChangeByCalcExpressionQuantity, onChangeByCalcExpressionNull } = props;
|
|
23
|
+
const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
|
|
24
|
+
const [calcExpUpdated, setCalcExpUpdated] = useState(false);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
var _a;
|
|
27
|
+
const calcExpression = (_a = calculatedExpressions[qItem.linkId]) === null || _a === void 0 ? void 0 : _a.find((exp) => exp.from === 'item');
|
|
28
|
+
if (!calcExpression) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// only update if calculated value is different from current value
|
|
32
|
+
if (calcExpression.value !== inputValue &&
|
|
33
|
+
(typeof calcExpression.value === 'number' ||
|
|
34
|
+
typeof calcExpression.value === 'string' ||
|
|
35
|
+
calcExpression.value === null)) {
|
|
36
|
+
// Null path
|
|
37
|
+
if (calcExpression.value === null) {
|
|
38
|
+
onChangeByCalcExpressionNull();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Number path
|
|
42
|
+
if (typeof calcExpression.value === 'number') {
|
|
43
|
+
const calcExpressionValue = typeof precision === 'number'
|
|
44
|
+
? parseFloat(calcExpression.value.toFixed(precision))
|
|
45
|
+
: calcExpression.value;
|
|
46
|
+
// only update if calculated value is different from current value
|
|
47
|
+
if (calcExpressionValue !== parseFloat(inputValue)) {
|
|
48
|
+
// update ui to show calculated value changes
|
|
49
|
+
setCalcExpUpdated(true);
|
|
50
|
+
setTimeout(() => {
|
|
51
|
+
setCalcExpUpdated(false);
|
|
52
|
+
}, 500);
|
|
53
|
+
// calculatedExpression value is null
|
|
54
|
+
if (calcExpressionValue === null) {
|
|
55
|
+
onChangeByCalcExpressionNull();
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// calculatedExpression value is a number
|
|
59
|
+
onChangeByCalcExpressionDecimal(calcExpressionValue);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// String path (quantity)
|
|
63
|
+
if (typeof calcExpression.value === 'string') {
|
|
64
|
+
try {
|
|
65
|
+
const [value, unitCode] = calcExpression.value.split(' ');
|
|
66
|
+
const unitCodeFormatted = unitCode.replace(/'/g, '');
|
|
67
|
+
const ucumValueSet = 'http://hl7.org/fhir/ValueSet/ucum-units';
|
|
68
|
+
const ucumSystem = 'http://unitsofmeasure.org';
|
|
69
|
+
validateCodePromise(ucumValueSet, ucumSystem, unitCodeFormatted, TERMINOLOGY_SERVER_URL).then((validateCodeResponse) => {
|
|
70
|
+
// Return early if validate-code request fails
|
|
71
|
+
if (!validateCodeResponse) {
|
|
72
|
+
onChangeByCalcExpressionNull();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (validateCodeResponse.parameter) {
|
|
76
|
+
const systemParameter = validateCodeResponse.parameter.find((p) => p.name === 'system');
|
|
77
|
+
const codeParameter = validateCodeResponse.parameter.find((p) => p.name === 'code');
|
|
78
|
+
const displayParameter = validateCodeResponse.parameter.find((p) => p.name === 'display');
|
|
79
|
+
if (systemParameter.valueUri &&
|
|
80
|
+
codeParameter.valueCode &&
|
|
81
|
+
displayParameter.valueString) {
|
|
82
|
+
// update ui to show calculated value changes
|
|
83
|
+
setCalcExpUpdated(true);
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
setCalcExpUpdated(false);
|
|
86
|
+
}, 500);
|
|
87
|
+
onChangeByCalcExpressionQuantity(parseFloat(value), systemParameter.valueUri, codeParameter.valueCode, displayParameter.valueString);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
console.error(e);
|
|
94
|
+
onChangeByCalcExpressionNull();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
// Only trigger this effect if calculatedExpression of item changes
|
|
100
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
101
|
+
[calculatedExpressions]);
|
|
102
|
+
return { calcExpUpdated: calcExpUpdated };
|
|
103
|
+
}
|
|
104
|
+
export default useQuantityCalculatedExpression;
|
|
105
|
+
//# sourceMappingURL=useQuantityCalculatedExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuantityCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useQuantityCalculatedExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QuestionnaireItem } from 'fhir/r4';
|
|
1
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
2
2
|
interface RenderingExtensions {
|
|
3
3
|
displayUnit: string;
|
|
4
4
|
displayPrompt: string;
|
|
@@ -7,6 +7,7 @@ interface RenderingExtensions {
|
|
|
7
7
|
readOnly: boolean;
|
|
8
8
|
entryFormat: string;
|
|
9
9
|
required: boolean;
|
|
10
|
+
quantityUnit: QuestionnaireItemAnswerOption | null;
|
|
10
11
|
}
|
|
11
12
|
declare function useRenderingExtensions(qItem: QuestionnaireItem): RenderingExtensions;
|
|
12
13
|
export default useRenderingExtensions;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { getTextDisplayFlyover, getTextDisplayInstructions, getTextDisplayPrompt, getTextDisplayUnit } from '../utils/itemControl';
|
|
17
|
+
import { getQuantityUnit, getTextDisplayFlyover, getTextDisplayInstructions, getTextDisplayPrompt, getTextDisplayUnit } from '../utils/itemControl';
|
|
18
18
|
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
19
19
|
import { useMemo } from 'react';
|
|
20
20
|
function useRenderingExtensions(qItem) {
|
|
@@ -27,7 +27,8 @@ function useRenderingExtensions(qItem) {
|
|
|
27
27
|
displayFlyover: getTextDisplayFlyover(qItem),
|
|
28
28
|
readOnly: !!qItem.readOnly,
|
|
29
29
|
entryFormat: (_a = structuredDataCapture.getEntryFormat(qItem)) !== null && _a !== void 0 ? _a : '',
|
|
30
|
-
required: (_b = qItem.required) !== null && _b !== void 0 ? _b : false
|
|
30
|
+
required: (_b = qItem.required) !== null && _b !== void 0 ? _b : false,
|
|
31
|
+
quantityUnit: getQuantityUnit(qItem)
|
|
31
32
|
});
|
|
32
33
|
}, [qItem]);
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderingExtensions.js","sourceRoot":"","sources":["../../src/hooks/useRenderingExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useRenderingExtensions.js","sourceRoot":"","sources":["../../src/hooks/useRenderingExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAahC,SAAS,sBAAsB,CAAC,KAAwB;IACtD,OAAO,OAAO,CACZ,GAAG,EAAE;;QAAC,OAAA,CAAC;YACL,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACtC,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAC1C,mBAAmB,EAAE,0BAA0B,CAAC,KAAK,CAAC;YACtD,cAAc,EAAE,qBAAqB,CAAC,KAAK,CAAC;YAC5C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC1B,WAAW,EAAE,MAAA,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,mCAAI,EAAE;YAC9D,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,KAAK;YACjC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC;SACrC,CAAC,CAAA;KAAA,EACF,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { useEffect, useState } from 'react';
|
|
18
|
+
// The purpose of this hook to sync the string state from external changes i.e. re-population changes etc.
|
|
18
19
|
function useStringInput(valueFromProps) {
|
|
19
20
|
const [input, setInput] = useState(valueFromProps);
|
|
20
21
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStringInput.js","sourceRoot":"","sources":["../../src/hooks/useStringInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,SAAS,cAAc,CAAC,cAAsB;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEnD,SAAS,CACP,GAAG,EAAE;QACH,IAAI,KAAK,KAAK,cAAc,EAAE;YAC5B,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC1B;IACH,CAAC;IACD,iDAAiD;IACjD,uDAAuD;IACvD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"useStringInput.js","sourceRoot":"","sources":["../../src/hooks/useStringInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,0GAA0G;AAC1G,SAAS,cAAc,CAAC,cAAsB;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEnD,SAAS,CACP,GAAG,EAAE;QACH,IAAI,KAAK,KAAK,cAAc,EAAE;YAC5B,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC1B;IACH,CAAC;IACD,iDAAiD;IACjD,uDAAuD;IACvD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page interface
|
|
3
|
+
*
|
|
4
|
+
* @property pageIndex - The index of the page
|
|
5
|
+
* @property isComplete - Whether the page is marked as complete
|
|
6
|
+
* @property isHidden - Whether the page is hidden
|
|
7
|
+
*/
|
|
8
|
+
export type Page = {
|
|
9
|
+
pageIndex: number;
|
|
10
|
+
isComplete: boolean;
|
|
11
|
+
isHidden: boolean;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Key-value pair of pages `Record<linkId, Page>`
|
|
15
|
+
*/
|
|
16
|
+
export type Pages = Record<string, Page>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.interface.js","sourceRoot":"","sources":["../../src/interfaces/page.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Tabs } from './tab.interface';
|
|
2
|
+
import type { Pages } from './page.interface';
|
|
2
3
|
import type { Variables } from './variables.interface';
|
|
3
4
|
import type { LaunchContext } from './populate.interface';
|
|
4
5
|
import type { EnableWhenExpressions, EnableWhenItems } from './enableWhen.interface';
|
|
@@ -9,6 +10,7 @@ import type { InitialExpression } from './initialExpression.interface';
|
|
|
9
10
|
export interface QuestionnaireModel {
|
|
10
11
|
itemTypes: Record<string, string>;
|
|
11
12
|
tabs: Tabs;
|
|
13
|
+
pages: Pages;
|
|
12
14
|
variables: Variables;
|
|
13
15
|
launchContexts: Record<string, LaunchContext>;
|
|
14
16
|
enableWhenItems: EnableWhenItems;
|
|
@@ -3,3 +3,18 @@ export interface ValueSetPromise {
|
|
|
3
3
|
promise: Promise<ValueSet>;
|
|
4
4
|
valueSet?: ValueSet;
|
|
5
5
|
}
|
|
6
|
+
export interface ValidateCodeResponse extends Parameters<any> {
|
|
7
|
+
parameter: [SystemParameter, CodeParameter, DisplayParameter];
|
|
8
|
+
}
|
|
9
|
+
export interface SystemParameter {
|
|
10
|
+
name: 'system';
|
|
11
|
+
valueUri: string;
|
|
12
|
+
}
|
|
13
|
+
export interface CodeParameter {
|
|
14
|
+
name: 'code';
|
|
15
|
+
valueCode: string;
|
|
16
|
+
}
|
|
17
|
+
export interface DisplayParameter {
|
|
18
|
+
name: 'display';
|
|
19
|
+
valueString: string;
|
|
20
|
+
}
|
|
@@ -5,6 +5,7 @@ import type { CalculatedExpression } from '../interfaces/calculatedExpression.in
|
|
|
5
5
|
import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
6
6
|
import type { AnswerExpression } from '../interfaces/answerExpression.interface';
|
|
7
7
|
import type { Tabs } from '../interfaces/tab.interface';
|
|
8
|
+
import type { Pages } from '../interfaces/page.interface';
|
|
8
9
|
import type { InitialExpression } from '../interfaces/initialExpression.interface';
|
|
9
10
|
/**
|
|
10
11
|
* QuestionnaireStore properties and methods
|
|
@@ -15,6 +16,8 @@ import type { InitialExpression } from '../interfaces/initialExpression.interfac
|
|
|
15
16
|
* @property itemTypes - Key-value pair of item types `Record<linkId, item.type>`
|
|
16
17
|
* @property tabs - Key-value pair of tabs `Record<linkId, Tab>`
|
|
17
18
|
* @property currentTabIndex - Index of the current tab
|
|
19
|
+
* @property pages - Key-value pair of pages `Record<linkId, Page>`
|
|
20
|
+
* @property currentPageIndex - Index of the current page
|
|
18
21
|
* @property variables - Questionnaire variables object containing FHIRPath and x-fhir-query variables
|
|
19
22
|
* @property launchContexts - Key-value pair of launch contexts `Record<launch context name, launch context properties>`
|
|
20
23
|
* @property enableWhenItems - EnableWhenItems object containing enableWhen items and their linked questions
|
|
@@ -33,7 +36,9 @@ import type { InitialExpression } from '../interfaces/initialExpression.interfac
|
|
|
33
36
|
* @property buildSourceQuestionnaire - Used to build the source questionnaire with the provided questionnaire and optionally questionnaire response, additional variables, terminology server url and readyOnly flag
|
|
34
37
|
* @property destroySourceQuestionnaire - Used to destroy the source questionnaire and reset all properties
|
|
35
38
|
* @property switchTab - Used to switch the current tab index
|
|
39
|
+
* @property switchPage - Used to switch the current page index
|
|
36
40
|
* @property markTabAsComplete - Used to mark a tab index as complete
|
|
41
|
+
* @property markPageAsComplete - Used to mark a page index as complete
|
|
37
42
|
* @property updateEnableWhenItem - Used to update linked enableWhen items by updating a question with a new answer
|
|
38
43
|
* @property mutateRepeatEnableWhenItems - Used to add or remove instances of repeating enableWhen items
|
|
39
44
|
* @property toggleEnableWhenActivation - Used to toggle enableWhen checks on/off
|
|
@@ -51,6 +56,8 @@ export interface QuestionnaireStoreType {
|
|
|
51
56
|
itemTypes: Record<string, string>;
|
|
52
57
|
tabs: Tabs;
|
|
53
58
|
currentTabIndex: number;
|
|
59
|
+
pages: Pages;
|
|
60
|
+
currentPageIndex: number;
|
|
54
61
|
variables: Variables;
|
|
55
62
|
launchContexts: Record<string, LaunchContext>;
|
|
56
63
|
enableWhenItems: EnableWhenItems;
|
|
@@ -70,7 +77,9 @@ export interface QuestionnaireStoreType {
|
|
|
70
77
|
buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
|
|
71
78
|
destroySourceQuestionnaire: () => void;
|
|
72
79
|
switchTab: (newTabIndex: number) => void;
|
|
80
|
+
switchPage: (newPageIndex: number) => void;
|
|
73
81
|
markTabAsComplete: (tabLinkId: string) => void;
|
|
82
|
+
markPageAsComplete: (pageLinkId: string) => void;
|
|
74
83
|
updateEnableWhenItem: (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
|
|
75
84
|
mutateRepeatEnableWhenItems: (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
|
|
76
85
|
toggleEnableWhenActivation: (isActivated: boolean) => void;
|
|
@@ -103,6 +112,8 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
|
|
|
103
112
|
itemTypes: () => Record<string, string>;
|
|
104
113
|
tabs: () => Tabs;
|
|
105
114
|
currentTabIndex: () => number;
|
|
115
|
+
pages: () => Pages;
|
|
116
|
+
currentPageIndex: () => number;
|
|
106
117
|
variables: () => Variables;
|
|
107
118
|
launchContexts: () => Record<string, LaunchContext>;
|
|
108
119
|
enableWhenItems: () => EnableWhenItems;
|
|
@@ -122,7 +133,9 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
|
|
|
122
133
|
buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
|
|
123
134
|
destroySourceQuestionnaire: () => () => void;
|
|
124
135
|
switchTab: () => (newTabIndex: number) => void;
|
|
136
|
+
switchPage: () => (newPageIndex: number) => void;
|
|
125
137
|
markTabAsComplete: () => (tabLinkId: string) => void;
|
|
138
|
+
markPageAsComplete: () => (pageLinkId: string) => void;
|
|
126
139
|
updateEnableWhenItem: () => (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
|
|
127
140
|
mutateRepeatEnableWhenItems: () => (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
|
|
128
141
|
toggleEnableWhenActivation: () => (isActivated: boolean) => void;
|
|
@@ -49,6 +49,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
49
49
|
itemTypes: {},
|
|
50
50
|
tabs: {},
|
|
51
51
|
currentTabIndex: 0,
|
|
52
|
+
pages: {},
|
|
53
|
+
currentPageIndex: 0,
|
|
52
54
|
variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
|
|
53
55
|
launchContexts: {},
|
|
54
56
|
calculatedExpressions: {},
|
|
@@ -70,13 +72,14 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
70
72
|
// Insert answerOptions with displays into questionnaire
|
|
71
73
|
questionnaire = insertCompleteAnswerOptionsIntoQuestionnaire(questionnaire, questionnaireModel.answerOptions);
|
|
72
74
|
// Initialise form with questionnaire response and properties in questionnaire model
|
|
73
|
-
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, updatedFhirPathContext } = initialiseFormFromResponse({
|
|
75
|
+
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext } = initialiseFormFromResponse({
|
|
74
76
|
questionnaireResponse,
|
|
75
77
|
enableWhenItems: questionnaireModel.enableWhenItems,
|
|
76
78
|
enableWhenExpressions: questionnaireModel.enableWhenExpressions,
|
|
77
79
|
calculatedExpressions: questionnaireModel.calculatedExpressions,
|
|
78
80
|
variablesFhirPath: questionnaireModel.variables.fhirPathVariables,
|
|
79
81
|
tabs: questionnaireModel.tabs,
|
|
82
|
+
pages: questionnaireModel.pages,
|
|
80
83
|
fhirPathContext: questionnaireModel.fhirPathContext
|
|
81
84
|
});
|
|
82
85
|
set({
|
|
@@ -84,6 +87,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
84
87
|
itemTypes: questionnaireModel.itemTypes,
|
|
85
88
|
tabs: questionnaireModel.tabs,
|
|
86
89
|
currentTabIndex: firstVisibleTab,
|
|
90
|
+
pages: questionnaireModel.pages,
|
|
91
|
+
currentPageIndex: firstVisiblePage,
|
|
87
92
|
variables: questionnaireModel.variables,
|
|
88
93
|
launchContexts: questionnaireModel.launchContexts,
|
|
89
94
|
enableWhenItems: initialEnableWhenItems,
|
|
@@ -103,6 +108,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
103
108
|
itemTypes: {},
|
|
104
109
|
tabs: {},
|
|
105
110
|
currentTabIndex: 0,
|
|
111
|
+
pages: {},
|
|
112
|
+
currentPageIndex: 0,
|
|
106
113
|
variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
|
|
107
114
|
launchContexts: {},
|
|
108
115
|
enableWhenItems: { singleItems: {}, repeatItems: {} },
|
|
@@ -116,12 +123,19 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
116
123
|
fhirPathContext: {}
|
|
117
124
|
}),
|
|
118
125
|
switchTab: (newTabIndex) => set(() => ({ currentTabIndex: newTabIndex })),
|
|
126
|
+
switchPage: (newPageIndex) => set(() => ({ currentPageIndex: newPageIndex })),
|
|
119
127
|
markTabAsComplete: (tabLinkId) => {
|
|
120
128
|
const tabs = get().tabs;
|
|
121
129
|
set(() => ({
|
|
122
130
|
tabs: Object.assign(Object.assign({}, tabs), { [tabLinkId]: Object.assign(Object.assign({}, tabs[tabLinkId]), { isComplete: !tabs[tabLinkId].isComplete }) })
|
|
123
131
|
}));
|
|
124
132
|
},
|
|
133
|
+
markPageAsComplete: (pageLinkId) => {
|
|
134
|
+
const pages = get().pages;
|
|
135
|
+
set(() => ({
|
|
136
|
+
pages: Object.assign(Object.assign({}, pages), { [pageLinkId]: Object.assign(Object.assign({}, pages[pageLinkId]), { isComplete: !pages[pageLinkId].isComplete }) })
|
|
137
|
+
}));
|
|
138
|
+
},
|
|
125
139
|
updateEnableWhenItem: (linkId, newAnswer, parentRepeatGroupIndex) => {
|
|
126
140
|
const enableWhenLinkedQuestions = get().enableWhenLinkedQuestions;
|
|
127
141
|
const enableWhenItems = get().enableWhenItems;
|
|
@@ -181,7 +195,7 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
181
195
|
addCodingToCache: (valueSetUrl, codings) => set(() => ({
|
|
182
196
|
cachedValueSetCodings: Object.assign(Object.assign({}, get().cachedValueSetCodings), { [valueSetUrl]: codings })
|
|
183
197
|
})),
|
|
184
|
-
updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex) => {
|
|
198
|
+
updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex, persistPageIndex) => {
|
|
185
199
|
const initialResponseItemMap = createQuestionnaireResponseItemMap(populatedResponse);
|
|
186
200
|
const evaluateInitialCalculatedExpressionsResult = evaluateInitialCalculatedExpressions({
|
|
187
201
|
initialResponse: populatedResponse,
|
|
@@ -193,13 +207,14 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
193
207
|
const { initialCalculatedExpressions } = evaluateInitialCalculatedExpressionsResult;
|
|
194
208
|
let updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
|
|
195
209
|
const updatedResponse = initialiseCalculatedExpressionValues(get().sourceQuestionnaire, populatedResponse, initialCalculatedExpressions);
|
|
196
|
-
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab } = initialiseFormFromResponse({
|
|
210
|
+
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab, firstVisiblePage } = initialiseFormFromResponse({
|
|
197
211
|
questionnaireResponse: updatedResponse,
|
|
198
212
|
enableWhenItems: get().enableWhenItems,
|
|
199
213
|
enableWhenExpressions: get().enableWhenExpressions,
|
|
200
214
|
calculatedExpressions: initialCalculatedExpressions,
|
|
201
215
|
variablesFhirPath: get().variables.fhirPathVariables,
|
|
202
216
|
tabs: get().tabs,
|
|
217
|
+
pages: get().pages,
|
|
203
218
|
fhirPathContext: updatedFhirPathContext
|
|
204
219
|
});
|
|
205
220
|
updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
|
|
@@ -209,6 +224,7 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
209
224
|
enableWhenExpressions: initialEnableWhenExpressions,
|
|
210
225
|
calculatedExpressions: initialCalculatedExpressions,
|
|
211
226
|
currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab,
|
|
227
|
+
currentPageIndex: persistPageIndex ? get().currentPageIndex : firstVisiblePage,
|
|
212
228
|
fhirPathContext: updatedFhirPathContext,
|
|
213
229
|
populatedContext: populatedContext !== null && populatedContext !== void 0 ? populatedContext : get().populatedContext
|
|
214
230
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAc9C,OAAO,EACL,mCAAmC,EACnC,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,oCAAoC,EACpC,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yCAAyC,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iEAAiE,CAAC;AACrH,OAAO,EAAE,4CAA4C,EAAE,MAAM,sDAAsD,CAAC;AAyGpH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,EAA0B,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrF,mBAAmB,EAAE,SAAS,CAAC,kBAAkB,CAAC;IAClD,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE;IACR,eAAe,EAAE,CAAC;IAClB,KAAK,EAAE,EAAE;IACT,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAC7D,cAAc,EAAE,EAAE;IAClB,qBAAqB,EAAE,EAAE;IACzB,kBAAkB,EAAE,EAAE;IACtB,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;IACvE,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IACrD,yBAAyB,EAAE,EAAE;IAC7B,qBAAqB,EAAE,IAAI;IAC3B,wBAAwB,EAAE,EAAE;IAC5B,qBAAqB,EAAE,EAAE;IACzB,qBAAqB,EAAE,EAAE;IACzB,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,KAAK;IACf,wBAAwB,EAAE,CACxB,aAAa,EACb,qBAAqB,GAAG,SAAS,CAAC,aAAa,CAAC,EAChD,mBAAmB,GAAG,EAAE,EACxB,oBAAoB,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAC5D,QAAQ,GAAG,KAAK,EAChB,EAAE;QACF,MAAM,kBAAkB,GAAG,MAAM,wBAAwB,CACvD,aAAa,EACb,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;QAEF,wDAAwD;QACxD,aAAa,GAAG,4CAA4C,CAC1D,aAAa,EACb,kBAAkB,CAAC,aAAa,CACjC,CAAC;QAEF,oFAAoF;QACpF,MAAM,EACJ,sBAAsB,EACtB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACvB,GAAG,0BAA0B,CAAC;YAC7B,qBAAqB;YACrB,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACnD,qBAAqB,EAAE,kBAAkB,CAAC,qBAAqB;YAC/D,qBAAqB,EAAE,kBAAkB,CAAC,qBAAqB;YAC/D,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAAC,iBAAiB;YACjE,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,KAAK,EAAE,kBAAkB,CAAC,KAAK;YAC/B,eAAe,EAAE,kBAAkB,CAAC,eAAe;SACpD,CAAC,CAAC;QAEH,GAAG,CAAC;YACF,mBAAmB,EAAE,aAAa;YAClC,SAAS,EAAE,kBAAkB,CAAC,SAAS;YACvC,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC7B,eAAe,EAAE,eAAe;YAChC,KAAK,EAAE,kBAAkB,CAAC,KAAK;YAC/B,gBAAgB,EAAE,gBAAgB;YAClC,SAAS,EAAE,kBAAkB,CAAC,SAAS;YACvC,cAAc,EAAE,kBAAkB,CAAC,cAAc;YACjD,eAAe,EAAE,sBAAsB;YACvC,yBAAyB,EAAE,gCAAgC;YAC3D,qBAAqB,EAAE,4BAA4B;YACnD,qBAAqB,EAAE,4BAA4B;YACnD,kBAAkB,EAAE,kBAAkB,CAAC,kBAAkB;YACzD,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACvD,wBAAwB,EAAE,kBAAkB,CAAC,wBAAwB;YACrE,qBAAqB,EAAE,kBAAkB,CAAC,qBAAqB;YAC/D,eAAe,EAAE,sBAAsB;YACvC,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC,CAAA;IACD,0BAA0B,EAAE,GAAG,EAAE,CAC/B,GAAG,CAAC;QACF,mBAAmB,EAAE,SAAS,CAAC,kBAAkB,CAAC;QAClD,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,CAAC;QAClB,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;QAC7D,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACrD,yBAAyB,EAAE,EAAE;QAC7B,qBAAqB,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;QACvE,qBAAqB,EAAE,EAAE;QACzB,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,EAAE;QACrB,wBAAwB,EAAE,EAAE;QAC5B,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE,EAAE;KACpB,CAAC;IACJ,SAAS,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC;IACjF,UAAU,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,CAAC;IACrF,iBAAiB,EAAE,CAAC,SAAiB,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,IAAI,kCACC,IAAI,KACP,CAAC,SAAS,CAAC,kCAAO,IAAI,CAAC,SAAS,CAAC,KAAE,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,MAC3E;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IACD,kBAAkB,EAAE,CAAC,UAAkB,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;QAC1B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,KAAK,kCACA,KAAK,KACR,CAAC,UAAU,CAAC,kCAAO,KAAK,CAAC,UAAU,CAAC,KAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,UAAU,MAChF;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IACD,oBAAoB,EAAE,CACpB,MAAc,EACd,SAAwD,EACxD,sBAAqC,EACrC,EAAE;QACF,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,yBAAyB,CAAC;QAClE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE;YACtC,OAAO;SACR;QAED,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,sBAAsB,GAAG,0BAA0B,mBAClD,eAAe,GACpB,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,sBAAsB,CACvB,CAAC;QAEF,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,2BAA2B,EAAE,CAC3B,uBAA+B,EAC/B,sBAA8B,EAC9B,UAA4B,EAC5B,EAAE;QACF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC;QAC9C,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC;QAE1D,MAAM,sBAAsB,GAAG,mCAAmC,mBAE3D,eAAe,GAEpB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,CACX,CAAC;QAEF,MAAM,EAAE,4BAA4B,EAAE,SAAS,EAAE,GAAG,yCAAyC,CAAC;YAC5F,qBAAqB,EAAE,0BAA0B,CAAC,QAAQ,EAAE,CAAC,iBAAiB;YAC9E,4BAA4B,EAAE,0BAA0B,CAAC,QAAQ,EAAE,CAAC,sBAAsB;YAC1F,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB;YACpD,uBAAuB,EAAE,GAAG,EAAE,CAAC,eAAe;YAC9C,qBAAqB,EAAE,qBAAqB;YAC5C,uBAAuB;YACvB,sBAAsB;YACtB,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE;YACb,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACT,eAAe,EAAE,sBAAsB;gBACvC,qBAAqB,EAAE,4BAA4B;aACpD,CAAC,CAAC,CAAC;SACL;IACH,CAAC;IACD,0BAA0B,EAAE,CAAC,WAAoB,EAAE,EAAE,CACnD,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC,CAAC;IACrD,iBAAiB,EAAE,CAAC,eAAsC,EAAE,EAAE;QAC5D,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,eAAe,CAAC,CAAC;QACnF,MAAM,EACJ,SAAS,EACT,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACvB,GAAG,0BAA0B,CAAC;YAC7B,eAAe;YACf,sBAAsB;YACtB,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB;YAClD,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB;YAClD,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB;YACpD,uBAAuB,EAAE,GAAG,EAAE,CAAC,eAAe;SAC/C,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE;YACb,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACT,qBAAqB,EAAE,4BAA4B;gBACnD,qBAAqB,EAAE,4BAA4B;gBACnD,eAAe,EAAE,sBAAsB;aACxC,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,CAAC;SACV;QAED,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,gBAAgB,EAAE,CAAC,WAAmB,EAAE,OAAiB,EAAE,EAAE,CAC3D,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,qBAAqB,kCAChB,GAAG,EAAE,CAAC,qBAAqB,KAC9B,CAAC,WAAW,CAAC,EAAE,OAAO,GACvB;KACF,CAAC,CAAC;IACL,yBAAyB,EAAE,CACzB,iBAAwC,EACxC,gBAAsC,EACtC,eAAyB,EACzB,gBAA0B,EAC1B,EAAE;QACF,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,iBAAiB,CAAC,CAAC;QAErF,MAAM,0CAA0C,GAAG,oCAAoC,CAAC;YACtF,eAAe,EAAE,iBAAiB;YAClC,sBAAsB,EAAE,sBAAsB;YAC9C,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB;YAClD,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB;YACpD,uBAAuB,EAAE,GAAG,EAAE,CAAC,eAAe;SAC/C,CAAC,CAAC;QACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,0CAA0C,CAAC;QACpF,IAAI,sBAAsB,GAAG,0CAA0C,CAAC,sBAAsB,CAAC;QAE/F,MAAM,eAAe,GAAG,oCAAoC,CAC1D,GAAG,EAAE,CAAC,mBAAmB,EACzB,iBAAiB,EACjB,4BAA4B,CAC7B,CAAC;QAEF,MAAM,EACJ,sBAAsB,EACtB,gCAAgC,EAChC,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EACjB,GAAG,0BAA0B,CAAC;YAC7B,qBAAqB,EAAE,eAAe;YACtC,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe;YACtC,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB;YAClD,qBAAqB,EAAE,4BAA4B;YACnD,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB;YACpD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;YAChB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;YAClB,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;QACH,sBAAsB,GAAG,0CAA0C,CAAC,sBAAsB,CAAC;QAE3F,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,eAAe,EAAE,sBAAsB;YACvC,yBAAyB,EAAE,gCAAgC;YAC3D,qBAAqB,EAAE,4BAA4B;YACnD,qBAAqB,EAAE,4BAA4B;YACnD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;YAC1E,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB;YAC9E,eAAe,EAAE,sBAAsB;YACvC,gBAAgB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,GAAG,EAAE,CAAC,gBAAgB;SAC7D,CAAC,CAAC,CAAC;QAEJ,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE,CAChC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,aAAa,EAAE,MAAM;KACtB,CAAC,CAAC;IACL,mBAAmB,EAAE,CAAC,mBAAwC,EAAE,EAAE,CAChE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,gBAAgB,EAAE,mBAAmB;KACtC,CAAC,CAAC;IACL,iBAAiB,EAAE,CAAC,QAAiB,EAAE,EAAE,CACvC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;CACN,CAAC,CAAC,CAAC;AAEJ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -185,7 +185,10 @@ function parseValueToAnswer(qItem, value) {
|
|
|
185
185
|
return { valueInteger: value };
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
-
if (typeof value === 'object') {
|
|
188
|
+
if (typeof value === 'object' && value.unit) {
|
|
189
|
+
return { valueQuantity: value };
|
|
190
|
+
}
|
|
191
|
+
if (typeof value === 'object' && value.system && value.code) {
|
|
189
192
|
return { valueCoding: value };
|
|
190
193
|
}
|
|
191
194
|
// Value is string at this point
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculatedExpression.js","sourceRoot":"","sources":["../../src/utils/calculatedExpression.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"calculatedExpression.js","sourceRoot":"","sources":["../../src/utils/calculatedExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Expression, Questionnaire, QuestionnaireItemInitial, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
2
2
|
import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
3
3
|
import type { Tabs } from '../interfaces/tab.interface';
|
|
4
|
+
import type { Pages } from '../interfaces/page.interface';
|
|
4
5
|
import type { CalculatedExpression } from '../interfaces/calculatedExpression.interface';
|
|
5
6
|
/**
|
|
6
7
|
* Initialise a questionnaireResponse from a given questionnaire
|
|
@@ -17,6 +18,7 @@ export interface initialFormFromResponseParams {
|
|
|
17
18
|
calculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
18
19
|
variablesFhirPath: Record<string, Expression[]>;
|
|
19
20
|
tabs: Tabs;
|
|
21
|
+
pages: Pages;
|
|
20
22
|
fhirPathContext: Record<string, any>;
|
|
21
23
|
}
|
|
22
24
|
export declare function initialiseFormFromResponse(params: initialFormFromResponseParams): {
|
|
@@ -25,5 +27,6 @@ export declare function initialiseFormFromResponse(params: initialFormFromRespon
|
|
|
25
27
|
initialEnableWhenExpressions: EnableWhenExpressions;
|
|
26
28
|
initialCalculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
27
29
|
firstVisibleTab: number;
|
|
30
|
+
firstVisiblePage: number;
|
|
28
31
|
updatedFhirPathContext: Record<string, any>;
|
|
29
32
|
};
|
package/lib/utils/initialise.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { evaluateInitialEnableWhenExpressions } from './enableWhenExpression';
|
|
18
18
|
import { getFirstVisibleTab } from './tabs';
|
|
19
|
+
import { getFirstVisiblePage } from './page';
|
|
19
20
|
import { assignPopulatedAnswersToEnableWhen } from './enableWhen';
|
|
20
21
|
import { evaluateInitialCalculatedExpressions } from './calculatedExpression';
|
|
21
22
|
import { createQuestionnaireResponseItemMap } from './questionnaireResponseStoreUtils/updatableResponseItems';
|
|
@@ -234,7 +235,7 @@ function createNewRepeatGroupQuestionnaireResponseItem(qItem, initialValueItems)
|
|
|
234
235
|
};
|
|
235
236
|
}
|
|
236
237
|
export function initialiseFormFromResponse(params) {
|
|
237
|
-
const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs, fhirPathContext } = params;
|
|
238
|
+
const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs, pages, fhirPathContext } = params;
|
|
238
239
|
const initialResponseItemMap = createQuestionnaireResponseItemMap(questionnaireResponse);
|
|
239
240
|
let updatedFhirPathContext = {};
|
|
240
241
|
const { initialisedItems, linkedQuestions } = assignPopulatedAnswersToEnableWhen(enableWhenItems, questionnaireResponse);
|
|
@@ -259,12 +260,16 @@ export function initialiseFormFromResponse(params) {
|
|
|
259
260
|
const firstVisibleTab = Object.keys(tabs).length > 0
|
|
260
261
|
? getFirstVisibleTab(tabs, initialisedItems, initialEnableWhenExpressions)
|
|
261
262
|
: 0;
|
|
263
|
+
const firstVisiblePage = Object.keys(pages).length > 0
|
|
264
|
+
? getFirstVisiblePage(pages, initialisedItems, initialEnableWhenExpressions)
|
|
265
|
+
: 0;
|
|
262
266
|
return {
|
|
263
267
|
initialEnableWhenItems: initialisedItems,
|
|
264
268
|
initialEnableWhenLinkedQuestions: linkedQuestions,
|
|
265
269
|
initialEnableWhenExpressions,
|
|
266
270
|
initialCalculatedExpressions,
|
|
267
271
|
firstVisibleTab,
|
|
272
|
+
firstVisiblePage,
|
|
268
273
|
updatedFhirPathContext
|
|
269
274
|
};
|
|
270
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Extension, QuestionnaireItem } from 'fhir/r4';
|
|
1
|
+
import type { Extension, QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
2
2
|
import type { RegexValidation } from '../interfaces/regex.interface';
|
|
3
3
|
export declare function shouldRenderNestedItems(qItem: QuestionnaireItem): boolean;
|
|
4
4
|
/**
|
|
@@ -56,6 +56,12 @@ export declare function getMarkdownString(qItem: QuestionnaireItem): string | nu
|
|
|
56
56
|
* @author Sean Fong
|
|
57
57
|
*/
|
|
58
58
|
export declare function getTextDisplayPrompt(qItem: QuestionnaireItem): string;
|
|
59
|
+
/**
|
|
60
|
+
* Get Quantity unit for items with itemControlCode unit and has a unit childItem
|
|
61
|
+
*
|
|
62
|
+
* @author Sean Fong
|
|
63
|
+
*/
|
|
64
|
+
export declare function getQuantityUnit(qItem: QuestionnaireItem): QuestionnaireItemAnswerOption | null;
|
|
59
65
|
/**
|
|
60
66
|
* Get decimal text display unit for items with itemControlCode unit and has a unit childItem
|
|
61
67
|
*
|
package/lib/utils/itemControl.js
CHANGED
|
@@ -182,6 +182,20 @@ export function getTextDisplayPrompt(qItem) {
|
|
|
182
182
|
}
|
|
183
183
|
return '';
|
|
184
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Get Quantity unit for items with itemControlCode unit and has a unit childItem
|
|
187
|
+
*
|
|
188
|
+
* @author Sean Fong
|
|
189
|
+
*/
|
|
190
|
+
export function getQuantityUnit(qItem) {
|
|
191
|
+
var _a;
|
|
192
|
+
// Otherwise, check if the item has a unit extension
|
|
193
|
+
const itemControl = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((extension) => extension.url === 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit');
|
|
194
|
+
if (itemControl && itemControl.valueCoding) {
|
|
195
|
+
return itemControl;
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
185
199
|
/**
|
|
186
200
|
* Get decimal text display unit for items with itemControlCode unit and has a unit childItem
|
|
187
201
|
*
|