@aehrc/smart-forms-renderer 1.0.0-alpha.99 → 1.1.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 (930) hide show
  1. package/README.md +4 -1
  2. package/lib/api/callback.js +6 -15
  3. package/lib/api/callback.js.map +1 -1
  4. package/lib/api/smartClient.js +6 -21
  5. package/lib/api/smartClient.js.map +1 -1
  6. package/lib/components/Checkbox.styles.js +21 -19
  7. package/lib/components/Checkbox.styles.js.map +1 -1
  8. package/lib/components/ExpressionUpdateFadingGlow.styles.d.ts +2 -2
  9. package/lib/components/ExpressionUpdateFadingGlow.styles.js +12 -9
  10. package/lib/components/ExpressionUpdateFadingGlow.styles.js.map +1 -1
  11. package/lib/components/FormComponents/AttachmentItem/AttachmentField.d.ts +2 -2
  12. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +3 -3
  13. package/lib/components/FormComponents/AttachmentItem/AttachmentField.js.map +1 -1
  14. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.d.ts +2 -2
  15. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +1 -1
  16. package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js.map +1 -1
  17. package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.d.ts +2 -2
  18. package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.js +1 -2
  19. package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.js.map +1 -1
  20. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.d.ts +2 -2
  21. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js +4 -5
  22. package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js.map +1 -1
  23. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js +27 -37
  24. package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
  25. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.d.ts +2 -2
  26. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js +3 -3
  27. package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js.map +1 -1
  28. package/lib/components/FormComponents/BooleanItem/BooleanField.js +6 -7
  29. package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
  30. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +33 -24
  31. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  32. package/lib/components/FormComponents/ChoiceItems/CheckboxOptionList.js +1 -2
  33. package/lib/components/FormComponents/ChoiceItems/CheckboxOptionList.js.map +1 -1
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.d.ts +2 -2
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +12 -7
  36. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
  37. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +2 -7
  38. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +17 -31
  39. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  40. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -1
  41. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +2 -7
  42. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +29 -17
  43. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
  44. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +17 -1
  45. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -1
  46. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +2 -8
  47. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +12 -16
  48. package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  49. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +2 -7
  50. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +30 -15
  51. package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
  52. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
  53. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +2 -7
  54. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +32 -29
  55. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  56. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +1 -1
  57. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +2 -2
  58. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -1
  59. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +17 -1
  60. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
  61. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +2 -7
  62. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +15 -27
  63. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
  64. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +9 -6
  65. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
  66. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +2 -2
  67. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +28 -8
  68. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
  69. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +2 -7
  70. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +14 -28
  71. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  72. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +2 -2
  73. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +4 -20
  74. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -1
  75. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +2 -2
  76. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +19 -14
  77. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
  78. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +2 -7
  79. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +16 -32
  80. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
  81. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.d.ts +2 -3
  82. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js +9 -10
  83. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -1
  84. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +17 -38
  85. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
  86. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js +1 -1
  87. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js.map +1 -1
  88. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js +3 -3
  89. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js.map +1 -1
  90. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +19 -56
  91. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
  92. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.d.ts +2 -3
  93. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +25 -9
  94. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -1
  95. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.d.ts +2 -5
  96. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js +19 -3
  97. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js.map +1 -1
  98. package/lib/components/FormComponents/DecimalItem/DecimalField.d.ts +2 -3
  99. package/lib/components/FormComponents/DecimalItem/DecimalField.js +6 -6
  100. package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
  101. package/lib/components/FormComponents/DecimalItem/DecimalItem.js +22 -45
  102. package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
  103. package/lib/components/FormComponents/DisplayItem/DisplayItem.js +1 -1
  104. package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
  105. package/lib/components/FormComponents/GridGroup/GridGroup.d.ts +2 -2
  106. package/lib/components/FormComponents/GridGroup/GridGroup.js +29 -20
  107. package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
  108. package/lib/components/FormComponents/GridGroup/GridRow.d.ts +6 -2
  109. package/lib/components/FormComponents/GridGroup/GridRow.js +7 -9
  110. package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
  111. package/lib/components/FormComponents/GridGroup/GridTable.d.ts +6 -2
  112. package/lib/components/FormComponents/GridGroup/GridTable.js +7 -4
  113. package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -1
  114. package/lib/components/FormComponents/GroupItem/GroupHeading.js +4 -4
  115. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  116. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +2 -2
  117. package/lib/components/FormComponents/GroupItem/GroupItem.js +8 -8
  118. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  119. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +2 -2
  120. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +11 -11
  121. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  122. package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +2 -2
  123. package/lib/components/FormComponents/GroupItem/GroupItemView.js +8 -10
  124. package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
  125. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +2 -2
  126. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -1
  127. package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js +2 -2
  128. package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js.map +1 -1
  129. package/lib/components/FormComponents/IntegerItem/IntegerField.d.ts +2 -3
  130. package/lib/components/FormComponents/IntegerItem/IntegerField.js +6 -6
  131. package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
  132. package/lib/components/FormComponents/IntegerItem/IntegerItem.js +20 -40
  133. package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
  134. package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.d.ts +1 -1
  135. package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js +10 -11
  136. package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js.map +1 -1
  137. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +10 -7
  138. package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
  139. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +9 -7
  140. package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -1
  141. package/lib/components/FormComponents/ItemParts/ClearButtonAdornment.js +1 -2
  142. package/lib/components/FormComponents/ItemParts/ClearButtonAdornment.js.map +1 -1
  143. package/lib/components/FormComponents/ItemParts/ClearInputButton.d.ts +1 -1
  144. package/lib/components/FormComponents/ItemParts/ClearInputButton.js +9 -7
  145. package/lib/components/FormComponents/ItemParts/ClearInputButton.js.map +1 -1
  146. package/lib/components/FormComponents/ItemParts/DisplayUnitText.js +2 -2
  147. package/lib/components/FormComponents/ItemParts/DisplayUnitText.js.map +1 -1
  148. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingIcon.js +6 -2
  149. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingIcon.js.map +1 -1
  150. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +3 -3
  151. package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
  152. package/lib/components/FormComponents/ItemParts/ItemLabel.js +10 -9
  153. package/lib/components/FormComponents/ItemParts/ItemLabel.js.map +1 -1
  154. package/lib/components/FormComponents/ItemParts/ItemRepopulateButton.js +30 -48
  155. package/lib/components/FormComponents/ItemParts/ItemRepopulateButton.js.map +1 -1
  156. package/lib/components/FormComponents/ItemParts/ItemTextSwitcher.js +6 -5
  157. package/lib/components/FormComponents/ItemParts/ItemTextSwitcher.js.map +1 -1
  158. package/lib/components/FormComponents/ItemParts/OpenLabelField.js +4 -4
  159. package/lib/components/FormComponents/ItemParts/OpenLabelField.js.map +1 -1
  160. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +1 -1
  161. package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js.map +1 -1
  162. package/lib/components/FormComponents/ItemParts/RadioFormGroup.d.ts +1 -1
  163. package/lib/components/FormComponents/ItemParts/RadioFormGroup.js +12 -13
  164. package/lib/components/FormComponents/ItemParts/RadioFormGroup.js.map +1 -1
  165. package/lib/components/FormComponents/ItemParts/RadioOptionList.js +1 -2
  166. package/lib/components/FormComponents/ItemParts/RadioOptionList.js.map +1 -1
  167. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js +4 -15
  168. package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js.map +1 -1
  169. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +2 -2
  170. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +21 -16
  171. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
  172. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +2 -7
  173. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +41 -21
  174. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
  175. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +1 -1
  176. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -1
  177. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +2 -7
  178. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +18 -21
  179. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
  180. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.js +18 -2
  181. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.js.map +1 -1
  182. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.d.ts +2 -7
  183. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js +18 -21
  184. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js.map +1 -1
  185. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +2 -7
  186. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +28 -13
  187. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
  188. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
  189. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +2 -7
  190. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +26 -20
  191. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  192. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js +18 -2
  193. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js.map +1 -1
  194. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.d.ts +2 -7
  195. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js +26 -17
  196. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js.map +1 -1
  197. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +2 -2
  198. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +10 -6
  199. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
  200. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +2 -7
  201. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +25 -16
  202. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
  203. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +2 -2
  204. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +10 -6
  205. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
  206. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +2 -7
  207. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +21 -15
  208. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
  209. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +2 -2
  210. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +5 -5
  211. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -1
  212. package/lib/components/FormComponents/QuantityItem/QuantityField.d.ts +2 -3
  213. package/lib/components/FormComponents/QuantityItem/QuantityField.js +6 -6
  214. package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -1
  215. package/lib/components/FormComponents/QuantityItem/QuantityItem.js +31 -89
  216. package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
  217. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.d.ts +2 -2
  218. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +4 -4
  219. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -1
  220. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +1 -2
  221. package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
  222. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +2 -2
  223. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +4 -6
  224. package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
  225. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +2 -2
  226. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +2 -2
  227. package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
  228. package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.d.ts +3 -4
  229. package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js +3 -4
  230. package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js.map +1 -1
  231. package/lib/components/FormComponents/RepeatItem/AddItemButton.js +1 -1
  232. package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
  233. package/lib/components/FormComponents/RepeatItem/RepeatField.d.ts +2 -2
  234. package/lib/components/FormComponents/RepeatItem/RepeatField.js +2 -3
  235. package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -1
  236. package/lib/components/FormComponents/RepeatItem/RepeatItem.d.ts +2 -2
  237. package/lib/components/FormComponents/RepeatItem/RepeatItem.js +17 -13
  238. package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
  239. package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +2 -2
  240. package/lib/components/FormComponents/SingleItem/SingleItem.js +9 -9
  241. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  242. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +2 -2
  243. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +52 -31
  244. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  245. package/lib/components/FormComponents/SingleItem/SingleItemView.d.ts +3 -4
  246. package/lib/components/FormComponents/SingleItem/SingleItemView.js +4 -5
  247. package/lib/components/FormComponents/SingleItem/SingleItemView.js.map +1 -1
  248. package/lib/components/FormComponents/SingleItem/SingleNestedItems.d.ts +2 -2
  249. package/lib/components/FormComponents/SingleItem/SingleNestedItems.js +8 -9
  250. package/lib/components/FormComponents/SingleItem/SingleNestedItems.js.map +1 -1
  251. package/lib/components/FormComponents/SliderItem/Slider.styles.js +23 -21
  252. package/lib/components/FormComponents/SliderItem/Slider.styles.js.map +1 -1
  253. package/lib/components/FormComponents/SliderItem/SliderField.d.ts +2 -2
  254. package/lib/components/FormComponents/SliderItem/SliderField.js +4 -4
  255. package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -1
  256. package/lib/components/FormComponents/SliderItem/SliderItem.js +10 -8
  257. package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
  258. package/lib/components/FormComponents/StringItem/StringField.d.ts +2 -3
  259. package/lib/components/FormComponents/StringItem/StringField.js +22 -6
  260. package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
  261. package/lib/components/FormComponents/StringItem/StringItem.d.ts +2 -7
  262. package/lib/components/FormComponents/StringItem/StringItem.js +19 -55
  263. package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
  264. package/lib/components/FormComponents/Tables/GroupTable.d.ts +2 -2
  265. package/lib/components/FormComponents/Tables/GroupTable.js +33 -37
  266. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  267. package/lib/components/FormComponents/Tables/GroupTableBody.d.ts +7 -4
  268. package/lib/components/FormComponents/Tables/GroupTableBody.js +4 -5
  269. package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -1
  270. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +7 -4
  271. package/lib/components/FormComponents/Tables/GroupTableRow.js +3 -3
  272. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  273. package/lib/components/FormComponents/Tables/GroupTableRowCells.d.ts +6 -2
  274. package/lib/components/FormComponents/Tables/GroupTableRowCells.js +5 -6
  275. package/lib/components/FormComponents/Tables/GroupTableRowCells.js.map +1 -1
  276. package/lib/components/FormComponents/Tables/GroupTableView.d.ts +7 -4
  277. package/lib/components/FormComponents/Tables/GroupTableView.js +8 -9
  278. package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
  279. package/lib/components/FormComponents/Tables/SelectRowButton.js +3 -4
  280. package/lib/components/FormComponents/Tables/SelectRowButton.js.map +1 -1
  281. package/lib/components/FormComponents/Tables/Table.styles.d.ts +2 -2
  282. package/lib/components/FormComponents/Tables/Table.styles.js +25 -20
  283. package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -1
  284. package/lib/components/FormComponents/TextItem/TextField.d.ts +0 -1
  285. package/lib/components/FormComponents/TextItem/TextField.js +4 -4
  286. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
  287. package/lib/components/FormComponents/TextItem/TextItem.js +14 -34
  288. package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
  289. package/lib/components/FormComponents/Textfield.styles.js +1 -1
  290. package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
  291. package/lib/components/FormComponents/TimeItem/TimeField.d.ts +2 -2
  292. package/lib/components/FormComponents/TimeItem/TimeField.js +3 -2
  293. package/lib/components/FormComponents/TimeItem/TimeField.js.map +1 -1
  294. package/lib/components/FormComponents/TimeItem/TimeItem.js +8 -6
  295. package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
  296. package/lib/components/FormComponents/UrlItem/UrlField.d.ts +2 -3
  297. package/lib/components/FormComponents/UrlItem/UrlField.js +5 -5
  298. package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
  299. package/lib/components/FormComponents/UrlItem/UrlItem.js +8 -17
  300. package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
  301. package/lib/components/Radio.styles.js +21 -19
  302. package/lib/components/Radio.styles.js.map +1 -1
  303. package/lib/components/Renderer/BaseRenderer.js +11 -15
  304. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  305. package/lib/components/Renderer/FormBodyCollapsible.d.ts +2 -2
  306. package/lib/components/Renderer/FormBodyCollapsible.js +5 -6
  307. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
  308. package/lib/components/Renderer/FormBodyPageContainer.d.ts +2 -2
  309. package/lib/components/Renderer/FormBodyPageContainer.js +7 -9
  310. package/lib/components/Renderer/FormBodyPageContainer.js.map +1 -1
  311. package/lib/components/Renderer/FormBodyPaginated.d.ts +2 -2
  312. package/lib/components/Renderer/FormBodyPaginated.js +11 -16
  313. package/lib/components/Renderer/FormBodyPaginated.js.map +1 -1
  314. package/lib/components/Renderer/FormBodySingleCollapsible.js +1 -2
  315. package/lib/components/Renderer/FormBodySingleCollapsible.js.map +1 -1
  316. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +2 -2
  317. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +2 -2
  318. package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -1
  319. package/lib/components/Renderer/FormBodyTabbed.d.ts +2 -2
  320. package/lib/components/Renderer/FormBodyTabbed.js +13 -15
  321. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  322. package/lib/components/Renderer/FormTopLevelItem.d.ts +2 -2
  323. package/lib/components/Renderer/FormTopLevelItem.js +12 -12
  324. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  325. package/lib/components/Renderer/SmartFormsRenderer.d.ts +4 -2
  326. package/lib/components/Renderer/SmartFormsRenderer.js +4 -2
  327. package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -1
  328. package/lib/components/Tabs/FormBodySingleTab.d.ts +1 -0
  329. package/lib/components/Tabs/FormBodySingleTab.js +5 -2
  330. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  331. package/lib/components/Tabs/FormBodyTabList.js +2 -3
  332. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  333. package/lib/hooks/index.d.ts +0 -2
  334. package/lib/hooks/index.js +1 -3
  335. package/lib/hooks/index.js.map +1 -1
  336. package/lib/hooks/useAnswerOptionsToggleExpressions.js +6 -8
  337. package/lib/hooks/useAnswerOptionsToggleExpressions.js.map +1 -1
  338. package/lib/hooks/useAttachmentUrlValidation.js +1 -1
  339. package/lib/hooks/useAttachmentUrlValidation.js.map +1 -1
  340. package/lib/hooks/useBuildForm.d.ts +13 -15
  341. package/lib/hooks/useBuildForm.js +26 -22
  342. package/lib/hooks/useBuildForm.js.map +1 -1
  343. package/lib/hooks/useCalculatedExpressionUpdated.d.ts +7 -0
  344. package/lib/hooks/useCalculatedExpressionUpdated.js +31 -0
  345. package/lib/hooks/useCalculatedExpressionUpdated.js.map +1 -0
  346. package/lib/hooks/useCodingCalculatedExpression.d.ts +0 -13
  347. package/lib/hooks/useCodingCalculatedExpression.js +1 -74
  348. package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
  349. package/lib/hooks/useDateCalculatedExpression.d.ts +0 -12
  350. package/lib/hooks/useDateCalculatedExpression.js +1 -58
  351. package/lib/hooks/useDateCalculatedExpression.js.map +1 -1
  352. package/lib/hooks/useDateTimeCalculatedExpression.d.ts +0 -12
  353. package/lib/hooks/useDateTimeCalculatedExpression.js +1 -58
  354. package/lib/hooks/useDateTimeCalculatedExpression.js.map +1 -1
  355. package/lib/hooks/useDisplayCqfAndCalculatedExpression.d.ts +13 -1
  356. package/lib/hooks/useDisplayCqfAndCalculatedExpression.js +14 -4
  357. package/lib/hooks/useDisplayCqfAndCalculatedExpression.js.map +1 -1
  358. package/lib/hooks/useDynamicValueSetEffect.js +6 -16
  359. package/lib/hooks/useDynamicValueSetEffect.js.map +1 -1
  360. package/lib/hooks/useHidden.js +2 -2
  361. package/lib/hooks/useHidden.js.map +1 -1
  362. package/lib/hooks/useInitialiseForm.d.ts +3 -2
  363. package/lib/hooks/useInitialiseForm.js +10 -3
  364. package/lib/hooks/useInitialiseForm.js.map +1 -1
  365. package/lib/hooks/useInitialiseRepeatAnswers.js +5 -5
  366. package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
  367. package/lib/hooks/useParseXhtml.js +2 -2
  368. package/lib/hooks/useParseXhtml.js.map +1 -1
  369. package/lib/hooks/useReadOnly.js +2 -2
  370. package/lib/hooks/useReadOnly.js.map +1 -1
  371. package/lib/hooks/useRenderingExtensions.js +11 -14
  372. package/lib/hooks/useRenderingExtensions.js.map +1 -1
  373. package/lib/hooks/useResizeColumns.d.ts +8 -0
  374. package/lib/hooks/useResizeColumns.js +46 -0
  375. package/lib/hooks/useResizeColumns.js.map +1 -0
  376. package/lib/hooks/useSliderExtensions.js +5 -6
  377. package/lib/hooks/useSliderExtensions.js.map +1 -1
  378. package/lib/hooks/useTerminologyServerQuery.js +2 -3
  379. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  380. package/lib/hooks/useValidationFeedback.js +2 -3
  381. package/lib/hooks/useValidationFeedback.js.map +1 -1
  382. package/lib/hooks/useValueSetCodings.js +6 -39
  383. package/lib/hooks/useValueSetCodings.js.map +1 -1
  384. package/lib/index.d.ts +5 -7
  385. package/lib/index.js +3 -4
  386. package/lib/index.js.map +1 -1
  387. package/lib/interfaces/calculatedExpression.interface.d.ts +1 -1
  388. package/lib/interfaces/overrideComponent.interface.d.ts +3 -4
  389. package/lib/interfaces/renderProps.interface.d.ts +6 -31
  390. package/lib/interfaces/valueSet.interface.d.ts +2 -2
  391. package/lib/stores/formUpdateQueueStore.d.ts +6 -13
  392. package/lib/stores/formUpdateQueueStore.js +9 -24
  393. package/lib/stores/formUpdateQueueStore.js.map +1 -1
  394. package/lib/stores/index.d.ts +3 -3
  395. package/lib/stores/index.js +2 -2
  396. package/lib/stores/index.js.map +1 -1
  397. package/lib/stores/questionnaireResponseStore.d.ts +6 -9
  398. package/lib/stores/questionnaireResponseStore.js +22 -28
  399. package/lib/stores/questionnaireResponseStore.js.map +1 -1
  400. package/lib/stores/questionnaireStore.d.ts +39 -35
  401. package/lib/stores/questionnaireStore.js +136 -146
  402. package/lib/stores/questionnaireStore.js.map +1 -1
  403. package/lib/stores/{rendererStylingStore.d.ts → rendererConfigStore.d.ts} +8 -8
  404. package/lib/stores/rendererConfigStore.js +65 -0
  405. package/lib/stores/rendererConfigStore.js.map +1 -0
  406. package/lib/stores/smartConfigStore.d.ts +3 -3
  407. package/lib/stores/smartConfigStore.js +3 -3
  408. package/lib/stores/terminologyServerStore.d.ts +2 -2
  409. package/lib/stores/terminologyServerStore.js +2 -2
  410. package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.d.ts +1 -1
  411. package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.js +2 -2
  412. package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.js.map +1 -1
  413. package/lib/stories/testUtils.d.ts +23 -0
  414. package/lib/stories/testUtils.js +249 -0
  415. package/lib/stories/testUtils.js.map +1 -0
  416. package/lib/theme/rendererThemeOptions.js +1 -1
  417. package/lib/theme/rendererThemeOptions.js.map +1 -1
  418. package/lib/utils/answerOptionsToggleExpressions.d.ts +1 -1
  419. package/lib/utils/answerOptionsToggleExpressions.js +94 -111
  420. package/lib/utils/answerOptionsToggleExpressions.js.map +1 -1
  421. package/lib/utils/calculatedExpression.d.ts +39 -3
  422. package/lib/utils/calculatedExpression.js +426 -191
  423. package/lib/utils/calculatedExpression.js.map +1 -1
  424. package/lib/utils/choice.js +14 -11
  425. package/lib/utils/choice.js.map +1 -1
  426. package/lib/utils/columnWidth.d.ts +28 -0
  427. package/lib/utils/columnWidth.js +103 -0
  428. package/lib/utils/columnWidth.js.map +1 -0
  429. package/lib/utils/computedUpdates.js +14 -12
  430. package/lib/utils/computedUpdates.js.map +1 -1
  431. package/lib/utils/enableWhen.js +6 -8
  432. package/lib/utils/enableWhen.js.map +1 -1
  433. package/lib/utils/enableWhenExpression.d.ts +1 -1
  434. package/lib/utils/enableWhenExpression.js +143 -163
  435. package/lib/utils/enableWhenExpression.js.map +1 -1
  436. package/lib/utils/extensions.d.ts +9 -0
  437. package/lib/utils/extensions.js +77 -74
  438. package/lib/utils/extensions.js.map +1 -1
  439. package/lib/utils/extractObservation.js +37 -28
  440. package/lib/utils/extractObservation.js.map +1 -1
  441. package/lib/utils/fhirpath.d.ts +27 -21
  442. package/lib/utils/fhirpath.js +191 -171
  443. package/lib/utils/fhirpath.js.map +1 -1
  444. package/lib/utils/fileUtils.js +21 -32
  445. package/lib/utils/fileUtils.js.map +1 -1
  446. package/lib/utils/genericRecursive.js +4 -6
  447. package/lib/utils/genericRecursive.js.map +1 -1
  448. package/lib/utils/getExpressionsFromItem.js +59 -66
  449. package/lib/utils/getExpressionsFromItem.js.map +1 -1
  450. package/lib/utils/index.d.ts +2 -1
  451. package/lib/utils/index.js +1 -1
  452. package/lib/utils/index.js.map +1 -1
  453. package/lib/utils/initialise.js +88 -101
  454. package/lib/utils/initialise.js.map +1 -1
  455. package/lib/utils/inputSanitization.js +6 -6
  456. package/lib/utils/inputSanitization.js.map +1 -1
  457. package/lib/utils/itemPath.d.ts +2 -2
  458. package/lib/utils/manageForm.d.ts +87 -9
  459. package/lib/utils/manageForm.js +79 -54
  460. package/lib/utils/manageForm.js.map +1 -1
  461. package/lib/utils/misc.js +9 -9
  462. package/lib/utils/misc.js.map +1 -1
  463. package/lib/utils/openChoice.js +25 -23
  464. package/lib/utils/openChoice.js.map +1 -1
  465. package/lib/utils/page.js +3 -4
  466. package/lib/utils/page.js.map +1 -1
  467. package/lib/utils/parameterisedValueSets.d.ts +1 -1
  468. package/lib/utils/parameterisedValueSets.js +110 -124
  469. package/lib/utils/parameterisedValueSets.js.map +1 -1
  470. package/lib/utils/populateContexts.js +4 -5
  471. package/lib/utils/populateContexts.js.map +1 -1
  472. package/lib/utils/qItem.js +9 -21
  473. package/lib/utils/qItem.js.map +1 -1
  474. package/lib/utils/qrItem.js +2 -3
  475. package/lib/utils/qrItem.js.map +1 -1
  476. package/lib/utils/quantity.js +8 -9
  477. package/lib/utils/quantity.js.map +1 -1
  478. package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js +93 -111
  479. package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js.map +1 -1
  480. package/lib/utils/questionnaireStoreUtils/createQuestionnaireModel.js +48 -64
  481. package/lib/utils/questionnaireStoreUtils/createQuestionnaireModel.js.map +1 -1
  482. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +3 -5
  483. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -1
  484. package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js +1 -2
  485. package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -1
  486. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +200 -212
  487. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
  488. package/lib/utils/questionnaireStoreUtils/extractTabs.js +1 -1
  489. package/lib/utils/questionnaireStoreUtils/extractTabs.js.map +1 -1
  490. package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js +8 -9
  491. package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js.map +1 -1
  492. package/lib/utils/questionnaireStoreUtils/extractVariables.js +4 -10
  493. package/lib/utils/questionnaireStoreUtils/extractVariables.js.map +1 -1
  494. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +28 -37
  495. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -1
  496. package/lib/utils/readValues.js +7 -7
  497. package/lib/utils/readValues.js.map +1 -1
  498. package/lib/utils/removeEmptyAnswers.js +11 -9
  499. package/lib/utils/removeEmptyAnswers.js.map +1 -1
  500. package/lib/utils/removeRepeatId.js +17 -22
  501. package/lib/utils/removeRepeatId.js.map +1 -1
  502. package/lib/utils/repopulateIntoResponse.js +7 -5
  503. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  504. package/lib/utils/repopulateItems.js +6 -11
  505. package/lib/utils/repopulateItems.js.map +1 -1
  506. package/lib/utils/slider.js +3 -6
  507. package/lib/utils/slider.js.map +1 -1
  508. package/lib/utils/tabs.js +3 -5
  509. package/lib/utils/tabs.js.map +1 -1
  510. package/lib/utils/targetConstraint.d.ts +1 -1
  511. package/lib/utils/targetConstraint.js +85 -102
  512. package/lib/utils/targetConstraint.js.map +1 -1
  513. package/lib/utils/ucumQuantityConversion.d.ts +44 -0
  514. package/lib/utils/ucumQuantityConversion.js +132 -0
  515. package/lib/utils/ucumQuantityConversion.js.map +1 -0
  516. package/lib/utils/validate.js +35 -35
  517. package/lib/utils/validate.js.map +1 -1
  518. package/lib/utils/valueSet.d.ts +10 -1
  519. package/lib/utils/valueSet.js +67 -55
  520. package/lib/utils/valueSet.js.map +1 -1
  521. package/package.json +21 -21
  522. package/src/components/ExpressionUpdateFadingGlow.styles.ts +3 -3
  523. package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +5 -5
  524. package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +3 -2
  525. package/src/components/FormComponents/AttachmentItem/AttachmentFileCollector.tsx +2 -2
  526. package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.tsx +5 -5
  527. package/src/components/FormComponents/AttachmentItem/AttachmentUrlField.tsx +5 -5
  528. package/src/components/FormComponents/BooleanItem/BooleanField.tsx +4 -4
  529. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +7 -26
  530. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +6 -6
  531. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +15 -35
  532. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +0 -1
  533. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +12 -36
  534. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +3 -4
  535. package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +14 -38
  536. package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +19 -43
  537. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +0 -1
  538. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +14 -59
  539. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +4 -4
  540. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +2 -3
  541. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +14 -52
  542. package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +2 -2
  543. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +8 -8
  544. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +12 -59
  545. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +8 -7
  546. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +12 -11
  547. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +11 -55
  548. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx +6 -11
  549. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +11 -44
  550. package/src/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.tsx +2 -2
  551. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +19 -75
  552. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +11 -15
  553. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.tsx +6 -14
  554. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +7 -10
  555. package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +20 -65
  556. package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +1 -0
  557. package/src/components/FormComponents/GridGroup/GridGroup.tsx +45 -29
  558. package/src/components/FormComponents/GridGroup/GridRow.tsx +13 -15
  559. package/src/components/FormComponents/GridGroup/GridTable.tsx +6 -7
  560. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +2 -2
  561. package/src/components/FormComponents/GroupItem/GroupItem.tsx +4 -9
  562. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +1 -14
  563. package/src/components/FormComponents/GroupItem/GroupItemView.tsx +1 -7
  564. package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +2 -2
  565. package/src/components/FormComponents/GroupItem/TabButtonsWrapper.tsx +2 -2
  566. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +7 -10
  567. package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +18 -57
  568. package/src/components/FormComponents/ItemParts/CheckboxFormGroup.tsx +8 -8
  569. package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -2
  570. package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +2 -2
  571. package/src/components/FormComponents/ItemParts/ClearInputButton.tsx +17 -16
  572. package/src/components/FormComponents/ItemParts/DisplayUnitText.tsx +2 -2
  573. package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +2 -2
  574. package/src/components/FormComponents/ItemParts/ItemLabel.tsx +3 -6
  575. package/src/components/FormComponents/ItemParts/ItemRepopulateButton.tsx +1 -8
  576. package/src/components/FormComponents/ItemParts/ItemTextSwitcher.tsx +9 -4
  577. package/src/components/FormComponents/ItemParts/OpenLabelField.tsx +3 -3
  578. package/src/components/FormComponents/ItemParts/RadioFormGroup.tsx +9 -9
  579. package/src/components/FormComponents/ItemParts/RequiredAsterisk.tsx +3 -3
  580. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +5 -5
  581. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +40 -44
  582. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +1 -2
  583. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +19 -41
  584. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.tsx +4 -5
  585. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +24 -42
  586. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +22 -46
  587. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +0 -1
  588. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +22 -37
  589. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +3 -4
  590. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +27 -36
  591. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +5 -5
  592. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +10 -37
  593. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +5 -5
  594. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +11 -34
  595. package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +6 -6
  596. package/src/components/FormComponents/QuantityItem/QuantityField.tsx +7 -10
  597. package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +15 -105
  598. package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +11 -6
  599. package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +8 -21
  600. package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +0 -4
  601. package/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx +5 -19
  602. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +0 -4
  603. package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +9 -27
  604. package/src/components/FormComponents/SingleItem/SingleItem.tsx +7 -12
  605. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +57 -36
  606. package/src/components/FormComponents/SingleItem/SingleItemView.tsx +3 -15
  607. package/src/components/FormComponents/SingleItem/SingleNestedItems.tsx +5 -10
  608. package/src/components/FormComponents/SliderItem/SliderField.tsx +5 -5
  609. package/src/components/FormComponents/SliderItem/SliderItem.tsx +1 -0
  610. package/src/components/FormComponents/StringItem/StringField.tsx +7 -10
  611. package/src/components/FormComponents/StringItem/StringItem.tsx +19 -79
  612. package/src/components/FormComponents/Tables/GroupTable.tsx +69 -45
  613. package/src/components/FormComponents/Tables/GroupTableBody.tsx +7 -16
  614. package/src/components/FormComponents/Tables/GroupTableRow.tsx +7 -17
  615. package/src/components/FormComponents/Tables/GroupTableRowCells.tsx +5 -12
  616. package/src/components/FormComponents/Tables/GroupTableView.tsx +9 -13
  617. package/src/components/FormComponents/Tables/SelectRowButton.tsx +2 -2
  618. package/src/components/FormComponents/Tables/Table.styles.tsx +13 -8
  619. package/src/components/FormComponents/TextItem/TextField.tsx +3 -6
  620. package/src/components/FormComponents/TextItem/TextItem.tsx +11 -50
  621. package/src/components/FormComponents/Textfield.styles.ts +1 -1
  622. package/src/components/FormComponents/TimeItem/TimeField.tsx +5 -4
  623. package/src/components/FormComponents/TimeItem/TimeItem.tsx +6 -2
  624. package/src/components/FormComponents/UrlItem/UrlField.tsx +6 -9
  625. package/src/components/FormComponents/UrlItem/UrlItem.tsx +4 -19
  626. package/src/components/Renderer/BaseRenderer.tsx +18 -26
  627. package/src/components/Renderer/FormBodyCollapsible.tsx +3 -8
  628. package/src/components/Renderer/FormBodyPageContainer.tsx +3 -8
  629. package/src/components/Renderer/FormBodyPaginated.tsx +3 -12
  630. package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +2 -13
  631. package/src/components/Renderer/FormBodyTabbed.tsx +5 -10
  632. package/src/components/Renderer/FormTopLevelItem.tsx +3 -14
  633. package/src/components/Renderer/SmartFormsRenderer.tsx +4 -2
  634. package/src/components/Tabs/FormBodySingleTab.tsx +9 -2
  635. package/src/components/Tabs/FormBodyTabList.tsx +1 -0
  636. package/src/hooks/index.ts +1 -6
  637. package/src/hooks/useBuildForm.ts +31 -39
  638. package/src/hooks/useCalculatedExpressionUpdated.ts +39 -0
  639. package/src/hooks/useCodingCalculatedExpression.ts +0 -110
  640. package/src/hooks/useDateCalculatedExpression.ts +0 -90
  641. package/src/hooks/useDateTimeCalculatedExpression.ts +0 -90
  642. package/src/hooks/useDisplayCqfAndCalculatedExpression.ts +18 -2
  643. package/src/hooks/useHidden.ts +2 -2
  644. package/src/hooks/useInitialiseForm.ts +6 -5
  645. package/src/hooks/useReadOnly.ts +2 -2
  646. package/src/hooks/useResizeColumns.ts +53 -0
  647. package/src/hooks/useValueSetCodings.ts +5 -27
  648. package/src/index.ts +6 -12
  649. package/src/interfaces/calculatedExpression.interface.ts +1 -1
  650. package/src/interfaces/overrideComponent.interface.ts +3 -4
  651. package/src/interfaces/renderProps.interface.ts +8 -34
  652. package/src/interfaces/valueSet.interface.ts +2 -2
  653. package/src/stores/formUpdateQueueStore.ts +13 -29
  654. package/src/stores/index.ts +3 -3
  655. package/src/stores/questionnaireResponseStore.ts +28 -37
  656. package/src/stores/questionnaireStore.ts +230 -206
  657. package/src/stores/{rendererStylingStore.ts → rendererConfigStore.ts} +8 -8
  658. package/src/stores/smartConfigStore.ts +3 -3
  659. package/src/stores/terminologyServerStore.ts +2 -2
  660. package/src/theme/rendererThemeOptions.ts +1 -1
  661. package/src/utils/answerOptionsToggleExpressions.ts +12 -9
  662. package/src/utils/calculatedExpression.ts +466 -97
  663. package/src/utils/columnWidth.test.ts +75 -0
  664. package/src/utils/columnWidth.ts +110 -0
  665. package/src/utils/enableWhenExpression.ts +10 -6
  666. package/src/utils/extensions.ts +30 -0
  667. package/src/utils/extractObservation.ts +2 -1
  668. package/src/utils/fhirpath.ts +140 -115
  669. package/src/utils/getExpressionsFromItem.ts +33 -2
  670. package/src/utils/index.ts +2 -0
  671. package/src/utils/inputSanitization.ts +6 -6
  672. package/src/utils/manageForm.ts +148 -24
  673. package/src/utils/misc.ts +0 -2
  674. package/src/utils/parameterisedValueSets.ts +20 -9
  675. package/src/utils/questionnaireStoreUtils/createQuestionnaireModel.ts +0 -6
  676. package/src/utils/targetConstraint.ts +12 -9
  677. package/src/utils/ucumQuantityConversion.ts +195 -0
  678. package/src/utils/validate.ts +8 -3
  679. package/src/utils/valueSet.ts +44 -1
  680. package/src/vite-env.d.ts +2 -1
  681. package/tsconfig.json +2 -2
  682. package/vite.config.ts +5 -1
  683. package/lib/api/callbacks.d.ts +0 -8
  684. package/lib/api/callbacks.js +0 -52
  685. package/lib/api/callbacks.js.map +0 -1
  686. package/lib/api/xFhirQuerySync.d.ts +0 -1
  687. package/lib/api/xFhirQuerySync.js +0 -61
  688. package/lib/api/xFhirQuerySync.js.map +0 -1
  689. package/lib/components/ExpressionUpdateFadingGlow.d.ts +0 -0
  690. package/lib/components/ExpressionUpdateFadingGlow.js +0 -2
  691. package/lib/components/ExpressionUpdateFadingGlow.js.map +0 -1
  692. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.d.ts +0 -0
  693. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js +0 -2
  694. package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js.map +0 -1
  695. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.d.ts +0 -7
  696. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +0 -26
  697. package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +0 -1
  698. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.d.ts +0 -0
  699. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js +0 -2
  700. package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js.map +0 -1
  701. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.d.ts +0 -8
  702. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js +0 -130
  703. package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js.map +0 -1
  704. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.d.ts +0 -8
  705. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js +0 -126
  706. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js.map +0 -1
  707. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.d.ts +0 -8
  708. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js +0 -118
  709. package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js.map +0 -1
  710. package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +0 -8
  711. package/lib/components/FormComponents/ItemParts/ItemLabelText.js +0 -63
  712. package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +0 -1
  713. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +0 -8
  714. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +0 -53
  715. package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +0 -1
  716. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.d.ts +0 -0
  717. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js +0 -2
  718. package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js.map +0 -1
  719. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.d.ts +0 -7
  720. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js +0 -95
  721. package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js.map +0 -1
  722. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +0 -10
  723. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +0 -30
  724. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +0 -1
  725. package/lib/components/FormComponents/Tables/GroupTableRowCell.d.ts +0 -9
  726. package/lib/components/FormComponents/Tables/GroupTableRowCell.js +0 -15
  727. package/lib/components/FormComponents/Tables/GroupTableRowCell.js.map +0 -1
  728. package/lib/components/Iconify/Iconify.d.ts +0 -10
  729. package/lib/components/Iconify/Iconify.js +0 -26
  730. package/lib/components/Iconify/Iconify.js.map +0 -1
  731. package/lib/components/Renderer/FormBodyPage.d.ts +0 -9
  732. package/lib/components/Renderer/FormBodyPage.js +0 -43
  733. package/lib/components/Renderer/FormBodyPage.js.map +0 -1
  734. package/lib/components/Renderer/FormTitle.d.ts +0 -7
  735. package/lib/components/Renderer/FormTitle.js +0 -30
  736. package/lib/components/Renderer/FormTitle.js.map +0 -1
  737. package/lib/components/Renderer/FormTopLevelPage.d.ts +0 -9
  738. package/lib/components/Renderer/FormTopLevelPage.js +0 -29
  739. package/lib/components/Renderer/FormTopLevelPage.js.map +0 -1
  740. package/lib/hooks/useBooleanCalculatedExpression.d.ts +0 -12
  741. package/lib/hooks/useBooleanCalculatedExpression.js +0 -53
  742. package/lib/hooks/useBooleanCalculatedExpression.js.map +0 -1
  743. package/lib/hooks/useCalculatedExpressionAnimating.d.ts +0 -1
  744. package/lib/hooks/useCalculatedExpressionAnimating.js +0 -18
  745. package/lib/hooks/useCalculatedExpressionAnimating.js.map +0 -1
  746. package/lib/hooks/useCalculatedExpressionAnimation.d.ts +0 -1
  747. package/lib/hooks/useCalculatedExpressionAnimation.js +0 -18
  748. package/lib/hooks/useCalculatedExpressionAnimation.js.map +0 -1
  749. package/lib/hooks/useCqfAnswerValueSet.d.ts +0 -4
  750. package/lib/hooks/useCqfAnswerValueSet.js +0 -86
  751. package/lib/hooks/useCqfAnswerValueSet.js.map +0 -1
  752. package/lib/hooks/useCqfAnswerValueSetEffect.d.ts +0 -3
  753. package/lib/hooks/useCqfAnswerValueSetEffect.js +0 -111
  754. package/lib/hooks/useCqfAnswerValueSetEffect.js.map +0 -1
  755. package/lib/hooks/useDecimalCalculatedExpression.d.ts +0 -13
  756. package/lib/hooks/useDecimalCalculatedExpression.js +0 -64
  757. package/lib/hooks/useDecimalCalculatedExpression.js.map +0 -1
  758. package/lib/hooks/useIntegerCalculatedExpression.d.ts +0 -12
  759. package/lib/hooks/useIntegerCalculatedExpression.js +0 -61
  760. package/lib/hooks/useIntegerCalculatedExpression.js.map +0 -1
  761. package/lib/hooks/useQuantityCalculatedExpression.d.ts +0 -14
  762. package/lib/hooks/useQuantityCalculatedExpression.js +0 -115
  763. package/lib/hooks/useQuantityCalculatedExpression.js.map +0 -1
  764. package/lib/hooks/useShowDateTimeFeedback.d.ts +0 -13
  765. package/lib/hooks/useShowDateTimeFeedback.js +0 -40
  766. package/lib/hooks/useShowDateTimeFeedback.js.map +0 -1
  767. package/lib/hooks/useShowFeedback.d.ts +0 -11
  768. package/lib/hooks/useShowFeedback.js +0 -33
  769. package/lib/hooks/useShowFeedback.js.map +0 -1
  770. package/lib/hooks/useStringCalculatedExpression.d.ts +0 -12
  771. package/lib/hooks/useStringCalculatedExpression.js +0 -63
  772. package/lib/hooks/useStringCalculatedExpression.js.map +0 -1
  773. package/lib/hooks/useTempCalculatedExpressionsSyncButton.d.ts +0 -1
  774. package/lib/hooks/useTempCalculatedExpressionsSyncButton.js +0 -24
  775. package/lib/hooks/useTempCalculatedExpressionsSyncButton.js.map +0 -1
  776. package/lib/interfaces/fhirPathContext.interface.d.ts +0 -0
  777. package/lib/interfaces/fhirPathContext.interface.js +0 -2
  778. package/lib/interfaces/fhirPathContext.interface.js.map +0 -1
  779. package/lib/interfaces/itemDetails.interface.d.ts +0 -2
  780. package/lib/interfaces/itemDetails.interface.js +0 -2
  781. package/lib/interfaces/itemDetails.interface.js.map +0 -1
  782. package/lib/interfaces/itemMetadata.d.ts +0 -0
  783. package/lib/interfaces/itemMetadata.interface.d.ts +0 -6
  784. package/lib/interfaces/itemMetadata.interface.js +0 -2
  785. package/lib/interfaces/itemMetadata.interface.js.map +0 -1
  786. package/lib/interfaces/itemMetadata.js +0 -2
  787. package/lib/interfaces/itemMetadata.js.map +0 -1
  788. package/lib/interfaces/itemPath.d.ts +0 -31
  789. package/lib/interfaces/itemPath.js +0 -2
  790. package/lib/interfaces/itemPath.js.map +0 -1
  791. package/lib/stores/callbackStore.d.ts +0 -0
  792. package/lib/stores/callbackStore.js +0 -2
  793. package/lib/stores/callbackStore.js.map +0 -1
  794. package/lib/stores/extractOperationStore.d.ts +0 -26
  795. package/lib/stores/extractOperationStore.js +0 -20
  796. package/lib/stores/extractOperationStore.js.map +0 -1
  797. package/lib/stores/rendererStylingStore.js +0 -68
  798. package/lib/stores/rendererStylingStore.js.map +0 -1
  799. package/lib/stories/storybookWrappers/populateCallbackForStorybook.d.ts +0 -8
  800. package/lib/stories/storybookWrappers/populateCallbackForStorybook.js +0 -52
  801. package/lib/stories/storybookWrappers/populateCallbackForStorybook.js.map +0 -1
  802. package/lib/templates/bloodPressureTemplate.d.ts +0 -23
  803. package/lib/templates/bloodPressureTemplate.js +0 -80
  804. package/lib/templates/bloodPressureTemplate.js.map +0 -1
  805. package/lib/theme/RendererDynamicThemeProvider.d.ts +0 -24
  806. package/lib/theme/RendererDynamicThemeProvider.js +0 -65
  807. package/lib/theme/RendererDynamicThemeProvider.js.map +0 -1
  808. package/lib/theme/RendererThemeToggle.d.ts +0 -6
  809. package/lib/theme/RendererThemeToggle.js +0 -45
  810. package/lib/theme/RendererThemeToggle.js.map +0 -1
  811. package/lib/theme/Theme.d.ts +0 -44
  812. package/lib/theme/Theme.js +0 -43
  813. package/lib/theme/Theme.js.map +0 -1
  814. package/lib/theme/customGlobalStyles.d.ts +0 -1
  815. package/lib/theme/customGlobalStyles.js +0 -45
  816. package/lib/theme/customGlobalStyles.js.map +0 -1
  817. package/lib/theme/overrides/Accordion.d.ts +0 -14
  818. package/lib/theme/overrides/Accordion.js +0 -32
  819. package/lib/theme/overrides/Accordion.js.map +0 -1
  820. package/lib/theme/overrides/Autocomplete.d.ts +0 -10
  821. package/lib/theme/overrides/Autocomplete.js +0 -28
  822. package/lib/theme/overrides/Autocomplete.js.map +0 -1
  823. package/lib/theme/overrides/Button.d.ts +0 -33
  824. package/lib/theme/overrides/Button.js +0 -52
  825. package/lib/theme/overrides/Button.js.map +0 -1
  826. package/lib/theme/overrides/Card.d.ts +0 -35
  827. package/lib/theme/overrides/Card.js +0 -49
  828. package/lib/theme/overrides/Card.js.map +0 -1
  829. package/lib/theme/overrides/Input.d.ts +0 -64
  830. package/lib/theme/overrides/Input.js +0 -81
  831. package/lib/theme/overrides/Input.js.map +0 -1
  832. package/lib/theme/overrides/Overrides.d.ts +0 -3
  833. package/lib/theme/overrides/Overrides.js +0 -29
  834. package/lib/theme/overrides/Overrides.js.map +0 -1
  835. package/lib/theme/overrides/Paper.d.ts +0 -12
  836. package/lib/theme/overrides/Paper.js +0 -31
  837. package/lib/theme/overrides/Paper.js.map +0 -1
  838. package/lib/theme/overrides/SpeedDial.d.ts +0 -16
  839. package/lib/theme/overrides/SpeedDial.js +0 -34
  840. package/lib/theme/overrides/SpeedDial.js.map +0 -1
  841. package/lib/theme/overrides/Table.d.ts +0 -12
  842. package/lib/theme/overrides/Table.js +0 -30
  843. package/lib/theme/overrides/Table.js.map +0 -1
  844. package/lib/theme/overrides/rendererThemeComponentOverride.d.ts +0 -2
  845. package/lib/theme/overrides/rendererThemeComponentOverride.js +0 -28
  846. package/lib/theme/overrides/rendererThemeComponentOverride.js.map +0 -1
  847. package/lib/theme/overrides/rendererThemeComponentsOverride.d.ts +0 -2
  848. package/lib/theme/overrides/rendererThemeComponentsOverride.js +0 -28
  849. package/lib/theme/overrides/rendererThemeComponentsOverride.js.map +0 -1
  850. package/lib/theme/overrides/rendererThemeComponentsOverrides.d.ts +0 -2
  851. package/lib/theme/overrides/rendererThemeComponentsOverrides.js +0 -28
  852. package/lib/theme/overrides/rendererThemeComponentsOverrides.js.map +0 -1
  853. package/lib/theme/palette.d.ts +0 -27
  854. package/lib/theme/palette.js +0 -63
  855. package/lib/theme/palette.js.map +0 -1
  856. package/lib/theme/shadows.d.ts +0 -2
  857. package/lib/theme/shadows.js +0 -52
  858. package/lib/theme/shadows.js.map +0 -1
  859. package/lib/theme/themeOptions.d.ts +0 -2
  860. package/lib/theme/themeOptions.js +0 -85
  861. package/lib/theme/themeOptions.js.map +0 -1
  862. package/lib/theme/useRendererTheme.d.ts +0 -5
  863. package/lib/theme/useRendererTheme.js +0 -30
  864. package/lib/theme/useRendererTheme.js.map +0 -1
  865. package/lib/utils/FhirPathEvaluateParams.d.ts +0 -20
  866. package/lib/utils/FhirPathEvaluateParams.js +0 -35
  867. package/lib/utils/FhirPathEvaluateParams.js.map +0 -1
  868. package/lib/utils/dayjsExtend.d.ts +0 -1
  869. package/lib/utils/dayjsExtend.js +0 -22
  870. package/lib/utils/dayjsExtend.js.map +0 -1
  871. package/lib/utils/dayjsSetup.d.ts +0 -2
  872. package/lib/utils/dayjsSetup.js +0 -23
  873. package/lib/utils/dayjsSetup.js.map +0 -1
  874. package/lib/utils/extractTemplate.d.ts +0 -0
  875. package/lib/utils/extractTemplate.js +0 -1107
  876. package/lib/utils/extractTemplate.js.map +0 -1
  877. package/lib/utils/fhirathEvaluate.d.ts +0 -20
  878. package/lib/utils/fhirathEvaluate.js +0 -35
  879. package/lib/utils/fhirathEvaluate.js.map +0 -1
  880. package/lib/utils/fhirpathEvaluate.d.ts +0 -30
  881. package/lib/utils/fhirpathEvaluate.js +0 -68
  882. package/lib/utils/fhirpathEvaluate.js.map +0 -1
  883. package/lib/utils/find_item_no_text.d.ts +0 -1
  884. package/lib/utils/find_item_no_text.js +0 -65
  885. package/lib/utils/find_item_no_text.js.map +0 -1
  886. package/lib/utils/generateId.d.ts +0 -3
  887. package/lib/utils/generateId.js +0 -28
  888. package/lib/utils/generateId.js.map +0 -1
  889. package/lib/utils/granularRepopulateSync.d.ts +0 -1
  890. package/lib/utils/granularRepopulateSync.js +0 -70
  891. package/lib/utils/granularRepopulateSync.js.map +0 -1
  892. package/lib/utils/itemControl.d.ts +0 -103
  893. package/lib/utils/itemControl.js +0 -350
  894. package/lib/utils/itemControl.js.map +0 -1
  895. package/lib/utils/itemText.d.ts +0 -2
  896. package/lib/utils/itemText.js +0 -12
  897. package/lib/utils/itemText.js.map +0 -1
  898. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.d.ts +0 -2
  899. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +0 -43
  900. package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +0 -1
  901. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +0 -3
  902. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +0 -114
  903. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +0 -1
  904. package/lib/utils/questionnaireStoreUtils/itemDetails.d.ts +0 -5
  905. package/lib/utils/questionnaireStoreUtils/itemDetails.js +0 -2
  906. package/lib/utils/questionnaireStoreUtils/itemDetails.js.map +0 -1
  907. package/lib/utils/readItem.d.ts +0 -28
  908. package/lib/utils/readItem.js +0 -67
  909. package/lib/utils/readItem.js.map +0 -1
  910. package/lib/utils/syncInitialExpression.d.ts +0 -23
  911. package/lib/utils/syncInitialExpression.js +0 -407
  912. package/lib/utils/syncInitialExpression.js.map +0 -1
  913. package/lib/utils/templateMatching.d.ts +0 -15
  914. package/lib/utils/templateMatching.js +0 -56
  915. package/lib/utils/templateMatching.js.map +0 -1
  916. package/lib/utils/updateCodingsDynamic.d.ts +0 -1
  917. package/lib/utils/updateCodingsDynamic.js +0 -54
  918. package/lib/utils/updateCodingsDynamic.js.map +0 -1
  919. package/lib/utils/validateQuestionnaire.d.ts +0 -66
  920. package/lib/utils/validateQuestionnaire.js +0 -559
  921. package/lib/utils/validateQuestionnaire.js.map +0 -1
  922. package/src/hooks/useBooleanCalculatedExpression.ts +0 -83
  923. package/src/hooks/useDecimalCalculatedExpression.ts +0 -103
  924. package/src/hooks/useIntegerCalculatedExpression.ts +0 -93
  925. package/src/hooks/useQuantityCalculatedExpression.ts +0 -196
  926. package/src/hooks/useShowFeedback.ts +0 -36
  927. package/src/hooks/useStringCalculatedExpression.ts +0 -95
  928. package/src/interfaces/itemPath.interface.ts +0 -33
  929. package/src/utils/itemPath.ts +0 -79
  930. package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +0 -52
