@aehrc/smart-forms-renderer 0.9.2 → 0.10.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 (156) hide show
  1. package/.swcrc +11 -0
  2. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js +5 -5
  3. package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -1
  4. package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +1 -1
  5. package/lib/components/FormComponents/RepeatItem/RemoveItemButton.d.ts +10 -0
  6. package/lib/components/FormComponents/RepeatItem/RemoveItemButton.js +30 -0
  7. package/lib/components/FormComponents/RepeatItem/RemoveItemButton.js.map +1 -0
  8. package/lib/components/FormComponents/RepeatItem/RepeatField.js +2 -2
  9. package/lib/components/FormComponents/SingleItem/SingleItem.js +2 -2
  10. package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
  11. package/lib/components/FormComponents/Tables/GroupTable.d.ts +1 -2
  12. package/lib/components/FormComponents/Tables/GroupTable.js +44 -59
  13. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  14. package/lib/components/FormComponents/Tables/GroupTableBody.d.ts +17 -0
  15. package/lib/components/FormComponents/Tables/GroupTableBody.js +48 -0
  16. package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -0
  17. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +18 -5
  18. package/lib/components/FormComponents/Tables/GroupTableRow.js +17 -25
  19. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  20. package/lib/components/FormComponents/Tables/GroupTableRowCells.d.ts +11 -0
  21. package/lib/components/FormComponents/Tables/GroupTableRowCells.js +57 -0
  22. package/lib/components/FormComponents/Tables/GroupTableRowCells.js.map +1 -0
  23. package/lib/components/FormComponents/Tables/GroupTableRows.d.ts +17 -0
  24. package/lib/components/FormComponents/Tables/GroupTableRows.js +45 -0
  25. package/lib/components/FormComponents/Tables/GroupTableRows.js.map +1 -0
  26. package/lib/components/FormComponents/Tables/GroupTableTestRow.d.ts +22 -0
  27. package/lib/components/FormComponents/Tables/GroupTableTestRow.js +43 -0
  28. package/lib/components/FormComponents/Tables/GroupTableTestRow.js.map +1 -0
  29. package/lib/components/FormComponents/Tables/GroupTableView.d.ts +21 -0
  30. package/lib/components/FormComponents/Tables/GroupTableView.js +65 -0
  31. package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -0
  32. package/lib/components/FormComponents/Tables/RemoveRowButton.d.ts +10 -0
  33. package/lib/components/FormComponents/Tables/RemoveRowButton.js +32 -0
  34. package/lib/components/FormComponents/Tables/RemoveRowButton.js.map +1 -0
  35. package/lib/components/FormComponents/Tables/SelectRowButton.d.ts +7 -0
  36. package/lib/components/FormComponents/Tables/SelectRowButton.js +26 -0
  37. package/lib/components/FormComponents/Tables/SelectRowButton.js.map +1 -0
  38. package/lib/components/FormComponents/Tables/Table.styles.d.ts +8 -0
  39. package/lib/components/FormComponents/Tables/Table.styles.js +17 -0
  40. package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -1
  41. package/lib/components/Renderer/BaseRenderer.js +5 -6
  42. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  43. package/lib/components/Renderer/FormBodyCollapsible.js +4 -4
  44. package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
  45. package/lib/components/Renderer/FormBodyTabbed.js +3 -3
  46. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  47. package/lib/components/Tabs/CompleteTabButton.js +2 -2
  48. package/lib/components/Tabs/CompleteTabButton.js.map +1 -1
  49. package/lib/components/Tabs/FormBodySingleTab.js +2 -2
  50. package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
  51. package/lib/components/Tabs/FormBodyTabList.js +4 -4
  52. package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
  53. package/lib/hooks/useDecimalCalculatedExpression.js +2 -2
  54. package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -1
  55. package/lib/hooks/useHidden.js +4 -4
  56. package/lib/hooks/useHidden.js.map +1 -1
  57. package/lib/hooks/useInitialiseGroupTable.d.ts +2 -2
  58. package/lib/hooks/useInitialiseGroupTable.js.map +1 -1
  59. package/lib/hooks/useInitialiseRenderer.js +11 -14
  60. package/lib/hooks/useInitialiseRenderer.js.map +1 -1
  61. package/lib/hooks/useIntegerCalculatedExpression.js +2 -2
  62. package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -1
  63. package/lib/hooks/useMinimalStringCalculatedExpression.js +25 -13
  64. package/lib/hooks/useStringCalculatedExpression.js +2 -2
  65. package/lib/hooks/useStringCalculatedExpression.js.map +1 -1
  66. package/lib/hooks/useTerminologyServerQuery.js +3 -4
  67. package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
  68. package/lib/hooks/useValueSetCodings.js +10 -12
  69. package/lib/hooks/useValueSetCodings.js.map +1 -1
  70. package/lib/index.js +19 -20
  71. package/lib/index.js.map +1 -1
  72. package/lib/interfaces/groupTable.interface.d.ts +1 -1
  73. package/lib/setup-jest.js +1 -0
  74. package/lib/setup-jest.js.map +1 -0
  75. package/lib/stores/index.d.ts +4 -3
  76. package/lib/stores/index.js +4 -3
  77. package/lib/stores/index.js.map +1 -1
  78. package/lib/stores/questionnaireResponseStore.d.ts +28 -0
  79. package/lib/stores/questionnaireResponseStore.js +64 -0
  80. package/lib/stores/questionnaireResponseStore.js.map +1 -0
  81. package/lib/stores/questionnaireStore.d.ts +65 -0
  82. package/lib/stores/questionnaireStore.js +172 -0
  83. package/lib/stores/questionnaireStore.js.map +1 -0
  84. package/lib/stores/smartConfigStore.d.ts +25 -0
  85. package/lib/stores/smartConfigStore.js +30 -0
  86. package/lib/stores/smartConfigStore.js.map +1 -0
  87. package/lib/stores/terminologyServerStore.d.ts +14 -0
  88. package/lib/stores/terminologyServerStore.js +26 -0
  89. package/lib/stores/terminologyServerStore.js.map +1 -0
  90. package/lib/stores/useQuestionnaireResponseStore.d.ts +14 -2
  91. package/lib/stores/useQuestionnaireResponseStore.js +4 -2
  92. package/lib/stores/useQuestionnaireResponseStore.js.map +1 -1
  93. package/lib/stores/useQuestionnaireStore.d.ts +30 -2
  94. package/lib/stores/useQuestionnaireStore.js +4 -2
  95. package/lib/stores/useQuestionnaireStore.js.map +1 -1
  96. package/lib/stories/MedicalHistoryTable.stories.js +49 -0
  97. package/lib/stories/MedicalHistoryTable.stories.js.map +1 -0
  98. package/lib/stories/SmartFormsRenderer.stories.js +103 -0
  99. package/lib/stories/SmartFormsRenderer.stories.js.map +1 -0
  100. package/lib/theme/overrides/Table.d.ts +1 -0
  101. package/lib/theme/overrides/Table.js +2 -1
  102. package/lib/theme/overrides/Table.js.map +1 -1
  103. package/lib/utils/calculatedExpression.js +1 -2
  104. package/lib/utils/calculatedExpression.js.map +1 -1
  105. package/lib/utils/groupTable.d.ts +3 -0
  106. package/lib/utils/groupTable.js +29 -0
  107. package/lib/utils/groupTable.js.map +1 -0
  108. package/package.json +10 -5
  109. package/src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx +5 -5
  110. package/src/components/FormComponents/RepeatGroup/DeleteItemButton.tsx +1 -1
  111. package/src/components/FormComponents/RepeatItem/{DeleteItemButton.tsx → RemoveItemButton.tsx} +4 -4
  112. package/src/components/FormComponents/RepeatItem/RepeatField.tsx +2 -2
  113. package/src/components/FormComponents/SingleItem/SingleItem.tsx +2 -2
  114. package/src/components/FormComponents/Tables/GroupTable.tsx +71 -120
  115. package/src/components/FormComponents/Tables/GroupTableBody.tsx +116 -0
  116. package/src/components/FormComponents/Tables/GroupTableRow.tsx +89 -49
  117. package/src/components/FormComponents/Tables/GroupTableRowCells.tsx +87 -0
  118. package/src/components/FormComponents/Tables/GroupTableView.tsx +169 -0
  119. package/src/components/FormComponents/Tables/{DeleteRowButton.tsx → RemoveRowButton.tsx} +7 -7
  120. package/src/components/FormComponents/Tables/SelectRowButton.tsx +37 -0
  121. package/src/components/FormComponents/Tables/Table.styles.tsx +25 -0
  122. package/src/components/Renderer/BaseRenderer.tsx +5 -6
  123. package/src/components/Renderer/FormBodyCollapsible.tsx +4 -5
  124. package/src/components/Renderer/FormBodyTabbed.tsx +3 -3
  125. package/src/components/Tabs/CompleteTabButton.tsx +2 -2
  126. package/src/components/Tabs/FormBodySingleTab.tsx +2 -3
  127. package/src/components/Tabs/FormBodyTabList.tsx +4 -4
  128. package/src/hooks/useDecimalCalculatedExpression.ts +2 -2
  129. package/src/hooks/useHidden.ts +4 -4
  130. package/src/hooks/useInitialiseGroupTable.ts +3 -3
  131. package/src/hooks/useInitialiseRenderer.ts +17 -18
  132. package/src/hooks/useIntegerCalculatedExpression.ts +2 -2
  133. package/src/hooks/useStringCalculatedExpression.ts +2 -2
  134. package/src/hooks/useTerminologyServerQuery.ts +3 -4
  135. package/src/hooks/useValueSetCodings.ts +10 -12
  136. package/src/index.ts +19 -20
  137. package/src/interfaces/groupTable.interface.ts +1 -1
  138. package/src/stores/index.ts +7 -3
  139. package/src/stores/questionnaireResponseStore.ts +83 -0
  140. package/src/stores/{useQuestionnaireStore.ts → questionnaireStore.ts} +7 -6
  141. package/src/stores/smartConfigStore.ts +45 -0
  142. package/src/stores/{useTerminologyServerStore.ts → terminologyServerStore.ts} +5 -4
  143. package/src/stories/MedicalHistoryTable.stories.tsx +61 -0
  144. package/src/stories/SmartFormsRenderer.stories.ts +15 -5
  145. package/src/stories/assets/QItems-and-QRItems/QR_GTableMedicalHistory.json +80 -0
  146. package/src/stories/assets/QItems-and-QRItems/Q_GTableMedicalHistory.json +109 -0
  147. package/src/stories/assets/Qs-and-QRs/QDev715.json +16081 -0
  148. package/src/theme/overrides/Table.ts +2 -1
  149. package/src/utils/calculatedExpression.ts +1 -2
  150. package/src/utils/groupTable.ts +37 -0
  151. package/src/stores/useQuestionnaireResponseStore.ts +0 -63
  152. package/src/stores/useSmartConfigStore.ts +0 -27
  153. /package/src/stories/assets/{Q715.json → Qs-and-QRs/Q715.json} +0 -0
  154. /package/src/stories/assets/{QTestGrid.json → Qs-and-QRs/QTestGrid.json} +0 -0
  155. /package/src/stories/assets/{R715.json → Qs-and-QRs/R715.json} +0 -0
  156. /package/src/stories/assets/{RTestGrid.json → Qs-and-QRs/RTestGrid.json} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useHidden.js","sourceRoot":"","sources":["../../src/hooks/useHidden.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChF,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE5F,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"useHidden.js","sourceRoot":"","sources":["../../src/hooks/useHidden.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACpE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,qBAAqB,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,eAAe,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { QuestionnaireResponseItem } from 'fhir/r4';
2
- import type { GroupTableRow } from '../interfaces/groupTable.interface';
3
- declare function useInitialiseGroupTable(qrItems: QuestionnaireResponseItem[]): GroupTableRow[];
2
+ import type { GroupTableRowModel } from '../interfaces/groupTable.interface';
3
+ declare function useInitialiseGroupTable(qrItems: QuestionnaireResponseItem[]): GroupTableRowModel[];
4
4
  export default useInitialiseGroupTable;
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialiseGroupTable.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseGroupTable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,SAAS,uBAAuB,CAAC,OAAoC;IACnE,IAAI,qBAAqB,GAAoB;QAC3C;YACE,MAAM,EAAE,MAAM,EAAE;YAChB,MAAM,EAAE,IAAI;SACb;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,OAAO;gBACL,MAAM,EAAE,MAAM,EAAE;gBAChB,MAAM;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"useInitialiseGroupTable.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseGroupTable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,SAAS,uBAAuB,CAAC,OAAoC;IACnE,IAAI,qBAAqB,GAAyB;QAChD;YACE,MAAM,EAAE,MAAM,EAAE;YAChB,MAAM,EAAE,IAAI;SACb;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,OAAO;gBACL,MAAM,EAAE,MAAM,EAAE;gBAChB,MAAM;aACP,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -16,22 +16,19 @@
16
16
  */
17
17
  import { useLayoutEffect, useState } from 'react';
18
18
  import { createEmptyQuestionnaireResponse } from '../utils/qrItem';
19
- import useQuestionnaireStore from '../stores/useQuestionnaireStore';
20
- import useQuestionnaireResponseStore from '../stores/useQuestionnaireResponseStore';
21
- import useSmartConfigStore from '../stores/useSmartConfigStore';
22
19
  import { readEncounter, readPatient, readUser } from '../api/smartClient';
23
- import useTerminologyServerStore from '../stores/useTerminologyServerStore';
20
+ import { useQuestionnaireResponseStore, useQuestionnaireStore, useSmartConfigStore, useTerminologyServerStore } from '../stores';
24
21
  function useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient) {
25
- const buildSourceQuestionnaire = useQuestionnaireStore((state) => state.buildSourceQuestionnaire);
26
- const updatePopulatedProperties = useQuestionnaireStore((state) => state.updatePopulatedProperties);
27
- const buildSourceResponse = useQuestionnaireResponseStore((state) => state.buildSourceResponse);
28
- const setUpdatableResponseAsPopulated = useQuestionnaireResponseStore((state) => state.setUpdatableResponseAsPopulated);
29
- const setTerminologyServerUrl = useTerminologyServerStore((state) => state.setUrl);
30
- const resetTerminologyServerUrl = useTerminologyServerStore((state) => state.resetUrl);
31
- const setSmartClient = useSmartConfigStore((state) => state.setClient);
32
- const setPatient = useSmartConfigStore((state) => state.setPatient);
33
- const setUser = useSmartConfigStore((state) => state.setUser);
34
- const setEncounter = useSmartConfigStore((state) => state.setEncounter);
22
+ const buildSourceQuestionnaire = useQuestionnaireStore.use.buildSourceQuestionnaire();
23
+ const updatePopulatedProperties = useQuestionnaireStore.use.updatePopulatedProperties();
24
+ const buildSourceResponse = useQuestionnaireResponseStore.use.buildSourceResponse();
25
+ const setUpdatableResponseAsPopulated = useQuestionnaireResponseStore.use.setUpdatableResponseAsPopulated();
26
+ const setTerminologyServerUrl = useTerminologyServerStore.use.setUrl();
27
+ const resetTerminologyServerUrl = useTerminologyServerStore.use.resetUrl();
28
+ const setSmartClient = useSmartConfigStore.use.setClient();
29
+ const setPatient = useSmartConfigStore.use.setPatient();
30
+ const setUser = useSmartConfigStore.use.setUser();
31
+ const setEncounter = useSmartConfigStore.use.setEncounter();
35
32
  const [loading, setLoading] = useState(true);
36
33
  useLayoutEffect(() => {
37
34
  setLoading(true);
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialiseRenderer.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useInitialiseRenderer.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseRenderer.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,10 @@
16
16
  */
17
17
  import { useEffect, useState } from 'react';
18
18
  import { createEmptyQrItem } from '../utils/qrItem';
19
- import useQuestionnaireStore from '../stores/useQuestionnaireStore';
19
+ import { useQuestionnaireStore } from '../stores/questionnaireStore';
20
20
  function useIntegerCalculatedExpression(props) {
21
21
  const { qItem, inputValue, setInputValue, onQrItemChange } = props;
22
- const calculatedExpressions = useQuestionnaireStore((state) => state.calculatedExpressions);
22
+ const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
23
23
  const [calcExpUpdated, setCalcExpUpdated] = useState(false);
24
24
  useEffect(() => {
25
25
  const calcExpression = calculatedExpressions[qItem.linkId];
@@ -1 +1 @@
1
- {"version":3,"file":"useIntegerCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useIntegerCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AAapE,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEnE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE5F,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;QACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3D,kEAAkE;QAClE,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,MAAK,UAAU,IAAI,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAA,KAAK,QAAQ,EAAE;YACrF,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE;gBACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,+BAA+B;YAC/B,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,cAAc,iCACT,iBAAiB,CAAC,KAAK,CAAC,KAC3B,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAChD,CAAC;SACJ;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"useIntegerCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useIntegerCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAarE,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEnE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;QACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3D,kEAAkE;QAClE,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,MAAK,UAAU,IAAI,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAA,KAAK,QAAQ,EAAE;YACrF,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE;gBACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,+BAA+B;YAC/B,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,cAAc,iCACT,iBAAiB,CAAC,KAAK,CAAC,KAC3B,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAChD,CAAC;SACJ;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
@@ -18,20 +18,32 @@ import { useEffect } from 'react';
18
18
  import { createEmptyQrItem } from '../utils/qrItem';
19
19
  import useQuestionnaireStore from '../stores/useQuestionnaireStore';
20
20
  function useMinimalStringCalculatedExpression(props) {
21
- const { qItem, inputValue, onQrItemChange } = props;
22
- const calculatedExpressions = useQuestionnaireStore((state) => state.calculatedExpressions);
23
- useEffect(() => {
24
- const calcExpression = calculatedExpressions[qItem.linkId];
25
- // only update if calculated value is different from current value
26
- if ((calcExpression === null || calcExpression === void 0 ? void 0 : calcExpression.value) !== inputValue && typeof (calcExpression === null || calcExpression === void 0 ? void 0 : calcExpression.value) === 'string') {
27
- // update questionnaireResponse
28
- onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueString: calcExpression.value }] }));
29
- }
30
- },
21
+ const { qItem, inputValue, onQrItemChange } = props;
22
+ const calculatedExpressions = useQuestionnaireStore((state) => state.calculatedExpressions);
23
+ useEffect(
24
+ () => {
25
+ const calcExpression = calculatedExpressions[qItem.linkId];
26
+ // only update if calculated value is different from current value
27
+ if (
28
+ (calcExpression === null || calcExpression === void 0 ? void 0 : calcExpression.value) !==
29
+ inputValue &&
30
+ typeof (calcExpression === null || calcExpression === void 0
31
+ ? void 0
32
+ : calcExpression.value) === 'string'
33
+ ) {
34
+ // update questionnaireResponse
35
+ onQrItemChange(
36
+ Object.assign(Object.assign({}, createEmptyQrItem(qItem)), {
37
+ answer: [{ valueString: calcExpression.value }]
38
+ })
39
+ );
40
+ }
41
+ },
31
42
  // Only trigger this effect if calculatedExpression of item changes
32
43
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
- [calculatedExpressions]);
34
- return { calcExpUpdated: false };
44
+ [calculatedExpressions]
45
+ );
46
+ return { calcExpUpdated: false };
35
47
  }
36
48
  export default useMinimalStringCalculatedExpression;
37
- //# sourceMappingURL=useMinimalStringCalculatedExpression.js.map
49
+ //# sourceMappingURL=useMinimalStringCalculatedExpression.js.map
@@ -16,10 +16,10 @@
16
16
  */
17
17
  import { useEffect, useState } from 'react';
18
18
  import { createEmptyQrItem } from '../utils/qrItem';
19
- import useQuestionnaireStore from '../stores/useQuestionnaireStore';
19
+ import { useQuestionnaireStore } from '../stores/questionnaireStore';
20
20
  function useStringCalculatedExpression(props) {
21
21
  const { qItem, inputValue, setInputValue, onQrItemChange } = props;
22
- const calculatedExpressions = useQuestionnaireStore((state) => state.calculatedExpressions);
22
+ const calculatedExpressions = useQuestionnaireStore.use.calculatedExpressions();
23
23
  const [calcExpUpdated, setCalcExpUpdated] = useState(false);
24
24
  useEffect(() => {
25
25
  const calcExpression = calculatedExpressions[qItem.linkId];
@@ -1 +1 @@
1
- {"version":3,"file":"useStringCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useStringCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AAapE,SAAS,6BAA6B,CACpC,KAAyC;IAEzC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEnE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE5F,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;QACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3D,kEAAkE;QAClE,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,MAAK,UAAU,IAAI,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAA,KAAK,QAAQ,EAAE;YACrF,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE;gBACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,+BAA+B;YAC/B,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,cAAc,iCACT,iBAAiB,CAAC,KAAK,CAAC,KAC3B,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAC/C,CAAC;SACJ;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"useStringCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useStringCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAarE,SAAS,6BAA6B,CACpC,KAAyC;IAEzC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEnE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;QACH,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3D,kEAAkE;QAClE,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,MAAK,UAAU,IAAI,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,CAAA,KAAK,QAAQ,EAAE;YACrF,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,UAAU,CAAC,GAAG,EAAE;gBACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,+BAA+B;YAC/B,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,cAAc,iCACT,iBAAiB,CAAC,KAAK,CAAC,KAC3B,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAC/C,CAAC;SACJ;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,6BAA6B,CAAC"}
@@ -16,12 +16,11 @@
16
16
  */
17
17
  import { useQuery } from '@tanstack/react-query';
18
18
  import { getTerminologyServerUrl, getValueSetCodings, getValueSetPromise } from '../utils/valueSet';
19
- import useQuestionnaireStore from '../stores/useQuestionnaireStore';
20
- import useTerminologyServerStore from '../stores/useTerminologyServerStore';
19
+ import { useQuestionnaireStore, useTerminologyServerStore } from '../stores';
21
20
  function useTerminologyServerQuery(qItem, maxList, input, searchTerm) {
22
21
  var _a, _b;
23
- const processedValueSetUrls = useQuestionnaireStore((state) => state.processedValueSetUrls);
24
- const defaultTerminologyServerUrl = useTerminologyServerStore((state) => state.url);
22
+ const processedValueSetUrls = useQuestionnaireStore.use.processedValueSetUrls();
23
+ const defaultTerminologyServerUrl = useTerminologyServerStore.use.url();
25
24
  let fullUrl = '';
26
25
  let options = [];
27
26
  let feedback;
@@ -1 +1 @@
1
- {"version":3,"file":"useTerminologyServerQuery.js","sourceRoot":"","sources":["../../src/hooks/useTerminologyServerQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTerminologyServerQuery.js","sourceRoot":"","sources":["../../src/hooks/useTerminologyServerQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGpG,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE7E,SAAS,yBAAyB,CAChC,KAAwB,EACxB,OAAe,EACf,KAAa,EACb,UAAkB;;IAElB,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,2BAA2B,GAAG,yBAAyB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAExE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,QAA4D,CAAC;IAEjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,QAAQ,GAAG,SAAS,CAAC;KACtB;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QAClD,QAAQ,GAAG,EAAE,OAAO,EAAE,oDAAoD,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC7F;IAED,yDAAyD;IACzD,IAAI,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC;IAC7C,IAAI,iBAAiB,EAAE;QACrB,IAAI,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACrC,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChD;QAED,0EAA0E;QAC1E,IAAI,qBAAqB,CAAC,iBAAiB,CAAC,EAAE;YAC5C,iBAAiB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;SAC9D;QAED,MAAM,wBAAwB,GAC5B,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,GAAG,wBAAwB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;KACnF;IAED,gBAAgB;IAChB,MAAM,oBAAoB,GAAG,MAAA,uBAAuB,CAAC,KAAK,CAAC,mCAAI,2BAA2B,CAAC;IAC3F,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAC1C,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAC3B,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,EACvD;QACE,OAAO,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,iBAAiB,KAAK,SAAS;KACnE,CACF,CAAC;IAEF,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,4CAA4C,GAAG,KAAK,CAAC,CAAC;QACnE,QAAQ,GAAG;YACT,OAAO,EAAE,2EAA2E;YACpF,KAAK,EAAE,OAAO;SACf,CAAC;KACH;IAED,IAAI,IAAI,EAAE;QACR,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,MAAK,CAAC,EAAE;YAC/B,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM;YACL,QAAQ,GAAG;gBACT,OAAO,EAAE,wEAAwE;gBACjF,KAAK,EAAE,SAAS;aACjB,CAAC;SACH;KACF;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC;AACD,eAAe,yBAAyB,CAAC"}
@@ -19,20 +19,18 @@ import { getResourceFromLaunchContext, getTerminologyServerUrl, getValueSetCodin
19
19
  import { getAnswerExpression } from '../utils/itemControl';
20
20
  import fhirpath from 'fhirpath';
21
21
  import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
22
- import useSmartConfigStore from '../stores/useSmartConfigStore';
23
- import useQuestionnaireStore from '../stores/useQuestionnaireStore';
24
- import useTerminologyServerStore from '../stores/useTerminologyServerStore';
22
+ import { useQuestionnaireStore, useSmartConfigStore, useTerminologyServerStore } from '../stores';
25
23
  function useValueSetCodings(qItem) {
26
24
  var _a;
27
- const patient = useSmartConfigStore((state) => state.patient);
28
- const user = useSmartConfigStore((state) => state.user);
29
- const encounter = useSmartConfigStore((state) => state.encounter);
30
- const launchContexts = useQuestionnaireStore((state) => state.launchContexts);
31
- const processedValueSetCodings = useQuestionnaireStore((state) => state.processedValueSetCodings);
32
- const cachedValueSetCodings = useQuestionnaireStore((state) => state.cachedValueSetCodings);
33
- const addCodingToCache = useQuestionnaireStore((state) => state.addCodingToCache);
34
- const { xFhirQueryVariables } = useQuestionnaireStore((state) => state.variables);
35
- const defaultTerminologyServerUrl = useTerminologyServerStore((state) => state.url);
25
+ const patient = useSmartConfigStore.use.patient();
26
+ const user = useSmartConfigStore.use.user();
27
+ const encounter = useSmartConfigStore.use.encounter();
28
+ const launchContexts = useQuestionnaireStore.use.launchContexts();
29
+ const processedValueSetCodings = useQuestionnaireStore.use.processedValueSetCodings();
30
+ const cachedValueSetCodings = useQuestionnaireStore.use.cachedValueSetCodings();
31
+ const addCodingToCache = useQuestionnaireStore.use.addCodingToCache();
32
+ const { xFhirQueryVariables } = useQuestionnaireStore.use.variables();
33
+ const defaultTerminologyServerUrl = useTerminologyServerStore.use.url();
36
34
  const valueSetUrl = qItem.answerValueSet;
37
35
  let initialCodings = useMemo(() => {
38
36
  // set options from cached answer options if present
@@ -1 +1 @@
1
- {"version":3,"file":"useValueSetCodings.js","sourceRoot":"","sources":["../../src/hooks/useValueSetCodings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useValueSetCodings.js","sourceRoot":"","sources":["../../src/hooks/useValueSetCodings.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -7,9 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import useQuestionnaireStore from './stores/useQuestionnaireStore';
10
+ import { questionnaireResponseStore, questionnaireStore } from './stores';
11
11
  import { createEmptyQuestionnaireResponse } from './utils/qrItem';
12
- import useQuestionnaireResponseStore from './stores/useQuestionnaireResponseStore';
13
12
  import { removeHiddenAnswers } from './utils/removeHidden';
14
13
  import { getItemsToRepopulate } from './utils/repopulateItems';
15
14
  import { repopulateItemsIntoResponse } from './utils/repopulateIntoResponse';
@@ -25,15 +24,15 @@ export * from './utils';
25
24
  */
26
25
  export function buildForm(questionnaire, questionnaireResponse) {
27
26
  return __awaiter(this, void 0, void 0, function* () {
28
- yield useQuestionnaireStore.getState().buildSourceQuestionnaire(questionnaire);
27
+ yield questionnaireStore.getState().buildSourceQuestionnaire(questionnaire);
29
28
  if (!questionnaireResponse) {
30
- useQuestionnaireResponseStore
29
+ questionnaireResponseStore
31
30
  .getState()
32
31
  .buildSourceResponse(createEmptyQuestionnaireResponse(questionnaire));
33
32
  return;
34
33
  }
35
- useQuestionnaireResponseStore.getState().buildSourceResponse(questionnaireResponse);
36
- useQuestionnaireStore.getState().updatePopulatedProperties(questionnaireResponse);
34
+ questionnaireResponseStore.getState().buildSourceResponse(questionnaireResponse);
35
+ questionnaireStore.getState().updatePopulatedProperties(questionnaireResponse);
37
36
  });
38
37
  }
39
38
  /**
@@ -42,8 +41,8 @@ export function buildForm(questionnaire, questionnaireResponse) {
42
41
  * @author Sean Fong
43
42
  */
44
43
  export function destroyForm() {
45
- useQuestionnaireStore.getState().destroySourceQuestionnaire();
46
- useQuestionnaireResponseStore.getState().destroySourceResponse();
44
+ questionnaireStore.getState().destroySourceQuestionnaire();
45
+ questionnaireResponseStore.getState().destroySourceResponse();
47
46
  }
48
47
  /**
49
48
  * Get the filled QuestionnaireResponse at its current state.
@@ -52,7 +51,7 @@ export function destroyForm() {
52
51
  * @author Sean Fong
53
52
  */
54
53
  export function getResponse() {
55
- return useQuestionnaireResponseStore.getState().updatableResponse;
54
+ return questionnaireResponseStore.getState().updatableResponse;
56
55
  }
57
56
  /**
58
57
  * Remove all hidden answers from the filled QuestionnaireResponse.
@@ -61,9 +60,9 @@ export function getResponse() {
61
60
  * @author Sean Fong
62
61
  */
63
62
  export function removeHiddenAnswersFromResponse(questionnaire, questionnaireResponse) {
64
- const enableWhenIsActivated = useQuestionnaireStore.getState().enableWhenIsActivated;
65
- const enableWhenItems = useQuestionnaireStore.getState().enableWhenItems;
66
- const enableWhenExpressions = useQuestionnaireStore.getState().enableWhenExpressions;
63
+ const enableWhenIsActivated = questionnaireStore.getState().enableWhenIsActivated;
64
+ const enableWhenItems = questionnaireStore.getState().enableWhenItems;
65
+ const enableWhenExpressions = questionnaireStore.getState().enableWhenExpressions;
67
66
  return removeHiddenAnswers({
68
67
  questionnaire,
69
68
  questionnaireResponse,
@@ -78,12 +77,12 @@ export function removeHiddenAnswersFromResponse(questionnaire, questionnaireResp
78
77
  * @author Sean Fong
79
78
  */
80
79
  export function generateItemsToRepopulate(populatedResponse) {
81
- const sourceQuestionnaire = useQuestionnaireStore.getState().sourceQuestionnaire;
82
- const tabs = useQuestionnaireStore.getState().tabs;
83
- const updatableResponse = useQuestionnaireResponseStore.getState().updatableResponse;
84
- const enableWhenIsActivated = useQuestionnaireStore.getState().enableWhenIsActivated;
85
- const enableWhenItems = useQuestionnaireStore.getState().enableWhenItems;
86
- const enableWhenExpressions = useQuestionnaireStore.getState().enableWhenExpressions;
80
+ const sourceQuestionnaire = questionnaireStore.getState().sourceQuestionnaire;
81
+ const tabs = questionnaireStore.getState().tabs;
82
+ const updatableResponse = questionnaireResponseStore.getState().updatableResponse;
83
+ const enableWhenIsActivated = questionnaireStore.getState().enableWhenIsActivated;
84
+ const enableWhenItems = questionnaireStore.getState().enableWhenItems;
85
+ const enableWhenExpressions = questionnaireStore.getState().enableWhenExpressions;
87
86
  return getItemsToRepopulate({
88
87
  sourceQuestionnaire,
89
88
  tabs,
@@ -100,8 +99,8 @@ export function generateItemsToRepopulate(populatedResponse) {
100
99
  * @author Sean Fong
101
100
  */
102
101
  export function repopulateResponse(checkedItemsToRepopulate) {
103
- const sourceQuestionnaire = useQuestionnaireStore.getState().sourceQuestionnaire;
104
- const updatableResponse = useQuestionnaireResponseStore.getState().updatableResponse;
102
+ const sourceQuestionnaire = questionnaireStore.getState().sourceQuestionnaire;
103
+ const updatableResponse = questionnaireResponseStore.getState().updatableResponse;
105
104
  return repopulateItemsIntoResponse(sourceQuestionnaire, updatableResponse, checkedItemsToRepopulate);
106
105
  }
107
106
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { QuestionnaireResponseItem } from 'fhir/r4';
2
- export interface GroupTableRow {
2
+ export interface GroupTableRowModel {
3
3
  nanoId: string;
4
4
  qrItem: QuestionnaireResponseItem | null;
5
5
  }
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/setup-jest.ts"],"sourcesContent":["import '@testing-library/jest-dom';\n"],"names":[],"mappings":"AAAA,OAAO,4BAA4B"}
@@ -1,3 +1,4 @@
1
- export { default as useQuestionnaireStore } from './useQuestionnaireStore';
2
- export { default as useQuestionnaireResponseStore } from './useQuestionnaireResponseStore';
3
- export { default as useSmartConfigStore } from './useSmartConfigStore';
1
+ export { questionnaireStore, useQuestionnaireStore } from './questionnaireStore';
2
+ export { questionnaireResponseStore, useQuestionnaireResponseStore } from './questionnaireResponseStore';
3
+ export { smartConfigStore, useSmartConfigStore } from './smartConfigStore';
4
+ export { terminologyServerStore, useTerminologyServerStore } from './terminologyServerStore';
@@ -1,4 +1,5 @@
1
- export { default as useQuestionnaireStore } from './useQuestionnaireStore';
2
- export { default as useQuestionnaireResponseStore } from './useQuestionnaireResponseStore';
3
- export { default as useSmartConfigStore } from './useSmartConfigStore';
1
+ export { questionnaireStore, useQuestionnaireStore } from './questionnaireStore';
2
+ export { questionnaireResponseStore, useQuestionnaireResponseStore } from './questionnaireResponseStore';
3
+ export { smartConfigStore, useSmartConfigStore } from './smartConfigStore';
4
+ export { terminologyServerStore, useTerminologyServerStore } from './terminologyServerStore';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { QuestionnaireResponse } from 'fhir/r4';
2
+ import type { Diff } from 'deep-diff';
3
+ interface QuestionnaireResponseStoreType {
4
+ sourceResponse: QuestionnaireResponse;
5
+ updatableResponse: QuestionnaireResponse;
6
+ formChangesHistory: (Diff<QuestionnaireResponse, QuestionnaireResponse>[] | null)[];
7
+ buildSourceResponse: (response: QuestionnaireResponse) => void;
8
+ setUpdatableResponseAsPopulated: (populatedResponse: QuestionnaireResponse) => void;
9
+ updateResponse: (updatedResponse: QuestionnaireResponse) => void;
10
+ setUpdatableResponseAsSaved: (savedResponse: QuestionnaireResponse) => void;
11
+ setUpdatableResponseAsEmpty: (clearedResponse: QuestionnaireResponse) => void;
12
+ destroySourceResponse: () => void;
13
+ }
14
+ export declare const questionnaireResponseStore: import("zustand/vanilla").StoreApi<QuestionnaireResponseStoreType>;
15
+ export declare const useQuestionnaireResponseStore: import("zustand/vanilla").StoreApi<QuestionnaireResponseStoreType> & {
16
+ use: {
17
+ sourceResponse: () => QuestionnaireResponse;
18
+ updatableResponse: () => QuestionnaireResponse;
19
+ formChangesHistory: () => (Diff<QuestionnaireResponse, QuestionnaireResponse>[] | null)[];
20
+ buildSourceResponse: () => (response: QuestionnaireResponse) => void;
21
+ setUpdatableResponseAsPopulated: () => (populatedResponse: QuestionnaireResponse) => void;
22
+ updateResponse: () => (updatedResponse: QuestionnaireResponse) => void;
23
+ setUpdatableResponseAsSaved: () => (savedResponse: QuestionnaireResponse) => void;
24
+ setUpdatableResponseAsEmpty: () => (clearedResponse: QuestionnaireResponse) => void;
25
+ destroySourceResponse: () => () => void;
26
+ };
27
+ };
28
+ export {};
@@ -0,0 +1,64 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { createStore } from 'zustand/vanilla';
18
+ import { emptyResponse } from '../utils/emptyResource';
19
+ import cloneDeep from 'lodash.clonedeep';
20
+ import { diff } from 'deep-diff';
21
+ import { createSelectors } from './selector';
22
+ export const questionnaireResponseStore = createStore()((set, get) => ({
23
+ sourceResponse: cloneDeep(emptyResponse),
24
+ updatableResponse: cloneDeep(emptyResponse),
25
+ formChangesHistory: [],
26
+ buildSourceResponse: (questionnaireResponse) => {
27
+ set(() => ({
28
+ sourceResponse: questionnaireResponse,
29
+ updatableResponse: questionnaireResponse
30
+ }));
31
+ },
32
+ setUpdatableResponseAsPopulated: (populatedResponse) => {
33
+ var _a;
34
+ const formChanges = (_a = diff(get().updatableResponse, populatedResponse)) !== null && _a !== void 0 ? _a : null;
35
+ set(() => ({
36
+ updatableResponse: populatedResponse,
37
+ formChangesHistory: [...get().formChangesHistory, formChanges]
38
+ }));
39
+ },
40
+ updateResponse: (updatedResponse) => {
41
+ var _a;
42
+ const formChanges = (_a = diff(get().updatableResponse, updatedResponse)) !== null && _a !== void 0 ? _a : null;
43
+ set(() => ({
44
+ updatableResponse: updatedResponse,
45
+ formChangesHistory: [...get().formChangesHistory, formChanges]
46
+ }));
47
+ },
48
+ setUpdatableResponseAsSaved: (savedResponse) => set(() => ({
49
+ sourceResponse: savedResponse,
50
+ updatableResponse: savedResponse,
51
+ formChangesHistory: []
52
+ })),
53
+ setUpdatableResponseAsEmpty: (clearedResponse) => set(() => ({
54
+ updatableResponse: clearedResponse,
55
+ formChangesHistory: []
56
+ })),
57
+ destroySourceResponse: () => set(() => ({
58
+ sourceResponse: cloneDeep(emptyResponse),
59
+ updatableResponse: cloneDeep(emptyResponse),
60
+ formChangesHistory: []
61
+ }))
62
+ }));
63
+ export const useQuestionnaireResponseStore = createSelectors(questionnaireResponseStore);
64
+ //# sourceMappingURL=questionnaireResponseStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questionnaireResponseStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireResponseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAc7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,EAAkC,CACrF,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC;IACxC,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC;IAC3C,kBAAkB,EAAE,EAAE;IACtB,mBAAmB,EAAE,CAAC,qBAA4C,EAAE,EAAE;QACpE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,cAAc,EAAE,qBAAqB;YACrC,iBAAiB,EAAE,qBAAqB;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IACD,+BAA+B,EAAE,CAAC,iBAAwC,EAAE,EAAE;;QAC5E,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,mCAAI,IAAI,CAAC;QAC7E,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,iBAAiB,EAAE,iBAAiB;YACpC,kBAAkB,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IACD,cAAc,EAAE,CAAC,eAAsC,EAAE,EAAE;;QACzD,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,mCAAI,IAAI,CAAC;QAC3E,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACT,iBAAiB,EAAE,eAAe;YAClC,kBAAkB,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IACD,2BAA2B,EAAE,CAAC,aAAoC,EAAE,EAAE,CACpE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,cAAc,EAAE,aAAa;QAC7B,iBAAiB,EAAE,aAAa;QAChC,kBAAkB,EAAE,EAAE;KACvB,CAAC,CAAC;IACL,2BAA2B,EAAE,CAAC,eAAsC,EAAE,EAAE,CACtE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,iBAAiB,EAAE,eAAe;QAClC,kBAAkB,EAAE,EAAE;KACvB,CAAC,CAAC;IACL,qBAAqB,EAAE,GAAG,EAAE,CAC1B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC;QACxC,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC;QAC3C,kBAAkB,EAAE,EAAE;KACvB,CAAC,CAAC;CACN,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,65 @@
1
+ import type { Coding, Questionnaire, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4';
2
+ import type { Variables } from '../interfaces/variables.interface';
3
+ import type { LaunchContext } from '../interfaces/populate.interface';
4
+ import type { CalculatedExpression } from '../interfaces/calculatedExpression.interface';
5
+ import type { EnableWhenExpression, EnableWhenItems } from '../interfaces/enableWhen.interface';
6
+ import type { AnswerExpression } from '../interfaces/answerExpression.interface';
7
+ import type { Tabs } from '../interfaces/tab.interface';
8
+ interface QuestionnaireStoreType {
9
+ sourceQuestionnaire: Questionnaire;
10
+ itemTypes: Record<string, string>;
11
+ tabs: Tabs;
12
+ currentTabIndex: number;
13
+ variables: Variables;
14
+ launchContexts: Record<string, LaunchContext>;
15
+ enableWhenItems: EnableWhenItems;
16
+ enableWhenLinkedQuestions: Record<string, string[]>;
17
+ enableWhenIsActivated: boolean;
18
+ enableWhenExpressions: Record<string, EnableWhenExpression>;
19
+ calculatedExpressions: Record<string, CalculatedExpression>;
20
+ answerExpressions: Record<string, AnswerExpression>;
21
+ processedValueSetCodings: Record<string, Coding[]>;
22
+ processedValueSetUrls: Record<string, string>;
23
+ cachedValueSetCodings: Record<string, Coding[]>;
24
+ fhirPathContext: Record<string, any>;
25
+ buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string) => Promise<void>;
26
+ destroySourceQuestionnaire: () => void;
27
+ switchTab: (newTabIndex: number) => void;
28
+ markTabAsComplete: (tabLinkId: string) => void;
29
+ updateEnableWhenItem: (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[]) => void;
30
+ toggleEnableWhenActivation: (isActivated: boolean) => void;
31
+ updateExpressions: (updatedResponse: QuestionnaireResponse) => void;
32
+ addCodingToCache: (valueSetUrl: string, codings: Coding[]) => void;
33
+ updatePopulatedProperties: (populatedResponse: QuestionnaireResponse, persistTabIndex?: boolean) => QuestionnaireResponse;
34
+ }
35
+ export declare const questionnaireStore: import("zustand/vanilla").StoreApi<QuestionnaireStoreType>;
36
+ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<QuestionnaireStoreType> & {
37
+ use: {
38
+ sourceQuestionnaire: () => Questionnaire;
39
+ itemTypes: () => Record<string, string>;
40
+ tabs: () => Tabs;
41
+ currentTabIndex: () => number;
42
+ variables: () => Variables;
43
+ launchContexts: () => Record<string, LaunchContext>;
44
+ enableWhenItems: () => EnableWhenItems;
45
+ enableWhenLinkedQuestions: () => Record<string, string[]>;
46
+ enableWhenIsActivated: () => boolean;
47
+ enableWhenExpressions: () => Record<string, EnableWhenExpression>;
48
+ calculatedExpressions: () => Record<string, CalculatedExpression>;
49
+ answerExpressions: () => Record<string, AnswerExpression>;
50
+ processedValueSetCodings: () => Record<string, Coding[]>;
51
+ processedValueSetUrls: () => Record<string, string>;
52
+ cachedValueSetCodings: () => Record<string, Coding[]>;
53
+ fhirPathContext: () => Record<string, any>;
54
+ buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string) => Promise<void>;
55
+ destroySourceQuestionnaire: () => () => void;
56
+ switchTab: () => (newTabIndex: number) => void;
57
+ markTabAsComplete: () => (tabLinkId: string) => void;
58
+ updateEnableWhenItem: () => (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[]) => void;
59
+ toggleEnableWhenActivation: () => (isActivated: boolean) => void;
60
+ updateExpressions: () => (updatedResponse: QuestionnaireResponse) => void;
61
+ addCodingToCache: () => (valueSetUrl: string, codings: Coding[]) => void;
62
+ updatePopulatedProperties: () => (populatedResponse: QuestionnaireResponse, persistTabIndex?: boolean) => QuestionnaireResponse;
63
+ };
64
+ };
65
+ export {};