@aehrc/smart-forms-renderer 1.0.0-alpha.50 → 1.0.0-alpha.52

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.
Files changed (58) hide show
  1. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +1 -1
  2. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js.map +1 -1
  3. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +11 -6
  4. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
  5. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +10 -6
  6. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
  7. package/lib/hooks/useCqfAnswerValueSet.d.ts +4 -0
  8. package/lib/hooks/useCqfAnswerValueSet.js +86 -0
  9. package/lib/hooks/useCqfAnswerValueSet.js.map +1 -0
  10. package/lib/hooks/useCqfAnswerValueSetEffect.d.ts +3 -0
  11. package/lib/hooks/useCqfAnswerValueSetEffect.js +97 -0
  12. package/lib/hooks/useCqfAnswerValueSetEffect.js.map +1 -0
  13. package/lib/hooks/useDynamicValueSetEffect.d.ts +4 -0
  14. package/lib/hooks/useDynamicValueSetEffect.js +77 -0
  15. package/lib/hooks/useDynamicValueSetEffect.js.map +1 -0
  16. package/lib/utils/updateCodingsDynamic.d.ts +1 -0
  17. package/lib/utils/updateCodingsDynamic.js +54 -0
  18. package/lib/utils/updateCodingsDynamic.js.map +1 -0
  19. package/package.json +2 -2
  20. package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +1 -2
  21. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +11 -6
  22. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +10 -6
  23. package/lib/components/FormComponents/ChoiceItems/CheckboxFormGroup.d.ts +0 -16
  24. package/lib/components/FormComponents/ChoiceItems/CheckboxFormGroup.js +0 -24
  25. package/lib/components/FormComponents/ChoiceItems/CheckboxFormGroup.js.map +0 -1
  26. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.d.ts +0 -16
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.js +0 -24
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxFormGroup.js.map +0 -1
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.d.ts +0 -0
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.js +0 -2
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxGroup.js.map +0 -1
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxList.d.ts +0 -0
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxList.js +0 -2
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxList.js.map +0 -1
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioGroup.d.ts +0 -16
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioGroup.js +0 -29
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioGroup.js.map +0 -1
  38. package/lib/components/FormComponents/ChoiceItems/RadioFormGroup.d.ts +0 -16
  39. package/lib/components/FormComponents/ChoiceItems/RadioFormGroup.js +0 -29
  40. package/lib/components/FormComponents/ChoiceItems/RadioFormGroup.js.map +0 -1
  41. package/lib/stores/extractOperationStore.d.ts +0 -26
  42. package/lib/stores/extractOperationStore.js +0 -20
  43. package/lib/stores/extractOperationStore.js.map +0 -1
  44. package/lib/templates/bloodPressureTemplate.d.ts +0 -23
  45. package/lib/templates/bloodPressureTemplate.js +0 -80
  46. package/lib/templates/bloodPressureTemplate.js.map +0 -1
  47. package/lib/tests/test-data/bloodPressureSample.d.ts +0 -3
  48. package/lib/tests/test-data/bloodPressureSample.js +0 -250
  49. package/lib/tests/test-data/bloodPressureSample.js.map +0 -1
  50. package/lib/tests/test-data/complexTemplateSample.d.ts +0 -3
  51. package/lib/tests/test-data/complexTemplateSample.js +0 -578
  52. package/lib/tests/test-data/complexTemplateSample.js.map +0 -1
  53. package/lib/utils/extractTemplate.d.ts +0 -44
  54. package/lib/utils/extractTemplate.js +0 -809
  55. package/lib/utils/extractTemplate.js.map +0 -1
  56. package/lib/utils/templateMatching.d.ts +0 -15
  57. package/lib/utils/templateMatching.js +0 -62
  58. package/lib/utils/templateMatching.js.map +0 -1
