@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/qrItem.js
DELETED
|
@@ -1,221 +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
|
-
/**
|
|
18
|
-
* Create a questionnaireResponse from a given questionnaire form item
|
|
19
|
-
* A questionnaire form item is the first item of a questionnaire
|
|
20
|
-
*
|
|
21
|
-
* @author Sean Fong
|
|
22
|
-
*/
|
|
23
|
-
export function createQuestionnaireResponse(questionnaire) {
|
|
24
|
-
var _a;
|
|
25
|
-
const questionnaireResponse = {
|
|
26
|
-
resourceType: 'QuestionnaireResponse',
|
|
27
|
-
status: 'in-progress'
|
|
28
|
-
};
|
|
29
|
-
const firstTopLevelItem = (_a = questionnaire === null || questionnaire === void 0 ? void 0 : questionnaire.item) === null || _a === void 0 ? void 0 : _a[0];
|
|
30
|
-
if (firstTopLevelItem) {
|
|
31
|
-
questionnaireResponse.item = [
|
|
32
|
-
{
|
|
33
|
-
linkId: firstTopLevelItem.linkId,
|
|
34
|
-
text: firstTopLevelItem.text,
|
|
35
|
-
item: []
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
if (questionnaire.id) {
|
|
40
|
-
questionnaireResponse.questionnaire = `Questionnaire/${questionnaire.id}`;
|
|
41
|
-
}
|
|
42
|
-
return questionnaireResponse;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Remove items with no answers from a given questionnaireResponse
|
|
46
|
-
* Also remove any starting or trailing whitespace from valueStrings
|
|
47
|
-
* Generated questionnaireResponse only has items with answers
|
|
48
|
-
*
|
|
49
|
-
* @author Sean Fong
|
|
50
|
-
*/
|
|
51
|
-
export function removeNoAnswerQrItem(qrItem) {
|
|
52
|
-
const items = qrItem.item;
|
|
53
|
-
if (items && items.length > 0) {
|
|
54
|
-
const itemsCleaned = [];
|
|
55
|
-
// only get items with answers
|
|
56
|
-
items.forEach((item) => {
|
|
57
|
-
const QrItemCleaned = removeNoAnswerQrItem(item);
|
|
58
|
-
if (QrItemCleaned) {
|
|
59
|
-
itemsCleaned.push(QrItemCleaned);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
return itemsCleaned.length > 0 ? Object.assign(Object.assign({}, qrItem), { item: itemsCleaned }) : undefined;
|
|
63
|
-
}
|
|
64
|
-
// remove starting or trailing whitespace
|
|
65
|
-
if (qrItem['answer'] && qrItem['answer'][0]['valueString']) {
|
|
66
|
-
qrItem['answer'][0]['valueString'] = qrItem['answer'][0]['valueString'].trim();
|
|
67
|
-
}
|
|
68
|
-
// check answer when qrItem is a single question
|
|
69
|
-
return qrItem['answer'] ? qrItem : undefined;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Create an empty group qrItem from a given group qItem
|
|
73
|
-
*
|
|
74
|
-
* @author Sean Fong
|
|
75
|
-
*/
|
|
76
|
-
export function createQrGroup(qItem) {
|
|
77
|
-
return {
|
|
78
|
-
linkId: qItem.linkId,
|
|
79
|
-
text: qItem.text,
|
|
80
|
-
item: []
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Create an empty qrItem from a given qItem
|
|
85
|
-
*
|
|
86
|
-
* @author Sean Fong
|
|
87
|
-
*/
|
|
88
|
-
export function createEmptyQrItem(qItem) {
|
|
89
|
-
return {
|
|
90
|
-
linkId: qItem.linkId,
|
|
91
|
-
text: qItem.text
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Create an empty qrItem from a given qItem with its display unit
|
|
96
|
-
*
|
|
97
|
-
* @author Sean Fong
|
|
98
|
-
*/
|
|
99
|
-
export function createEmptyQrItemWithUnit(qItem, unit) {
|
|
100
|
-
return {
|
|
101
|
-
linkId: qItem.linkId,
|
|
102
|
-
text: unit !== '' ? `${qItem.text} (${unit})` : qItem.text
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Updates the QuestionnaireResponseItem group by adding/removing a new/modified child QuestionnaireResponseItem into/from a qrGroup
|
|
107
|
-
* Takes either a single newQrItem or an array of newQrItems
|
|
108
|
-
*
|
|
109
|
-
* @author Sean Fong
|
|
110
|
-
*/
|
|
111
|
-
export function updateQrGroup(newQrItem, newQrRepeatGroup, qrGroup, qItemsIndexMap) {
|
|
112
|
-
var _a, _b;
|
|
113
|
-
if (qrGroup['item']) {
|
|
114
|
-
// Get actual sequence indexes of qrItems present within a qrGroup
|
|
115
|
-
// e.g. qrGroup has 4 fields but only the 2nd and 3rd field have values - resulting array is [1, 2]
|
|
116
|
-
const qrItemsRealIndexArr = qrGroup.item.map((qrItem) => qItemsIndexMap[qrItem.linkId]);
|
|
117
|
-
if (newQrItem && newQrItem.linkId in qItemsIndexMap) {
|
|
118
|
-
if (qrGroup.item.length === 0) {
|
|
119
|
-
qrGroup.item.push(newQrItem);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
// Get actual sequence index of qrItem within qrGroup
|
|
123
|
-
const newQrItemIndex = qItemsIndexMap[newQrItem.linkId];
|
|
124
|
-
for (let i = 0; i < qrItemsRealIndexArr.length; i++) {
|
|
125
|
-
// Add qrItem at the end of qrGroup if it is larger than the other indexes
|
|
126
|
-
if (newQrItemIndex > qrItemsRealIndexArr[i]) {
|
|
127
|
-
if (i === qrItemsRealIndexArr.length - 1) {
|
|
128
|
-
qrGroup.item.push(newQrItem);
|
|
129
|
-
}
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
// Replace or delete qrItem at its supposed position if its index is already present within qrGroup
|
|
133
|
-
if (newQrItemIndex === qrItemsRealIndexArr[i]) {
|
|
134
|
-
if (((_a = newQrItem.item) === null || _a === void 0 ? void 0 : _a.length) || ((_b = newQrItem.answer) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
135
|
-
// newQrItem has answer value
|
|
136
|
-
qrGroup.item[i] = newQrItem;
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
// newQrItem has no answer value
|
|
140
|
-
qrGroup.item.splice(i, 1);
|
|
141
|
-
}
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
// Add qrItem at its supposed position if its index is not present within qrGroup
|
|
145
|
-
if (newQrItemIndex < qrItemsRealIndexArr[i]) {
|
|
146
|
-
qrGroup.item.splice(i, 0, newQrItem);
|
|
147
|
-
break;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
else if (newQrRepeatGroup && newQrRepeatGroup.linkId in qItemsIndexMap) {
|
|
153
|
-
const newQrItems = newQrRepeatGroup.qrItems;
|
|
154
|
-
if (qrGroup.item.length === 0) {
|
|
155
|
-
qrGroup.item.push(...newQrItems);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
// Get actual sequence index of qrItems within qrGroup
|
|
159
|
-
const newQrItemIndex = qItemsIndexMap[newQrRepeatGroup.linkId];
|
|
160
|
-
for (let i = 0; i < qrItemsRealIndexArr.length; i++) {
|
|
161
|
-
// Add qrItem at the end of qrGroup if it is larger than the other indexes
|
|
162
|
-
if (newQrItemIndex > qrItemsRealIndexArr[i]) {
|
|
163
|
-
if (i === qrItemsRealIndexArr.length - 1) {
|
|
164
|
-
qrGroup.item.push(...newQrItems);
|
|
165
|
-
}
|
|
166
|
-
continue;
|
|
167
|
-
}
|
|
168
|
-
// Replace or delete qrItem at its supposed position if its index is already present within qrGroup
|
|
169
|
-
if (newQrItemIndex === qrItemsRealIndexArr[i]) {
|
|
170
|
-
// Get number of repeatGroupItems that has the same linkId present in qrGroup
|
|
171
|
-
let repeatGroupItemCount = 0;
|
|
172
|
-
while (newQrItemIndex === qrItemsRealIndexArr[i + repeatGroupItemCount]) {
|
|
173
|
-
repeatGroupItemCount++;
|
|
174
|
-
}
|
|
175
|
-
// Replace each repeat group qrItem with their new counterparts
|
|
176
|
-
if (newQrItems.length === repeatGroupItemCount) {
|
|
177
|
-
for (let j = 0; j < newQrItems.length; j++) {
|
|
178
|
-
qrGroup.item[i + j] = newQrItems[j];
|
|
179
|
-
}
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
else if (newQrItems.length > repeatGroupItemCount) {
|
|
183
|
-
// Replace each repeat group qrItem with their new counterparts,
|
|
184
|
-
// followed by adding an extra newQrItem behind the newly replaced qrItems
|
|
185
|
-
for (let j = 0, k = repeatGroupItemCount; j < newQrItems.length; j++, k--) {
|
|
186
|
-
if (k > 0) {
|
|
187
|
-
qrGroup.item[i + j] = newQrItems[j];
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
qrGroup.item.splice(i + j, 0, newQrItems[j]);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
else if (newQrItems.length < repeatGroupItemCount) {
|
|
196
|
-
// Replace each repeat group qrItem with their new counterparts (except the last one),
|
|
197
|
-
// followed by deleting the last newQrItem which wasn't replaced
|
|
198
|
-
for (let j = 0; j < repeatGroupItemCount; j++) {
|
|
199
|
-
if (j <= newQrItems.length - 1) {
|
|
200
|
-
qrGroup.item[i + j] = newQrItems[j];
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
qrGroup.item.splice(i + j, 1);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
// Add qrItem at its supposed position if its index is not present within qrGroup
|
|
210
|
-
if (newQrItemIndex < qrItemsRealIndexArr[i]) {
|
|
211
|
-
for (let j = 0; j < newQrItems.length; j++) {
|
|
212
|
-
qrGroup.item.splice(i + j, 0, newQrItems[j]);
|
|
213
|
-
}
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
//# sourceMappingURL=qrItem.js.map
|
package/src/utils/qrItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qrItem.js","sourceRoot":"","sources":["qrItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +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 function addAdditionalVariables(existingVariables, additionalVariables) {
|
|
18
|
-
for (const key in additionalVariables) {
|
|
19
|
-
const variable = additionalVariables[key];
|
|
20
|
-
if (variable && isVariable(variable)) {
|
|
21
|
-
if (variable.valueExpression &&
|
|
22
|
-
variable.valueExpression.language &&
|
|
23
|
-
variable.valueExpression.name) {
|
|
24
|
-
const expression = variable.valueExpression;
|
|
25
|
-
const language = expression.language;
|
|
26
|
-
const name = expression.name;
|
|
27
|
-
if (language === 'text/fhirpath') {
|
|
28
|
-
existingVariables.fhirPathVariables['QuestionnaireLevel'].push(variable.valueExpression);
|
|
29
|
-
}
|
|
30
|
-
else if (language === 'application/x-fhir-query') {
|
|
31
|
-
existingVariables.xFhirQueryVariables[name] = {
|
|
32
|
-
valueExpression: expression
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return existingVariables;
|
|
39
|
-
}
|
|
40
|
-
function isVariable(variable) {
|
|
41
|
-
var _a, _b;
|
|
42
|
-
const v = variable;
|
|
43
|
-
return ((v.url === 'http://hl7.org/fhir/StructureDefinition/variable' &&
|
|
44
|
-
((_a = v.valueExpression) === null || _a === void 0 ? void 0 : _a.language) === 'text/fhirpath') ||
|
|
45
|
-
((_b = v.valueExpression) === null || _b === void 0 ? void 0 : _b.language) === 'application/x-fhir-query');
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=addAdditionalVariables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addAdditionalVariables.js","sourceRoot":"","sources":["addAdditionalVariables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,UAAU,sBAAsB,CACpC,iBAA4B,EAC5B,mBAA2C;IAE3C,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE;QACrC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YACpC,IACE,QAAQ,CAAC,eAAe;gBACxB,QAAQ,CAAC,eAAe,CAAC,QAAQ;gBACjC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAC7B;gBACA,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;gBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBAE7B,IAAI,QAAQ,KAAK,eAAe,EAAE;oBAChC,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;iBAC1F;qBAAM,IAAI,QAAQ,KAAK,0BAA0B,EAAE;oBAClD,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG;wBAC5C,eAAe,EAAE,UAAU;qBAC5B,CAAC;iBACH;aACF;SACF;KACF;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;;IAClC,MAAM,CAAC,GAAG,QAAqB,CAAC;IAChC,OAAO,CACL,CAAC,CAAC,CAAC,GAAG,KAAK,kDAAkD;QAC3D,CAAA,MAAA,CAAC,CAAC,eAAe,0CAAE,QAAQ,MAAK,eAAe,CAAC;QAClD,CAAA,MAAA,CAAC,CAAC,eAAe,0CAAE,QAAQ,MAAK,0BAA0B,CAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -1,79 +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
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
import { extractLaunchContexts } from './extractLaunchContext';
|
|
27
|
-
import { extractQuestionnaireLevelVariables } from './extractVariables';
|
|
28
|
-
import { extractTabs } from './extractTabs';
|
|
29
|
-
import { extractContainedValueSets } from './extractContainedValueSets';
|
|
30
|
-
import { extractOtherExtensions } from './extractOtherExtensions';
|
|
31
|
-
import { resolveValueSets } from './resolveValueSets';
|
|
32
|
-
import { addAdditionalVariables } from './addAdditionalVariables';
|
|
33
|
-
export function createQuestionnaireModel(questionnaire, additionalVariables) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
if (!questionnaire.item) {
|
|
36
|
-
return createEmptyModel();
|
|
37
|
-
}
|
|
38
|
-
const tabs = extractTabs(questionnaire);
|
|
39
|
-
const launchContexts = extractLaunchContexts(questionnaire);
|
|
40
|
-
let variables = extractQuestionnaireLevelVariables(questionnaire);
|
|
41
|
-
variables = addAdditionalVariables(variables, additionalVariables);
|
|
42
|
-
const extractContainedValueSetsResult = extractContainedValueSets(questionnaire);
|
|
43
|
-
let valueSetPromises = extractContainedValueSetsResult.valueSetPromises;
|
|
44
|
-
let processedValueSetCodings = extractContainedValueSetsResult.processedValueSetCodings;
|
|
45
|
-
const processedValueSetUrls = extractContainedValueSetsResult.processedValueSetUrls;
|
|
46
|
-
const extractOtherExtensionsResult = extractOtherExtensions(questionnaire, variables, valueSetPromises);
|
|
47
|
-
const { enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions } = extractOtherExtensionsResult;
|
|
48
|
-
variables = extractOtherExtensionsResult.variables;
|
|
49
|
-
valueSetPromises = extractOtherExtensionsResult.valueSetPromises;
|
|
50
|
-
const resolveValueSetsResult = yield resolveValueSets(variables, valueSetPromises, processedValueSetCodings);
|
|
51
|
-
variables = resolveValueSetsResult.variables;
|
|
52
|
-
processedValueSetCodings = resolveValueSetsResult.processedValueSetCodings;
|
|
53
|
-
return {
|
|
54
|
-
tabs,
|
|
55
|
-
variables,
|
|
56
|
-
launchContexts,
|
|
57
|
-
enableWhenItems,
|
|
58
|
-
enableWhenExpressions,
|
|
59
|
-
calculatedExpressions,
|
|
60
|
-
answerExpressions,
|
|
61
|
-
processedValueSetCodings,
|
|
62
|
-
processedValueSetUrls
|
|
63
|
-
};
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function createEmptyModel() {
|
|
67
|
-
return {
|
|
68
|
-
tabs: {},
|
|
69
|
-
variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
|
|
70
|
-
launchContexts: {},
|
|
71
|
-
calculatedExpressions: {},
|
|
72
|
-
enableWhenExpressions: {},
|
|
73
|
-
answerExpressions: {},
|
|
74
|
-
enableWhenItems: {},
|
|
75
|
-
processedValueSetCodings: {},
|
|
76
|
-
processedValueSetUrls: {}
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=createQuestionaireModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["createQuestionaireModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,UAAgB,wBAAwB,CAC5C,aAA4B,EAC5B,mBAA2C;;QAE3C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACvB,OAAO,gBAAgB,EAAE,CAAC;SAC3B;QAED,MAAM,IAAI,GAAS,WAAW,CAAC,aAAa,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAkC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE3F,IAAI,SAAS,GAAc,kCAAkC,CAAC,aAAa,CAAC,CAAC;QAC7E,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAEnE,MAAM,+BAA+B,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,gBAAgB,GAAG,+BAA+B,CAAC,gBAAgB,CAAC;QACxE,IAAI,wBAAwB,GAAG,+BAA+B,CAAC,wBAAwB,CAAC;QACxF,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,qBAAqB,CAAC;QAEpF,MAAM,4BAA4B,GAAG,sBAAsB,CACzD,aAAa,EACb,SAAS,EACT,gBAAgB,CACjB,CAAC;QAEF,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GACxF,4BAA4B,CAAC;QAC/B,SAAS,GAAG,4BAA4B,CAAC,SAAS,CAAC;QACnD,gBAAgB,GAAG,4BAA4B,CAAC,gBAAgB,CAAC;QAEjE,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,CACnD,SAAS,EACT,gBAAgB,EAChB,wBAAwB,CACzB,CAAC;QAEF,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC;QAC7C,wBAAwB,GAAG,sBAAsB,CAAC,wBAAwB,CAAC;QAE3E,OAAO;YACL,IAAI;YACJ,SAAS;YACT,cAAc;YACd,eAAe;YACf,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,wBAAwB;YACxB,qBAAqB;SACtB,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;QAC7D,cAAc,EAAE,EAAE;QAClB,qBAAqB,EAAE,EAAE;QACzB,qBAAqB,EAAE,EAAE;QACzB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,wBAAwB,EAAE,EAAE;QAC5B,qBAAqB,EAAE,EAAE;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -1,59 +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 { getValueSetCodings, getValueSetPromise } from '../valueSet';
|
|
18
|
-
export function extractContainedValueSets(questionnaire) {
|
|
19
|
-
if (!questionnaire.contained || questionnaire.contained.length === 0) {
|
|
20
|
-
return { processedValueSetCodings: {}, processedValueSetUrls: {}, valueSetPromises: {} };
|
|
21
|
-
}
|
|
22
|
-
// Process contained ValueSets
|
|
23
|
-
const processedValueSetCodings = {};
|
|
24
|
-
const processedValueSetUrls = {};
|
|
25
|
-
const valueSetPromises = {};
|
|
26
|
-
for (const entry of questionnaire.contained) {
|
|
27
|
-
if (entry.resourceType !== 'ValueSet' || !entry.id) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
if (entry.expansion) {
|
|
31
|
-
// Store contained valueSet codings
|
|
32
|
-
processedValueSetCodings[entry.id] = getValueSetCodings(entry);
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
// Add unexpanded contained ValueSets to valueSetPromiseMap
|
|
36
|
-
const valueSetUrl = getValueSetUrlFromContained(entry);
|
|
37
|
-
if (valueSetUrl) {
|
|
38
|
-
valueSetPromises[entry.id] = {
|
|
39
|
-
promise: getValueSetPromise(valueSetUrl)
|
|
40
|
-
};
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
if (entry.url) {
|
|
44
|
-
processedValueSetUrls[entry.id] = entry.url;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return { processedValueSetCodings, processedValueSetUrls, valueSetPromises };
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Sets an array of codings with the values from a valueSet
|
|
51
|
-
*
|
|
52
|
-
* @author Sean Fong
|
|
53
|
-
*/
|
|
54
|
-
export function getValueSetUrlFromContained(valueSet) {
|
|
55
|
-
var _a, _b;
|
|
56
|
-
const urls = (_b = (_a = valueSet.compose) === null || _a === void 0 ? void 0 : _a.include) === null || _b === void 0 ? void 0 : _b.map((include) => { var _a; return ((_a = include.valueSet) === null || _a === void 0 ? void 0 : _a[0]) ? include.valueSet[0] : ''; });
|
|
57
|
-
return urls && urls.length > 0 ? urls[0] : '';
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=extractContainedValueSets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractContainedValueSets.js","sourceRoot":"","sources":["extractContainedValueSets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,UAAU,yBAAyB,CAAC,aAA4B;IAKpE,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACpE,OAAO,EAAE,wBAAwB,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;KAC1F;IAED,8BAA8B;IAC9B,MAAM,wBAAwB,GAA6B,EAAE,CAAC;IAC9D,MAAM,qBAAqB,GAA2B,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAoC,EAAE,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,SAAS,EAAE;QAC3C,IAAI,KAAK,CAAC,YAAY,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;YAClD,SAAS;SACV;QAED,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,mCAAmC;YACnC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/D,SAAS;SACV;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,WAAW,EAAE;YACf,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gBAC3B,OAAO,EAAE,kBAAkB,CAAC,WAAW,CAAC;aACzC,CAAC;YACF,SAAS;SACV;QAED,IAAI,KAAK,CAAC,GAAG,EAAE;YACb,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;SAC7C;KACF;IAED,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAkB;;IAC5D,MAAM,IAAI,GAAG,MAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,OAAO,0CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,WACtD,OAAA,CAAA,MAAA,OAAO,CAAC,QAAQ,0CAAG,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,EAAA,CACjD,CAAC;IAEF,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { isLaunchContext } from '../populateContexts';
|
|
2
|
-
export function extractLaunchContexts(questionnaire) {
|
|
3
|
-
var _a, _b;
|
|
4
|
-
if (!questionnaire.extension || questionnaire.extension.length === 0) {
|
|
5
|
-
return {};
|
|
6
|
-
}
|
|
7
|
-
const launchContexts = {};
|
|
8
|
-
for (const ext of questionnaire.extension) {
|
|
9
|
-
if (isLaunchContext(ext)) {
|
|
10
|
-
const launchContextName = (_a = ext.extension[0].valueId) !== null && _a !== void 0 ? _a : (_b = ext.extension[0].valueCoding) === null || _b === void 0 ? void 0 : _b.code;
|
|
11
|
-
if (launchContextName) {
|
|
12
|
-
launchContexts[launchContextName] = ext;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return launchContexts;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=extractLaunchContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractLaunchContext.js","sourceRoot":"","sources":["extractLaunchContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CAAC,aAA4B;;IAChE,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACpE,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAkC,EAAE,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE;QACzC,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,iBAAiB,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,mCAAI,MAAA,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,0CAAE,IAAI,CAAC;YACzF,IAAI,iBAAiB,EAAE;gBACrB,cAAc,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;aACzC;SACF;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1,174 +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 { getAnswerExpression } from '../itemControl';
|
|
18
|
-
import { getTerminologyServerUrl, getValueSetPromise } from '../valueSet';
|
|
19
|
-
import { getFhirPathVariables, getXFhirQueryVariables } from './extractVariables';
|
|
20
|
-
export function extractOtherExtensions(questionnaire, variables, valueSetPromises) {
|
|
21
|
-
const enableWhenItems = {};
|
|
22
|
-
const enableWhenExpressions = {};
|
|
23
|
-
const calculatedExpressions = {};
|
|
24
|
-
const answerExpressions = {};
|
|
25
|
-
if (!questionnaire.item || questionnaire.item.length === 0) {
|
|
26
|
-
return {
|
|
27
|
-
variables: variables,
|
|
28
|
-
enableWhenItems: {},
|
|
29
|
-
enableWhenExpressions: {},
|
|
30
|
-
calculatedExpressions: {},
|
|
31
|
-
answerExpressions: {},
|
|
32
|
-
valueSetPromises: valueSetPromises
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
for (const topLevelItem of questionnaire.item) {
|
|
36
|
-
extractExtensionsFromItemRecursive({
|
|
37
|
-
item: topLevelItem,
|
|
38
|
-
variables,
|
|
39
|
-
enableWhenItems,
|
|
40
|
-
enableWhenExpressions,
|
|
41
|
-
calculatedExpressions,
|
|
42
|
-
answerExpressions,
|
|
43
|
-
valueSetPromises
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
variables,
|
|
48
|
-
enableWhenItems,
|
|
49
|
-
enableWhenExpressions,
|
|
50
|
-
calculatedExpressions,
|
|
51
|
-
answerExpressions,
|
|
52
|
-
valueSetPromises
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function extractExtensionsFromItemRecursive(params) {
|
|
56
|
-
const { item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, valueSetPromises } = params;
|
|
57
|
-
const items = item.item;
|
|
58
|
-
if (items && items.length > 0) {
|
|
59
|
-
// iterate through items of item recursively
|
|
60
|
-
for (const childItem of items) {
|
|
61
|
-
extractExtensionsFromItemRecursive(Object.assign(Object.assign({}, params), { item: childItem }));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// Read enable when items, enablehen/calculated/answer expressions, valueSets and variables from qItem
|
|
65
|
-
const enableWhenItemProperties = getEnableWhenItemProperties(item);
|
|
66
|
-
if (enableWhenItemProperties) {
|
|
67
|
-
enableWhenItems[item.linkId] = enableWhenItemProperties;
|
|
68
|
-
}
|
|
69
|
-
const enableWhenExpression = getEnableWhenExpression(item);
|
|
70
|
-
if (enableWhenExpression) {
|
|
71
|
-
enableWhenExpressions[item.linkId] = {
|
|
72
|
-
expression: `${enableWhenExpression.expression}`
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
const calculatedExpression = getCalculatedExpression(item);
|
|
76
|
-
if (calculatedExpression) {
|
|
77
|
-
calculatedExpressions[item.linkId] = {
|
|
78
|
-
expression: `${calculatedExpression.expression}`
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
const answerExpression = getAnswerExpression(item);
|
|
82
|
-
if (answerExpression) {
|
|
83
|
-
answerExpressions[item.linkId] = {
|
|
84
|
-
expression: `${answerExpression.expression}`
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
const valueSetUrl = item.answerValueSet;
|
|
88
|
-
if (valueSetUrl) {
|
|
89
|
-
if (!valueSetPromises[valueSetUrl] && !valueSetUrl.startsWith('#')) {
|
|
90
|
-
const terminologyServerUrl = getTerminologyServerUrl(item);
|
|
91
|
-
valueSetPromises[valueSetUrl] = {
|
|
92
|
-
promise: getValueSetPromise(valueSetUrl, terminologyServerUrl)
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (item.extension) {
|
|
97
|
-
variables.fhirPathVariables[item.linkId] = getFhirPathVariables(item.extension);
|
|
98
|
-
for (const expression of getXFhirQueryVariables(item.extension)) {
|
|
99
|
-
if (expression.name) {
|
|
100
|
-
variables.xFhirQueryVariables[expression.name] = {
|
|
101
|
-
valueExpression: expression
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
variables,
|
|
108
|
-
enableWhenItems,
|
|
109
|
-
enableWhenExpressions,
|
|
110
|
-
calculatedExpressions,
|
|
111
|
-
answerExpressions,
|
|
112
|
-
valueSetPromises
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get enableWhen items' linked items and enableBehaviour attribute and save them in an EnableWhenItemProperties object
|
|
117
|
-
*
|
|
118
|
-
* @author Sean Fong
|
|
119
|
-
*/
|
|
120
|
-
export function getEnableWhenItemProperties(qItem) {
|
|
121
|
-
const enableWhen = qItem.enableWhen;
|
|
122
|
-
if (enableWhen) {
|
|
123
|
-
const enableWhenItemProperties = { linked: [], isEnabled: false };
|
|
124
|
-
enableWhenItemProperties.linked = enableWhen.map((linkedItem) => {
|
|
125
|
-
return { enableWhen: linkedItem };
|
|
126
|
-
});
|
|
127
|
-
if (qItem.enableBehavior) {
|
|
128
|
-
enableWhenItemProperties.enableBehavior = qItem.enableBehavior;
|
|
129
|
-
}
|
|
130
|
-
return enableWhenItemProperties;
|
|
131
|
-
}
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Check if an enableWhenExpression extension is present
|
|
136
|
-
*
|
|
137
|
-
* @author Sean Fong
|
|
138
|
-
*/
|
|
139
|
-
export function getEnableWhenExpression(qItem) {
|
|
140
|
-
var _a;
|
|
141
|
-
const itemControl = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((extension) => {
|
|
142
|
-
var _a;
|
|
143
|
-
return extension.url ===
|
|
144
|
-
'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression' &&
|
|
145
|
-
((_a = extension.valueExpression) === null || _a === void 0 ? void 0 : _a.language) === 'text/fhirpath';
|
|
146
|
-
});
|
|
147
|
-
if (itemControl) {
|
|
148
|
-
if (itemControl.valueExpression) {
|
|
149
|
-
return itemControl.valueExpression;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Check if an calculatedExpression extension is present
|
|
156
|
-
*
|
|
157
|
-
* @author Sean Fong
|
|
158
|
-
*/
|
|
159
|
-
export function getCalculatedExpression(qItem) {
|
|
160
|
-
var _a;
|
|
161
|
-
const itemControl = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((extension) => {
|
|
162
|
-
var _a;
|
|
163
|
-
return extension.url ===
|
|
164
|
-
'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression' &&
|
|
165
|
-
((_a = extension.valueExpression) === null || _a === void 0 ? void 0 : _a.language) === 'text/fhirpath';
|
|
166
|
-
});
|
|
167
|
-
if (itemControl) {
|
|
168
|
-
if (itemControl.valueExpression) {
|
|
169
|
-
return itemControl.valueExpression;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return null;
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=extractOtherExtensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["extractOtherExtensions.ts"],"names":[],"mappings":"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"}
|