@@ -14,121 +14,104 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
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 { createFhirPathContext, handleFhirPathResult } from './fhirpath';
17
+ import { cacheTerminologyResult, createFhirPathContext, handleFhirPathResult, isExpressionCached } from './fhirpath';
27
18
  import fhirpath from 'fhirpath';
28
19
  import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
29
- export function evaluateInitialTargetConstraints(params) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- var _a;
32
- const { initialResponse, initialResponseItemMap, targetConstraints, variables, existingFhirPathContext, terminologyServerUrl } = params;
33
- let { fhirPathTerminologyCache } = params;
34
- const fhirPathEvalResult = yield createFhirPathContext(initialResponse, initialResponseItemMap, variables, existingFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
35
- const updatedFhirPathContext = fhirPathEvalResult.fhirPathContext;
36
- fhirPathTerminologyCache = fhirPathEvalResult.fhirPathTerminologyCache;
37
- for (const key in targetConstraints) {
38
- const initialValue = targetConstraints[key].isInvalid;
39
- const expression = (_a = targetConstraints[key].valueExpression) === null || _a === void 0 ? void 0 : _a.expression;
40
- if (!expression) {
41
- continue;
20
+ export async function evaluateInitialTargetConstraints(params) {
21
+ const { initialResponse, initialResponseItemMap, targetConstraints, variables, existingFhirPathContext, terminologyServerUrl } = params;
22
+ let { fhirPathTerminologyCache } = params;
23
+ const fhirPathEvalResult = await createFhirPathContext(initialResponse, initialResponseItemMap, variables, existingFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
24
+ const updatedFhirPathContext = fhirPathEvalResult.fhirPathContext;
25
+ fhirPathTerminologyCache = fhirPathEvalResult.fhirPathTerminologyCache;
26
+ for (const key in targetConstraints) {
27
+ const initialValue = targetConstraints[key].isInvalid;
28
+ const expression = targetConstraints[key].valueExpression?.expression;
29
+ if (!expression) {
30
+ continue;
31
+ }
32
+ if (isExpressionCached(expression, fhirPathTerminologyCache)) {
33
+ continue;
34
+ }
35
+ try {
36
+ const fhirPathResult = fhirpath.evaluate({}, expression, updatedFhirPathContext, fhirpath_r4_model, {
37
+ async: true,
38
+ terminologyUrl: terminologyServerUrl
39
+ });
40
+ const result = await handleFhirPathResult(fhirPathResult);
41
+ // Update targetConstraints if length of result array > 0
42
+ // Only update when current isInvalid value is different from the result, otherwise it will result in am infinite loop as per #733
43
+ if (result.length > 0 && initialValue !== result[0] && typeof result[0] === 'boolean') {
44
+ targetConstraints[key].isInvalid = result[0];
42
45
  }
43
- const cacheKey = JSON.stringify(expression); // Use expression as cache key
44
- if (fhirPathTerminologyCache[cacheKey]) {
45
- continue;
46
+ // Update isInvalid value to false if no result is returned
47
+ if (result.length === 0 && initialValue !== false) {
48
+ targetConstraints[key].isInvalid = false;
46
49
  }
47
- try {
48
- const fhirPathResult = fhirpath.evaluate({}, expression, updatedFhirPathContext, fhirpath_r4_model, {
49
- async: true,
50
- terminologyUrl: terminologyServerUrl
51
- });
52
- const result = yield handleFhirPathResult(fhirPathResult);
53
- // Update targetConstraints if length of result array > 0
54
- // Only update when current isInvalid value is different from the result, otherwise it will result in am infinite loop as per #733
55
- if (result.length > 0 && initialValue !== result[0] && typeof result[0] === 'boolean') {
56
- targetConstraints[key].isInvalid = result[0];
57
- }
58
- // Update isInvalid value to false if no result is returned
59
- if (result.length === 0 && initialValue !== false) {
60
- targetConstraints[key].isInvalid = false;
61
- }
62
- // handle intersect edge case - evaluate() returns empty array if result is false
63
- if (expression.includes('intersect') && result.length === 0 && initialValue !== false) {
64
- targetConstraints[key].isInvalid = false;
65
- }
66
- // If fhirPathResult is an async terminology call, cache the result
67
- if (fhirPathResult instanceof Promise) {
68
- fhirPathTerminologyCache[cacheKey] = result;
69
- }
50
+ // handle intersect edge case - evaluate() returns empty array if result is false
51
+ if (expression.includes('intersect') && result.length === 0 && initialValue !== false) {
52
+ targetConstraints[key].isInvalid = false;
70
53
  }
71
- catch (e) {
72
- console.warn(e.message, `Target Constraint Key: ${key}\nExpression: ${expression}`);
54
+ // If fhirPathResult is an async terminology call, cache the result
55
+ if (fhirPathResult instanceof Promise) {
56
+ cacheTerminologyResult(expression, result, fhirPathTerminologyCache);
73
57
  }
74
58
  }
75
- return {
76
- initialTargetConstraints: targetConstraints,
77
- updatedFhirPathContext,
78
- fhirPathTerminologyCache
79
- };
80
- });
59
+ catch (e) {
60
+ console.warn(e.message, `Target Constraint Key: ${key}\nExpression: ${expression}`);
61
+ }
62
+ }
63
+ return {
64
+ initialTargetConstraints: targetConstraints,
65
+ updatedFhirPathContext,
66
+ fhirPathTerminologyCache
67
+ };
81
68
  }
82
- export function evaluateTargetConstraints(fhirPathContext, fhirPathTerminologyCache, targetConstraints, terminologyServerUrl) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- var _a;
85
- let isUpdated = false;
86
- for (const key in targetConstraints) {
87
- const initialValue = targetConstraints[key].isInvalid;
88
- const expression = (_a = targetConstraints[key].valueExpression) === null || _a === void 0 ? void 0 : _a.expression;
89
- if (!expression) {
90
- continue;
69
+ export async function evaluateTargetConstraints(fhirPathContext, fhirPathTerminologyCache, targetConstraints, terminologyServerUrl) {
70
+ let isUpdated = false;
71
+ for (const key in targetConstraints) {
72
+ const initialValue = targetConstraints[key].isInvalid;
73
+ const expression = targetConstraints[key].valueExpression?.expression;
74
+ if (!expression) {
75
+ continue;
76
+ }
77
+ if (isExpressionCached(expression, fhirPathTerminologyCache)) {
78
+ continue;
79
+ }
80
+ try {
81
+ const fhirPathResult = fhirpath.evaluate({}, expression, fhirPathContext, fhirpath_r4_model, {
82
+ async: true,
83
+ terminologyUrl: terminologyServerUrl
84
+ });
85
+ const result = await handleFhirPathResult(fhirPathResult);
86
+ // Update targetConstraints if length of result array > 0
87
+ // Only update when current isInvalid value is different from the result, otherwise it will result in am infinite loop as per #733
88
+ if (result.length > 0 && initialValue !== result[0] && typeof result[0] === 'boolean') {
89
+ targetConstraints[key].isInvalid = result[0];
90
+ isUpdated = true;
91
91
  }
92
- const cacheKey = JSON.stringify(expression); // Use expression as cache key
93
- if (fhirPathTerminologyCache[cacheKey]) {
94
- continue;
92
+ // Update isInvalid value to false if no result is returned
93
+ if (result.length === 0 && initialValue !== false) {
94
+ targetConstraints[key].isInvalid = false;
95
+ isUpdated = true;
95
96
  }
96
- try {
97
- const fhirPathResult = fhirpath.evaluate({}, expression, fhirPathContext, fhirpath_r4_model, {
98
- async: true,
99
- terminologyUrl: terminologyServerUrl
100
- });
101
- const result = yield handleFhirPathResult(fhirPathResult);
102
- // Update targetConstraints if length of result array > 0
103
- // Only update when current isInvalid value is different from the result, otherwise it will result in am infinite loop as per #733
104
- if (result.length > 0 && initialValue !== result[0] && typeof result[0] === 'boolean') {
105
- targetConstraints[key].isInvalid = result[0];
106
- isUpdated = true;
107
- }
108
- // Update isInvalid value to false if no result is returned
109
- if (result.length === 0 && initialValue !== false) {
110
- targetConstraints[key].isInvalid = false;
111
- isUpdated = true;
112
- }
113
- // handle intersect edge case - evaluate() returns empty array if result is false
114
- if (expression.includes('intersect') && result.length === 0 && initialValue !== false) {
115
- targetConstraints[key].isInvalid = false;
116
- isUpdated = true;
117
- }
118
- // If fhirPathResult is an async terminology call, cache the result
119
- if (fhirPathResult instanceof Promise) {
120
- fhirPathTerminologyCache[cacheKey] = result;
121
- }
97
+ // handle intersect edge case - evaluate() returns empty array if result is false
98
+ if (expression.includes('intersect') && result.length === 0 && initialValue !== false) {
99
+ targetConstraints[key].isInvalid = false;
100
+ isUpdated = true;
122
101
  }
123
- catch (e) {
124
- console.warn(e.message, `Target Constraint Key: ${key}\nExpression: ${expression}`);
102
+ // If fhirPathResult is an async terminology call, cache the result
103
+ if (fhirPathResult instanceof Promise) {
104
+ cacheTerminologyResult(expression, result, fhirPathTerminologyCache);
125
105
  }
126
106
  }
127
- return {
128
- targetConstraintsIsUpdated: isUpdated,
129
- updatedTargetConstraints: targetConstraints
130
- };
131
- });
107
+ catch (e) {
108
+ console.warn(e.message, `Target Constraint Key: ${key}\nExpression: ${expression}`);
109
+ }
110
+ }
111
+ return {
112
+ isUpdated: isUpdated,
113
+ updatedTargetConstraints: targetConstraints
114
+ };
132
115
  }
133
116
  export function readTargetConstraintLocationLinkIds(questionnaire, targetConstraints) {
134
117
  const targetConstraintLinkIds = {};
@@ -1 +1 @@
1
- {"version":3,"file":"targetConstraint.js","sourceRoot":"","sources":["../../src/utils/targetConstraint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targetConstraint.js","sourceRoot":"","sources":["../../src/utils/targetConstraint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AAczD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAA8C;IAM9C,MAAM,EACJ,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACT,uBAAuB,EACvB,oBAAoB,EACrB,GAAG,MAAM,CAAC;IACX,IAAI,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC;IAE1C,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CACpD,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CACrB,CAAC;IACF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,eAAe,CAAC;IAClE,wBAAwB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC;IAEvE,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;QACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,kBAAkB,CAAC,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CACtC,EAAE,EACF,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB;gBACE,KAAK,EAAE,IAAI;gBACX,cAAc,EAAE,oBAAoB;aACrC,CACF,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAE1D,yDAAyD;YACzD,kIAAkI;YAClI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtF,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,2DAA2D;YAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAClD,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3C,CAAC;YAED,iFAAiF;YACjF,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBACtF,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3C,CAAC;YAED,mEAAmE;YACnE,IAAI,cAAc,YAAY,OAAO,EAAE,CAAC;gBACtC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,0BAA0B,GAAG,iBAAiB,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,OAAO;QACL,wBAAwB,EAAE,iBAAiB;QAC3C,sBAAsB;QACtB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,eAAoC,EACpC,wBAA6C,EAC7C,iBAAmD,EACnD,oBAA4B;IAK5B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;QACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,kBAAkB,CAAC,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE;gBAC3F,KAAK,EAAE,IAAI;gBACX,cAAc,EAAE,oBAAoB;aACrC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAE1D,yDAAyD;YACzD,kIAAkI;YAClI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtF,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7C,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,2DAA2D;YAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAClD,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,iFAAiF;YACjF,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBACtF,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,mEAAmE;YACnE,IAAI,cAAc,YAAY,OAAO,EAAE,CAAC;gBACtC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,0BAA0B,GAAG,iBAAiB,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,wBAAwB,EAAE,iBAAiB;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,aAA4B,EAC5B,iBAAmD;IAEnD,MAAM,uBAAuB,GAA6B,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxF,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,sBAAsB,GAAG,iCAAiC,CAC9D,aAAa,EACb,gBAAgB,CAAC,QAAQ,CAC1B,CAAC;YAEF,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,+CAA+C;gBAC/C,+EAA+E;gBAC/E,IAAI,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACpD,uBAAuB,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,uBAAuB,CAAC,sBAAsB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC1E,CAAC;gBAED,iCAAiC;gBACjC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,sBAAsB,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,SAAS,iCAAiC,CACxC,aAA4B,EAC5B,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,iBAAiB,EAAE;YACvF,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACvC,IACE,OAAO,YAAY,KAAK,QAAQ;gBAChC,YAAY,CAAC,MAAM;gBACnB,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EACvC,CAAC;gBACD,OAAO,YAAY,CAAC,MAAM,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,+BAA+B,QAAQ,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { CalculatedExpression } from '../interfaces';
2
+ import type { QuestionnaireItem } from 'fhir/r4';
3
+ import type { ValidateCodeResponse } from '../interfaces/valueSet.interface';
4
+ /**
5
+ * Validates if a value represents a quantity with a unit enclosed in single quotes,
6
+ * supporting escaped single quotes within the unit.
7
+ *
8
+ * @param input - The value to validate.
9
+ * @returns {boolean} Returns true if the input matches the pattern: a number followed by a space and a unit enclosed in single quotes, (allowing escaped single quotes); otherwise, false.
10
+ */
11
+ export declare function isQuantityString(input: unknown): input is string;
12
+ interface UcumQuantityPromise {
13
+ numericValueString: string;
14
+ promise: Promise<ValidateCodeResponse | null>;
15
+ }
16
+ /**
17
+ * Validates a UCUM unit code from a FHIR Quantity string using a terminology server.
18
+ * Based on https://hl7.org/fhirpath/N1/#toquantityunit-string-quantity.
19
+ *
20
+ * @param rawValue - Quantity string (e.g. "10 'mg'").
21
+ * @param qItem - The QuestionnaireItem metadata.
22
+ * @param itemPreferredTerminologyServers - Map of item-specific terminology servers.
23
+ * @param defaultTerminologyServerUrl - Fallback terminology server URL.
24
+ * @returns Promise resolving to a ValidateCodeResponse or null.
25
+ */
26
+ export declare function validateQuantityUcumCode(rawValue: string, qItem: Omit<QuestionnaireItem, 'item'>, itemPreferredTerminologyServers: Record<string, string>, defaultTerminologyServerUrl: string): UcumQuantityPromise;
27
+ /**
28
+ * Parse and convert calculatedExpression values of type `quantity` into valid UCUM-coded `Quantity` objects.
29
+ *
30
+ * This function:
31
+ * - Iterates over calculatedExpressions grouped by `linkId`
32
+ * - Identifies expressions with `from: "item"` and valid quantity strings (e.g. `"10 'mg'"`)
33
+ * - Validates the UCUM unit code against a terminology server
34
+ * - Converts validated expressions into FHIR `Quantity` objects with `value`, `system`, `code`, and `unit`
35
+ * - Leaves non-quantity or invalid expressions unchanged
36
+ *
37
+ * @param diffCalculatedExpressions - Map of `linkId` → calculatedExpressions to process
38
+ * @param questionnaireItemMap - Map of `linkId` → QuestionnaireItem metadata
39
+ * @param itemPreferredTerminologyServers - Map of `linkId` → preferred terminology server URL
40
+ * @param defaultTerminologyServerUrl - Default terminology server URL if no item-specific server is defined
41
+ * @returns A promise resolving to the same structure as `diffCalculatedExpressions`, with quantity expressions converted to FHIR `Quantity` objects where possible
42
+ */
43
+ export declare function parseAndConvertUcumQuantities(diffCalculatedExpressions: Record<string, CalculatedExpression[]>, questionnaireItemMap: Record<string, Omit<QuestionnaireItem, 'item'>>, itemPreferredTerminologyServers: Record<string, string>, defaultTerminologyServerUrl: string): Promise<Record<string, CalculatedExpression[]>>;
44
+ export {};
@@ -0,0 +1,132 @@
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
+ import { getItemTerminologyServerToUse } from './preferredTerminologyServer';
18
+ import { validateCodePromise } from './valueSet';
19
+ const UCUM_VALUE_SET_URL = 'http://hl7.org/fhir/ValueSet/ucum-units';
20
+ const UCUM_SYSTEM = 'http://unitsofmeasure.org';
21
+ /**
22
+ * Validates if a value represents a quantity with a unit enclosed in single quotes,
23
+ * supporting escaped single quotes within the unit.
24
+ *
25
+ * @param input - The value to validate.
26
+ * @returns {boolean} Returns true if the input matches the pattern: a number followed by a space and a unit enclosed in single quotes, (allowing escaped single quotes); otherwise, false.
27
+ */
28
+ export function isQuantityString(input) {
29
+ const regex = /^\d+(?:\.\d+)?\s+'(?:\\'|[^'])*'$/;
30
+ return typeof input === 'string' && regex.test(input);
31
+ }
32
+ /**
33
+ * Validates a UCUM unit code from a FHIR Quantity string using a terminology server.
34
+ * Based on https://hl7.org/fhirpath/N1/#toquantityunit-string-quantity.
35
+ *
36
+ * @param rawValue - Quantity string (e.g. "10 'mg'").
37
+ * @param qItem - The QuestionnaireItem metadata.
38
+ * @param itemPreferredTerminologyServers - Map of item-specific terminology servers.
39
+ * @param defaultTerminologyServerUrl - Fallback terminology server URL.
40
+ * @returns Promise resolving to a ValidateCodeResponse or null.
41
+ */
42
+ export function validateQuantityUcumCode(rawValue, qItem, itemPreferredTerminologyServers, defaultTerminologyServerUrl) {
43
+ // Based on https://hl7.org/fhirpath/N1/#toquantityunit-string-quantity
44
+ const [numericValueString, unitCode] = rawValue.split(' ');
45
+ const unitCodeFormatted = unitCode.replace(/'/g, '');
46
+ const terminologyServerUrl = getItemTerminologyServerToUse(qItem, itemPreferredTerminologyServers, defaultTerminologyServerUrl);
47
+ return {
48
+ numericValueString,
49
+ promise: validateCodePromise(UCUM_VALUE_SET_URL, UCUM_SYSTEM, unitCodeFormatted, terminologyServerUrl)
50
+ };
51
+ }
52
+ /**
53
+ * Parse and convert calculatedExpression values of type `quantity` into valid UCUM-coded `Quantity` objects.
54
+ *
55
+ * This function:
56
+ * - Iterates over calculatedExpressions grouped by `linkId`
57
+ * - Identifies expressions with `from: "item"` and valid quantity strings (e.g. `"10 'mg'"`)
58
+ * - Validates the UCUM unit code against a terminology server
59
+ * - Converts validated expressions into FHIR `Quantity` objects with `value`, `system`, `code`, and `unit`
60
+ * - Leaves non-quantity or invalid expressions unchanged
61
+ *
62
+ * @param diffCalculatedExpressions - Map of `linkId` → calculatedExpressions to process
63
+ * @param questionnaireItemMap - Map of `linkId` → QuestionnaireItem metadata
64
+ * @param itemPreferredTerminologyServers - Map of `linkId` → preferred terminology server URL
65
+ * @param defaultTerminologyServerUrl - Default terminology server URL if no item-specific server is defined
66
+ * @returns A promise resolving to the same structure as `diffCalculatedExpressions`, with quantity expressions converted to FHIR `Quantity` objects where possible
67
+ */
68
+ export async function parseAndConvertUcumQuantities(diffCalculatedExpressions, questionnaireItemMap, itemPreferredTerminologyServers, defaultTerminologyServerUrl) {
69
+ /* Store Quantity calculatedExpressions with UCUM unit codes in promises to be executed in parallel */
70
+ const promisesMap = new Map();
71
+ for (const [linkId, calcExpressions] of Object.entries(diffCalculatedExpressions)) {
72
+ const qItem = questionnaireItemMap[linkId];
73
+ // Skip if qItem is not a quantity item
74
+ if (!qItem || qItem.type !== 'quantity') {
75
+ continue;
76
+ }
77
+ // Skip if no calculated expression
78
+ const calcExpression = calcExpressions.find((exp) => exp.from === 'item');
79
+ if (!calcExpression) {
80
+ continue;
81
+ }
82
+ // Skip if calculated expression value is not a valid quantity string
83
+ if (!isQuantityString(calcExpression.value)) {
84
+ continue;
85
+ }
86
+ // Validate the unit code and convert if valid
87
+ const ucumQuantityPromise = validateQuantityUcumCode(calcExpression.value, qItem, itemPreferredTerminologyServers, defaultTerminologyServerUrl);
88
+ promisesMap.set(linkId, ucumQuantityPromise);
89
+ }
90
+ /* Execute all promises in parallel and convert to Quantity objects */
91
+ const promisesTuples = Array.from(promisesMap.entries());
92
+ try {
93
+ const settledPromises = await Promise.allSettled(promisesTuples.map(([, p]) => p.promise));
94
+ for (const [i, settledPromise] of settledPromises.entries()) {
95
+ // Skip rejected promises
96
+ if (settledPromise.status === 'rejected') {
97
+ console.warn(`UCUM Quantity conversion network error: Details below:` + settledPromise.reason);
98
+ continue;
99
+ }
100
+ // Skip null or invalid responses
101
+ const validateCodeResponse = settledPromise.value;
102
+ if (!validateCodeResponse?.parameter) {
103
+ continue;
104
+ }
105
+ // Get corresponding linkId and calculatedExpression
106
+ const [linkId, originalPromise] = promisesTuples[i];
107
+ const numericValueString = originalPromise.numericValueString;
108
+ const calcExpression = diffCalculatedExpressions[linkId].find((exp) => exp.from === 'item');
109
+ if (!calcExpression) {
110
+ continue;
111
+ }
112
+ // Extract system, code, and display from the response parameters
113
+ const systemParameter = validateCodeResponse.parameter.find((p) => p.name === 'system');
114
+ const codeParameter = validateCodeResponse.parameter.find((p) => p.name === 'code');
115
+ const displayParameter = validateCodeResponse.parameter.find((p) => p.name === 'display');
116
+ if (systemParameter.valueUri && codeParameter.valueCode && displayParameter.valueString) {
117
+ calcExpression.value = {
118
+ value: parseFloat(numericValueString),
119
+ system: systemParameter.valueUri,
120
+ code: codeParameter.valueCode,
121
+ unit: displayParameter.valueString
122
+ };
123
+ }
124
+ }
125
+ }
126
+ catch (e) {
127
+ // e is not thrown as an Error type in fhirpath.js, so we can't use `if (e instanceof Error)` here
128
+ console.warn('UCUM Quantity conversion error: fhirpath evaluation for calculatedExpression failed. Details below:', e);
129
+ }
130
+ return diffCalculatedExpressions;
131
+ }
132
+ //# sourceMappingURL=ucumQuantityConversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ucumQuantityConversion.js","sourceRoot":"","sources":["../../src/utils/ucumQuantityConversion.ts"],"names":[],"mappings":"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"}