@@ -13,7 +13,7 @@ function AttachmentField(props) {
13
13
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
14
14
  const readOnlyTextColor = readOnlyVisualStyle === 'disabled' ? 'text.disabled' : 'text.secondary';
15
15
  const { uploadedFile, url, fileName } = attachmentValues;
16
- // TODO: Consider accessible items for attachment fields too if #1096 is fixed.
16
+ // TODO: Consider accessible items for attachment fields too if #1096 is fixed.
17
17
  return (_jsxs(_Fragment, { children: [_jsxs(Stack, Object.assign({ rowGap: 1, id: itemType + '-' + linkId }, { children: [_jsx(Typography, Object.assign({ component: "div", color: readOnly ? readOnlyTextColor : 'text.primary' }, { children: "An attachment must either have a file or a URL, or both." })), _jsx(Box, { children: _jsx(AttachmentFileCollector, { uploadedFile: uploadedFile, readOnly: readOnly, isTabled: isTabled, onUploadFile: onUploadFile }) }), _jsx(AttachmentUrlField, { linkId: linkId, url: url, readOnly: readOnly, isTabled: isTabled, onUrlChange: onUrlChange }), _jsxs(Box, { children: [_jsx(Typography, Object.assign({ component: "div", variant: "body2", color: readOnly ? readOnlyTextColor : 'text.primary' }, { children: "File name (optional)" })), _jsx(StandardTextField, { fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, id: linkId, value: fileName, onChange: (event) => onFileNameChange(event.target.value), disabled: readOnly && readOnlyVisualStyle === 'disabled', size: "small", "data-test": "q-item-attachment-field", slotProps: {
18
18
  input: {
19
19
  readOnly: readOnly && readOnlyVisualStyle === 'readonly'
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/AttachmentItem/AttachmentField.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAa1D,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,iBAAiB,GAAG,mBAAmB,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAElG,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IAE3D,gFAAgF;IAG9E,OAAO,CACL,8BACE,MAAC,KAAK,kBAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,iBAC3C,KAAC,UAAU,kBAAC,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,8EAEnE,EACb,KAAC,GAAG,cACF,KAAC,uBAAuB,IACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GAC1B,GACE,EAEN,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB,EAEF,MAAC,GAAG,eACF,KAAC,UAAU,kBACT,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,OAAO,EACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,0CAEzC,EACb,KAAC,iBAAiB,IAChB,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACzD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,eACF,yBAAyB,EACnC,SAAS,EAAE;oCACT,KAAK,EAAE;wCACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;qCACzD;iCACF,GACD,IACE,EAEL,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CACrB,KAAC,UAAU,kBAAC,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,iFAEnE,CACd,CAAC,CAAC,CAAC,IAAI,KACF,EAEP,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AttachmentField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/AttachmentItem/AttachmentField.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAa1D,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,iBAAiB,GAAG,mBAAmB,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAElG,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;IAEzD,+EAA+E;IAE/E,OAAO,CACL,8BACE,MAAC,KAAK,kBAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,iBAC3C,KAAC,UAAU,kBAAC,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,8EAEnE,EACb,KAAC,GAAG,cACF,KAAC,uBAAuB,IACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GAC1B,GACE,EAEN,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB,EAEF,MAAC,GAAG,eACF,KAAC,UAAU,kBACT,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,OAAO,EACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,0CAEzC,EACb,KAAC,iBAAiB,IAChB,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACzD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,eACF,yBAAyB,EACnC,SAAS,EAAE;oCACT,KAAK,EAAE;wCACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;qCACzD;iCACF,GACD,IACE,EAEL,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CACrB,KAAC,UAAU,kBAAC,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,iFAEnE,CACd,CAAC,CAAC,CAAC,IAAI,KACF,EAEP,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -4,7 +4,12 @@ import CircularProgress from '@mui/material/CircularProgress';
4
4
  import Fade from '@mui/material/Fade';
5
5
  import Tooltip from '@mui/material/Tooltip';
6
6
  import { StandardTextField } from '../Textfield.styles';
7
- import { Done, Error, Info, Search, WarningAmber } from '@mui/icons-material';
7
+ import SearchIcon from '@mui/icons-material/Search';
8
+ import InfoIcon from '@mui/icons-material/Info';
9
+ // @ts-ignore: Module has no declaration file. Not sure why WarningAmber.d.ts is not present in MUI icons 7.0.2
10
+ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
11
+ import DoneIcon from '@mui/icons-material/Done';
12
+ import ErrorIcon from '@mui/icons-material/Error';
8
13
  import { useRendererStylingStore } from '../../../stores';
9
14
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
10
15
  function ChoiceAutocompleteField(props) {
@@ -13,11 +18,11 @@ function ChoiceAutocompleteField(props) {
13
18
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
14
19
  const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
15
20
  return (_jsx(Autocomplete, { id: qItem.type + '-' + qItem.linkId, value: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, options: options, getOptionLabel: (option) => { var _a; return (_a = option.display) !== null && _a !== void 0 ? _a : `${option.code}`; }, isOptionEqualToValue: (option, value) => option.id === value.id, disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', loading: loading, loadingText: 'Fetching results...', clearOnEscape: true, autoHighlight: true, onChange: (_, newValue) => onValueChange(newValue), sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }, filterOptions: (x) => x, renderInput: (params) => (_jsx(StandardTextField, Object.assign({}, params, { onChange: (e) => onInputChange(e.target.value), textFieldWidth: textFieldWidth, isTabled: isTabled, label: displayPrompt, size: "small", placeholder: entryFormat, slotProps: {
16
- input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', startAdornment: (_jsxs(_Fragment, { children: [!valueCoding ? _jsx(Search, { fontSize: "small", sx: { ml: 0.5 } }) : null, params.InputProps.startAdornment] })), endAdornment: (_jsxs(_Fragment, { children: [loading ? (_jsx(CircularProgress, { color: "inherit", size: 16 })) : feedback ? (_jsx(Fade, Object.assign({ in: !!feedback, timeout: 300 }, { children: _jsx(Tooltip, Object.assign({ title: feedback.message, arrow: true, sx: { ml: 1 } }, { children: {
17
- info: _jsx(Info, { fontSize: "small", color: "info" }),
18
- warning: _jsx(WarningAmber, { fontSize: "small", color: "warning" }),
19
- success: _jsx(Done, { fontSize: "small", color: "success" }),
20
- error: _jsx(Error, { fontSize: "small", color: "error" })
21
+ input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', startAdornment: (_jsxs(_Fragment, { children: [!valueCoding ? _jsx(SearchIcon, { fontSize: "small", sx: { ml: 0.5 } }) : null, params.InputProps.startAdornment] })), endAdornment: (_jsxs(_Fragment, { children: [loading ? (_jsx(CircularProgress, { color: "inherit", size: 16 })) : feedback ? (_jsx(Fade, Object.assign({ in: !!feedback, timeout: 300 }, { children: _jsx(Tooltip, Object.assign({ title: feedback.message, arrow: true, sx: { ml: 1 } }, { children: {
22
+ info: _jsx(InfoIcon, { fontSize: "small", color: "info" }),
23
+ warning: _jsx(WarningAmberIcon, { fontSize: "small", color: "warning" }),
24
+ success: _jsx(DoneIcon, { fontSize: "small", color: "success" }),
25
+ error: _jsx(ErrorIcon, { fontSize: "small", color: "error" })
21
26
  }[feedback.color] })) }))) : null, params.InputProps.endAdornment, _jsx(DisplayUnitText, Object.assign({ readOnly: readOnly }, { children: displayUnit }))] })) })
22
27
  } }))) }));
