@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useQuestionnaireStore.js","sourceRoot":"","sources":["useQuestionnaireStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,90 +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 { SmartFormsRenderer } from '../components';
|
|
18
|
-
import Q715Json from './assets/Q715.json';
|
|
19
|
-
import R715Json from './assets/R715.json';
|
|
20
|
-
import QTestGridJson from './assets/QTestGrid.json';
|
|
21
|
-
import RTestGridJson from './assets/RTestGrid.json';
|
|
22
|
-
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
23
|
-
const meta = {
|
|
24
|
-
title: 'Component/SmartFormsRenderer',
|
|
25
|
-
component: SmartFormsRenderer,
|
|
26
|
-
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
27
|
-
tags: ['autodocs']
|
|
28
|
-
};
|
|
29
|
-
const Q715 = Q715Json;
|
|
30
|
-
const R715 = R715Json;
|
|
31
|
-
const QTestGrid = QTestGridJson;
|
|
32
|
-
const RTestGrid = RTestGridJson;
|
|
33
|
-
export default meta;
|
|
34
|
-
// More on writing stories with args: https://storybook.js.org/docs/react/writing-stories/args
|
|
35
|
-
export const Form715 = {
|
|
36
|
-
args: {
|
|
37
|
-
questionnaire: Q715
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
export const Form715WithResponse = {
|
|
41
|
-
args: {
|
|
42
|
-
questionnaire: Q715,
|
|
43
|
-
questionnaireResponse: R715
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
export const FormTestGrid = {
|
|
47
|
-
args: {
|
|
48
|
-
questionnaire: QTestGrid
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
export const FormTestGridWithResponse = {
|
|
52
|
-
args: {
|
|
53
|
-
questionnaire: QTestGrid,
|
|
54
|
-
questionnaireResponse: RTestGrid,
|
|
55
|
-
additionalVariables: {}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
export const QTestGridWithResponseAddFhirPath = {
|
|
59
|
-
args: {
|
|
60
|
-
questionnaire: QTestGrid,
|
|
61
|
-
questionnaireResponse: RTestGrid,
|
|
62
|
-
additionalVariables: {
|
|
63
|
-
addVar1: {
|
|
64
|
-
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
65
|
-
valueExpression: {
|
|
66
|
-
name: 'addVar1',
|
|
67
|
-
language: 'text/fhirpath',
|
|
68
|
-
expression: "%resource.item.where(linkId='grid').item.where(linkId='1').item.where(linkId='1.1').item.where(linkId='1.1.1').answer.value"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
// export const QTestGridWithResponseAddXFhirQuery: Story = {
|
|
75
|
-
// args: {
|
|
76
|
-
// questionnaire: QTestGrid,
|
|
77
|
-
// questionnaireResponse: RTestGrid,
|
|
78
|
-
// additionalVariables: {
|
|
79
|
-
// addVar2: {
|
|
80
|
-
// url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
81
|
-
// valueExpression: {
|
|
82
|
-
// name: 'addVar2',
|
|
83
|
-
// language: 'application/x-fhir-query',
|
|
84
|
-
// expression: 'Condition?patient={{%patient.id}}'
|
|
85
|
-
// }
|
|
86
|
-
// }
|
|
87
|
-
// }
|
|
88
|
-
// }
|
|
89
|
-
// };
|
|
90
|
-
//# sourceMappingURL=SmartFormsRenderer.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SmartFormsRenderer.stories.js","sourceRoot":"","sources":["SmartFormsRenderer.stories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,oHAAoH;AACpH,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,8BAA8B;IACrC,SAAS,EAAE,kBAAkB;IAC7B,gIAAgI;IAChI,IAAI,EAAE,CAAC,UAAU,CAAC;CACuB,CAAC;AAE5C,MAAM,IAAI,GAAG,QAAyB,CAAC;AACvC,MAAM,IAAI,GAAG,QAAiC,CAAC;AAC/C,MAAM,SAAS,GAAG,aAA8B,CAAC;AACjD,MAAM,SAAS,GAAG,aAAsC,CAAC;AAEzD,eAAe,IAAI,CAAC;AAGpB,8FAA8F;AAE9F,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,aAAa,EAAE,IAAI;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAU;IACxC,IAAI,EAAE;QACJ,aAAa,EAAE,IAAI;QACnB,qBAAqB,EAAE,IAAI;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,IAAI,EAAE;QACJ,aAAa,EAAE,SAAS;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAU;IAC7C,IAAI,EAAE;QACJ,aAAa,EAAE,SAAS;QACxB,qBAAqB,EAAE,SAAS;QAChC,mBAAmB,EAAE,EAAE;KACxB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAU;IACrD,IAAI,EAAE;QACJ,aAAa,EAAE,SAAS;QACxB,qBAAqB,EAAE,SAAS;QAChC,mBAAmB,EAAE;YACnB,OAAO,EAAE;gBACP,GAAG,EAAE,kDAAkD;gBACvD,eAAe,EAAE;oBACf,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,eAAe;oBACzB,UAAU,EACR,6HAA6H;iBAChI;aACF;SACF;KACF;CACF,CAAC;AAEF,6DAA6D;AAC7D,YAAY;AACZ,gCAAgC;AAChC,wCAAwC;AACxC,6BAA6B;AAC7B,mBAAmB;AACnB,mEAAmE;AACnE,6BAA6B;AAC7B,6BAA6B;AAC7B,kDAAkD;AAClD,4DAA4D;AAC5D,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AACN,KAAK"}
|
|
@@ -1,180 +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 _isEqual from 'lodash/isEqual';
|
|
20
|
-
import { emptyResponse } from './emptyResource';
|
|
21
|
-
import { createFhirPathContext } from './fhirpath';
|
|
22
|
-
import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
|
|
23
|
-
import { updateQrGroup } from './qrItem';
|
|
24
|
-
import cloneDeep from 'lodash.clonedeep';
|
|
25
|
-
export function evaluateInitialCalculatedExpressions(params) {
|
|
26
|
-
const { initialResponse, calculatedExpressions, variablesFhirPath } = params;
|
|
27
|
-
// Return early if initialResponse is empty
|
|
28
|
-
if (_isEqual(initialResponse, cloneDeep(emptyResponse))) {
|
|
29
|
-
return calculatedExpressions;
|
|
30
|
-
}
|
|
31
|
-
const initialExpressions = Object.assign({}, calculatedExpressions);
|
|
32
|
-
if (Object.keys(initialExpressions).length > 0) {
|
|
33
|
-
const fhirPathContext = createFhirPathContext(initialResponse, variablesFhirPath);
|
|
34
|
-
for (const linkId in initialExpressions) {
|
|
35
|
-
try {
|
|
36
|
-
const result = fhirpath.evaluate(initialResponse, calculatedExpressions[linkId].expression, fhirPathContext, fhirpath_r4_model);
|
|
37
|
-
if (calculatedExpressions[linkId].value !== result[0]) {
|
|
38
|
-
initialExpressions[linkId].value = result[0];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
console.warn(e.message, `LinkId: ${linkId}\nExpression: ${calculatedExpressions[linkId].expression}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return initialExpressions;
|
|
47
|
-
}
|
|
48
|
-
export function evaluateCalculatedExpressions(fhirPathContext, calculatedExpressions) {
|
|
49
|
-
const updatedCalculatedExpressions = Object.assign({}, calculatedExpressions);
|
|
50
|
-
let isUpdated = false;
|
|
51
|
-
for (const linkId in calculatedExpressions) {
|
|
52
|
-
try {
|
|
53
|
-
const result = fhirpath.evaluate('', calculatedExpressions[linkId].expression, fhirPathContext, fhirpath_r4_model);
|
|
54
|
-
if (result.length > 0) {
|
|
55
|
-
if (calculatedExpressions[linkId].value !== result[0]) {
|
|
56
|
-
isUpdated = true;
|
|
57
|
-
updatedCalculatedExpressions[linkId].value = result[0];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
console.warn(e.message, `LinkId: ${linkId}\nExpression: ${calculatedExpressions[linkId].expression}`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return {
|
|
66
|
-
calculatedExpsIsUpdated: isUpdated,
|
|
67
|
-
updatedCalculatedExpressions: updatedCalculatedExpressions
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
export function initialiseCalculatedExpressionValues(questionnaire, populatedResponse, calculatedExpressions) {
|
|
71
|
-
var _a;
|
|
72
|
-
const calculatedExpressionsWithValues = Object.keys(calculatedExpressions)
|
|
73
|
-
.filter((key) => calculatedExpressions[key].value !== undefined)
|
|
74
|
-
.reduce((mapping, key) => ((mapping[key] = calculatedExpressions[key]), mapping), {});
|
|
75
|
-
if (!questionnaire.item ||
|
|
76
|
-
questionnaire.item.length === 0 ||
|
|
77
|
-
!populatedResponse.item ||
|
|
78
|
-
populatedResponse.item.length === 0) {
|
|
79
|
-
return populatedResponse;
|
|
80
|
-
}
|
|
81
|
-
const topLevelQrItems = [];
|
|
82
|
-
for (const [index, topLevelQItem] of questionnaire.item.entries()) {
|
|
83
|
-
const populatedTopLevelQrItem = (_a = populatedResponse.item[index]) !== null && _a !== void 0 ? _a : {
|
|
84
|
-
linkId: topLevelQItem.linkId,
|
|
85
|
-
text: topLevelQItem.text,
|
|
86
|
-
item: []
|
|
87
|
-
};
|
|
88
|
-
const updatedTopLevelQRItem = initialiseItemCalculatedExpressionValueRecursive(topLevelQItem, populatedTopLevelQrItem, calculatedExpressionsWithValues);
|
|
89
|
-
if (Array.isArray(updatedTopLevelQRItem)) {
|
|
90
|
-
if (updatedTopLevelQRItem.length > 0) {
|
|
91
|
-
topLevelQrItems.push(...updatedTopLevelQRItem);
|
|
92
|
-
}
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
if (updatedTopLevelQRItem) {
|
|
96
|
-
topLevelQrItems.push(updatedTopLevelQRItem);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return Object.assign(Object.assign({}, populatedResponse), { item: topLevelQrItems });
|
|
100
|
-
}
|
|
101
|
-
function initialiseItemCalculatedExpressionValueRecursive(qItem, qrItem, calculatedExpressions) {
|
|
102
|
-
var _a;
|
|
103
|
-
const childQItems = qItem.item;
|
|
104
|
-
if (childQItems && childQItems.length > 0) {
|
|
105
|
-
// iterate through items of item recursively
|
|
106
|
-
const childQrItems = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.item) !== null && _a !== void 0 ? _a : [];
|
|
107
|
-
// const updatedChildQrItems: QuestionnaireResponseItem[] = [];
|
|
108
|
-
// FIXME Not implemented for repeat groups
|
|
109
|
-
if (qItem.type === 'group' && qItem.repeats) {
|
|
110
|
-
return qrItem !== null && qrItem !== void 0 ? qrItem : null;
|
|
111
|
-
}
|
|
112
|
-
const indexMap = mapQItemsIndex(qItem);
|
|
113
|
-
const qrItemsByIndex = getQrItemsIndex(childQItems, childQrItems, indexMap);
|
|
114
|
-
// Otherwise loop through qItem as usual
|
|
115
|
-
for (const [index, childQItem] of childQItems.entries()) {
|
|
116
|
-
const childQrItem = qrItemsByIndex[index];
|
|
117
|
-
// FIXME Not implemented for repeat groups
|
|
118
|
-
if (Array.isArray(childQrItem)) {
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
const newQrItem = initialiseItemCalculatedExpressionValueRecursive(childQItem, childQrItem, calculatedExpressions);
|
|
122
|
-
// FIXME Not implemented for repeat groups
|
|
123
|
-
if (Array.isArray(newQrItem)) {
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
if (newQrItem) {
|
|
127
|
-
updateQrGroup(newQrItem, null, qrItem !== null && qrItem !== void 0 ? qrItem : { linkId: qItem.linkId, text: qItem.text, item: [] }, indexMap);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return constructGroupItem(qItem, qrItem, calculatedExpressions);
|
|
131
|
-
}
|
|
132
|
-
return constructSingleItem(qItem, calculatedExpressions);
|
|
133
|
-
}
|
|
134
|
-
function constructGroupItem(qItem, qrItem, calculatedExpressions) {
|
|
135
|
-
const itemCalculatedExpression = calculatedExpressions[qItem.linkId];
|
|
136
|
-
let calculatedExpressionAnswer;
|
|
137
|
-
if (itemCalculatedExpression && itemCalculatedExpression.value) {
|
|
138
|
-
calculatedExpressionAnswer = parseValueToAnswer(qItem, itemCalculatedExpression.value);
|
|
139
|
-
}
|
|
140
|
-
// If group item has an existing answer, do not overwrite it with calculated expression value
|
|
141
|
-
if ((qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) && (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer.length) > 0) {
|
|
142
|
-
return qrItem !== null && qrItem !== void 0 ? qrItem : null;
|
|
143
|
-
}
|
|
144
|
-
if (!calculatedExpressionAnswer) {
|
|
145
|
-
return qrItem !== null && qrItem !== void 0 ? qrItem : null;
|
|
146
|
-
}
|
|
147
|
-
if (qrItem) {
|
|
148
|
-
return Object.assign(Object.assign({}, qrItem), { answer: [calculatedExpressionAnswer] });
|
|
149
|
-
}
|
|
150
|
-
return {
|
|
151
|
-
linkId: qItem.linkId,
|
|
152
|
-
text: qItem.text,
|
|
153
|
-
answer: [calculatedExpressionAnswer]
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
function constructSingleItem(qItem, calculatedExpressions) {
|
|
157
|
-
const itemCalculatedExpression = calculatedExpressions[qItem.linkId];
|
|
158
|
-
let calculatedExpressionAnswer;
|
|
159
|
-
if (itemCalculatedExpression && itemCalculatedExpression.value) {
|
|
160
|
-
calculatedExpressionAnswer = parseValueToAnswer(qItem, itemCalculatedExpression.value);
|
|
161
|
-
}
|
|
162
|
-
if (!calculatedExpressionAnswer) {
|
|
163
|
-
return null;
|
|
164
|
-
}
|
|
165
|
-
return {
|
|
166
|
-
linkId: qItem.linkId,
|
|
167
|
-
text: qItem.text,
|
|
168
|
-
answer: [calculatedExpressionAnswer]
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
function parseValueToAnswer(qItem, value) {
|
|
172
|
-
if (typeof value === 'number') {
|
|
173
|
-
if (qItem.type === 'integer') {
|
|
174
|
-
return { valueInteger: value };
|
|
175
|
-
}
|
|
176
|
-
return { valueDecimal: value };
|
|
177
|
-
}
|
|
178
|
-
return { valueString: value };
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=calculatedExpression.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculatedExpression.js","sourceRoot":"","sources":["calculatedExpression.ts"],"names":[],"mappings":"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"}
|
package/src/utils/choice.js
DELETED
|
@@ -1,160 +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 { QItemChoiceControl, QItemChoiceOrientation } from '../interfaces/choice.enum';
|
|
18
|
-
import { isSpecificItemControl } from './itemControl';
|
|
19
|
-
/**
|
|
20
|
-
* Get choice control type based on certain criteria in choice items
|
|
21
|
-
*
|
|
22
|
-
* @author Sean Fong
|
|
23
|
-
*/
|
|
24
|
-
export function getChoiceControlType(qItem) {
|
|
25
|
-
const dropdownOptionsCount = 5;
|
|
26
|
-
if (isSpecificItemControl(qItem, 'autocomplete')) {
|
|
27
|
-
return QItemChoiceControl.Autocomplete;
|
|
28
|
-
}
|
|
29
|
-
if (isSpecificItemControl(qItem, 'check-box')) {
|
|
30
|
-
return QItemChoiceControl.Checkbox;
|
|
31
|
-
}
|
|
32
|
-
if (isSpecificItemControl(qItem, 'radio-button')) {
|
|
33
|
-
return QItemChoiceControl.Radio;
|
|
34
|
-
}
|
|
35
|
-
if (isSpecificItemControl(qItem, 'drop-down')) {
|
|
36
|
-
return QItemChoiceControl.Select;
|
|
37
|
-
}
|
|
38
|
-
if (qItem.answerOption) {
|
|
39
|
-
return qItem.answerOption.length > 0 && qItem.answerOption.length < dropdownOptionsCount
|
|
40
|
-
? QItemChoiceControl.Radio
|
|
41
|
-
: QItemChoiceControl.Select;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return QItemChoiceControl.Select;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
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
|
-
/**
|
|
72
|
-
* Find and return corresponding coding from AnswerValyeSet based on selected answer in form
|
|
73
|
-
*
|
|
74
|
-
* @author Sean Fong
|
|
75
|
-
*/
|
|
76
|
-
export function findInAnswerValueSetCodings(codings, selected) {
|
|
77
|
-
for (const coding of codings) {
|
|
78
|
-
if (selected === coding.code) {
|
|
79
|
-
return coding;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Find and return string value from selected answer
|
|
85
|
-
*
|
|
86
|
-
* @author Sean Fong
|
|
87
|
-
*/
|
|
88
|
-
export function getQrChoiceValue(qrChoice, returnNull) {
|
|
89
|
-
if (qrChoice['answer']) {
|
|
90
|
-
const answer = qrChoice['answer'][0];
|
|
91
|
-
if (answer['valueCoding']) {
|
|
92
|
-
return answer.valueCoding.code ? answer.valueCoding.code : '';
|
|
93
|
-
}
|
|
94
|
-
else if (answer['valueString'] !== undefined) {
|
|
95
|
-
return answer.valueString;
|
|
96
|
-
}
|
|
97
|
-
else if (answer['valueInteger']) {
|
|
98
|
-
return answer.valueInteger.toString();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return returnNull ? null : '';
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Update choice checkbox group answers based on checkbox changes
|
|
105
|
-
*
|
|
106
|
-
* @author Sean Fong
|
|
107
|
-
*/
|
|
108
|
-
export function updateQrCheckboxAnswers(changedValue, answers, answerOptions, qrChoiceCheckbox, isMultiSelection) {
|
|
109
|
-
// search for answer item of changedValue from list of answer options
|
|
110
|
-
const newAnswer = findInAnswerOptions(answerOptions, changedValue);
|
|
111
|
-
if (!newAnswer)
|
|
112
|
-
return null;
|
|
113
|
-
if (isMultiSelection && answers.length > 0) {
|
|
114
|
-
// check and filter if new answer exists in existing qrAnswers
|
|
115
|
-
const updatedAnswers = answers.filter((answer) => JSON.stringify(answer) !== JSON.stringify(newAnswer));
|
|
116
|
-
// new answer is not present in existing answers, so we add it to the array
|
|
117
|
-
if (updatedAnswers.length === answers.length) {
|
|
118
|
-
updatedAnswers.push(newAnswer);
|
|
119
|
-
}
|
|
120
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: updatedAnswers });
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
return answers.some((answer) => JSON.stringify(answer) === JSON.stringify(newAnswer))
|
|
124
|
-
? Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [] }) : Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [newAnswer] });
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Get choice orientation from its itemControl
|
|
129
|
-
*
|
|
130
|
-
* @author Sean Fong
|
|
131
|
-
*/
|
|
132
|
-
export function getChoiceOrientation(qItem) {
|
|
133
|
-
var _a;
|
|
134
|
-
const itemControl = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((extension) => extension.url === 'http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation');
|
|
135
|
-
if (itemControl) {
|
|
136
|
-
const code = itemControl.valueCode;
|
|
137
|
-
if (code) {
|
|
138
|
-
if (code === 'horizontal') {
|
|
139
|
-
return QItemChoiceOrientation.Horizontal;
|
|
140
|
-
}
|
|
141
|
-
else if (code === 'vertical') {
|
|
142
|
-
return QItemChoiceOrientation.Vertical;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return QItemChoiceOrientation.Vertical;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Converts an array of codings to an array of valueCodings which can use the QuestionnaireItemAnswerOption type
|
|
150
|
-
*
|
|
151
|
-
* @author Sean Fong
|
|
152
|
-
*/
|
|
153
|
-
export function mapCodingsToOptions(codings) {
|
|
154
|
-
return codings.map((coding) => {
|
|
155
|
-
return {
|
|
156
|
-
valueCoding: coding
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=choice.js.map
|
package/src/utils/choice.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"choice.js","sourceRoot":"","sources":["choice.ts"],"names":[],"mappings":"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"}
|
package/src/utils/debounce.js
DELETED
|
@@ -1,19 +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
|
-
export const DEBOUNCE_DURATION = 200;
|
|
18
|
-
export const AUTOCOMPLETE_DEBOUNCE_DURATION = 300;
|
|
19
|
-
//# sourceMappingURL=debounce.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["debounce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC"}
|
|
@@ -1,25 +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
|
-
export const emptyQuestionnaire = {
|
|
18
|
-
resourceType: 'Questionnaire',
|
|
19
|
-
status: 'draft'
|
|
20
|
-
};
|
|
21
|
-
export const emptyResponse = {
|
|
22
|
-
resourceType: 'QuestionnaireResponse',
|
|
23
|
-
status: 'in-progress'
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=emptyResource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emptyResource.js","sourceRoot":"","sources":["emptyResource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,YAAY,EAAE,uBAAuB;IACrC,MAAM,EAAE,aAAa;CACtB,CAAC"}
|