@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.
Files changed (363) hide show
  1. package/lib/components/FormRenderer/SmartFormsRenderer.js +4 -2
  2. package/lib/components/FormRenderer/SmartFormsRenderer.js.map +1 -1
  3. package/lib/theme/Theme.d.ts +38 -0
  4. package/lib/theme/Theme.js +39 -0
  5. package/lib/theme/Theme.js.map +1 -0
  6. package/lib/theme/globalStyles.d.ts +2 -0
  7. package/lib/theme/globalStyles.js +64 -0
  8. package/lib/theme/globalStyles.js.map +1 -0
  9. package/lib/theme/overrides/Accordion.d.ts +14 -0
  10. package/{src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js → lib/theme/overrides/Accordion.js} +15 -7
  11. package/lib/theme/overrides/Accordion.js.map +1 -0
  12. package/lib/theme/overrides/Autocomplete.d.ts +10 -0
  13. package/{src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js → lib/theme/overrides/Autocomplete.js} +12 -7
  14. package/lib/theme/overrides/Autocomplete.js.map +1 -0
  15. package/lib/theme/overrides/Backdrop.d.ts +13 -0
  16. package/{src/components/FormComponents/ItemParts/FadingCheckIcon.js → lib/theme/overrides/Backdrop.js} +15 -9
  17. package/lib/theme/overrides/Backdrop.js.map +1 -0
  18. package/lib/theme/overrides/Button.d.ts +33 -0
  19. package/lib/theme/overrides/Button.js +52 -0
  20. package/lib/theme/overrides/Button.js.map +1 -0
  21. package/lib/theme/overrides/Card.d.ts +35 -0
  22. package/lib/theme/overrides/Card.js +49 -0
  23. package/lib/theme/overrides/Card.js.map +1 -0
  24. package/lib/theme/overrides/Input.d.ts +64 -0
  25. package/lib/theme/overrides/Input.js +81 -0
  26. package/lib/theme/overrides/Input.js.map +1 -0
  27. package/lib/theme/overrides/Overrides.d.ts +3 -0
  28. package/{src/components/BackToTopButton/BackToTopButton.js → lib/theme/overrides/Overrides.js} +14 -15
  29. package/lib/theme/overrides/Overrides.js.map +1 -0
  30. package/lib/theme/overrides/Paper.d.ts +12 -0
  31. package/{src/hooks/useQueryClient.js → lib/theme/overrides/Paper.js} +12 -10
  32. package/lib/theme/overrides/Paper.js.map +1 -0
  33. package/lib/theme/overrides/SpeedDial.d.ts +16 -0
  34. package/{src/hooks/useInitialiseRepeatAnswers.js → lib/theme/overrides/SpeedDial.js} +16 -18
  35. package/lib/theme/overrides/SpeedDial.js.map +1 -0
  36. package/lib/theme/overrides/Table.d.ts +11 -0
  37. package/{src/components/FormRenderer/index.js → lib/theme/overrides/Table.js} +13 -2
  38. package/lib/theme/overrides/Table.js.map +1 -0
  39. package/lib/theme/overrides/Typography.d.ts +13 -0
  40. package/lib/theme/overrides/Typography.js +31 -0
  41. package/lib/theme/overrides/Typography.js.map +1 -0
  42. package/lib/theme/palette.d.ts +28 -0
  43. package/lib/theme/palette.js +67 -0
  44. package/lib/theme/palette.js.map +1 -0
  45. package/lib/theme/shadows.d.ts +2 -0
  46. package/lib/theme/shadows.js +52 -0
  47. package/lib/theme/shadows.js.map +1 -0
  48. package/lib/theme/typography.d.ts +139 -0
  49. package/lib/theme/typography.js +80 -0
  50. package/lib/theme/typography.js.map +1 -0
  51. package/package.json +1 -1
  52. package/src/components/FormRenderer/SmartFormsRenderer.tsx +6 -3
  53. package/src/theme/Theme.tsx +107 -0
  54. package/src/theme/globalStyles.tsx +68 -0
  55. package/src/{components/FormComponents/Item.styles.js → theme/overrides/Accordion.ts} +18 -11
  56. package/src/{interfaces/answerExpression.interface.js → theme/overrides/Autocomplete.ts} +14 -2
  57. package/src/theme/overrides/Backdrop.ts +34 -0
  58. package/src/theme/overrides/Button.ts +54 -0
  59. package/src/theme/overrides/Card.ts +51 -0
  60. package/src/theme/overrides/Input.ts +83 -0
  61. package/src/theme/overrides/Overrides.ts +45 -0
  62. package/src/{interfaces/enableWhen.interface.js → theme/overrides/Paper.ts} +15 -2
  63. package/src/{hooks/useInitialiseGroupTable.js → theme/overrides/SpeedDial.ts} +17 -17
  64. package/src/{hooks/useBackToTop.js → theme/overrides/Table.ts} +14 -9
  65. package/src/{components/FormComponents/Typography.styles.js → theme/overrides/Typography.ts} +17 -7
  66. package/src/theme/palette.ts +100 -0
  67. package/src/theme/shadows.ts +54 -0
  68. package/src/theme/typography.ts +114 -0
  69. package/src/api/populate.js +0 -63
  70. package/src/api/populate.js.map +0 -1
  71. package/src/components/Alert.styles.js +0 -40
  72. package/src/components/Alert.styles.js.map +0 -1
  73. package/src/components/BackToTopButton/BackToTopButton.js.map +0 -1
  74. package/src/components/Box.styles.js +0 -30
  75. package/src/components/Box.styles.js.map +0 -1
  76. package/src/components/FormComponents/BooleanItem/BooleanField.js +0 -24
  77. package/src/components/FormComponents/BooleanItem/BooleanField.js.map +0 -1
  78. package/src/components/FormComponents/BooleanItem/BooleanItem.js +0 -49
  79. package/src/components/FormComponents/BooleanItem/BooleanItem.js.map +0 -1
  80. package/src/components/FormComponents/DateItem/DateField.js +0 -31
  81. package/src/components/FormComponents/DateItem/DateField.js.map +0 -1
  82. package/src/components/FormComponents/DateItem/DateItem.js +0 -52
  83. package/src/components/FormComponents/DateItem/DateItem.js.map +0 -1
  84. package/src/components/FormComponents/DateTimeItem/DateTimeField.js +0 -33
  85. package/src/components/FormComponents/DateTimeItem/DateTimeField.js.map +0 -1
  86. package/src/components/FormComponents/DateTimeItem/DateTimeItem.js +0 -52
  87. package/src/components/FormComponents/DateTimeItem/DateTimeItem.js.map +0 -1
  88. package/src/components/FormComponents/DecimalItem/DecimalField.js +0 -30
  89. package/src/components/FormComponents/DecimalItem/DecimalField.js.map +0 -1
  90. package/src/components/FormComponents/DecimalItem/DecimalItem.js +0 -80
  91. package/src/components/FormComponents/DecimalItem/DecimalItem.js.map +0 -1
  92. package/src/components/FormComponents/DisplayItem/DisplayInstructions.js +0 -26
  93. package/src/components/FormComponents/DisplayItem/DisplayInstructions.js.map +0 -1
  94. package/src/components/FormComponents/DisplayItem/DisplayInstructions.styles.js.map +0 -1
  95. package/src/components/FormComponents/DisplayItem/DisplayItem.js +0 -31
  96. package/src/components/FormComponents/DisplayItem/DisplayItem.js.map +0 -1
  97. package/src/components/FormComponents/GridGroup/GridGroup.js +0 -58
  98. package/src/components/FormComponents/GridGroup/GridGroup.js.map +0 -1
  99. package/src/components/FormComponents/GridGroup/GridRow.js +0 -55
  100. package/src/components/FormComponents/GridGroup/GridRow.js.map +0 -1
  101. package/src/components/FormComponents/GridGroup/GridTable.js +0 -42
  102. package/src/components/FormComponents/GridGroup/GridTable.js.map +0 -1
  103. package/src/components/FormComponents/GroupItem/GroupHeading.js +0 -39
  104. package/src/components/FormComponents/GroupItem/GroupHeading.js.map +0 -1
  105. package/src/components/FormComponents/GroupItem/GroupItem.js +0 -62
  106. package/src/components/FormComponents/GroupItem/GroupItem.js.map +0 -1
  107. package/src/components/FormComponents/GroupItem/GroupItem.styles.js +0 -27
  108. package/src/components/FormComponents/GroupItem/GroupItem.styles.js.map +0 -1
  109. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js +0 -73
  110. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +0 -1
  111. package/src/components/FormComponents/GroupItem/NextTabButton.js +0 -25
  112. package/src/components/FormComponents/GroupItem/NextTabButton.js.map +0 -1
  113. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js +0 -55
  114. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +0 -1
  115. package/src/components/FormComponents/IntegerItem/IntegerField.js +0 -30
  116. package/src/components/FormComponents/IntegerItem/IntegerField.js.map +0 -1
  117. package/src/components/FormComponents/IntegerItem/IntegerItem.js +0 -73
  118. package/src/components/FormComponents/IntegerItem/IntegerItem.js.map +0 -1
  119. package/src/components/FormComponents/Item.styles.js.map +0 -1
  120. package/src/components/FormComponents/ItemParts/ContextDisplayItem.js +0 -29
  121. package/src/components/FormComponents/ItemParts/ContextDisplayItem.js.map +0 -1
  122. package/src/components/FormComponents/ItemParts/FadingCheckIcon.js.map +0 -1
  123. package/src/components/FormComponents/ItemParts/ItemFieldGrid.js +0 -31
  124. package/src/components/FormComponents/ItemParts/ItemFieldGrid.js.map +0 -1
  125. package/src/components/FormComponents/ItemParts/ItemLabelText.js +0 -45
  126. package/src/components/FormComponents/ItemParts/ItemLabelText.js.map +0 -1
  127. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js +0 -32
  128. package/src/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +0 -1
  129. package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js +0 -24
  130. package/src/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +0 -1
  131. package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +0 -33
  132. package/src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +0 -1
  133. package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +0 -31
  134. package/src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +0 -1
  135. package/src/components/FormComponents/Lists.styles.js +0 -38
  136. package/src/components/FormComponents/Lists.styles.js.map +0 -1
  137. package/src/components/FormComponents/QItemChoice/QItemChoice.js +0 -61
  138. package/src/components/FormComponents/QItemChoice/QItemChoice.js.map +0 -1
  139. package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +0 -85
  140. package/src/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +0 -1
  141. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +0 -70
  142. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +0 -1
  143. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +0 -66
  144. package/src/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +0 -1
  145. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +0 -70
  146. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +0 -1
  147. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +0 -70
  148. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +0 -1
  149. package/src/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +0 -1
  150. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +0 -70
  151. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +0 -1
  152. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +0 -80
  153. package/src/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +0 -1
  154. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +0 -49
  155. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +0 -1
  156. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +0 -104
  157. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +0 -1
  158. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +0 -105
  159. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +0 -1
  160. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +0 -116
  161. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +0 -1
  162. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +0 -74
  163. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +0 -1
  164. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +0 -66
  165. package/src/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +0 -1
  166. package/src/components/FormComponents/RepeatGroup/AddItemButton.js +0 -27
  167. package/src/components/FormComponents/RepeatGroup/AddItemButton.js.map +0 -1
  168. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js +0 -30
  169. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +0 -1
  170. package/src/components/FormComponents/RepeatGroup/RepeatGroup.js +0 -81
  171. package/src/components/FormComponents/RepeatGroup/RepeatGroup.js.map +0 -1
  172. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js +0 -30
  173. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +0 -1
  174. package/src/components/FormComponents/RepeatItem/AddItemButton.js +0 -27
  175. package/src/components/FormComponents/RepeatItem/AddItemButton.js.map +0 -1
  176. package/src/components/FormComponents/RepeatItem/DeleteItemButton.js +0 -30
  177. package/src/components/FormComponents/RepeatItem/DeleteItemButton.js.map +0 -1
  178. package/src/components/FormComponents/RepeatItem/RepeatField.js +0 -31
  179. package/src/components/FormComponents/RepeatItem/RepeatField.js.map +0 -1
  180. package/src/components/FormComponents/RepeatItem/RepeatItem.js +0 -69
  181. package/src/components/FormComponents/RepeatItem/RepeatItem.js.map +0 -1
  182. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js +0 -29
  183. package/src/components/FormComponents/RepeatItem/RepeatItem.styles.js.map +0 -1
  184. package/src/components/FormComponents/SingleItem/SingleItem.js +0 -32
  185. package/src/components/FormComponents/SingleItem/SingleItem.js.map +0 -1
  186. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js +0 -63
  187. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +0 -1
  188. package/src/components/FormComponents/StringItem/StringField.js +0 -30
  189. package/src/components/FormComponents/StringItem/StringField.js.map +0 -1
  190. package/src/components/FormComponents/StringItem/StringItem.js +0 -71
  191. package/src/components/FormComponents/StringItem/StringItem.js.map +0 -1
  192. package/src/components/FormComponents/Tables/DeleteRowButton.js +0 -31
  193. package/src/components/FormComponents/Tables/DeleteRowButton.js.map +0 -1
  194. package/src/components/FormComponents/Tables/QItemGroupTable.js +0 -99
  195. package/src/components/FormComponents/Tables/QItemGroupTable.js.map +0 -1
  196. package/src/components/FormComponents/Tables/QItemGroupTableRow.js +0 -46
  197. package/src/components/FormComponents/Tables/QItemGroupTableRow.js.map +0 -1
  198. package/src/components/FormComponents/Tables/Table.styles.js +0 -46
  199. package/src/components/FormComponents/Tables/Table.styles.js.map +0 -1
  200. package/src/components/FormComponents/TextItem/TextField.js +0 -29
  201. package/src/components/FormComponents/TextItem/TextField.js.map +0 -1
  202. package/src/components/FormComponents/TextItem/TextItem.js +0 -71
  203. package/src/components/FormComponents/TextItem/TextItem.js.map +0 -1
  204. package/src/components/FormComponents/Textfield.styles.js +0 -27
  205. package/src/components/FormComponents/Textfield.styles.js.map +0 -1
  206. package/src/components/FormComponents/TimeItem/TimeField.js +0 -30
  207. package/src/components/FormComponents/TimeItem/TimeField.js.map +0 -1
  208. package/src/components/FormComponents/TimeItem/TimeItem.js +0 -52
  209. package/src/components/FormComponents/TimeItem/TimeItem.js.map +0 -1
  210. package/src/components/FormComponents/Typography.styles.js.map +0 -1
  211. package/src/components/FormComponents/UrlItem/UrlField.js +0 -25
  212. package/src/components/FormComponents/UrlItem/UrlField.js.map +0 -1
  213. package/src/components/FormComponents/UrlItem/UrlItem.js +0 -61
  214. package/src/components/FormComponents/UrlItem/UrlItem.js.map +0 -1
  215. package/src/components/FormRenderer/FormBodyCollapsible.js +0 -57
  216. package/src/components/FormRenderer/FormBodyCollapsible.js.map +0 -1
  217. package/src/components/FormRenderer/FormBodySingleCollapsible.js +0 -39
  218. package/src/components/FormRenderer/FormBodySingleCollapsible.js.map +0 -1
  219. package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +0 -31
  220. package/src/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +0 -1
  221. package/src/components/FormRenderer/FormBodyTabbed.js +0 -60
  222. package/src/components/FormRenderer/FormBodyTabbed.js.map +0 -1
  223. package/src/components/FormRenderer/FormTitle.js +0 -30
  224. package/src/components/FormRenderer/FormTitle.js.map +0 -1
  225. package/src/components/FormRenderer/FormTopLevelItem.js +0 -45
  226. package/src/components/FormRenderer/FormTopLevelItem.js.map +0 -1
  227. package/src/components/FormRenderer/SmartFormsRenderer.js +0 -37
  228. package/src/components/FormRenderer/SmartFormsRenderer.js.map +0 -1
  229. package/src/components/FormRenderer/index.js.map +0 -1
  230. package/src/components/Iconify/Iconify.js +0 -26
  231. package/src/components/Iconify/Iconify.js.map +0 -1
  232. package/src/components/Lists.styles.js +0 -38
  233. package/src/components/Lists.styles.js.map +0 -1
  234. package/src/components/Tabs/CompleteTabButton.js +0 -29
  235. package/src/components/Tabs/CompleteTabButton.js.map +0 -1
  236. package/src/components/Tabs/FormBodySingleTab.js +0 -39
  237. package/src/components/Tabs/FormBodySingleTab.js.map +0 -1
  238. package/src/components/Tabs/FormBodyTabList.js +0 -52
  239. package/src/components/Tabs/FormBodyTabList.js.map +0 -1
  240. package/src/components/index.js +0 -18
  241. package/src/components/index.js.map +0 -1
  242. package/src/hooks/useBackToTop.js.map +0 -1
  243. package/src/hooks/useDebounce.js +0 -38
  244. package/src/hooks/useDebounce.js.map +0 -1
  245. package/src/hooks/useDecimalCalculatedExpression.js +0 -50
  246. package/src/hooks/useDecimalCalculatedExpression.js.map +0 -1
  247. package/src/hooks/useHidden.js +0 -35
  248. package/src/hooks/useHidden.js.map +0 -1
  249. package/src/hooks/useInitialiseGroupTable.js.map +0 -1
  250. package/src/hooks/useInitialiseRenderer.js +0 -49
  251. package/src/hooks/useInitialiseRenderer.js.map +0 -1
  252. package/src/hooks/useInitialiseRepeatAnswers.js.map +0 -1
  253. package/src/hooks/useInitialiseRepeatGroups.js +0 -36
  254. package/src/hooks/useInitialiseRepeatGroups.js.map +0 -1
  255. package/src/hooks/useIntegerCalculatedExpression.js +0 -44
  256. package/src/hooks/useIntegerCalculatedExpression.js.map +0 -1
  257. package/src/hooks/useQueryClient.js.map +0 -1
  258. package/src/hooks/useRenderingExtensions.js +0 -30
  259. package/src/hooks/useRenderingExtensions.js.map +0 -1
  260. package/src/hooks/useResponsive.js +0 -37
  261. package/src/hooks/useResponsive.js.map +0 -1
  262. package/src/hooks/useStringCalculatedExpression.js +0 -44
  263. package/src/hooks/useStringCalculatedExpression.js.map +0 -1
  264. package/src/hooks/useTerminologyServerQuery.js +0 -73
  265. package/src/hooks/useTerminologyServerQuery.js.map +0 -1
  266. package/src/hooks/useValidationError.js +0 -38
  267. package/src/hooks/useValidationError.js.map +0 -1
  268. package/src/hooks/useValueSetCodings.js +0 -125
  269. package/src/hooks/useValueSetCodings.js.map +0 -1
  270. package/src/index.js +0 -2
  271. package/src/index.js.map +0 -1
  272. package/src/interfaces/answerExpression.interface.js.map +0 -1
  273. package/src/interfaces/calculatedExpression.interface.js +0 -2
  274. package/src/interfaces/calculatedExpression.interface.js.map +0 -1
  275. package/src/interfaces/choice.enum.js +0 -41
  276. package/src/interfaces/choice.enum.js.map +0 -1
  277. package/src/interfaces/enableWhen.interface.js.map +0 -1
  278. package/src/interfaces/groupTable.interface.js +0 -18
  279. package/src/interfaces/groupTable.interface.js.map +0 -1
  280. package/src/interfaces/populate.interface.js +0 -18
  281. package/src/interfaces/populate.interface.js.map +0 -1
  282. package/src/interfaces/questionnaireStore.interface.js +0 -18
  283. package/src/interfaces/questionnaireStore.interface.js.map +0 -1
  284. package/src/interfaces/regex.interface.js +0 -18
  285. package/src/interfaces/regex.interface.js.map +0 -1
  286. package/src/interfaces/renderProps.interface.js +0 -18
  287. package/src/interfaces/renderProps.interface.js.map +0 -1
  288. package/src/interfaces/repeatGroup.interface.js +0 -18
  289. package/src/interfaces/repeatGroup.interface.js.map +0 -1
  290. package/src/interfaces/repeatItem.interface.js +0 -2
  291. package/src/interfaces/repeatItem.interface.js.map +0 -1
  292. package/src/interfaces/tab.interface.js +0 -2
  293. package/src/interfaces/tab.interface.js.map +0 -1
  294. package/src/interfaces/valueSet.interface.js +0 -18
  295. package/src/interfaces/valueSet.interface.js.map +0 -1
  296. package/src/interfaces/variables.interface.js +0 -18
  297. package/src/interfaces/variables.interface.js.map +0 -1
  298. package/src/setup-jest.js +0 -2
  299. package/src/setup-jest.js.map +0 -1
  300. package/src/stores/useConfigStore.js +0 -17
  301. package/src/stores/useConfigStore.js.map +0 -1
  302. package/src/stores/useQuestionnaireResponseStore.js +0 -39
  303. package/src/stores/useQuestionnaireResponseStore.js.map +0 -1
  304. package/src/stores/useQuestionnaireStore.js +0 -151
  305. package/src/stores/useQuestionnaireStore.js.map +0 -1
  306. package/src/stories/SmartFormsRenderer.stories.js +0 -90
  307. package/src/stories/SmartFormsRenderer.stories.js.map +0 -1
  308. package/src/utils/calculatedExpression.js +0 -180
  309. package/src/utils/calculatedExpression.js.map +0 -1
  310. package/src/utils/choice.js +0 -160
  311. package/src/utils/choice.js.map +0 -1
  312. package/src/utils/debounce.js +0 -19
  313. package/src/utils/debounce.js.map +0 -1
  314. package/src/utils/emptyResource.js +0 -25
  315. package/src/utils/emptyResource.js.map +0 -1
  316. package/src/utils/enableWhen.js +0 -228
  317. package/src/utils/enableWhen.js.map +0 -1
  318. package/src/utils/enableWhenExpression.js +0 -76
  319. package/src/utils/enableWhenExpression.js.map +0 -1
  320. package/src/utils/fhirpath.js +0 -98
  321. package/src/utils/fhirpath.js.map +0 -1
  322. package/src/utils/initialiseForm.js +0 -45
  323. package/src/utils/initialiseForm.js.map +0 -1
  324. package/src/utils/itemControl.js +0 -299
  325. package/src/utils/itemControl.js.map +0 -1
  326. package/src/utils/mapItem.js +0 -80
  327. package/src/utils/mapItem.js.map +0 -1
  328. package/src/utils/openChoice.js +0 -150
  329. package/src/utils/openChoice.js.map +0 -1
  330. package/src/utils/parseInputs.js +0 -49
  331. package/src/utils/parseInputs.js.map +0 -1
  332. package/src/utils/populate.js +0 -78
  333. package/src/utils/populate.js.map +0 -1
  334. package/src/utils/populateCallback.js +0 -40
  335. package/src/utils/populateCallback.js.map +0 -1
  336. package/src/utils/populateContexts.js +0 -76
  337. package/src/utils/populateContexts.js.map +0 -1
  338. package/src/utils/populateInputParams.js +0 -193
  339. package/src/utils/populateInputParams.js.map +0 -1
  340. package/src/utils/qItem.js +0 -73
  341. package/src/utils/qItem.js.map +0 -1
  342. package/src/utils/qrItem.js +0 -221
  343. package/src/utils/qrItem.js.map +0 -1
  344. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js +0 -47
  345. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +0 -1
  346. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js +0 -79
  347. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +0 -1
  348. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js +0 -59
  349. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +0 -1
  350. package/src/utils/questionnaireStoreUtils/extractLaunchContext.js +0 -18
  351. package/src/utils/questionnaireStoreUtils/extractLaunchContext.js.map +0 -1
  352. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js +0 -174
  353. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +0 -1
  354. package/src/utils/questionnaireStoreUtils/extractTabs.js +0 -31
  355. package/src/utils/questionnaireStoreUtils/extractTabs.js.map +0 -1
  356. package/src/utils/questionnaireStoreUtils/extractVariables.js +0 -63
  357. package/src/utils/questionnaireStoreUtils/extractVariables.js.map +0 -1
  358. package/src/utils/questionnaireStoreUtils/resolveValueSets.js +0 -58
  359. package/src/utils/questionnaireStoreUtils/resolveValueSets.js.map +0 -1
  360. package/src/utils/tabs.js +0 -190
  361. package/src/utils/tabs.js.map +0 -1
  362. package/src/utils/valueSet.js +0 -126
  363. package/src/utils/valueSet.js.map +0 -1