23
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAutocompleteField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx"],"names":[],"mappings":";AAkBA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAO9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAgB3D,SAAS,uBAAuB,CAAC,KAAoC;IACnE,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;IAExE,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,OAAO,mCAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA,EAAA,EAC9D,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAC/D,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,qBAAqB,EAClC,aAAa,QACb,aAAa,QACb,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAClD,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,EAC/E,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACvB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,iBAAiB,oBACZ,MAAM,IACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE;gBACT,KAAK,kCACA,MAAM,CAAC,UAAU,KACpB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,cAAc,EAAE,CACd,8BACG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EAClE,MAAM,CAAC,UAAU,CAAC,cAAc,IAChC,CACJ,EACD,YAAY,EAAE,CACZ,8BACG,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,gBAAgB,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,GAAI,CAC/C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACb,KAAC,IAAI,kBAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,gBAChC,KAAC,OAAO,kBAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,gBAEjD;wCACE,IAAI,EAAE,KAAC,IAAI,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,GAAG;wCAC5C,OAAO,EAAE,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG;wCAC1D,OAAO,EAAE,KAAC,IAAI,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG;wCAClD,KAAK,EAAE,KAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG;qCAChD,CAAC,QAAQ,CAAC,KAAK,CAAC,IAEX,IACL,CACR,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,UAAU,CAAC,YAAY,EAC/B,KAAC,eAAe,kBAAC,QAAQ,EAAE,QAAQ,gBAAG,WAAW,IAAmB,IACnE,CACJ,GACF;aACF,IACD,CACH,GACD,CACH,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ChoiceAutocompleteField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,15 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import Box from '@mui/material/Box';
3
3
  import Autocomplete from '@mui/material/Autocomplete';
4
4
  import { StandardTextField } from '../Textfield.styles';
5
- import SearchIcon from '@mui/icons-material/Search';
6
5
  import CircularProgress from '@mui/material/CircularProgress';
7
6
  import Fade from '@mui/material/Fade';
8
7
  import Tooltip from '@mui/material/Tooltip';
9
- import { Done, Error, Info, WarningAmber } from '@mui/icons-material';
8
+ import SearchIcon from '@mui/icons-material/Search';
9
+ import InfoIcon from '@mui/icons-material/Info';
10
+ // @ts-ignore: Module has no declaration file. Not sure why WarningAmber.d.ts is not present in MUI icons 7.0.2
11
+ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
12
+ import DoneIcon from '@mui/icons-material/Done';
13
+ import ErrorIcon from '@mui/icons-material/Error';
10
14
  import { useRendererStylingStore } from '../../../stores';
11
15
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
12
16
  function OpenChoiceAutocompleteField(props) {
@@ -18,10 +22,10 @@ function OpenChoiceAutocompleteField(props) {
18
22
  input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', startAdornment: (_jsxs(_Fragment, { children: [!valueAutocomplete || valueAutocomplete === '' ? (_jsx(SearchIcon, { fontSize: "small", sx: { ml: 0.5 } })) : null, params.InputProps.startAdornment] })),
19
23
  // Warning indicator should not show up in open-choice autocomplete
20
24
  endAdornment: (_jsxs(_Fragment, { children: [loading ? (_jsx(CircularProgress, { color: "inherit", size: 16 })) : feedback && feedback.color !== 'warning' ? (_jsx(Fade, Object.assign({ in: !!feedback, timeout: 300 }, { children: _jsx(Tooltip, Object.assign({ title: feedback.message, arrow: true, sx: { ml: 1 } }, { children: {
21
- info: _jsx(Info, { fontSize: "small", color: "info" }),
22
- warning: _jsx(WarningAmber, { fontSize: "small", color: "warning" }),
23
- success: _jsx(Done, { fontSize: "small", color: "success" }),
24
- error: _jsx(Error, { fontSize: "small", color: "error" })
25
+ info: _jsx(InfoIcon, { fontSize: "small", color: "info" }),
26
+ warning: _jsx(WarningAmberIcon, { fontSize: "small", color: "warning" }),
27
+ success: _jsx(DoneIcon, { fontSize: "small", color: "success" }),
28
+ error: _jsx(ErrorIcon, { fontSize: "small", color: "error" })
25
29
  }[feedback.color] })) }))) : null, params.InputProps.endAdornment, _jsx(DisplayUnitText, Object.assign({ readOnly: readOnly }, { children: displayUnit }))] })) })
