@aehrc/smart-forms-renderer 0.4.0 → 0.5.0
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/FormRenderer/SmartFormsRenderer.js +4 -2
- package/lib/components/FormRenderer/SmartFormsRenderer.js.map +1 -1
- package/lib/theme/Theme.d.ts +38 -0
- package/lib/theme/Theme.js +39 -0
- package/lib/theme/Theme.js.map +1 -0
- package/lib/theme/globalStyles.d.ts +2 -0
- package/lib/theme/globalStyles.js +64 -0
- package/lib/theme/globalStyles.js.map +1 -0
- package/lib/theme/overrides/Accordion.d.ts +14 -0
- package/{src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js → lib/theme/overrides/Accordion.js} +15 -7
- package/lib/theme/overrides/Accordion.js.map +1 -0
- package/lib/theme/overrides/Autocomplete.d.ts +10 -0
- package/{src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js → lib/theme/overrides/Autocomplete.js} +12 -7
- package/lib/theme/overrides/Autocomplete.js.map +1 -0
- package/lib/theme/overrides/Backdrop.d.ts +13 -0
- package/{src/components/FormComponents/ItemParts/FadingCheckIcon.js → lib/theme/overrides/Backdrop.js} +15 -9
- package/lib/theme/overrides/Backdrop.js.map +1 -0
- package/lib/theme/overrides/Button.d.ts +33 -0
- package/lib/theme/overrides/Button.js +52 -0
- package/lib/theme/overrides/Button.js.map +1 -0
- package/lib/theme/overrides/Card.d.ts +35 -0
- package/lib/theme/overrides/Card.js +49 -0
- package/lib/theme/overrides/Card.js.map +1 -0
- package/lib/theme/overrides/Input.d.ts +64 -0
- package/lib/theme/overrides/Input.js +81 -0
- package/lib/theme/overrides/Input.js.map +1 -0
- package/lib/theme/overrides/Overrides.d.ts +3 -0
- package/{src/components/BackToTopButton/BackToTopButton.js → lib/theme/overrides/Overrides.js} +14 -15
- package/lib/theme/overrides/Overrides.js.map +1 -0
- package/lib/theme/overrides/Paper.d.ts +12 -0
- package/{src/hooks/useQueryClient.js → lib/theme/overrides/Paper.js} +12 -10
- package/lib/theme/overrides/Paper.js.map +1 -0
- package/lib/theme/overrides/SpeedDial.d.ts +16 -0
- package/{src/hooks/useInitialiseRepeatAnswers.js → lib/theme/overrides/SpeedDial.js} +16 -18
- package/lib/theme/overrides/SpeedDial.js.map +1 -0
- package/lib/theme/overrides/Table.d.ts +11 -0
- package/{src/components/FormRenderer/index.js → lib/theme/overrides/Table.js} +13 -2
- package/lib/theme/overrides/Table.js.map +1 -0
- package/lib/theme/overrides/Typography.d.ts +13 -0
- package/lib/theme/overrides/Typography.js +31 -0
- package/lib/theme/overrides/Typography.js.map +1 -0
- package/lib/theme/palette.d.ts +28 -0
- package/lib/theme/palette.js +67 -0
- package/lib/theme/palette.js.map +1 -0
- package/lib/theme/shadows.d.ts +2 -0
- package/lib/theme/shadows.js +52 -0
- package/lib/theme/shadows.js.map +1 -0
- package/lib/theme/typography.d.ts +139 -0
- package/lib/theme/typography.js +80 -0
- package/lib/theme/typography.js.map +1 -0
- package/package.json +1 -1
- package/src/components/FormRenderer/SmartFormsRenderer.tsx +6 -3
- package/src/theme/Theme.tsx +107 -0
- package/src/theme/globalStyles.tsx +68 -0
- package/src/{components/FormComponents/Item.styles.js → theme/overrides/Accordion.ts} +18 -11
- package/src/{interfaces/answerExpression.interface.js → theme/overrides/Autocomplete.ts} +14 -2
- package/src/theme/overrides/Backdrop.ts +34 -0
- package/src/theme/overrides/Button.ts +54 -0
- package/src/theme/overrides/Card.ts +51 -0
- package/src/theme/overrides/Input.ts +83 -0
- package/src/theme/overrides/Overrides.ts +45 -0
- package/src/{interfaces/enableWhen.interface.js → theme/overrides/Paper.ts} +15 -2
- package/src/{hooks/useInitialiseGroupTable.js → theme/overrides/SpeedDial.ts} +17 -17
- package/src/{hooks/useBackToTop.js → theme/overrides/Table.ts} +14 -9
- package/src/{components/FormComponents/Typography.styles.js → theme/overrides/Typography.ts} +17 -7
- package/src/theme/palette.ts +100 -0
- package/src/theme/shadows.ts +54 -0
- package/src/theme/typography.ts +114 -0
- package/src/api/populate.js +0 -63
- package/src/api/populate.js.map +0 -1
- package/src/components/Alert.styles.js +0 -40
- package/src/components/Alert.styles.js.map +0 -1
- package/src/components/BackToTopButton/BackToTopButton.js.map +0 -1
- package/src/components/Box.styles.js +0 -30
- package/src/components/Box.styles.js.map +0 -1
- package/src/components/FormComponents/BooleanItem/BooleanField.js +0 -24
- package/src/components/FormComponents/BooleanItem/BooleanField.js.map +0 -1
- package/src/components/FormComponents/BooleanItem/BooleanItem.js +0 -49
- package/src/components/FormComponents/BooleanItem/BooleanItem.js.map +0 -1
- package/src/components/FormComponents/DateItem/DateField.js +0 -31
- package/src/components/FormComponents/DateItem/DateField.js.map +0 -1
- package/src/components/FormComponents/DateItem/DateItem.js +0 -52
- package/src/components/FormComponents/DateItem/DateItem.js.map +0 -1
- package/src/components/FormComponents/DateTimeItem/DateTimeField.js +0 -33
- package/src/components/FormComponents/DateTimeItem/DateTimeField.js.map +0 -1
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.js +0 -52
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.js.map +0 -1
- package/src/components/FormComponents/DecimalItem/DecimalField.js +0 -30
- package/src/components/FormComponents/DecimalItem/DecimalField.js.map +0 -1
- package/src/components/FormComponents/DecimalItem/DecimalItem.js +0 -80
- package/src/components/FormComponents/DecimalItem/DecimalItem.js.map +0 -1
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.js +0 -26
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.js.map +0 -1
- package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +0 -1
- package/src/components/FormComponents/DisplayItem/DisplayItem.js +0 -31
- package/src/components/FormComponents/DisplayItem/DisplayItem.js.map +0 -1
- package/src/components/FormComponents/GridGroup/GridGroup.js +0 -58
- package/src/components/FormComponents/GridGroup/GridGroup.js.map +0 -1
- package/src/components/FormComponents/GridGroup/GridRow.js +0 -55
- package/src/components/FormComponents/GridGroup/GridRow.js.map +0 -1
- package/src/components/FormComponents/GridGroup/GridTable.js +0 -42
- package/src/components/FormComponents/GridGroup/GridTable.js.map +0 -1
- package/src/components/FormComponents/GroupItem/GroupHeading.js +0 -39
- package/src/components/FormComponents/GroupItem/GroupHeading.js.map +0 -1
- package/src/components/FormComponents/GroupItem/GroupItem.js +0 -62
- package/src/components/FormComponents/GroupItem/GroupItem.js.map +0 -1
- package/src/components/FormComponents/GroupItem/GroupItem.styles.js +0 -27
- package/src/components/FormComponents/GroupItem/GroupItem.styles.js.map +0 -1
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js +0 -73
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +0 -1
- package/src/components/FormComponents/GroupItem/NextTabButton.js +0 -25
- package/src/components/FormComponents/GroupItem/NextTabButton.js.map +0 -1
- package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js +0 -55
- package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +0 -1
- package/src/components/FormComponents/IntegerItem/IntegerField.js +0 -30
- package/src/components/FormComponents/IntegerItem/IntegerField.js.map +0 -1
- package/src/components/FormComponents/IntegerItem/IntegerItem.js +0 -73
- package/src/components/FormComponents/IntegerItem/IntegerItem.js.map +0 -1
- package/src/components/FormComponents/Item.styles.js.map +0 -1
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.js +0 -29
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.js.map +0 -1
- package/src/components/FormComponents/ItemParts/FadingCheckIcon.js.map +0 -1
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.js +0 -31
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.js.map +0 -1
- package/src/components/FormComponents/ItemParts/ItemLabelText.js +0 -45
- package/src/components/FormComponents/ItemParts/ItemLabelText.js.map +0 -1
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js +0 -32
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +0 -1
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js +0 -24
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +0 -1
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +0 -33
- package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +0 -1
- package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +0 -31
- package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +0 -1
- package/src/components/FormComponents/Lists.styles.js +0 -38
- package/src/components/FormComponents/Lists.styles.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoice.js +0 -61
- package/src/components/FormComponents/QItemChoice/QItemChoice.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +0 -85
- package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +0 -70
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +0 -66
- package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +0 -70
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +0 -70
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +0 -70
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +0 -1
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +0 -80
- package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +0 -1
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +0 -49
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +0 -1
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +0 -104
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +0 -1
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +0 -105
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +0 -1
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +0 -116
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +0 -1
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +0 -74
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +0 -1
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +0 -66
- package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +0 -1
- package/src/components/FormComponents/RepeatGroup/AddItemButton.js +0 -27
- package/src/components/FormComponents/RepeatGroup/AddItemButton.js.map +0 -1
- package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js +0 -30
- package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +0 -1
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.js +0 -81
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.js.map +0 -1
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js +0 -30
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +0 -1
- package/src/components/FormComponents/RepeatItem/AddItemButton.js +0 -27
- package/src/components/FormComponents/RepeatItem/AddItemButton.js.map +0 -1
- package/src/components/FormComponents/RepeatItem/DeleteItemButton.js +0 -30
- package/src/components/FormComponents/RepeatItem/DeleteItemButton.js.map +0 -1
- package/src/components/FormComponents/RepeatItem/RepeatField.js +0 -31
- package/src/components/FormComponents/RepeatItem/RepeatField.js.map +0 -1
- package/src/components/FormComponents/RepeatItem/RepeatItem.js +0 -69
- package/src/components/FormComponents/RepeatItem/RepeatItem.js.map +0 -1
- package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js +0 -29
- package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +0 -1
- package/src/components/FormComponents/SingleItem/SingleItem.js +0 -32
- package/src/components/FormComponents/SingleItem/SingleItem.js.map +0 -1
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js +0 -63
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +0 -1
- package/src/components/FormComponents/StringItem/StringField.js +0 -30
- package/src/components/FormComponents/StringItem/StringField.js.map +0 -1
- package/src/components/FormComponents/StringItem/StringItem.js +0 -71
- package/src/components/FormComponents/StringItem/StringItem.js.map +0 -1
- package/src/components/FormComponents/Tables/DeleteRowButton.js +0 -31
- package/src/components/FormComponents/Tables/DeleteRowButton.js.map +0 -1
- package/src/components/FormComponents/Tables/QItemGroupTable.js +0 -99
- package/src/components/FormComponents/Tables/QItemGroupTable.js.map +0 -1
- package/src/components/FormComponents/Tables/QItemGroupTableRow.js +0 -46
- package/src/components/FormComponents/Tables/QItemGroupTableRow.js.map +0 -1
- package/src/components/FormComponents/Tables/Table.styles.js +0 -46
- package/src/components/FormComponents/Tables/Table.styles.js.map +0 -1
- package/src/components/FormComponents/TextItem/TextField.js +0 -29
- package/src/components/FormComponents/TextItem/TextField.js.map +0 -1
- package/src/components/FormComponents/TextItem/TextItem.js +0 -71
- package/src/components/FormComponents/TextItem/TextItem.js.map +0 -1
- package/src/components/FormComponents/Textfield.styles.js +0 -27
- package/src/components/FormComponents/Textfield.styles.js.map +0 -1
- package/src/components/FormComponents/TimeItem/TimeField.js +0 -30
- package/src/components/FormComponents/TimeItem/TimeField.js.map +0 -1
- package/src/components/FormComponents/TimeItem/TimeItem.js +0 -52
- package/src/components/FormComponents/TimeItem/TimeItem.js.map +0 -1
- package/src/components/FormComponents/Typography.styles.js.map +0 -1
- package/src/components/FormComponents/UrlItem/UrlField.js +0 -25
- package/src/components/FormComponents/UrlItem/UrlField.js.map +0 -1
- package/src/components/FormComponents/UrlItem/UrlItem.js +0 -61
- package/src/components/FormComponents/UrlItem/UrlItem.js.map +0 -1
- package/src/components/FormRenderer/FormBodyCollapsible.js +0 -57
- package/src/components/FormRenderer/FormBodyCollapsible.js.map +0 -1
- package/src/components/FormRenderer/FormBodySingleCollapsible.js +0 -39
- package/src/components/FormRenderer/FormBodySingleCollapsible.js.map +0 -1
- package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +0 -31
- package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +0 -1
- package/src/components/FormRenderer/FormBodyTabbed.js +0 -60
- package/src/components/FormRenderer/FormBodyTabbed.js.map +0 -1
- package/src/components/FormRenderer/FormTitle.js +0 -30
- package/src/components/FormRenderer/FormTitle.js.map +0 -1
- package/src/components/FormRenderer/FormTopLevelItem.js +0 -45
- package/src/components/FormRenderer/FormTopLevelItem.js.map +0 -1
- package/src/components/FormRenderer/SmartFormsRenderer.js +0 -37
- package/src/components/FormRenderer/SmartFormsRenderer.js.map +0 -1
- package/src/components/FormRenderer/index.js.map +0 -1
- package/src/components/Iconify/Iconify.js +0 -26
- package/src/components/Iconify/Iconify.js.map +0 -1
- package/src/components/Lists.styles.js +0 -38
- package/src/components/Lists.styles.js.map +0 -1
- package/src/components/Tabs/CompleteTabButton.js +0 -29
- package/src/components/Tabs/CompleteTabButton.js.map +0 -1
- package/src/components/Tabs/FormBodySingleTab.js +0 -39
- package/src/components/Tabs/FormBodySingleTab.js.map +0 -1
- package/src/components/Tabs/FormBodyTabList.js +0 -52
- package/src/components/Tabs/FormBodyTabList.js.map +0 -1
- package/src/components/index.js +0 -18
- package/src/components/index.js.map +0 -1
- package/src/hooks/useBackToTop.js.map +0 -1
- package/src/hooks/useDebounce.js +0 -38
- package/src/hooks/useDebounce.js.map +0 -1
- package/src/hooks/useDecimalCalculatedExpression.js +0 -50
- package/src/hooks/useDecimalCalculatedExpression.js.map +0 -1
- package/src/hooks/useHidden.js +0 -35
- package/src/hooks/useHidden.js.map +0 -1
- package/src/hooks/useInitialiseGroupTable.js.map +0 -1
- package/src/hooks/useInitialiseRenderer.js +0 -49
- package/src/hooks/useInitialiseRenderer.js.map +0 -1
- package/src/hooks/useInitialiseRepeatAnswers.js.map +0 -1
- package/src/hooks/useInitialiseRepeatGroups.js +0 -36
- package/src/hooks/useInitialiseRepeatGroups.js.map +0 -1
- package/src/hooks/useIntegerCalculatedExpression.js +0 -44
- package/src/hooks/useIntegerCalculatedExpression.js.map +0 -1
- package/src/hooks/useQueryClient.js.map +0 -1
- package/src/hooks/useRenderingExtensions.js +0 -30
- package/src/hooks/useRenderingExtensions.js.map +0 -1
- package/src/hooks/useResponsive.js +0 -37
- package/src/hooks/useResponsive.js.map +0 -1
- package/src/hooks/useStringCalculatedExpression.js +0 -44
- package/src/hooks/useStringCalculatedExpression.js.map +0 -1
- package/src/hooks/useTerminologyServerQuery.js +0 -73
- package/src/hooks/useTerminologyServerQuery.js.map +0 -1
- package/src/hooks/useValidationError.js +0 -38
- package/src/hooks/useValidationError.js.map +0 -1
- package/src/hooks/useValueSetCodings.js +0 -125
- package/src/hooks/useValueSetCodings.js.map +0 -1
- package/src/index.js +0 -2
- package/src/index.js.map +0 -1
- package/src/interfaces/answerExpression.interface.js.map +0 -1
- package/src/interfaces/calculatedExpression.interface.js +0 -2
- package/src/interfaces/calculatedExpression.interface.js.map +0 -1
- package/src/interfaces/choice.enum.js +0 -41
- package/src/interfaces/choice.enum.js.map +0 -1
- package/src/interfaces/enableWhen.interface.js.map +0 -1
- package/src/interfaces/groupTable.interface.js +0 -18
- package/src/interfaces/groupTable.interface.js.map +0 -1
- package/src/interfaces/populate.interface.js +0 -18
- package/src/interfaces/populate.interface.js.map +0 -1
- package/src/interfaces/questionnaireStore.interface.js +0 -18
- package/src/interfaces/questionnaireStore.interface.js.map +0 -1
- package/src/interfaces/regex.interface.js +0 -18
- package/src/interfaces/regex.interface.js.map +0 -1
- package/src/interfaces/renderProps.interface.js +0 -18
- package/src/interfaces/renderProps.interface.js.map +0 -1
- package/src/interfaces/repeatGroup.interface.js +0 -18
- package/src/interfaces/repeatGroup.interface.js.map +0 -1
- package/src/interfaces/repeatItem.interface.js +0 -2
- package/src/interfaces/repeatItem.interface.js.map +0 -1
- package/src/interfaces/tab.interface.js +0 -2
- package/src/interfaces/tab.interface.js.map +0 -1
- package/src/interfaces/valueSet.interface.js +0 -18
- package/src/interfaces/valueSet.interface.js.map +0 -1
- package/src/interfaces/variables.interface.js +0 -18
- package/src/interfaces/variables.interface.js.map +0 -1
- package/src/setup-jest.js +0 -2
- package/src/setup-jest.js.map +0 -1
- package/src/stores/useConfigStore.js +0 -17
- package/src/stores/useConfigStore.js.map +0 -1
- package/src/stores/useQuestionnaireResponseStore.js +0 -39
- package/src/stores/useQuestionnaireResponseStore.js.map +0 -1
- package/src/stores/useQuestionnaireStore.js +0 -151
- package/src/stores/useQuestionnaireStore.js.map +0 -1
- package/src/stories/SmartFormsRenderer.stories.js +0 -90
- package/src/stories/SmartFormsRenderer.stories.js.map +0 -1
- package/src/utils/calculatedExpression.js +0 -180
- package/src/utils/calculatedExpression.js.map +0 -1
- package/src/utils/choice.js +0 -160
- package/src/utils/choice.js.map +0 -1
- package/src/utils/debounce.js +0 -19
- package/src/utils/debounce.js.map +0 -1
- package/src/utils/emptyResource.js +0 -25
- package/src/utils/emptyResource.js.map +0 -1
- package/src/utils/enableWhen.js +0 -228
- package/src/utils/enableWhen.js.map +0 -1
- package/src/utils/enableWhenExpression.js +0 -76
- package/src/utils/enableWhenExpression.js.map +0 -1
- package/src/utils/fhirpath.js +0 -98
- package/src/utils/fhirpath.js.map +0 -1
- package/src/utils/initialiseForm.js +0 -45
- package/src/utils/initialiseForm.js.map +0 -1
- package/src/utils/itemControl.js +0 -299
- package/src/utils/itemControl.js.map +0 -1
- package/src/utils/mapItem.js +0 -80
- package/src/utils/mapItem.js.map +0 -1
- package/src/utils/openChoice.js +0 -150
- package/src/utils/openChoice.js.map +0 -1
- package/src/utils/parseInputs.js +0 -49
- package/src/utils/parseInputs.js.map +0 -1
- package/src/utils/populate.js +0 -78
- package/src/utils/populate.js.map +0 -1
- package/src/utils/populateCallback.js +0 -40
- package/src/utils/populateCallback.js.map +0 -1
- package/src/utils/populateContexts.js +0 -76
- package/src/utils/populateContexts.js.map +0 -1
- package/src/utils/populateInputParams.js +0 -193
- package/src/utils/populateInputParams.js.map +0 -1
- package/src/utils/qItem.js +0 -73
- package/src/utils/qItem.js.map +0 -1
- package/src/utils/qrItem.js +0 -221
- package/src/utils/qrItem.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js +0 -47
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js +0 -79
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js +0 -59
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/extractLaunchContext.js +0 -18
- package/src/utils/questionnaireStoreUtils/extractLaunchContext.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js +0 -174
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/extractTabs.js +0 -31
- package/src/utils/questionnaireStoreUtils/extractTabs.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/extractVariables.js +0 -63
- package/src/utils/questionnaireStoreUtils/extractVariables.js.map +0 -1
- package/src/utils/questionnaireStoreUtils/resolveValueSets.js +0 -58
- package/src/utils/questionnaireStoreUtils/resolveValueSets.js.map +0 -1
- package/src/utils/tabs.js +0 -190
- package/src/utils/tabs.js.map +0 -1
- package/src/utils/valueSet.js +0 -126
- package/src/utils/valueSet.js.map +0 -1
package/src/utils/enableWhen.js
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 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 cloneDeep from 'lodash.clonedeep';
|
|
18
|
-
/**
|
|
19
|
-
* Create a linkedQuestionsMap that contains linked items of enableWhen items
|
|
20
|
-
* mapped to an array containing all its respective enableWhen items' linkIds
|
|
21
|
-
* returns a key-value pair of <linkedItemId, [enableWhenItem1LinkId, enableWhenItem2LinkId, enableWhenItem3LinkId]>
|
|
22
|
-
*
|
|
23
|
-
* @author Sean Fong
|
|
24
|
-
*/
|
|
25
|
-
export function createEnableWhenLinkedQuestions(enableWhenItems) {
|
|
26
|
-
const linkedQuestionsMap = {};
|
|
27
|
-
for (const linkId in enableWhenItems) {
|
|
28
|
-
enableWhenItems[linkId].linked.forEach((linkedItem) => {
|
|
29
|
-
const linkQId = linkedItem.enableWhen.question;
|
|
30
|
-
if (!linkedQuestionsMap[linkQId]) {
|
|
31
|
-
linkedQuestionsMap[linkQId] = [];
|
|
32
|
-
}
|
|
33
|
-
if (!linkedQuestionsMap[linkQId].includes(linkId)) {
|
|
34
|
-
linkedQuestionsMap[linkQId].push(linkId);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return linkedQuestionsMap;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Performs switching for non-group enableWhenItems based on their item types.
|
|
42
|
-
*
|
|
43
|
-
* @author Sean Fong
|
|
44
|
-
*/
|
|
45
|
-
export function isEnabledAnswerTypeSwitcher(enableWhen, answer) {
|
|
46
|
-
var _a, _b;
|
|
47
|
-
if (enableWhen['answerBoolean'] !== undefined && enableWhen.operator === 'exists') {
|
|
48
|
-
return answerOperatorSwitcher(enableWhen.answerBoolean, answer, enableWhen.operator);
|
|
49
|
-
}
|
|
50
|
-
else if (enableWhen['answerBoolean'] !== undefined && answer.valueBoolean !== undefined) {
|
|
51
|
-
return answerOperatorSwitcher(enableWhen.answerBoolean, answer.valueBoolean, enableWhen.operator);
|
|
52
|
-
}
|
|
53
|
-
else if (enableWhen['answerDecimal'] && answer.valueDecimal) {
|
|
54
|
-
return answerOperatorSwitcher(enableWhen.answerDecimal, answer.valueDecimal, enableWhen.operator);
|
|
55
|
-
}
|
|
56
|
-
else if (enableWhen['answerInteger'] !== undefined && answer.valueInteger !== undefined) {
|
|
57
|
-
return answerOperatorSwitcher(enableWhen.answerInteger, answer.valueInteger, enableWhen.operator);
|
|
58
|
-
}
|
|
59
|
-
else if (enableWhen['answerDate'] && answer.valueDate) {
|
|
60
|
-
return answerOperatorSwitcher(enableWhen.answerDate, answer.valueDate, enableWhen.operator);
|
|
61
|
-
}
|
|
62
|
-
else if (enableWhen['answerDateTime'] && answer.valueDateTime) {
|
|
63
|
-
return answerOperatorSwitcher(enableWhen.answerDateTime, answer.valueDateTime, enableWhen.operator);
|
|
64
|
-
}
|
|
65
|
-
else if (enableWhen['answerTime'] && answer.valueTime) {
|
|
66
|
-
return answerOperatorSwitcher(enableWhen.answerTime, answer.valueTime, enableWhen.operator);
|
|
67
|
-
}
|
|
68
|
-
else if (enableWhen['answerString'] && answer.valueString) {
|
|
69
|
-
return answerOperatorSwitcher(enableWhen.answerString, answer.valueString, enableWhen.operator);
|
|
70
|
-
}
|
|
71
|
-
else if (((_a = enableWhen['answerCoding']) === null || _a === void 0 ? void 0 : _a.code) && ((_b = answer.valueCoding) === null || _b === void 0 ? void 0 : _b.code)) {
|
|
72
|
-
return answerOperatorSwitcher(enableWhen.answerCoding.code, answer.valueCoding.code, enableWhen.operator);
|
|
73
|
-
}
|
|
74
|
-
else if (enableWhen['answerQuantity'] && answer.valueQuantity) {
|
|
75
|
-
return answerOperatorSwitcher(enableWhen.answerQuantity, answer.valueQuantity, enableWhen.operator);
|
|
76
|
-
}
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Performs switching for value and expected comparisons based on given operator
|
|
81
|
-
*
|
|
82
|
-
* @author Sean Fong
|
|
83
|
-
*/
|
|
84
|
-
function answerOperatorSwitcher(expected, value, operator) {
|
|
85
|
-
// FIXME runs even when the linked textbox is not changed
|
|
86
|
-
switch (operator) {
|
|
87
|
-
case 'exists':
|
|
88
|
-
// check if value is an object and contains any answerValues
|
|
89
|
-
return typeof value === 'object' && Object.keys(value).length !== 0;
|
|
90
|
-
case '=':
|
|
91
|
-
return value === expected;
|
|
92
|
-
case '!=':
|
|
93
|
-
return value !== expected;
|
|
94
|
-
case '<':
|
|
95
|
-
return value < expected;
|
|
96
|
-
case '<=':
|
|
97
|
-
return value <= expected;
|
|
98
|
-
case '>':
|
|
99
|
-
return value > expected;
|
|
100
|
-
case '>=':
|
|
101
|
-
return value >= expected;
|
|
102
|
-
default:
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Read initial answer values in questionnaireResponse
|
|
108
|
-
* return a map of initial values with key-value pair <linkedItemId, initial value>
|
|
109
|
-
*
|
|
110
|
-
* @author Sean Fong
|
|
111
|
-
*/
|
|
112
|
-
export function readInitialAnswers(questionnaireResponse, linkedQuestionsMap) {
|
|
113
|
-
if (!questionnaireResponse.item)
|
|
114
|
-
return {};
|
|
115
|
-
const initialValuesMap = {};
|
|
116
|
-
questionnaireResponse.item.forEach((item) => {
|
|
117
|
-
readQuestionnaireResponseItemRecursive(item, initialValuesMap, linkedQuestionsMap);
|
|
118
|
-
});
|
|
119
|
-
return initialValuesMap;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Read initial answer values of each qrItem recursively
|
|
123
|
-
*
|
|
124
|
-
* @author Sean Fong
|
|
125
|
-
*/
|
|
126
|
-
function readQuestionnaireResponseItemRecursive(item, initialValues, linkedQuestionsMap) {
|
|
127
|
-
const items = item.item;
|
|
128
|
-
if (items && items.length > 0) {
|
|
129
|
-
// iterate through items of item recursively
|
|
130
|
-
items.forEach((item) => {
|
|
131
|
-
readQuestionnaireResponseItemRecursive(item, initialValues, linkedQuestionsMap);
|
|
132
|
-
});
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
// Read initial answer value of single qrItem
|
|
136
|
-
if (linkedQuestionsMap[item.linkId] && item.answer) {
|
|
137
|
-
initialValues[item.linkId] = item.answer;
|
|
138
|
-
}
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Set initial answer values into enableWhenItems' answer attributes
|
|
143
|
-
* Update enabled status of each enableWhenItem simultaneously
|
|
144
|
-
*
|
|
145
|
-
* @author Sean Fong
|
|
146
|
-
*/
|
|
147
|
-
export function setInitialAnswers(initialAnswers, items, linkedQuestionsMap) {
|
|
148
|
-
let updatedItems = cloneDeep(items);
|
|
149
|
-
if (initialAnswers) {
|
|
150
|
-
for (const linkId in initialAnswers) {
|
|
151
|
-
const linkedQuestions = linkedQuestionsMap[linkId];
|
|
152
|
-
const newAnswer = initialAnswers[linkId];
|
|
153
|
-
updatedItems = updateItemAnswer(updatedItems, linkedQuestions, linkId, newAnswer);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return updatedItems;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Update answer of the target linkId in every related enableWhenItem's linked items
|
|
160
|
-
* Then update the enabled status of every related enableWhenItem
|
|
161
|
-
*
|
|
162
|
-
* @author Sean Fong
|
|
163
|
-
*/
|
|
164
|
-
export function updateItemAnswer(items, linkedQuestions, linkId, newAnswer) {
|
|
165
|
-
linkedQuestions.forEach((question) => {
|
|
166
|
-
// Update modified linked answer
|
|
167
|
-
items[question].linked.forEach((linkedItem) => {
|
|
168
|
-
if (linkedItem.enableWhen.question === linkId) {
|
|
169
|
-
linkedItem.answer = newAnswer !== null && newAnswer !== void 0 ? newAnswer : undefined;
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
// Update enabled status of modified enableWhenItem
|
|
173
|
-
items[question].isEnabled = checkItemIsEnabled(items[question]);
|
|
174
|
-
});
|
|
175
|
-
return items;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Check if an enableWhenItem is enabled based on the answer of its linked items
|
|
179
|
-
*
|
|
180
|
-
* @author Sean Fong
|
|
181
|
-
*/
|
|
182
|
-
export function checkItemIsEnabled(enableWhenItemProperties) {
|
|
183
|
-
const checkedIsEnabledItems = [];
|
|
184
|
-
enableWhenItemProperties.linked.forEach((linkedItem) => {
|
|
185
|
-
if (linkedItem.answer && linkedItem.answer.length > 0) {
|
|
186
|
-
linkedItem.answer.forEach((answer) => {
|
|
187
|
-
checkedIsEnabledItems.push(isEnabledAnswerTypeSwitcher(linkedItem.enableWhen, answer));
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
if (checkedIsEnabledItems.length === 0)
|
|
192
|
-
return false;
|
|
193
|
-
return enableWhenItemProperties.enableBehavior === 'any'
|
|
194
|
-
? checkedIsEnabledItems.some((isEnabled) => isEnabled)
|
|
195
|
-
: checkedIsEnabledItems.every((isEnabled) => isEnabled);
|
|
196
|
-
}
|
|
197
|
-
export function assignPopulatedAnswersToEnableWhen(items, questionnaireResponse) {
|
|
198
|
-
const linkedQuestions = createEnableWhenLinkedQuestions(items);
|
|
199
|
-
const initialAnswers = readInitialAnswers(questionnaireResponse, linkedQuestions);
|
|
200
|
-
items = initialiseBooleanFalses(items);
|
|
201
|
-
const initialisedItems = Object.keys(initialAnswers).length > 0
|
|
202
|
-
? setInitialAnswers(initialAnswers, items, linkedQuestions)
|
|
203
|
-
: items;
|
|
204
|
-
return { initialisedItems, linkedQuestions };
|
|
205
|
-
}
|
|
206
|
-
function initialiseBooleanFalses(items) {
|
|
207
|
-
for (const linkId in items) {
|
|
208
|
-
const checkedIsEnabledItems = [];
|
|
209
|
-
const enableWhenItemProperties = items[linkId];
|
|
210
|
-
for (const linkedItem of enableWhenItemProperties.linked) {
|
|
211
|
-
if (linkedItem.enableWhen.answerBoolean === true && linkedItem.enableWhen.operator === '!=') {
|
|
212
|
-
checkedIsEnabledItems.push(true);
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
if (linkedItem.enableWhen.answerBoolean === false && linkedItem.enableWhen.operator === '=') {
|
|
216
|
-
checkedIsEnabledItems.push(true);
|
|
217
|
-
continue;
|
|
218
|
-
}
|
|
219
|
-
checkedIsEnabledItems.push(false);
|
|
220
|
-
}
|
|
221
|
-
enableWhenItemProperties.isEnabled =
|
|
222
|
-
enableWhenItemProperties.enableBehavior === 'any'
|
|
223
|
-
? checkedIsEnabledItems.some((isEnabled) => isEnabled)
|
|
224
|
-
: checkedIsEnabledItems.every((isEnabled) => isEnabled);
|
|
225
|
-
}
|
|
226
|
-
return items;
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=enableWhen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enableWhen.js","sourceRoot":"","sources":["enableWhen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 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 { createFhirPathContext } from './fhirpath';
|
|
18
|
-
import fhirpath from 'fhirpath';
|
|
19
|
-
import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
|
|
20
|
-
import _isEqual from 'lodash/isEqual';
|
|
21
|
-
import { emptyResponse } from './emptyResource';
|
|
22
|
-
import cloneDeep from 'lodash.clonedeep';
|
|
23
|
-
export function evaluateInitialEnableWhenExpressions(params) {
|
|
24
|
-
const { initialResponse, enableWhenExpressions, variablesFhirPath } = params;
|
|
25
|
-
// Return early if initialResponse is empty
|
|
26
|
-
if (_isEqual(initialResponse, cloneDeep(emptyResponse))) {
|
|
27
|
-
return enableWhenExpressions;
|
|
28
|
-
}
|
|
29
|
-
const initialExpressions = Object.assign({}, enableWhenExpressions);
|
|
30
|
-
if (Object.keys(initialExpressions).length > 0) {
|
|
31
|
-
const fhirPathContext = createFhirPathContext(initialResponse, variablesFhirPath);
|
|
32
|
-
for (const linkId in initialExpressions) {
|
|
33
|
-
try {
|
|
34
|
-
const result = fhirpath.evaluate(initialResponse, enableWhenExpressions[linkId].expression, fhirPathContext, fhirpath_r4_model);
|
|
35
|
-
if (result.length > 0) {
|
|
36
|
-
initialExpressions[linkId].isEnabled = result[0];
|
|
37
|
-
}
|
|
38
|
-
// handle intersect edge case - evualate() returns empty array if result is false
|
|
39
|
-
if (enableWhenExpressions[linkId].expression.includes('intersect') && result.length === 0) {
|
|
40
|
-
initialExpressions[linkId].isEnabled = false;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
console.warn(e.message, `LinkId: ${linkId}\nExpression: ${enableWhenExpressions[linkId].expression}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return initialExpressions;
|
|
49
|
-
}
|
|
50
|
-
export function evaluateEnableWhenExpressions(fhirPathContext, enableWhenExpressions) {
|
|
51
|
-
const updatedEnableWhenExpressions = Object.assign({}, enableWhenExpressions);
|
|
52
|
-
let isUpdated = false;
|
|
53
|
-
for (const linkId in updatedEnableWhenExpressions) {
|
|
54
|
-
try {
|
|
55
|
-
const result = fhirpath.evaluate('', enableWhenExpressions[linkId].expression, fhirPathContext, fhirpath_r4_model);
|
|
56
|
-
if (result.length > 0) {
|
|
57
|
-
if (enableWhenExpressions[linkId].isEnabled !== result[0]) {
|
|
58
|
-
isUpdated = true;
|
|
59
|
-
updatedEnableWhenExpressions[linkId].isEnabled = result[0];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// handle intersect edge case - evualate() returns empty array if result is false
|
|
63
|
-
if (enableWhenExpressions[linkId].expression.includes('intersect') && result.length === 0) {
|
|
64
|
-
updatedEnableWhenExpressions[linkId].isEnabled = false;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
console.warn(e.message, `LinkId: ${linkId}\nExpression: ${enableWhenExpressions[linkId].expression}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
enableWhenExpsIsUpdated: isUpdated,
|
|
73
|
-
updatedEnableWhenExpressions: updatedEnableWhenExpressions
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=enableWhenExpression.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enableWhenExpression.js","sourceRoot":"","sources":["enableWhenExpression.ts"],"names":[],"mappings":"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"}
|
package/src/utils/fhirpath.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 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 fhirpath from 'fhirpath';
|
|
18
|
-
import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
|
|
19
|
-
import { evaluateEnableWhenExpressions } from './enableWhenExpression';
|
|
20
|
-
import { evaluateCalculatedExpressions } from './calculatedExpression';
|
|
21
|
-
export function evaluateUpdatedExpressions(params) {
|
|
22
|
-
const { updatedResponse, enableWhenExpressions, calculatedExpressions, variablesFhirPath } = params;
|
|
23
|
-
const hasExpressionToBeUpdated = Object.keys(enableWhenExpressions).length > 0 || Object.keys(calculatedExpressions).length > 0;
|
|
24
|
-
if (hasExpressionToBeUpdated && updatedResponse.item) {
|
|
25
|
-
const fhirPathContext = createFhirPathContext(updatedResponse, variablesFhirPath);
|
|
26
|
-
// Update enableWhenExpressions
|
|
27
|
-
const { enableWhenExpsIsUpdated, updatedEnableWhenExpressions } = evaluateEnableWhenExpressions(fhirPathContext, enableWhenExpressions);
|
|
28
|
-
// Update calculatedExpressions
|
|
29
|
-
const { calculatedExpsIsUpdated, updatedCalculatedExpressions } = evaluateCalculatedExpressions(fhirPathContext, calculatedExpressions);
|
|
30
|
-
const isUpdated = enableWhenExpsIsUpdated || calculatedExpsIsUpdated;
|
|
31
|
-
return { isUpdated, updatedEnableWhenExpressions, updatedCalculatedExpressions };
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
isUpdated: false,
|
|
35
|
-
updatedEnableWhenExpressions: enableWhenExpressions,
|
|
36
|
-
updatedCalculatedExpressions: calculatedExpressions
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
export function createFhirPathContext(questionnaireResponse, variablesFhirPath) {
|
|
40
|
-
const fhirPathContext = { resource: questionnaireResponse };
|
|
41
|
-
if (!questionnaireResponse.item || questionnaireResponse.item.length === 0) {
|
|
42
|
-
return fhirPathContext;
|
|
43
|
-
}
|
|
44
|
-
evaluateResourceLevelFhirPath(questionnaireResponse, variablesFhirPath, fhirPathContext);
|
|
45
|
-
for (const topLevelItem of questionnaireResponse.item) {
|
|
46
|
-
evaluateFhirPathRecursive(topLevelItem, variablesFhirPath, fhirPathContext);
|
|
47
|
-
}
|
|
48
|
-
return fhirPathContext;
|
|
49
|
-
}
|
|
50
|
-
export function evaluateFhirPathRecursive(item, variablesFhirPath, fhirPathContext) {
|
|
51
|
-
const items = item.item;
|
|
52
|
-
if (items && items.length > 0) {
|
|
53
|
-
// iterate through items of item recursively
|
|
54
|
-
for (const childItem of items) {
|
|
55
|
-
evaluateFhirPathRecursive(childItem, variablesFhirPath, fhirPathContext);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
evaluateItemFhirPath(item, variablesFhirPath, fhirPathContext);
|
|
59
|
-
}
|
|
60
|
-
export function evaluateItemFhirPath(item, variablesFhirPath, fhirPathContext) {
|
|
61
|
-
const variablesOfItem = variablesFhirPath[item.linkId];
|
|
62
|
-
if (!variablesOfItem || variablesOfItem.length === 0) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
variablesOfItem.forEach((variable) => {
|
|
66
|
-
if (variable.expression) {
|
|
67
|
-
try {
|
|
68
|
-
fhirPathContext[`${variable.name}`] = fhirpath.evaluate(item, {
|
|
69
|
-
base: 'QuestionnaireResponse.item',
|
|
70
|
-
expression: variable.expression
|
|
71
|
-
}, fhirPathContext, fhirpath_r4_model);
|
|
72
|
-
}
|
|
73
|
-
catch (e) {
|
|
74
|
-
console.warn(e.message, `LinkId: ${item.linkId}\nExpression: ${variable.expression}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
export function evaluateResourceLevelFhirPath(resource, variablesFhirPath, fhirPathContext) {
|
|
80
|
-
const questionnaireLevelVariables = variablesFhirPath['QuestionnaireLevel'];
|
|
81
|
-
if (!questionnaireLevelVariables || questionnaireLevelVariables.length === 0) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
questionnaireLevelVariables.forEach((variable) => {
|
|
85
|
-
if (variable.expression) {
|
|
86
|
-
try {
|
|
87
|
-
fhirPathContext[`${variable.name}`] = fhirpath.evaluate(resource, {
|
|
88
|
-
base: 'QuestionnaireResponse',
|
|
89
|
-
expression: variable.expression
|
|
90
|
-
}, fhirPathContext, fhirpath_r4_model);
|
|
91
|
-
}
|
|
92
|
-
catch (e) {
|
|
93
|
-
console.warn(e.message, `Questionnaire-level\nExpression: ${variable.expression}`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=fhirpath.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fhirpath.js","sourceRoot":"","sources":["fhirpath.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 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 { evaluateInitialEnableWhenExpressions } from './enableWhenExpression';
|
|
18
|
-
import { getFirstVisibleTab } from './tabs';
|
|
19
|
-
import { assignPopulatedAnswersToEnableWhen } from './enableWhen';
|
|
20
|
-
import { evaluateInitialCalculatedExpressions } from './calculatedExpression';
|
|
21
|
-
export function initialiseFormFromResponse(params) {
|
|
22
|
-
const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs } = params;
|
|
23
|
-
const { initialisedItems, linkedQuestions } = assignPopulatedAnswersToEnableWhen(enableWhenItems, questionnaireResponse);
|
|
24
|
-
const initialEnableWhenExpressions = evaluateInitialEnableWhenExpressions({
|
|
25
|
-
initialResponse: questionnaireResponse,
|
|
26
|
-
enableWhenExpressions: enableWhenExpressions,
|
|
27
|
-
variablesFhirPath: variablesFhirPath
|
|
28
|
-
});
|
|
29
|
-
const initialCalculatedExpressions = evaluateInitialCalculatedExpressions({
|
|
30
|
-
initialResponse: questionnaireResponse,
|
|
31
|
-
calculatedExpressions: calculatedExpressions,
|
|
32
|
-
variablesFhirPath: variablesFhirPath
|
|
33
|
-
});
|
|
34
|
-
const firstVisibleTab = Object.keys(tabs).length > 0
|
|
35
|
-
? getFirstVisibleTab(tabs, initialisedItems, initialEnableWhenExpressions)
|
|
36
|
-
: 0;
|
|
37
|
-
return {
|
|
38
|
-
initialEnableWhenItems: initialisedItems,
|
|
39
|
-
initialEnableWhenLinkedQuestions: linkedQuestions,
|
|
40
|
-
initialEnableWhenExpressions,
|
|
41
|
-
initialCalculatedExpressions,
|
|
42
|
-
firstVisibleTab
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=initialiseForm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialiseForm.js","sourceRoot":"","sources":["initialiseForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C,OAAO,EAAE,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAW9E,MAAM,UAAU,0BAA0B,CAAC,MAAqC;IAO9E,MAAM,EACJ,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,IAAI,EACL,GAAG,MAAM,CAAC;IAEX,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,kCAAkC,CAC9E,eAAe,EACf,qBAAqB,CACtB,CAAC;IAEF,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;QACxE,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,qBAAqB;QAC5C,iBAAiB,EAAE,iBAAiB;KACrC,CAAC,CAAC;IAEH,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;QACxE,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,qBAAqB;QAC5C,iBAAiB,EAAE,iBAAiB;KACrC,CAAC,CAAC;IAEH,MAAM,eAAe,GACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;QACL,sBAAsB,EAAE,gBAAgB;QACxC,gCAAgC,EAAE,eAAe;QACjD,4BAA4B;QAC5B,4BAA4B;QAC5B,eAAe;KAChB,CAAC;AACJ,CAAC"}
|