@aehrc/smart-forms-renderer 0.10.5 → 0.10.6
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/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/GridGroup/GridTable.d.ts +1 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +2 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTable.js +1 -0
- package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
- package/lib/hooks/useHidden.js +2 -2
- package/lib/hooks/useHidden.js.map +1 -1
- package/lib/hooks/useRenderingExtensions.js +4 -2
- package/lib/hooks/useRenderingExtensions.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/utils/choice.d.ts +0 -6
- package/lib/utils/choice.js +1 -24
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/openChoice.js +2 -1
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/qItem.js +2 -2
- package/lib/utils/qItem.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.d.ts +1 -1
- package/lib/utils/tabs.d.ts +0 -7
- package/lib/utils/tabs.js +4 -17
- package/lib/utils/tabs.js.map +1 -1
- package/lib/utils/valueSet.d.ts +1 -1
- package/package.json +2 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +2 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +2 -1
- package/src/components/FormComponents/GridGroup/GridTable.tsx +2 -2
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +2 -1
- package/src/components/FormComponents/Tables/GroupTable.tsx +2 -0
- package/src/hooks/useHidden.ts +2 -2
- package/src/hooks/useRenderingExtensions.ts +2 -2
- package/src/index.ts +1 -1
- package/src/utils/choice.ts +1 -26
- package/src/utils/openChoice.ts +2 -1
- package/src/utils/qItem.ts +2 -2
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +1 -1
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +1 -1
- package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +1 -1
- package/src/utils/tabs.ts +3 -22
- package/src/utils/valueSet.ts +1 -1
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import Grid from '@mui/material/Grid';
|
|
19
|
-
import {
|
|
19
|
+
import { getQrChoiceValue } from '../../../utils/choice';
|
|
20
20
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
21
21
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
22
22
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
@@ -24,6 +24,7 @@ import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
|
24
24
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
25
25
|
import ChoiceRadioAnswerOptionFields from './ChoiceRadioAnswerOptionFields';
|
|
26
26
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
27
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
27
28
|
function ChoiceRadioAnswerOptionItem(props) {
|
|
28
29
|
const { qItem, qrItem, orientation, isRepeated, parentIsReadOnly, onQrItemChange } = props;
|
|
29
30
|
// Init input value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAM3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAWxE,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE3F,mBAAmB;IACnB,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,iBAAiB;IACjB,SAAS,YAAY,CAAC,QAAgB;QACpC,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,cAAc,iCAAM,iBAAiB,CAAC,KAAK,CAAC,KAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAG,CAAC;aACrE;SACF;IACH,CAAC;IAED,IAAI,UAAU,EAAE;QACd,OAAO,CACL,oBAAC,6BAA6B,IAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,YAAY,GAC7B,CACH,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBAAW,uCAAuC;QAC1E,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;YAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C;YACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,6BAA6B,IAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,YAAY,GAC7B;gBACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChF,CACF,CACmB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import Grid from '@mui/material/Grid';
|
|
19
|
-
import {
|
|
19
|
+
import { getQrChoiceValue } from '../../../utils/choice';
|
|
20
20
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
21
21
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
22
22
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
@@ -24,6 +24,7 @@ import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
|
24
24
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
25
25
|
import ChoiceSelectAnswerOptionFields from './ChoiceSelectAnswerOptionFields';
|
|
26
26
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
27
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
27
28
|
function ChoiceSelectAnswerOptionItem(props) {
|
|
28
29
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
29
30
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceSelectAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChoiceSelectAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAO3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAWxE,SAAS,4BAA4B,CAAC,KAAwC;IAC5E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,mBAAmB;IACnB,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,WAAW,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,EAAE,CAAC;KAClB;IAED,iBAAiB;IACjB,SAAS,YAAY,CAAC,QAAgB;QACpC,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,cAAc,iCAAM,iBAAiB,CAAC,KAAK,CAAC,KAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAG,CAAC;gBACpE,OAAO;aACR;SACF;QACD,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU,EAAE;QACd,OAAO,CACL,oBAAC,8BAA8B,IAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,YAAY,GAC5B,CACH,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBAAW,wCAAwC;QAC3E,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;YAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C;YACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,8BAA8B,IAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,YAAY,GAC5B;gBACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChF,CACF,CACmB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,4BAA4B,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
4
|
-
import type { PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
|
|
3
|
+
import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
|
|
5
4
|
interface GridTableProps extends PropsWithQrItemChangeHandler, PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute {
|
|
6
5
|
qItems: QuestionnaireItem[];
|
|
7
6
|
qrItems: QuestionnaireResponseItem[];
|
|
@@ -20,12 +20,13 @@ import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
|
20
20
|
import { getOpenLabelText } from '../../../utils/itemControl';
|
|
21
21
|
import { getOldOpenLabelAnswer } from '../../../utils/openChoice';
|
|
22
22
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
23
|
-
import {
|
|
23
|
+
import { getQrChoiceValue } from '../../../utils/choice';
|
|
24
24
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
25
25
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
26
26
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
27
27
|
import OpenChoiceRadioAnswerOptionFields from './OpenChoiceRadioAnswerOptionFields';
|
|
28
28
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
29
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
29
30
|
function OpenChoiceRadioAnswerOptionItem(props) {
|
|
30
31
|
var _a;
|
|
31
32
|
const { qItem, qrItem, orientation, parentIsReadOnly, onQrItemChange } = props;
|
package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OpenChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ import useGroupTableRows from '../../../hooks/useGroupTableRows';
|
|
|
33
33
|
import { flushSync } from 'react-dom';
|
|
34
34
|
function GroupTable(props) {
|
|
35
35
|
const { qItem, qrItems, groupCardElevation, showMinimalView, parentIsReadOnly, onQrRepeatGroupChange } = props;
|
|
36
|
+
// console.log(qrItems);
|
|
36
37
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
37
38
|
const { tableRows, selectedIds, setTableRows, setSelectedIds } = useGroupTableRows(qrItems);
|
|
38
39
|
// Generate item labels as table headers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTable.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTable.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GroupTable.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTable.tsx"],"names":[],"mappings":"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"}
|
package/lib/hooks/useHidden.js
CHANGED
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { hasHiddenExtension } from '../utils/itemControl';
|
|
18
17
|
import { useQuestionnaireStore } from '../stores';
|
|
19
18
|
import { isHiddenByEnableWhens } from '../utils/qItem';
|
|
19
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
20
20
|
function useHidden(qItem) {
|
|
21
21
|
const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
|
|
22
22
|
const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
|
|
23
23
|
const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
|
|
24
|
-
if (
|
|
24
|
+
if (structuredDataCapture.getHidden(qItem)) {
|
|
25
25
|
return true;
|
|
26
26
|
}
|
|
27
27
|
return isHiddenByEnableWhens({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHidden.js","sourceRoot":"","sources":["../../src/hooks/useHidden.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useHidden.js","sourceRoot":"","sources":["../../src/hooks/useHidden.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACpE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,IAAI,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -14,14 +14,16 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { getMaxLength, getReadOnly, getRegexValidation, getTextDisplayInstructions, getTextDisplayPrompt, getTextDisplayUnit } from '../utils/itemControl';
|
|
18
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
18
19
|
function useRenderingExtensions(qItem) {
|
|
20
|
+
var _a;
|
|
19
21
|
return {
|
|
20
22
|
displayUnit: getTextDisplayUnit(qItem),
|
|
21
23
|
displayPrompt: getTextDisplayPrompt(qItem),
|
|
22
24
|
displayInstructions: getTextDisplayInstructions(qItem),
|
|
23
25
|
readOnly: getReadOnly(qItem),
|
|
24
|
-
entryFormat: getEntryFormat(qItem),
|
|
26
|
+
entryFormat: (_a = structuredDataCapture.getEntryFormat(qItem)) !== null && _a !== void 0 ? _a : '',
|
|
25
27
|
regexValidation: getRegexValidation(qItem),
|
|
26
28
|
maxLength: getMaxLength(qItem)
|
|
27
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderingExtensions.js","sourceRoot":"","sources":["../../src/hooks/useRenderingExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"useRenderingExtensions.js","sourceRoot":"","sources":["../../src/hooks/useRenderingExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAYzD,SAAS,sBAAsB,CAAC,KAAwB;;IACtD,OAAO;QACL,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACtC,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC1C,mBAAmB,EAAE,0BAA0B,CAAC,KAAK,CAAC;QACtD,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC;QAC5B,WAAW,EAAE,MAAA,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,mCAAI,EAAE;QAC9D,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAC1C,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare function destroyForm(): void;
|
|
|
27
27
|
export declare function getResponse(): QuestionnaireResponse;
|
|
28
28
|
/**
|
|
29
29
|
* Remove all hidden answers from the filled QuestionnaireResponse.
|
|
30
|
-
* This takes into account the questionnaire-hidden extension, enableWhens and
|
|
30
|
+
* This takes into account the questionnaire-hidden extension, enableWhens, enableWhenExpressions and empty strings.
|
|
31
31
|
*
|
|
32
32
|
* @author Sean Fong
|
|
33
33
|
*/
|
package/lib/index.js
CHANGED
|
@@ -55,7 +55,7 @@ export function getResponse() {
|
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Remove all hidden answers from the filled QuestionnaireResponse.
|
|
58
|
-
* This takes into account the questionnaire-hidden extension, enableWhens and
|
|
58
|
+
* This takes into account the questionnaire-hidden extension, enableWhens, enableWhenExpressions and empty strings.
|
|
59
59
|
*
|
|
60
60
|
* @author Sean Fong
|
|
61
61
|
*/
|
package/lib/utils/choice.d.ts
CHANGED
|
@@ -6,12 +6,6 @@ import { ChoiceItemControl, ChoiceItemOrientation } from '../interfaces/choice.e
|
|
|
6
6
|
* @author Sean Fong
|
|
7
7
|
*/
|
|
8
8
|
export declare function getChoiceControlType(qItem: QuestionnaireItem): ChoiceItemControl;
|
|
9
|
-
/**
|
|
10
|
-
* Find and return corresponding answerOption based on selected answer in form
|
|
11
|
-
*
|
|
12
|
-
* @author Sean Fong
|
|
13
|
-
*/
|
|
14
|
-
export declare function findInAnswerOptions(answerOptions: QuestionnaireItemAnswerOption[], selected: string): QuestionnaireResponseItemAnswer | undefined;
|
|
15
9
|
/**
|
|
16
10
|
* Find and return corresponding coding from AnswerValyeSet based on selected answer in form
|
|
17
11
|
*
|
package/lib/utils/choice.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { ChoiceItemControl, ChoiceItemOrientation } from '../interfaces/choice.enum';
|
|
18
18
|
import { isSpecificItemControl } from './itemControl';
|
|
19
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
19
20
|
/**
|
|
20
21
|
* Get choice control type based on certain criteria in choice items
|
|
21
22
|
*
|
|
@@ -44,30 +45,6 @@ export function getChoiceControlType(qItem) {
|
|
|
44
45
|
return ChoiceItemControl.Select;
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Find and return corresponding answerOption based on selected answer in form
|
|
49
|
-
*
|
|
50
|
-
* @author Sean Fong
|
|
51
|
-
*/
|
|
52
|
-
export function findInAnswerOptions(answerOptions, selected) {
|
|
53
|
-
for (const option of answerOptions) {
|
|
54
|
-
if (option['valueCoding']) {
|
|
55
|
-
if (selected === option.valueCoding.code) {
|
|
56
|
-
return option;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else if (option['valueString']) {
|
|
60
|
-
if (selected === option.valueString) {
|
|
61
|
-
return option;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else if (option['valueInteger']) {
|
|
65
|
-
if (selected === option.valueInteger.toString()) {
|
|
66
|
-
return option;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
48
|
/**
|
|
72
49
|
* Find and return corresponding coding from AnswerValyeSet based on selected answer in form
|
|
73
50
|
*
|
package/lib/utils/choice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/utils/choice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/utils/choice.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/openChoice.js
CHANGED
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { CheckBoxOption, OpenChoiceItemControl } from '../interfaces/choice.enum';
|
|
18
18
|
import { isSpecificItemControl } from './itemControl';
|
|
19
|
-
import {
|
|
19
|
+
import { findInAnswerValueSetCodings } from './choice';
|
|
20
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
20
21
|
/**
|
|
21
22
|
* Update open-choice checkbox group answers based on checkbox changes
|
|
22
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openChoice.js","sourceRoot":"","sources":["../../src/utils/openChoice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"openChoice.js","sourceRoot":"","sources":["../../src/utils/openChoice.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/qItem.js
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { hasHiddenExtension } from './itemControl';
|
|
18
17
|
import { getChoiceControlType } from './choice';
|
|
19
18
|
import { ChoiceItemControl, OpenChoiceItemControl } from '../interfaces/choice.enum';
|
|
20
19
|
import { getOpenChoiceControlType } from './openChoice';
|
|
20
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
21
21
|
/**
|
|
22
22
|
* Test the given QItem on a series of checks to verify if the item should be displayed
|
|
23
23
|
* Check if qItem has hidden attribute
|
|
@@ -27,7 +27,7 @@ import { getOpenChoiceControlType } from './openChoice';
|
|
|
27
27
|
*/
|
|
28
28
|
export function isHidden(params) {
|
|
29
29
|
const { questionnaireItem, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
|
|
30
|
-
if (
|
|
30
|
+
if (structuredDataCapture.getHidden(questionnaireItem)) {
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
33
|
return isHiddenByEnableWhens({
|
package/lib/utils/qItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qItem.js","sourceRoot":"","sources":["../../src/utils/qItem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qItem.js","sourceRoot":"","sources":["../../src/utils/qItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ValueSetPromise } from '
|
|
1
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
2
2
|
import type { Coding, Questionnaire, ValueSet } from 'fhir/r4';
|
|
3
3
|
export declare function extractContainedValueSets(questionnaire: Questionnaire, terminologyServerUrl: string): {
|
|
4
4
|
processedValueSetCodings: Record<string, Coding[]>;
|
|
@@ -2,7 +2,7 @@ import type { Expression, Questionnaire, QuestionnaireItem } from 'fhir/r4';
|
|
|
2
2
|
import type { CalculatedExpression } from '../../interfaces/calculatedExpression.interface';
|
|
3
3
|
import type { EnableWhenExpression, EnableWhenItemProperties } from '../../interfaces/enableWhen.interface';
|
|
4
4
|
import type { AnswerExpression } from '../../interfaces/answerExpression.interface';
|
|
5
|
-
import type { ValueSetPromise } from '
|
|
5
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
6
6
|
import type { Variables } from '../../interfaces/variables.interface';
|
|
7
7
|
interface ReturnParamsRecursive {
|
|
8
8
|
variables: Variables;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Coding } from 'fhir/r4';
|
|
2
2
|
import type { Variables } from '../../interfaces/variables.interface';
|
|
3
|
-
import type { ValueSetPromise } from '
|
|
3
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
4
4
|
export declare function resolveValueSets(variables: Variables, valueSetPromises: Record<string, ValueSetPromise>, processedValueSetCodings: Record<string, Coding[]>, terminologyServerUrl: string): Promise<{
|
|
5
5
|
variables: Variables;
|
|
6
6
|
processedValueSetCodings: Record<string, Coding[]>;
|
package/lib/utils/tabs.d.ts
CHANGED
|
@@ -57,13 +57,6 @@ interface getNextVisibleTabIndexParams {
|
|
|
57
57
|
* @author Sean Fong
|
|
58
58
|
*/
|
|
59
59
|
export declare function getNextVisibleTabIndex(params: getNextVisibleTabIndexParams): number;
|
|
60
|
-
/**
|
|
61
|
-
*
|
|
62
|
-
* Get index of first visible tab
|
|
63
|
-
*
|
|
64
|
-
* @author Sean Fong
|
|
65
|
-
*/
|
|
66
|
-
export declare function getFirstVisibleTabIndex(tabs: Tabs, enableWhenIsActivated: boolean, enableWhenItems: EnableWhenItems, enableWhenExpressions: Record<string, EnableWhenExpression>): number | undefined;
|
|
67
60
|
/**
|
|
68
61
|
*
|
|
69
62
|
* Find number of visible tabs
|
package/lib/utils/tabs.js
CHANGED
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { isSpecificItemControl } from './itemControl';
|
|
18
18
|
import { isHidden, isHiddenByEnableWhens } from './qItem';
|
|
19
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
19
20
|
export function getFirstVisibleTab(tabs, enableWhenItems, enableWhenExpressions) {
|
|
20
21
|
return Object.entries(tabs)
|
|
21
22
|
.sort(([, tabA], [, tabB]) => tabA.tabIndex - tabB.tabIndex)
|
|
@@ -100,6 +101,7 @@ export function isTab(item) {
|
|
|
100
101
|
* @author Sean Fong
|
|
101
102
|
*/
|
|
102
103
|
export function constructTabsWithProperties(qItems, hasTabContainer) {
|
|
104
|
+
var _a;
|
|
103
105
|
if (!qItems)
|
|
104
106
|
return {};
|
|
105
107
|
const qItemTabs = hasTabContainer ? qItems : qItems.filter(isTab);
|
|
@@ -108,7 +110,7 @@ export function constructTabsWithProperties(qItems, hasTabContainer) {
|
|
|
108
110
|
tabs[qItem.linkId] = {
|
|
109
111
|
tabIndex: i,
|
|
110
112
|
isComplete: false,
|
|
111
|
-
isHidden:
|
|
113
|
+
isHidden: (_a = structuredDataCapture.getHidden(qItem)) !== null && _a !== void 0 ? _a : false
|
|
112
114
|
};
|
|
113
115
|
}
|
|
114
116
|
return tabs;
|
|
@@ -151,21 +153,6 @@ export function getNextVisibleTabIndex(params) {
|
|
|
151
153
|
}
|
|
152
154
|
return nextTabIndex;
|
|
153
155
|
}
|
|
154
|
-
/**
|
|
155
|
-
*
|
|
156
|
-
* Get index of first visible tab
|
|
157
|
-
*
|
|
158
|
-
* @author Sean Fong
|
|
159
|
-
*/
|
|
160
|
-
export function getFirstVisibleTabIndex(tabs, enableWhenIsActivated, enableWhenItems, enableWhenExpressions) {
|
|
161
|
-
const tabsWithVisibility = constructTabsWithVisibility({
|
|
162
|
-
tabs,
|
|
163
|
-
enableWhenIsActivated,
|
|
164
|
-
enableWhenItems,
|
|
165
|
-
enableWhenExpressions
|
|
166
|
-
});
|
|
167
|
-
return tabsWithVisibility.findIndex((tab) => tab.isVisible);
|
|
168
|
-
}
|
|
169
156
|
/**
|
|
170
157
|
*
|
|
171
158
|
* Find number of visible tabs
|
package/lib/utils/tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/valueSet.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Coding, Encounter, Expression, FhirResource, Patient, Practitioner, QuestionnaireItem, ValueSet } from 'fhir/r4';
|
|
2
2
|
import type { FhirResourceString } from '../interfaces/populate.interface';
|
|
3
|
-
import type { ValueSetPromise } from '../interfaces/valueSet.interface';
|
|
4
3
|
import type { VariableXFhirQuery } from '../interfaces/variables.interface';
|
|
4
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
5
5
|
export declare function getTerminologyServerUrl(qItem: QuestionnaireItem): string | undefined;
|
|
6
6
|
export declare function getValueSetPromise(url: string, terminologyServerUrl: string): Promise<ValueSet>;
|
|
7
7
|
export declare function resolvePromises(valueSetPromises: Record<string, ValueSetPromise>): Promise<Record<string, ValueSetPromise>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aehrc/smart-forms-renderer",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"homepage": "https://github.com/aehrc/smart-forms#readme",
|
|
26
26
|
"dependencies": {
|
|
27
|
+
"@aehrc/fhir-questionnaire-helpers": "^0.1.1",
|
|
27
28
|
"@iconify/react": "^4.1.1",
|
|
28
29
|
"@types/fhir": "^0.0.38",
|
|
29
30
|
"dayjs": "^1.11.10",
|
|
@@ -19,7 +19,7 @@ import React from 'react';
|
|
|
19
19
|
import Grid from '@mui/material/Grid';
|
|
20
20
|
import type { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
21
21
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
22
|
-
import {
|
|
22
|
+
import { getQrChoiceValue } from '../../../utils/choice';
|
|
23
23
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
24
24
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
25
25
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
@@ -32,6 +32,7 @@ import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
|
32
32
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
33
33
|
import ChoiceRadioAnswerOptionFields from './ChoiceRadioAnswerOptionFields';
|
|
34
34
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
35
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
35
36
|
|
|
36
37
|
interface ChoiceRadioAnswerOptionItemProps
|
|
37
38
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -19,7 +19,7 @@ import React from 'react';
|
|
|
19
19
|
import Grid from '@mui/material/Grid';
|
|
20
20
|
|
|
21
21
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
22
|
-
import {
|
|
22
|
+
import { getQrChoiceValue } from '../../../utils/choice';
|
|
23
23
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
24
24
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
25
25
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
@@ -33,6 +33,7 @@ import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
|
33
33
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
34
34
|
import ChoiceSelectAnswerOptionFields from './ChoiceSelectAnswerOptionFields';
|
|
35
35
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
36
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
36
37
|
|
|
37
38
|
interface ChoiceSelectAnswerOptionItemProps
|
|
38
39
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -27,9 +27,9 @@ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
|
27
27
|
import { getQrItemsIndex } from '../../../utils/mapItem';
|
|
28
28
|
import type {
|
|
29
29
|
PropsWithParentIsReadOnlyAttribute,
|
|
30
|
-
PropsWithQrItemChangeHandler
|
|
30
|
+
PropsWithQrItemChangeHandler,
|
|
31
|
+
PropsWithShowMinimalViewAttribute
|
|
31
32
|
} from '../../../interfaces/renderProps.interface';
|
|
32
|
-
import type { PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
|
|
33
33
|
|
|
34
34
|
interface GridTableProps
|
|
35
35
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -23,7 +23,7 @@ import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
|
23
23
|
import { getOpenLabelText } from '../../../utils/itemControl';
|
|
24
24
|
import { getOldOpenLabelAnswer } from '../../../utils/openChoice';
|
|
25
25
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
26
|
-
import {
|
|
26
|
+
import { getQrChoiceValue } from '../../../utils/choice';
|
|
27
27
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
28
28
|
import type {
|
|
29
29
|
PropsWithIsRepeatedAttribute,
|
|
@@ -34,6 +34,7 @@ import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
|
34
34
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
35
35
|
import OpenChoiceRadioAnswerOptionFields from './OpenChoiceRadioAnswerOptionFields';
|
|
36
36
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
37
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
37
38
|
|
|
38
39
|
interface OpenChoiceRadioAnswerOptionItemProps
|
|
39
40
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -51,6 +51,8 @@ function GroupTable(props: GroupTableProps) {
|
|
|
51
51
|
onQrRepeatGroupChange
|
|
52
52
|
} = props;
|
|
53
53
|
|
|
54
|
+
// console.log(qrItems);
|
|
55
|
+
|
|
54
56
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
55
57
|
|
|
56
58
|
const { tableRows, selectedIds, setTableRows, setSelectedIds } = useGroupTableRows(qrItems);
|
package/src/hooks/useHidden.ts
CHANGED
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import type { QuestionnaireItem } from 'fhir/r4';
|
|
19
|
-
import { hasHiddenExtension } from '../utils/itemControl';
|
|
20
19
|
import { useQuestionnaireStore } from '../stores';
|
|
21
20
|
import { isHiddenByEnableWhens } from '../utils/qItem';
|
|
21
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
22
22
|
|
|
23
23
|
function useHidden(qItem: QuestionnaireItem): boolean {
|
|
24
24
|
const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
|
|
25
25
|
const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
|
|
26
26
|
const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
|
|
27
27
|
|
|
28
|
-
if (
|
|
28
|
+
if (structuredDataCapture.getHidden(qItem)) {
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import {
|
|
19
|
-
getEntryFormat,
|
|
20
19
|
getMaxLength,
|
|
21
20
|
getReadOnly,
|
|
22
21
|
getRegexValidation,
|
|
@@ -26,6 +25,7 @@ import {
|
|
|
26
25
|
} from '../utils/itemControl';
|
|
27
26
|
import type { QuestionnaireItem } from 'fhir/r4';
|
|
28
27
|
import type { RegexValidation } from '../interfaces/regex.interface';
|
|
28
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
29
29
|
|
|
30
30
|
interface RenderingExtensions {
|
|
31
31
|
displayUnit: string;
|
|
@@ -43,7 +43,7 @@ function useRenderingExtensions(qItem: QuestionnaireItem): RenderingExtensions {
|
|
|
43
43
|
displayPrompt: getTextDisplayPrompt(qItem),
|
|
44
44
|
displayInstructions: getTextDisplayInstructions(qItem),
|
|
45
45
|
readOnly: getReadOnly(qItem),
|
|
46
|
-
entryFormat: getEntryFormat(qItem),
|
|
46
|
+
entryFormat: structuredDataCapture.getEntryFormat(qItem) ?? '',
|
|
47
47
|
regexValidation: getRegexValidation(qItem),
|
|
48
48
|
maxLength: getMaxLength(qItem)
|
|
49
49
|
};
|
package/src/index.ts
CHANGED
|
@@ -60,7 +60,7 @@ export function getResponse(): QuestionnaireResponse {
|
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Remove all hidden answers from the filled QuestionnaireResponse.
|
|
63
|
-
* This takes into account the questionnaire-hidden extension, enableWhens and
|
|
63
|
+
* This takes into account the questionnaire-hidden extension, enableWhens, enableWhenExpressions and empty strings.
|
|
64
64
|
*
|
|
65
65
|
* @author Sean Fong
|
|
66
66
|
*/
|
package/src/utils/choice.ts
CHANGED
|
@@ -25,6 +25,7 @@ import type {
|
|
|
25
25
|
} from 'fhir/r4';
|
|
26
26
|
import { ChoiceItemControl, ChoiceItemOrientation } from '../interfaces/choice.enum';
|
|
27
27
|
import { isSpecificItemControl } from './itemControl';
|
|
28
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Get choice control type based on certain criteria in choice items
|
|
@@ -58,32 +59,6 @@ export function getChoiceControlType(qItem: QuestionnaireItem) {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
/**
|
|
62
|
-
* Find and return corresponding answerOption based on selected answer in form
|
|
63
|
-
*
|
|
64
|
-
* @author Sean Fong
|
|
65
|
-
*/
|
|
66
|
-
export function findInAnswerOptions(
|
|
67
|
-
answerOptions: QuestionnaireItemAnswerOption[],
|
|
68
|
-
selected: string
|
|
69
|
-
): QuestionnaireResponseItemAnswer | undefined {
|
|
70
|
-
for (const option of answerOptions) {
|
|
71
|
-
if (option['valueCoding']) {
|
|
72
|
-
if (selected === option.valueCoding.code) {
|
|
73
|
-
return option;
|
|
74
|
-
}
|
|
75
|
-
} else if (option['valueString']) {
|
|
76
|
-
if (selected === option.valueString) {
|
|
77
|
-
return option;
|
|
78
|
-
}
|
|
79
|
-
} else if (option['valueInteger']) {
|
|
80
|
-
if (selected === option.valueInteger.toString()) {
|
|
81
|
-
return option;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
62
|
/**
|
|
88
63
|
* Find and return corresponding coding from AnswerValyeSet based on selected answer in form
|
|
89
64
|
*
|
package/src/utils/openChoice.ts
CHANGED
|
@@ -24,7 +24,8 @@ import type {
|
|
|
24
24
|
} from 'fhir/r4';
|
|
25
25
|
import { CheckBoxOption, OpenChoiceItemControl } from '../interfaces/choice.enum';
|
|
26
26
|
import { isSpecificItemControl } from './itemControl';
|
|
27
|
-
import {
|
|
27
|
+
import { findInAnswerValueSetCodings } from './choice';
|
|
28
|
+
import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Update open-choice checkbox group answers based on checkbox changes
|
package/src/utils/qItem.ts
CHANGED
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import type { Extension, Questionnaire, QuestionnaireItem } from 'fhir/r4';
|
|
19
|
-
import { hasHiddenExtension } from './itemControl';
|
|
20
19
|
import { getChoiceControlType } from './choice';
|
|
21
20
|
import { ChoiceItemControl, OpenChoiceItemControl } from '../interfaces/choice.enum';
|
|
22
21
|
import { getOpenChoiceControlType } from './openChoice';
|
|
23
22
|
import type { EnableWhenExpression, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
23
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
24
24
|
|
|
25
25
|
interface isHiddenParams {
|
|
26
26
|
questionnaireItem: QuestionnaireItem;
|
|
@@ -39,7 +39,7 @@ interface isHiddenParams {
|
|
|
39
39
|
export function isHidden(params: isHiddenParams): boolean {
|
|
40
40
|
const { questionnaireItem, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } =
|
|
41
41
|
params;
|
|
42
|
-
if (
|
|
42
|
+
if (structuredDataCapture.getHidden(questionnaireItem)) {
|
|
43
43
|
return true;
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import type { ValueSetPromise } from '
|
|
18
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
19
19
|
import { getValueSetCodings, getValueSetPromise } from '../valueSet';
|
|
20
20
|
import type { Coding, Questionnaire, ValueSet } from 'fhir/r4';
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@ import type {
|
|
|
23
23
|
EnableWhenLinkedItem
|
|
24
24
|
} from '../../interfaces/enableWhen.interface';
|
|
25
25
|
import type { AnswerExpression } from '../../interfaces/answerExpression.interface';
|
|
26
|
-
import type { ValueSetPromise } from '
|
|
26
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
27
27
|
import { getAnswerExpression } from '../itemControl';
|
|
28
28
|
import { getTerminologyServerUrl, getValueSetPromise } from '../valueSet';
|
|
29
29
|
import type { Variables } from '../../interfaces/variables.interface';
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
resolvePromises
|
|
24
24
|
} from '../valueSet';
|
|
25
25
|
import type { Variables } from '../../interfaces/variables.interface';
|
|
26
|
-
import type { ValueSetPromise } from '
|
|
26
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
27
27
|
|
|
28
28
|
export async function resolveValueSets(
|
|
29
29
|
variables: Variables,
|
package/src/utils/tabs.ts
CHANGED
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
import type { Tabs } from '../interfaces/tab.interface';
|
|
19
19
|
import type { EnableWhenExpression, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
20
20
|
import type { Coding, QuestionnaireItem } from 'fhir/r4';
|
|
21
|
-
import {
|
|
21
|
+
import { isSpecificItemControl } from './itemControl';
|
|
22
22
|
import { isHidden, isHiddenByEnableWhens } from './qItem';
|
|
23
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
23
24
|
|
|
24
25
|
export function getFirstVisibleTab(
|
|
25
26
|
tabs: Tabs,
|
|
@@ -134,7 +135,7 @@ export function constructTabsWithProperties(
|
|
|
134
135
|
tabs[qItem.linkId] = {
|
|
135
136
|
tabIndex: i,
|
|
136
137
|
isComplete: false,
|
|
137
|
-
isHidden:
|
|
138
|
+
isHidden: structuredDataCapture.getHidden(qItem) ?? false
|
|
138
139
|
};
|
|
139
140
|
}
|
|
140
141
|
return tabs;
|
|
@@ -201,26 +202,6 @@ export function getNextVisibleTabIndex(params: getNextVisibleTabIndexParams): nu
|
|
|
201
202
|
|
|
202
203
|
return nextTabIndex;
|
|
203
204
|
}
|
|
204
|
-
/**
|
|
205
|
-
*
|
|
206
|
-
* Get index of first visible tab
|
|
207
|
-
*
|
|
208
|
-
* @author Sean Fong
|
|
209
|
-
*/
|
|
210
|
-
export function getFirstVisibleTabIndex(
|
|
211
|
-
tabs: Tabs,
|
|
212
|
-
enableWhenIsActivated: boolean,
|
|
213
|
-
enableWhenItems: EnableWhenItems,
|
|
214
|
-
enableWhenExpressions: Record<string, EnableWhenExpression>
|
|
215
|
-
): number | undefined {
|
|
216
|
-
const tabsWithVisibility = constructTabsWithVisibility({
|
|
217
|
-
tabs,
|
|
218
|
-
enableWhenIsActivated,
|
|
219
|
-
enableWhenItems,
|
|
220
|
-
enableWhenExpressions
|
|
221
|
-
});
|
|
222
|
-
return tabsWithVisibility.findIndex((tab) => tab.isVisible);
|
|
223
|
-
}
|
|
224
205
|
|
|
225
206
|
/**
|
|
226
207
|
*
|
package/src/utils/valueSet.ts
CHANGED
|
@@ -28,8 +28,8 @@ import type {
|
|
|
28
28
|
} from 'fhir/r4';
|
|
29
29
|
import * as FHIR from 'fhirclient';
|
|
30
30
|
import type { FhirResourceString } from '../interfaces/populate.interface';
|
|
31
|
-
import type { ValueSetPromise } from '../interfaces/valueSet.interface';
|
|
32
31
|
import type { VariableXFhirQuery } from '../interfaces/variables.interface';
|
|
32
|
+
import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
|
|
33
33
|
|
|
34
34
|
const VALID_VALUE_SET_URL_REGEX =
|
|
35
35
|
/https?:\/\/(www\.)?[-\w@:%.+~#=]{2,256}\.[a-z]{2,4}\b([-@\w:%+.~#?&/=]*ValueSet[-@\w:%+.~#?&/=]*)/;
|