26
30
  }, "data-test": "q-item-open-choice-autocomplete-field" }))) }) })));
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenChoiceAutocompleteField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx"],"names":[],"mappings":";AAkBA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpC,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAmB3D,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,EACJ,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;IAExE,OAAO,CACL,KAAC,GAAG,kBAAC,OAAO,EAAC,MAAM,gBACjB,KAAC,YAAY,IACX,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,WACzB,OAAA,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA,EAAA,EAE5E,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,qBAAqB,EAClC,aAAa,QACb,QAAQ,QACR,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,EAC/E,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAClE,aAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EACvE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACvB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,iBAAiB,oBACZ,MAAM,IACV,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE;oBACT,KAAK,kCACA,MAAM,CAAC,UAAU,KACpB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,cAAc,EAAE,CACd,8BACG,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,CAChD,KAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,CACjD,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,UAAU,CAAC,cAAc,IAChC,CACJ;wBACD,mEAAmE;wBACnE,YAAY,EAAE,CACZ,8BACG,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,gBAAgB,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,GAAI,CAC/C,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7C,KAAC,IAAI,kBAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,gBAChC,KAAC,OAAO,kBAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,gBAEjD;4CACE,IAAI,EAAE,KAAC,IAAI,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,GAAG;4CAC5C,OAAO,EAAE,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG;4CAC1D,OAAO,EAAE,KAAC,IAAI,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG;4CAClD,KAAK,EAAE,KAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG;yCAChD,CAAC,QAAQ,CAAC,KAAK,CAAC,IAEX,IACL,CACR,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,UAAU,CAAC,YAAY,EAC/B,KAAC,eAAe,kBAAC,QAAQ,EAAE,QAAQ,gBAAG,WAAW,IAAmB,IACnE,CACJ,GACF;iBACF,eACS,uCAAuC,IACjD,CACH,GACD,IACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"OpenChoiceAutocompleteField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Coding, QuestionnaireItem } from 'fhir/r4';
2
+ import type { ProcessedValueSet } from '../interfaces/valueSet.interface';
3
+ declare function useCqfAnswerValueSet(qItem: QuestionnaireItem, answerValueSetUrl: string | undefined, terminologyServerUrl: string, processedValueSets: Record<string, ProcessedValueSet>, cachedValueSetCodings: Record<string, Coding[]>, onSetCodings: (codings: Coding[]) => void, onSetDynamicCodingsUpdated: (updated: boolean) => void, onSetServerError: (error: Error) => void): void;
4
+ export default useCqfAnswerValueSet;
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { useQuestionnaireStore } from '../stores';
18
+ import { useEffect } from 'react';
19
+ function useCqfAnswerValueSet(qItem, answerValueSetUrl, terminologyServerUrl, processedValueSets, cachedValueSetCodings, onSetCodings, onSetDynamicCodingsUpdated, onSetServerError) {
20
+ var _a;
21
+ const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
22
+ const addCodingToCache = useQuestionnaireStore.use.addCodingToCache();
23
+ const cqfAnswerValueSetCqfExpression = (_a = calculatedExpressions[qItem.linkId]) === null || _a === void 0 ? void 0 : _a.find((exp) => exp.from === 'item._answerValueSet');
24
+ useEffect(() => {
25
+ if (!qItem.answerValueSet || !qItem._answerValueSet) {
26
+ return;
27
+ }
28
+ if (!cqfAnswerValueSetCqfExpression) {
29
+ return;
30
+ }
31
+ // console.log(cqfAnswerValueSetCqfExpression.value);
32
+ let updatableValueSetUrl = qItem.answerValueSet;
33
+ // if the cqf-expression value is a valid string, use it as the answerValueSet URL
34
+ if (typeof cqfAnswerValueSetCqfExpression.value === 'string' &&
35
+ cqfAnswerValueSetCqfExpression.value !== '') {
36
+ updatableValueSetUrl = cqfAnswerValueSetCqfExpression.value;
37
+ }
38
+ console.log(updatableValueSetUrl);
39
+ // // attempt to get codings from cached queried value sets
40
+ // if (cachedValueSetCodings[updatableValueSetUrl]) {
41
+ // onSetCodings(cachedValueSetCodings[updatableValueSetUrl]);
42
+ //
43
+ // // Update ui to show calculated value changes
44
+ // onSetDynamicCodingsUpdated(true);
45
+ // const timeoutId = setTimeout(() => {
46
+ // onSetDynamicCodingsUpdated(false);
47
+ // }, 500);
48
+ //
49
+ // return () => clearTimeout(timeoutId);
50
+ // }
51
+ //
52
+ // const promise = getValueSetPromise(updatableValueSetUrl, terminologyServerUrl);
53
+ // if (promise) {
54
+ // promise
55
+ // .then(async (valueSet: ValueSet) => {
56
+ // const newCodings = getValueSetCodings(valueSet);
57
+ // addDisplayToCodingArray(newCodings, terminologyServerUrl)
58
+ // .then((codingsWithDisplay) => {
59
+ // if (codingsWithDisplay.length > 0) {
60
+ // addCodingToCache(updatableValueSetUrl, codingsWithDisplay);
61
+ // onSetCodings(newCodings);
62
+ // } else {
63
+ // addCodingToCache(updatableValueSetUrl, codingsWithDisplay);
64
+ // onSetCodings([]);
65
+ // }
66
+ //
67
+ // // Update ui to show calculated value changes
68
+ // onSetDynamicCodingsUpdated(true);
69
+ // const timeoutId = setTimeout(() => {
70
+ // onSetDynamicCodingsUpdated(false);
71
+ // }, 500);
72
+ //
73
+ // return () => clearTimeout(timeoutId);
74
+ // })
75
+ // .catch((error: Error) => {
76
+ // onSetServerError(error);
77
+ // });
78
+ // })
79
+ // .catch((error: Error) => {
80
+ // onSetServerError(error);
81
+ // });
82
+ // }
83
+ }, [calculatedExpressions]);
84
+ }
85
+ export default useCqfAnswerValueSet;
86
+ //# sourceMappingURL=useCqfAnswerValueSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCqfAnswerValueSet.js","sourceRoot":"","sources":["../../src/hooks/useCqfAnswerValueSet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,SAAS,oBAAoB,CAC3B,KAAwB,EACxB,iBAAqC,EACrC,oBAA4B,EAC5B,kBAAqD,EACrD,qBAA+C,EAC/C,YAAyC,EACzC,0BAAsD,EACtD,gBAAwC;;IAExC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAEtE,MAAM,8BAA8B,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9E,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAC7C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YACnD,OAAO;SACR;QAED,IAAI,CAAC,8BAA8B,EAAE;YACnC,OAAO;SACR;QAED,qDAAqD;QAErD,IAAI,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC;QAChD,kFAAkF;QAClF,IACE,OAAO,8BAA8B,CAAC,KAAK,KAAK,QAAQ;YACxD,8BAA8B,CAAC,KAAK,KAAK,EAAE,EAC3C;YACA,oBAAoB,GAAG,8BAA8B,CAAC,KAAK,CAAC;SAC7D;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAElC,2DAA2D;QAC3D,qDAAqD;QACrD,+DAA+D;QAC/D,EAAE;QACF,kDAAkD;QAClD,sCAAsC;QACtC,yCAAyC;QACzC,yCAAyC;QACzC,aAAa;QACb,EAAE;QACF,0CAA0C;QAC1C,IAAI;QACJ,EAAE;QACF,kFAAkF;QAClF,iBAAiB;QACjB,YAAY;QACZ,4CAA4C;QAC5C,yDAAyD;QACzD,kEAAkE;QAClE,0CAA0C;QAC1C,iDAAiD;QACjD,0EAA0E;QAC1E,wCAAwC;QACxC,qBAAqB;QACrB,0EAA0E;QAC1E,gCAAgC;QAChC,cAAc;QACd,EAAE;QACF,0DAA0D;QAC1D,8CAA8C;QAC9C,iDAAiD;QACjD,iDAAiD;QACjD,qBAAqB;QACrB,EAAE;QACF,kDAAkD;QAClD,aAAa;QACb,qCAAqC;QACrC,qCAAqC;QACrC,cAAc;QACd,SAAS;QACT,iCAAiC;QACjC,iCAAiC;QACjC,UAAU;QACV,IAAI;IACN,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Coding, QuestionnaireItem } from 'fhir/r4';
2
+ declare function useCqfAnswerValueSetEffect(qItem: QuestionnaireItem, terminologyServerUrl: string, cachedValueSetCodings: Record<string, Coding[]>, onSetCodings: (codings: Coding[]) => void, onSetDynamicCodingsUpdated: (updated: boolean) => void, onSetServerError: (error: Error) => void): void;
3
+ export default useCqfAnswerValueSetEffect;
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Copyright 2024 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ 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 { useQuestionnaireStore } from '../stores';
27
+ import { useEffect } from 'react';
28
+ import { getValueSetCodings, getValueSetPromise } from '../utils/valueSet';
29
+ import { addDisplayToCodingArray } from '../utils/questionnaireStoreUtils/addDisplayToCodings';
30
+ function useCqfAnswerValueSetEffect(qItem, terminologyServerUrl, cachedValueSetCodings, onSetCodings, onSetDynamicCodingsUpdated, onSetServerError) {
31
+ var _a;
32
+ const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
33
+ const addCodingToCache = useQuestionnaireStore.use.addCodingToCache();
34
+ const cqfAnswerValueSetCqfExpression = (_a = calculatedExpressions[qItem.linkId]) === null || _a === void 0 ? void 0 : _a.find((exp) => exp.from === 'item._answerValueSet');
35
+ useEffect(() => {
36
+ if (!qItem.answerValueSet || !qItem._answerValueSet) {
37
+ return;
38
+ }
39
+ if (!cqfAnswerValueSetCqfExpression) {
40
+ return;
41
+ }
42
+ // console.log(cqfAnswerValueSetCqfExpression.value);
43
+ let updatableValueSetUrl = qItem.answerValueSet;
44
+ // if the cqf-expression value is a valid string, use it as the answerValueSet URL
45
+ if (typeof cqfAnswerValueSetCqfExpression.value === 'string' &&
46
+ cqfAnswerValueSetCqfExpression.value !== '') {
47
+ updatableValueSetUrl = cqfAnswerValueSetCqfExpression.value;
48
+ }
49
+ console.log(updatableValueSetUrl);
50
+ // attempt to get codings from cached queried value sets
51
+ if (cachedValueSetCodings[updatableValueSetUrl]) {
52
+ onSetCodings(cachedValueSetCodings[updatableValueSetUrl]);
53
+ // Update ui to show calculated value changes
54
+ onSetDynamicCodingsUpdated(true);
55
+ const timeoutId = setTimeout(() => {
56
+ onSetDynamicCodingsUpdated(false);
57
+ }, 500);
58
+ return () => clearTimeout(timeoutId);
59
+ }
60
+ const promise = getValueSetPromise(updatableValueSetUrl, terminologyServerUrl);
61
+ if (!promise) {
62
+ return;
63
+ }
64
+ promise
65
+ .then((valueSet) => __awaiter(this, void 0, void 0, function* () {
66
+ const newCodings = getValueSetCodings(valueSet);
67
+ try {
68
+ const codingsWithDisplay = yield addDisplayToCodingArray(newCodings, terminologyServerUrl);
69
+ addCodingToCache(updatableValueSetUrl, codingsWithDisplay);
70
+ onSetCodings(codingsWithDisplay.length > 0 ? newCodings : []);
71
+ // Update UI to show calculated value changes
72
+ onSetDynamicCodingsUpdated(true);
73
+ const timeoutId = setTimeout(() => {
74
+ onSetDynamicCodingsUpdated(false);
75
+ }, 500);
76
+ return () => clearTimeout(timeoutId);
77
+ }
78
+ catch (error) {
79
+ onSetServerError(error);
80
+ }
81
+ }))
82
+ .catch((error) => {
83
+ onSetServerError(error);
84
+ });
85
+ }, [
86
+ addCodingToCache,
87
+ cachedValueSetCodings,
88
+ calculatedExpressions,
89
+ onSetCodings,
90
+ onSetDynamicCodingsUpdated,
91
+ onSetServerError,
92
+ qItem,
93
+ terminologyServerUrl
94
+ ]);
95
+ }
96
+ export default useCqfAnswerValueSetEffect;
97
+ //# sourceMappingURL=useCqfAnswerValueSetEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCqfAnswerValueSetEffect.js","sourceRoot":"","sources":["../../src/hooks/useCqfAnswerValueSetEffect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Coding, QuestionnaireItem } from 'fhir/r4';
2
+ import type { ProcessedValueSet } from '../interfaces/valueSet.interface';
3
+ declare function useDynamicValueSetEffect(qItem: QuestionnaireItem, answerValueSetUrl: string | undefined, terminologyServerUrl: string, processedValueSets: Record<string, ProcessedValueSet>, cachedValueSetCodings: Record<string, Coding[]>, onSetCodings: (codings: Coding[]) => void, onSetDynamicCodingsUpdated: (updated: boolean) => void, onSetServerError: (error: Error) => void): void;
4
+ export default useDynamicValueSetEffect;
@@ -0,0 +1,77 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { useEffect } from 'react';
11
+ import { getValueSetCodings, getValueSetPromise } from '../utils/valueSet';
12
+ import { addDisplayToCodingArray } from '../utils/questionnaireStoreUtils/addDisplayToCodings';
13
+ import { useQuestionnaireStore } from '../stores';
14
+ function useDynamicValueSetEffect(qItem, answerValueSetUrl, terminologyServerUrl, processedValueSets, cachedValueSetCodings, onSetCodings, onSetDynamicCodingsUpdated, onSetServerError) {
15
+ var _a;
16
+ const addCodingToCache = useQuestionnaireStore.use.addCodingToCache();
17
+ const updatableValueSetUrl = (_a = processedValueSets[answerValueSetUrl !== null && answerValueSetUrl !== void 0 ? answerValueSetUrl : '']) === null || _a === void 0 ? void 0 : _a.updatableValueSetUrl;
18
+ useEffect(() => {
19
+ if (!qItem.answerValueSet || !qItem._answerValueSet) {
20
+ return;
21
+ }
22
+ if (!updatableValueSetUrl) {
23
+ return;
24
+ }
25
+ // attempt to get codings from cached queried value sets
26
+ if (cachedValueSetCodings[updatableValueSetUrl]) {
27
+ onSetCodings(cachedValueSetCodings[updatableValueSetUrl]);
28
+ // Update ui to show calculated value changes
29
+ onSetDynamicCodingsUpdated(true);
30
+ const timeoutId = setTimeout(() => {
31
+ onSetDynamicCodingsUpdated(false);
32
+ }, 500);
33
+ return () => clearTimeout(timeoutId);
34
+ }
35
+ const promise = getValueSetPromise(updatableValueSetUrl, terminologyServerUrl);
36
+ if (promise) {
37
+ promise
38
+ .then((valueSet) => __awaiter(this, void 0, void 0, function* () {
39
+ const newCodings = getValueSetCodings(valueSet);
40
+ addDisplayToCodingArray(newCodings, terminologyServerUrl)
41
+ .then((codingsWithDisplay) => {
42
+ if (codingsWithDisplay.length > 0) {
43
+ addCodingToCache(updatableValueSetUrl, codingsWithDisplay);
44
+ onSetCodings(newCodings);
45
+ }
46
+ else {
47
+ addCodingToCache(updatableValueSetUrl, codingsWithDisplay);
48
+ onSetCodings([]);
49
+ }
50
+ // Update ui to show calculated value changes
51
+ onSetDynamicCodingsUpdated(true);
52
+ const timeoutId = setTimeout(() => {
53
+ onSetDynamicCodingsUpdated(false);
54
+ }, 500);
55
+ return () => clearTimeout(timeoutId);
56
+ })
57
+ .catch((error) => {
58
+ onSetServerError(error);
59
+ });
60
+ }))
61
+ .catch((error) => {
62
+ onSetServerError(error);
63
+ });
64
+ }
65
+ }, [
66
+ addCodingToCache,
67
+ cachedValueSetCodings,
68
+ onSetCodings,
69
+ onSetDynamicCodingsUpdated,
70
+ onSetServerError,
71
+ qItem,
72
+ terminologyServerUrl,
73
+ updatableValueSetUrl
74
+ ]);
75
+ }
76
+ export default useDynamicValueSetEffect;
77
+ //# sourceMappingURL=useDynamicValueSetEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDynamicValueSetEffect.js","sourceRoot":"","sources":["../../src/hooks/useDynamicValueSetEffect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Copyright 2025 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 { getValueSetCodings } from './valueSet';
27
+ import { addDisplayToCodingArray } from './questionnaireStoreUtils/addDisplayToCodings';
28
+ function updateCodingsDynamically({ promise, updatableValueSetUrl, terminologyServerUrl, onSetCodings, onSetDynamicCodingsUpdated, onSetServerError, addCodingToCache }) {
29
+ if (!promise) {
30
+ return;
31
+ }
32
+ promise
33
+ .then((valueSet) => __awaiter(this, void 0, void 0, function* () {
34
+ const newCodings = getValueSetCodings(valueSet);
35
+ try {
36
+ const codingsWithDisplay = yield addDisplayToCodingArray(newCodings, terminologyServerUrl);
37
+ addCodingToCache(updatableValueSetUrl, codingsWithDisplay);
38
+ onSetCodings(codingsWithDisplay.length > 0 ? newCodings : []);
39
+ // Update UI to show calculated value changes
40
+ onSetDynamicCodingsUpdated(true);
41
+ const timeoutId = setTimeout(() => {
42
+ onSetDynamicCodingsUpdated(false);
43
+ }, 500);
44
+ return () => clearTimeout(timeoutId);
45
+ }
46
+ catch (error) {
47
+ onSetServerError(error);
48
+ }
49
+ }))
50
+ .catch((error) => {
51
+ onSetServerError(error);
52
+ });
53
+ }
54
+ //# sourceMappingURL=updateCodingsDynamic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateCodingsDynamic.js","sourceRoot":"","sources":["../../src/utils/updateCodingsDynamic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAExF,SAAS,wBAAwB,CAAC,EAChC,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EASjB;IACC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO;KACR;IAED,OAAO;SACJ,IAAI,CAAC,CAAO,QAAkB,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI;YACF,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAE3F,gBAAgB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;YAC3D,YAAY,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9D,6CAA6C;YAC7C,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACd,gBAAgB,CAAC,KAAc,CAAC,CAAC;SAClC;IACH,CAAC,CAAA,CAAC;SACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACtB,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "1.0.0-alpha.50",
3
+ "version": "1.0.0-alpha.52",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -88,7 +88,7 @@
88
88
  "@types/react": "^19.1.0",