@@ -1,228 +0,0 @@
1
- /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import cloneDeep from 'lodash.clonedeep';
18
- /**
19
- * Create a linkedQuestionsMap that contains linked items of enableWhen items
20
- * mapped to an array containing all its respective enableWhen items' linkIds
21
- * returns a key-value pair of <linkedItemId, [enableWhenItem1LinkId, enableWhenItem2LinkId, enableWhenItem3LinkId]>
22
- *
23
- * @author Sean Fong
24
- */
25
- export function createEnableWhenLinkedQuestions(enableWhenItems) {
26
- const linkedQuestionsMap = {};
27
- for (const linkId in enableWhenItems) {
28
- enableWhenItems[linkId].linked.forEach((linkedItem) => {
29
- const linkQId = linkedItem.enableWhen.question;
30
- if (!linkedQuestionsMap[linkQId]) {
31
- linkedQuestionsMap[linkQId] = [];
32
- }
33
- if (!linkedQuestionsMap[linkQId].includes(linkId)) {
34
- linkedQuestionsMap[linkQId].push(linkId);
35
- }
36
- });
37
- }
38
- return linkedQuestionsMap;
39
- }
40
- /**
41
- * Performs switching for non-group enableWhenItems based on their item types.
42
- *
43
- * @author Sean Fong
44
- */
45
- export function isEnabledAnswerTypeSwitcher(enableWhen, answer) {
46
- var _a, _b;
47
- if (enableWhen['answerBoolean'] !== undefined && enableWhen.operator === 'exists') {
48
- return answerOperatorSwitcher(enableWhen.answerBoolean, answer, enableWhen.operator);
49
- }
50
- else if (enableWhen['answerBoolean'] !== undefined && answer.valueBoolean !== undefined) {
51
- return answerOperatorSwitcher(enableWhen.answerBoolean, answer.valueBoolean, enableWhen.operator);
52
- }
53
- else if (enableWhen['answerDecimal'] && answer.valueDecimal) {
54
- return answerOperatorSwitcher(enableWhen.answerDecimal, answer.valueDecimal, enableWhen.operator);
55
- }
56
- else if (enableWhen['answerInteger'] !== undefined && answer.valueInteger !== undefined) {
57
- return answerOperatorSwitcher(enableWhen.answerInteger, answer.valueInteger, enableWhen.operator);
58
- }
59
- else if (enableWhen['answerDate'] && answer.valueDate) {
60
- return answerOperatorSwitcher(enableWhen.answerDate, answer.valueDate, enableWhen.operator);
61
- }
62
- else if (enableWhen['answerDateTime'] && answer.valueDateTime) {
63
- return answerOperatorSwitcher(enableWhen.answerDateTime, answer.valueDateTime, enableWhen.operator);
64
- }
65
- else if (enableWhen['answerTime'] && answer.valueTime) {
66
- return answerOperatorSwitcher(enableWhen.answerTime, answer.valueTime, enableWhen.operator);
67
- }
68
- else if (enableWhen['answerString'] && answer.valueString) {
69
- return answerOperatorSwitcher(enableWhen.answerString, answer.valueString, enableWhen.operator);
70
- }
71
- else if (((_a = enableWhen['answerCoding']) === null || _a === void 0 ? void 0 : _a.code) && ((_b = answer.valueCoding) === null || _b === void 0 ? void 0 : _b.code)) {
72
- return answerOperatorSwitcher(enableWhen.answerCoding.code, answer.valueCoding.code, enableWhen.operator);
73
- }
74
- else if (enableWhen['answerQuantity'] && answer.valueQuantity) {
75
- return answerOperatorSwitcher(enableWhen.answerQuantity, answer.valueQuantity, enableWhen.operator);
76
- }
77
- return false;
78
- }
79
- /**
80
- * Performs switching for value and expected comparisons based on given operator
81
- *
82
- * @author Sean Fong
83
- */
84
- function answerOperatorSwitcher(expected, value, operator) {
85
- // FIXME runs even when the linked textbox is not changed
86
- switch (operator) {
87
- case 'exists':
88
- // check if value is an object and contains any answerValues
89
- return typeof value === 'object' && Object.keys(value).length !== 0;
90
- case '=':
91
- return value === expected;
92
- case '!=':
93
- return value !== expected;
94
- case '<':
95
- return value < expected;
96
- case '<=':
97
- return value <= expected;
98
- case '>':
99
- return value > expected;
100
- case '>=':
101
- return value >= expected;
102
- default:
103
- return false;
104
- }
105
- }
106
- /**
107
- * Read initial answer values in questionnaireResponse
108
- * return a map of initial values with key-value pair <linkedItemId, initial value>
109
- *
110
- * @author Sean Fong
111
- */
112
- export function readInitialAnswers(questionnaireResponse, linkedQuestionsMap) {
113
- if (!questionnaireResponse.item)
114
- return {};
115
- const initialValuesMap = {};
116
- questionnaireResponse.item.forEach((item) => {
117
- readQuestionnaireResponseItemRecursive(item, initialValuesMap, linkedQuestionsMap);
118
- });
119
- return initialValuesMap;
120
- }
121
- /**
122
- * Read initial answer values of each qrItem recursively
123
- *
124
- * @author Sean Fong
125
- */
126
- function readQuestionnaireResponseItemRecursive(item, initialValues, linkedQuestionsMap) {
127
- const items = item.item;
128
- if (items && items.length > 0) {
129
- // iterate through items of item recursively
130
- items.forEach((item) => {
131
- readQuestionnaireResponseItemRecursive(item, initialValues, linkedQuestionsMap);
132
- });
133
- return;
134
- }
135
- // Read initial answer value of single qrItem
136
- if (linkedQuestionsMap[item.linkId] && item.answer) {
137
- initialValues[item.linkId] = item.answer;
138
- }
139
- return;
140
- }
141
- /**
142
- * Set initial answer values into enableWhenItems' answer attributes
143
- * Update enabled status of each enableWhenItem simultaneously
144
- *
145
- * @author Sean Fong
146
- */
147
- export function setInitialAnswers(initialAnswers, items, linkedQuestionsMap) {
148
- let updatedItems = cloneDeep(items);
149
- if (initialAnswers) {
150
- for (const linkId in initialAnswers) {
151
- const linkedQuestions = linkedQuestionsMap[linkId];
152
- const newAnswer = initialAnswers[linkId];
153
- updatedItems = updateItemAnswer(updatedItems, linkedQuestions, linkId, newAnswer);
154
- }
155
- }
156
- return updatedItems;
157
- }
158
- /**
159
- * Update answer of the target linkId in every related enableWhenItem's linked items
160
- * Then update the enabled status of every related enableWhenItem
161
- *
162
- * @author Sean Fong
163
- */
164
- export function updateItemAnswer(items, linkedQuestions, linkId, newAnswer) {
165
- linkedQuestions.forEach((question) => {
166
- // Update modified linked answer
167
- items[question].linked.forEach((linkedItem) => {
168
- if (linkedItem.enableWhen.question === linkId) {
169
- linkedItem.answer = newAnswer !== null && newAnswer !== void 0 ? newAnswer : undefined;
170
- }
171
- });
172
- // Update enabled status of modified enableWhenItem
173
- items[question].isEnabled = checkItemIsEnabled(items[question]);
174
- });
175
- return items;
176
- }
177
- /**
178
- * Check if an enableWhenItem is enabled based on the answer of its linked items
179
- *
180
- * @author Sean Fong
181
- */
182
- export function checkItemIsEnabled(enableWhenItemProperties) {
183
- const checkedIsEnabledItems = [];
184
- enableWhenItemProperties.linked.forEach((linkedItem) => {
185
- if (linkedItem.answer && linkedItem.answer.length > 0) {
186
- linkedItem.answer.forEach((answer) => {
187
- checkedIsEnabledItems.push(isEnabledAnswerTypeSwitcher(linkedItem.enableWhen, answer));
188
- });
189
- }
190
- });
191
- if (checkedIsEnabledItems.length === 0)
192
- return false;
193
- return enableWhenItemProperties.enableBehavior === 'any'
194
- ? checkedIsEnabledItems.some((isEnabled) => isEnabled)
195
- : checkedIsEnabledItems.every((isEnabled) => isEnabled);
196
- }
197
- export function assignPopulatedAnswersToEnableWhen(items, questionnaireResponse) {
198
- const linkedQuestions = createEnableWhenLinkedQuestions(items);
199
- const initialAnswers = readInitialAnswers(questionnaireResponse, linkedQuestions);
200
- items = initialiseBooleanFalses(items);
201
- const initialisedItems = Object.keys(initialAnswers).length > 0
202
- ? setInitialAnswers(initialAnswers, items, linkedQuestions)
203
- : items;
204
- return { initialisedItems, linkedQuestions };
205
- }
206
- function initialiseBooleanFalses(items) {
207
- for (const linkId in items) {
208
- const checkedIsEnabledItems = [];
209
- const enableWhenItemProperties = items[linkId];
210
- for (const linkedItem of enableWhenItemProperties.linked) {
211
- if (linkedItem.enableWhen.answerBoolean === true && linkedItem.enableWhen.operator === '!=') {
212
- checkedIsEnabledItems.push(true);
213
- continue;
214
- }
215
- if (linkedItem.enableWhen.answerBoolean === false && linkedItem.enableWhen.operator === '=') {
216
- checkedIsEnabledItems.push(true);
217
- continue;
218
- }
219
- checkedIsEnabledItems.push(false);
220
- }
221
- enableWhenItemProperties.isEnabled =
222
- enableWhenItemProperties.enableBehavior === 'any'
223
- ? checkedIsEnabledItems.some((isEnabled) => isEnabled)
224
- : checkedIsEnabledItems.every((isEnabled) => isEnabled);
225
- }
226
- return items;
227
- }
228
- //# sourceMappingURL=enableWhen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enableWhen.js","sourceRoot":"","sources":["enableWhen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAGzC;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,eAAgC;IAC9E,MAAM,kBAAkB,GAA6B,EAAE,CAAC;IAExD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;QACpC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACpD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBAChC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;aAClC;YAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACjD,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAuC,EACvC,MAAuC;;IAEvC,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACjF,OAAO,sBAAsB,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KACtF;SAAM,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;QACzF,OAAO,sBAAsB,CAC3B,UAAU,CAAC,aAAa,EACxB,MAAM,CAAC,YAAY,EACnB,UAAU,CAAC,QAAQ,CACpB,CAAC;KACH;SAAM,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE;QAC7D,OAAO,sBAAsB,CAC3B,UAAU,CAAC,aAAa,EACxB,MAAM,CAAC,YAAY,EACnB,UAAU,CAAC,QAAQ,CACpB,CAAC;KACH;SAAM,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;QACzF,OAAO,sBAAsB,CAC3B,UAAU,CAAC,aAAa,EACxB,MAAM,CAAC,YAAY,EACnB,UAAU,CAAC,QAAQ,CACpB,CAAC;KACH;SAAM,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE;QACvD,OAAO,sBAAsB,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC7F;SAAM,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE;QAC/D,OAAO,sBAAsB,CAC3B,UAAU,CAAC,cAAc,EACzB,MAAM,CAAC,aAAa,EACpB,UAAU,CAAC,QAAQ,CACpB,CAAC;KACH;SAAM,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE;QACvD,OAAO,sBAAsB,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC7F;SAAM,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE;QAC3D,OAAO,sBAAsB,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KACjG;SAAM,IAAI,CAAA,MAAA,UAAU,CAAC,cAAc,CAAC,0CAAE,IAAI,MAAI,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,CAAA,EAAE;QACvE,OAAO,sBAAsB,CAC3B,UAAU,CAAC,YAAY,CAAC,IAAI,EAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,EACvB,UAAU,CAAC,QAAQ,CACpB,CAAC;KACH;SAAM,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE;QAC/D,OAAO,sBAAsB,CAC3B,UAAU,CAAC,cAAc,EACzB,MAAM,CAAC,aAAa,EACpB,UAAU,CAAC,QAAQ,CACpB,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,QAA8C,EAC9C,KAA6E,EAC7E,QAAiD;IAEjD,yDAAyD;IACzD,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,4DAA4D;YAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACtE,KAAK,GAAG;YACN,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC5B,KAAK,IAAI;YACP,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,QAAQ,CAAC;QAC1B,KAAK,IAAI;YACP,OAAO,KAAK,IAAI,QAAQ,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,QAAQ,CAAC;QAC1B,KAAK,IAAI;YACP,OAAO,KAAK,IAAI,QAAQ,CAAC;QAC3B;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,qBAA4C,EAC5C,kBAA4C;IAE5C,IAAI,CAAC,qBAAqB,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,gBAAgB,GAAsD,EAAE,CAAC;IAC/E,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,sCAAsC,CAAC,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,sCAAsC,CAC7C,IAA+B,EAC/B,aAAgE,EAChE,kBAA4C;IAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,4CAA4C;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,sCAAsC,CAAC,IAAI,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO;KACR;IAED,6CAA6C;IAC7C,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;QAClD,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;KAC1C;IAED,OAAO;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,cAAiE,EACjE,KAAsB,EACtB,kBAA4C;IAE5C,IAAI,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;YACnC,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YAEzC,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;SACnF;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,eAAyB,EACzB,MAAc,EACd,SAA4C;IAE5C,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,gCAAgC;QAChC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,EAAE;gBAC7C,UAAU,CAAC,MAAM,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,wBAAkD;IACnF,MAAM,qBAAqB,GAAc,EAAE,CAAC;IAE5C,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACrD,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,qBAAqB,CAAC,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErD,OAAO,wBAAwB,CAAC,cAAc,KAAK,KAAK;QACtD,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;QACtD,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,KAAsB,EACtB,qBAA4C;IAE5C,MAAM,eAAe,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IAClF,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;QACpC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAAE,eAAe,CAAC;QAC3D,CAAC,CAAC,KAAK,CAAC;IAEZ,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAsB;IACrD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;QAC1B,MAAM,qBAAqB,GAAc,EAAE,CAAC;QAC5C,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE/C,KAAK,MAAM,UAAU,IAAI,wBAAwB,CAAC,MAAM,EAAE;YACxD,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAC3F,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,SAAS;aACV;YAED,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,KAAK,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,KAAK,GAAG,EAAE;gBAC3F,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,SAAS;aACV;YAED,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,wBAAwB,CAAC,SAAS;YAChC,wBAAwB,CAAC,cAAc,KAAK,KAAK;gBAC/C,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;gBACtD,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;KAC7D;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,76 +0,0 @@
1
- /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { createFhirPathContext } from './fhirpath';
18
- import fhirpath from 'fhirpath';
19
- import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
20
- import _isEqual from 'lodash/isEqual';
21
- import { emptyResponse } from './emptyResource';
22
- import cloneDeep from 'lodash.clonedeep';
23
- export function evaluateInitialEnableWhenExpressions(params) {
24
- const { initialResponse, enableWhenExpressions, variablesFhirPath } = params;
25
- // Return early if initialResponse is empty
26
- if (_isEqual(initialResponse, cloneDeep(emptyResponse))) {
27
- return enableWhenExpressions;
28
- }
29
- const initialExpressions = Object.assign({}, enableWhenExpressions);
30
- if (Object.keys(initialExpressions).length > 0) {
31
- const fhirPathContext = createFhirPathContext(initialResponse, variablesFhirPath);
32
- for (const linkId in initialExpressions) {
33
- try {
34
- const result = fhirpath.evaluate(initialResponse, enableWhenExpressions[linkId].expression, fhirPathContext, fhirpath_r4_model);
35
- if (result.length > 0) {
36
- initialExpressions[linkId].isEnabled = result[0];
37
- }
38
- // handle intersect edge case - evualate() returns empty array if result is false
39
- if (enableWhenExpressions[linkId].expression.includes('intersect') && result.length === 0) {
40
- initialExpressions[linkId].isEnabled = false;
41
- }
42
- }
43
- catch (e) {
44
- console.warn(e.message, `LinkId: ${linkId}\nExpression: ${enableWhenExpressions[linkId].expression}`);
45
- }
46
- }
47
- }
48
- return initialExpressions;
49
- }
50
- export function evaluateEnableWhenExpressions(fhirPathContext, enableWhenExpressions) {
51
- const updatedEnableWhenExpressions = Object.assign({}, enableWhenExpressions);
52
- let isUpdated = false;
53
- for (const linkId in updatedEnableWhenExpressions) {
54
- try {
55
- const result = fhirpath.evaluate('', enableWhenExpressions[linkId].expression, fhirPathContext, fhirpath_r4_model);
56
- if (result.length > 0) {
57
- if (enableWhenExpressions[linkId].isEnabled !== result[0]) {
58
- isUpdated = true;
59
- updatedEnableWhenExpressions[linkId].isEnabled = result[0];
60
- }
61
- }
62
- // handle intersect edge case - evualate() returns empty array if result is false
63
- if (enableWhenExpressions[linkId].expression.includes('intersect') && result.length === 0) {
64
- updatedEnableWhenExpressions[linkId].isEnabled = false;
65
- }
66
- }
67
- catch (e) {
68
- console.warn(e.message, `LinkId: ${linkId}\nExpression: ${enableWhenExpressions[linkId].expression}`);
69
- }
70
- }
71
- return {
72
- enableWhenExpsIsUpdated: isUpdated,
73
- updatedEnableWhenExpressions: updatedEnableWhenExpressions
74
- };
75
- }
76
- //# sourceMappingURL=enableWhenExpression.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enableWhenExpression.js","sourceRoot":"","sources":["enableWhenExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAQzC,MAAM,UAAU,oCAAoC,CAClD,MAAkD;IAElD,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAE7E,2CAA2C;IAC3C,IAAI,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE;QACvD,OAAO,qBAAqB,CAAC;KAC9B;IAED,MAAM,kBAAkB,qBAA8C,qBAAqB,CAAE,CAAC;IAE9F,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,MAAM,eAAe,GAAwB,qBAAqB,CAChE,eAAe,EACf,iBAAiB,CAClB,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE;YACvC,IAAI;gBACF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAC9B,eAAe,EACf,qBAAqB,CAAC,MAAM,CAAC,CAAC,UAAU,EACxC,eAAe,EACf,iBAAiB,CAClB,CAAC;gBAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;iBAClD;gBAED,iFAAiF;gBACjF,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzF,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;iBAC9C;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,OAAO,EACT,WAAW,MAAM,iBAAiB,qBAAqB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAC7E,CAAC;aACH;SACF;KACF;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,eAAoC,EACpC,qBAA2D;IAK3D,MAAM,4BAA4B,qBAC7B,qBAAqB,CACzB,CAAC;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,MAAM,IAAI,4BAA4B,EAAE;QACjD,IAAI;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAC9B,EAAE,EACF,qBAAqB,CAAC,MAAM,CAAC,CAAC,UAAU,EACxC,eAAe,EACf,iBAAiB,CAClB,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;oBACzD,SAAS,GAAG,IAAI,CAAC;oBACjB,4BAA4B,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC5D;aACF;YAED,iFAAiF;YACjF,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzF,4BAA4B,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;aACxD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,OAAO,EACT,WAAW,MAAM,iBAAiB,qBAAqB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAC7E,CAAC;SACH;KACF;IAED,OAAO;QACL,uBAAuB,EAAE,SAAS;QAClC,4BAA4B,EAAE,4BAA4B;KAC3D,CAAC;AACJ,CAAC"}
@@ -1,98 +0,0 @@
1
- /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import fhirpath from 'fhirpath';
18
- import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
19
- import { evaluateEnableWhenExpressions } from './enableWhenExpression';
20
- import { evaluateCalculatedExpressions } from './calculatedExpression';
21
- export function evaluateUpdatedExpressions(params) {
22
- const { updatedResponse, enableWhenExpressions, calculatedExpressions, variablesFhirPath } = params;
23
- const hasExpressionToBeUpdated = Object.keys(enableWhenExpressions).length > 0 || Object.keys(calculatedExpressions).length > 0;
24
- if (hasExpressionToBeUpdated && updatedResponse.item) {
25
- const fhirPathContext = createFhirPathContext(updatedResponse, variablesFhirPath);
26
- // Update enableWhenExpressions
27
- const { enableWhenExpsIsUpdated, updatedEnableWhenExpressions } = evaluateEnableWhenExpressions(fhirPathContext, enableWhenExpressions);
28
- // Update calculatedExpressions
29
- const { calculatedExpsIsUpdated, updatedCalculatedExpressions } = evaluateCalculatedExpressions(fhirPathContext, calculatedExpressions);
30
- const isUpdated = enableWhenExpsIsUpdated || calculatedExpsIsUpdated;
31
- return { isUpdated, updatedEnableWhenExpressions, updatedCalculatedExpressions };
32
- }
33
- return {
34
- isUpdated: false,
35
- updatedEnableWhenExpressions: enableWhenExpressions,
36
- updatedCalculatedExpressions: calculatedExpressions
37
- };
38
- }
39
- export function createFhirPathContext(questionnaireResponse, variablesFhirPath) {
40
- const fhirPathContext = { resource: questionnaireResponse };
41
- if (!questionnaireResponse.item || questionnaireResponse.item.length === 0) {
42
- return fhirPathContext;
43
- }
44
- evaluateResourceLevelFhirPath(questionnaireResponse, variablesFhirPath, fhirPathContext);
45
- for (const topLevelItem of questionnaireResponse.item) {
46
- evaluateFhirPathRecursive(topLevelItem, variablesFhirPath, fhirPathContext);
47
- }
48
- return fhirPathContext;
49
- }
50
- export function evaluateFhirPathRecursive(item, variablesFhirPath, fhirPathContext) {
51
- const items = item.item;
52
- if (items && items.length > 0) {
53
- // iterate through items of item recursively
54
- for (const childItem of items) {
55
- evaluateFhirPathRecursive(childItem, variablesFhirPath, fhirPathContext);
56
- }
57
- }
58
- evaluateItemFhirPath(item, variablesFhirPath, fhirPathContext);
59
- }
60
- export function evaluateItemFhirPath(item, variablesFhirPath, fhirPathContext) {
61
- const variablesOfItem = variablesFhirPath[item.linkId];
62
- if (!variablesOfItem || variablesOfItem.length === 0) {
63
- return;
64
- }
65
- variablesOfItem.forEach((variable) => {
66
- if (variable.expression) {
67
- try {
68
- fhirPathContext[`${variable.name}`] = fhirpath.evaluate(item, {
69
- base: 'QuestionnaireResponse.item',
70
- expression: variable.expression
71
- }, fhirPathContext, fhirpath_r4_model);
72
- }
73
- catch (e) {
74
- console.warn(e.message, `LinkId: ${item.linkId}\nExpression: ${variable.expression}`);
75
- }
76
- }
77
- });
78
- }
79
- export function evaluateResourceLevelFhirPath(resource, variablesFhirPath, fhirPathContext) {
80
- const questionnaireLevelVariables = variablesFhirPath['QuestionnaireLevel'];
81
- if (!questionnaireLevelVariables || questionnaireLevelVariables.length === 0) {
82
- return;
83
- }
84
- questionnaireLevelVariables.forEach((variable) => {
85
- if (variable.expression) {
86
- try {
87
- fhirPathContext[`${variable.name}`] = fhirpath.evaluate(resource, {
88
- base: 'QuestionnaireResponse',
89
- expression: variable.expression
90
- }, fhirPathContext, fhirpath_r4_model);
91
- }
92
- catch (e) {
93
- console.warn(e.message, `Questionnaire-level\nExpression: ${variable.expression}`);
94
- }
95
- }
96
- });
97
- }
98
- //# sourceMappingURL=fhirpath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fhirpath.js","sourceRoot":"","sources":["fhirpath.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- /*
2
- * Copyright 2023 Commonwealth Scientific and Industrial Research
3
- * Organisation (CSIRO) ABN 41 687 119 230.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { evaluateInitialEnableWhenExpressions } from './enableWhenExpression';
18
- import { getFirstVisibleTab } from './tabs';
19
- import { assignPopulatedAnswersToEnableWhen } from './enableWhen';
20
- import { evaluateInitialCalculatedExpressions } from './calculatedExpression';
21
- export function initialiseFormFromResponse(params) {
22
- const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs } = params;
23
- const { initialisedItems, linkedQuestions } = assignPopulatedAnswersToEnableWhen(enableWhenItems, questionnaireResponse);
24
- const initialEnableWhenExpressions = evaluateInitialEnableWhenExpressions({
25
- initialResponse: questionnaireResponse,
26
- enableWhenExpressions: enableWhenExpressions,
27
- variablesFhirPath: variablesFhirPath
28
- });
29
- const initialCalculatedExpressions = evaluateInitialCalculatedExpressions({
30
- initialResponse: questionnaireResponse,
31
- calculatedExpressions: calculatedExpressions,
32
- variablesFhirPath: variablesFhirPath
33
- });
34
- const firstVisibleTab = Object.keys(tabs).length > 0
35
- ? getFirstVisibleTab(tabs, initialisedItems, initialEnableWhenExpressions)
36
- : 0;
37
- return {
38
- initialEnableWhenItems: initialisedItems,
39
- initialEnableWhenLinkedQuestions: linkedQuestions,
40
- initialEnableWhenExpressions,
41
- initialCalculatedExpressions,
42
- firstVisibleTab
43
- };
44
- }
45
- //# sourceMappingURL=initialiseForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialiseForm.js","sourceRoot":"","sources":["initialiseForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C,OAAO,EAAE,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAW9E,MAAM,UAAU,0BAA0B,CAAC,MAAqC;IAO9E,MAAM,EACJ,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,IAAI,EACL,GAAG,MAAM,CAAC;IAEX,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,kCAAkC,CAC9E,eAAe,EACf,qBAAqB,CACtB,CAAC;IAEF,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;QACxE,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,qBAAqB;QAC5C,iBAAiB,EAAE,iBAAiB;KACrC,CAAC,CAAC;IAEH,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;QACxE,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,qBAAqB;QAC5C,iBAAiB,EAAE,iBAAiB;KACrC,CAAC,CAAC;IAEH,MAAM,eAAe,GACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;QACL,sBAAsB,EAAE,gBAAgB;QACxC,gCAAgC,EAAE,eAAe;QACjD,4BAA4B;QAC5B,4BAA4B;QAC5B,eAAe;KAChB,CAAC;AACJ,CAAC"}