89
89
  "@types/react-beautiful-dnd": "^13.1.8",
90
90
  "@types/react-dom": "^19.1.1",
91
- "chokidar": "^3.6.0",
91
+ "chokidar": "^4.0.3",
92
92
  "concurrently": "^9.1.2",
93
93
  "jest": "^29.7.0",
94
94
  "jest-environment-jsdom": "^29.7.0",
@@ -58,8 +58,7 @@ function AttachmentField(props: AttachmentFieldProps) {
58
58
 
59
59
  const { uploadedFile, url, fileName } = attachmentValues;
60
60
 
61
- // TODO: Consider accessible items for attachment fields too if #1096 is fixed.
62
-
61
+ // TODO: Consider accessible items for attachment fields too if #1096 is fixed.
63
62
 
64
63
  return (
65
64
  <>
@@ -22,7 +22,12 @@ import Fade from '@mui/material/Fade';
22
22
  import Tooltip from '@mui/material/Tooltip';
23
23
  import type { Coding, QuestionnaireItem } from 'fhir/r4';
24
24
  import { StandardTextField } from '../Textfield.styles';
25
- import { Done, Error, Info, Search, WarningAmber } from '@mui/icons-material';
25
+ import SearchIcon from '@mui/icons-material/Search';
26
+ import InfoIcon from '@mui/icons-material/Info';
27
+ // @ts-ignore: Module has no declaration file. Not sure why WarningAmber.d.ts is not present in MUI icons 7.0.2
28
+ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
29
+ import DoneIcon from '@mui/icons-material/Done';
30
+ import ErrorIcon from '@mui/icons-material/Error';
26
31
  import type {
27
32
  PropsWithIsTabledRequiredAttribute,
28
33
  PropsWithParentIsReadOnlyAttribute,
@@ -96,7 +101,7 @@ function ChoiceAutocompleteField(props: ChoiceAutocompleteFieldsProps) {
96
101
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
97
102
  startAdornment: (
98
103
  <>
99
- {!valueCoding ? <Search fontSize="small" sx={{ ml: 0.5 }} /> : null}
104
+ {!valueCoding ? <SearchIcon fontSize="small" sx={{ ml: 0.5 }} /> : null}
100
105
  {params.InputProps.startAdornment}
101
106
  </>
102
107
  ),
@@ -109,10 +114,10 @@ function ChoiceAutocompleteField(props: ChoiceAutocompleteFieldsProps) {
109
114
  <Tooltip title={feedback.message} arrow sx={{ ml: 1 }}>
110
115
  {
111
116
  {
112
- info: <Info fontSize="small" color="info" />,
113
- warning: <WarningAmber fontSize="small" color="warning" />,
114
- success: <Done fontSize="small" color="success" />,
115
- error: <Error fontSize="small" color="error" />
117
+ info: <InfoIcon fontSize="small" color="info" />,
118
+ warning: <WarningAmberIcon fontSize="small" color="warning" />,
119
+ success: <DoneIcon fontSize="small" color="success" />,
120
+ error: <ErrorIcon fontSize="small" color="error" />
116
121
  }[feedback.color]
117
122
  }
118
123
  </Tooltip>
@@ -20,11 +20,15 @@ import Box from '@mui/material/Box';
20
20
  import type { AutocompleteChangeReason } from '@mui/material/Autocomplete';
21
21
  import Autocomplete from '@mui/material/Autocomplete';
22
22
  import { StandardTextField } from '../Textfield.styles';
23
- import SearchIcon from '@mui/icons-material/Search';
24
23
  import CircularProgress from '@mui/material/CircularProgress';
25
24
  import Fade from '@mui/material/Fade';
26
25
  import Tooltip from '@mui/material/Tooltip';
27
- import { Done, Error, Info, WarningAmber } from '@mui/icons-material';
26
+ import SearchIcon from '@mui/icons-material/Search';
27
+ import InfoIcon from '@mui/icons-material/Info';
28
+ // @ts-ignore: Module has no declaration file. Not sure why WarningAmber.d.ts is not present in MUI icons 7.0.2
29
+ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
30
+ import DoneIcon from '@mui/icons-material/Done';
31
+ import ErrorIcon from '@mui/icons-material/Error';
28
32
  import type { Coding, QuestionnaireItem } from 'fhir/r4';
29
33
  import type {
30
34
  PropsWithIsTabledRequiredAttribute,
@@ -121,10 +125,10 @@ function OpenChoiceAutocompleteField(props: OpenChoiceAutocompleteFieldProps) {
121
125
  <Tooltip title={feedback.message} arrow sx={{ ml: 1 }}>
122
126
  {
123
127
  {
124
- info: <Info fontSize="small" color="info" />,
125
- warning: <WarningAmber fontSize="small" color="warning" />,
126
- success: <Done fontSize="small" color="success" />,
127
- error: <Error fontSize="small" color="error" />
128
+ info: <InfoIcon fontSize="small" color="info" />,
129
+ warning: <WarningAmberIcon fontSize="small" color="warning" />,
130
+ success: <DoneIcon fontSize="small" color="success" />,
131
+ error: <ErrorIcon fontSize="small" color="error" />
128
132
  }[feedback.color]
129
133
  }
130
134
  </Tooltip>
@@ -1,16 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer } from 'fhir/r4';
3
- interface ChoiceCheckboxFormGroupProps {
4
- qItem: QuestionnaireItem;
5
- options: QuestionnaireItemAnswerOption[];
6
- answers: QuestionnaireResponseItemAnswer[];
7
- feedback: string;
8
- readOnly: boolean;
9
- expressionUpdated: boolean;
10
- answerOptionsToggleExpressionsMap: Map<string, boolean>;
11
- onCheckedChange: (newValue: string) => void;
12
- onClear: () => void;
13
- children?: ReactNode;
14
- }
15
- declare function ChoiceCheckboxFormGroup(props: ChoiceCheckboxFormGroupProps): import("react/jsx-runtime").JSX.Element;
16
- export default ChoiceCheckboxFormGroup;