@aehrc/smart-forms-renderer 0.36.1 → 0.37.2

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 (113) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/lib/components/FormComponents/Button.styles.d.ts +4 -0
  3. package/lib/components/FormComponents/Button.styles.js +10 -0
  4. package/lib/components/FormComponents/Button.styles.js.map +1 -0
  5. package/lib/components/FormComponents/GroupItem/GroupHeading.d.ts +1 -0
  6. package/lib/components/FormComponents/GroupItem/GroupHeading.js +3 -2
  7. package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
  8. package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +4 -0
  9. package/lib/components/FormComponents/GroupItem/GroupItem.js +3 -3
  10. package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
  11. package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +4 -0
  12. package/lib/components/FormComponents/GroupItem/GroupItemView.js +8 -5
  13. package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
  14. package/lib/components/FormComponents/GroupItem/NextPageButton.d.ts +7 -0
  15. package/lib/{hooks/useQueryClient.js → components/FormComponents/GroupItem/NextPageButton.js} +9 -12
  16. package/lib/components/FormComponents/GroupItem/NextPageButton.js.map +1 -0
  17. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.d.ts +8 -0
  18. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +46 -0
  19. package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -0
  20. package/lib/components/FormComponents/GroupItem/PreviousPageButton.d.ts +7 -0
  21. package/lib/components/FormComponents/GroupItem/PreviousPageButton.js +26 -0
  22. package/lib/components/FormComponents/GroupItem/PreviousPageButton.js.map +1 -0
  23. package/lib/components/Renderer/BaseRenderer.js +8 -0
  24. package/lib/components/Renderer/BaseRenderer.js.map +1 -1
  25. package/lib/components/Renderer/FormBodyPage.d.ts +9 -0
  26. package/lib/components/Renderer/FormBodyPage.js +43 -0
  27. package/lib/components/Renderer/FormBodyPage.js.map +1 -0
  28. package/lib/components/Renderer/FormTopLevelItem.js +7 -0
  29. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  30. package/lib/components/Renderer/FormTopLevelPage.d.ts +9 -0
  31. package/lib/components/Renderer/FormTopLevelPage.js +29 -0
  32. package/lib/components/Renderer/FormTopLevelPage.js.map +1 -0
  33. package/lib/hooks/useNextAndPreviousVisiblePages.d.ts +7 -0
  34. package/lib/hooks/useNextAndPreviousVisiblePages.js +47 -0
  35. package/lib/hooks/useNextAndPreviousVisiblePages.js.map +1 -0
  36. package/lib/interfaces/page.interface.d.ts +16 -0
  37. package/lib/interfaces/page.interface.js +2 -0
  38. package/lib/interfaces/page.interface.js.map +1 -0
  39. package/lib/interfaces/questionnaireStore.interface.d.ts +2 -0
  40. package/lib/stores/questionnaireStore.d.ts +13 -0
  41. package/lib/stores/questionnaireStore.js +19 -3
  42. package/lib/stores/questionnaireStore.js.map +1 -1
  43. package/lib/utils/initialise.d.ts +3 -0
  44. package/lib/utils/initialise.js +6 -1
  45. package/lib/utils/initialise.js.map +1 -1
  46. package/lib/utils/page.d.ts +43 -0
  47. package/lib/utils/page.js +101 -0
  48. package/lib/utils/page.js.map +1 -0
  49. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -0
  50. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  51. package/lib/utils/questionnaireStoreUtils/extractPages.d.ts +3 -0
  52. package/lib/utils/questionnaireStoreUtils/extractPages.js +18 -0
  53. package/lib/utils/questionnaireStoreUtils/extractPages.js.map +1 -0
  54. package/package.json +4 -4
  55. package/src/components/FormComponents/Button.styles.ts +10 -0
  56. package/src/components/FormComponents/GroupItem/GroupHeading.tsx +5 -3
  57. package/src/components/FormComponents/GroupItem/GroupItem.tsx +11 -1
  58. package/src/components/FormComponents/GroupItem/GroupItemView.tsx +12 -0
  59. package/src/components/FormComponents/GroupItem/NextPageButton.tsx +37 -0
  60. package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +78 -0
  61. package/src/components/FormComponents/GroupItem/PreviousPageButton.tsx +41 -0
  62. package/src/components/Renderer/BaseRenderer.tsx +21 -0
  63. package/src/components/Renderer/FormBodyPage.tsx +93 -0
  64. package/src/components/Renderer/FormTopLevelItem.tsx +17 -0
  65. package/src/components/Renderer/FormTopLevelPage.tsx +70 -0
  66. package/src/hooks/useNextAndPreviousVisiblePages.ts +69 -0
  67. package/src/interfaces/page.interface.ts +13 -0
  68. package/src/interfaces/questionnaireStore.interface.ts +2 -0
  69. package/src/stores/questionnaireStore.ts +33 -2
  70. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreAllergyIntolerance.json +1 -1
  71. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreCondition.json +1 -1
  72. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreEncounter.json +137 -58
  73. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreImmunization.json +175 -0
  74. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreMedicationRequest.json +229 -0
  75. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBP.json +359 -0
  76. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBodyHeight.json +195 -0
  77. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBodyWeight.json +195 -0
  78. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationHeartRate.json +195 -0
  79. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationSmokingStatus.json +174 -0
  80. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePatient.json +495 -0
  81. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePractitioner.json +139 -0
  82. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePractitionerRole.json +216 -0
  83. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreProcedure.json +199 -0
  84. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreRespirationRate.json +195 -0
  85. package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreWaistCircumference.json +195 -0
  86. package/src/stories/assets/questionnaires/QAuCoreTesting.ts +3342 -1
  87. package/src/stories/assets/questionnaires/QItemControlGroup.ts +673 -0
  88. package/src/stories/sdc/ItemControlGroup.stories.tsx +22 -1
  89. package/src/stories/testing/AuCoreTester.stories.tsx +140 -1
  90. package/src/utils/initialise.ts +11 -0
  91. package/src/utils/page.ts +134 -0
  92. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +5 -0
  93. package/src/utils/questionnaireStoreUtils/extractPages.ts +24 -0
  94. package/lib/components/FormComponents/DateTimeItem/DateTimeField.d.ts +0 -12
  95. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +0 -34
  96. package/lib/components/FormComponents/DateTimeItem/DateTimeField.js.map +0 -1
  97. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.d.ts +0 -9
  98. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +0 -60
  99. package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +0 -1
  100. package/lib/hooks/useDisplayCalculatedExpression.d.ts +0 -3
  101. package/lib/hooks/useDisplayCalculatedExpression.js +0 -40
  102. package/lib/hooks/useDisplayCalculatedExpression.js.map +0 -1
  103. package/lib/hooks/useInitialiseRenderer.d.ts +0 -4
  104. package/lib/hooks/useInitialiseRenderer.js +0 -85
  105. package/lib/hooks/useInitialiseRenderer.js.map +0 -1
  106. package/lib/hooks/useQueryClient.d.ts +0 -3
  107. package/lib/hooks/useQueryClient.js.map +0 -1
  108. package/lib/utils/buildForm.d.ts +0 -8
  109. package/lib/utils/buildForm.js +0 -26
  110. package/lib/utils/buildForm.js.map +0 -1
  111. package/stats.html +0 -4842
  112. package/stats1.html +0 -4842
  113. package/stats3.html +0 -4842
@@ -0,0 +1,47 @@
1
+ import { useQuestionnaireStore } from '../stores';
2
+ import { constructPagesWithVisibility } from '../utils/page';
3
+ function useNextAndPreviousVisiblePages(currentPageIndex, pages) {
4
+ const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
5
+ const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
6
+ const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
7
+ const pagesNotDefined = currentPageIndex === undefined || pages === undefined;
8
+ if (pagesNotDefined) {
9
+ return { previousPageIndex: null, nextPageIndex: null, numOfVisiblePages: 0 };
10
+ }
11
+ const pagesWithVisibility = constructPagesWithVisibility({
12
+ pages,
13
+ enableWhenIsActivated,
14
+ enableWhenItems,
15
+ enableWhenExpressions
16
+ });
17
+ return {
18
+ previousPageIndex: getPreviousPageIndex(currentPageIndex, pagesWithVisibility),
19
+ nextPageIndex: getNextPageIndex(currentPageIndex, pagesWithVisibility),
20
+ numOfVisiblePages: pagesWithVisibility.filter((tab) => tab.isVisible).length
21
+ };
22
+ }
23
+ function getPreviousPageIndex(currentPageIndex, pagesWithVisibility) {
24
+ const previousPages = pagesWithVisibility.slice(0, currentPageIndex);
25
+ const foundIndex = previousPages.reverse().findIndex((tab) => tab.isVisible);
26
+ // Previous visible tab not found
27
+ if (foundIndex === -1) {
28
+ return null;
29
+ }
30
+ // Previous visible tab less than 0
31
+ const previousPageIndex = currentPageIndex - foundIndex - 1;
32
+ if (previousPageIndex < 0) {
33
+ return null;
34
+ }
35
+ return previousPageIndex;
36
+ }
37
+ function getNextPageIndex(currentPageIndex, pagesWithVisibility) {
38
+ const subsequentPages = pagesWithVisibility.slice(currentPageIndex + 1);
39
+ const foundIndex = subsequentPages.findIndex((tab) => tab.isVisible);
40
+ // Next visible tab not found, something is wrong
41
+ if (foundIndex === -1) {
42
+ return null;
43
+ }
44
+ return currentPageIndex + foundIndex + 1;
45
+ }
46
+ export default useNextAndPreviousVisiblePages;
47
+ //# sourceMappingURL=useNextAndPreviousVisiblePages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNextAndPreviousVisiblePages.js","sourceRoot":"","sources":["../../src/hooks/useNextAndPreviousVisiblePages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,SAAS,8BAA8B,CACrC,gBAAyB,EACzB,KAAa;IAEb,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,MAAM,eAAe,GAAG,gBAAgB,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC;IAE9E,IAAI,eAAe,EAAE;QACnB,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;KAC/E;IAED,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;QACvD,KAAK;QACL,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,iBAAiB,EAAE,oBAAoB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QAC9E,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QACtE,iBAAiB,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,gBAAwB,EACxB,mBAA6D;IAE7D,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7E,iCAAiC;IACjC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5D,IAAI,iBAAiB,GAAG,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,gBAAgB,CACvB,gBAAwB,EACxB,mBAA6D;IAE7D,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAErE,iDAAiD;IACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,gBAAgB,GAAG,UAAU,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Page interface
3
+ *
4
+ * @property pageIndex - The index of the page
5
+ * @property isComplete - Whether the page is marked as complete
6
+ * @property isHidden - Whether the page is hidden
7
+ */
8
+ export type Page = {
9
+ pageIndex: number;
10
+ isComplete: boolean;
11
+ isHidden: boolean;
12
+ };
13
+ /**
14
+ * Key-value pair of pages `Record<linkId, Page>`
15
+ */
16
+ export type Pages = Record<string, Page>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=page.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.interface.js","sourceRoot":"","sources":["../../src/interfaces/page.interface.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import type { Tabs } from './tab.interface';
2
+ import type { Pages } from './page.interface';
2
3
  import type { Variables } from './variables.interface';
3
4
  import type { LaunchContext } from './populate.interface';
4
5
  import type { EnableWhenExpressions, EnableWhenItems } from './enableWhen.interface';
@@ -9,6 +10,7 @@ import type { InitialExpression } from './initialExpression.interface';
9
10
  export interface QuestionnaireModel {
10
11
  itemTypes: Record<string, string>;
11
12
  tabs: Tabs;
13
+ pages: Pages;
12
14
  variables: Variables;
13
15
  launchContexts: Record<string, LaunchContext>;
14
16
  enableWhenItems: EnableWhenItems;
@@ -5,6 +5,7 @@ import type { CalculatedExpression } from '../interfaces/calculatedExpression.in
5
5
  import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
6
6
  import type { AnswerExpression } from '../interfaces/answerExpression.interface';
7
7
  import type { Tabs } from '../interfaces/tab.interface';
8
+ import type { Pages } from '../interfaces/page.interface';
8
9
  import type { InitialExpression } from '../interfaces/initialExpression.interface';
9
10
  /**
10
11
  * QuestionnaireStore properties and methods
@@ -15,6 +16,8 @@ import type { InitialExpression } from '../interfaces/initialExpression.interfac
15
16
  * @property itemTypes - Key-value pair of item types `Record<linkId, item.type>`
16
17
  * @property tabs - Key-value pair of tabs `Record<linkId, Tab>`
17
18
  * @property currentTabIndex - Index of the current tab
19
+ * @property pages - Key-value pair of pages `Record<linkId, Page>`
20
+ * @property currentPageIndex - Index of the current page
18
21
  * @property variables - Questionnaire variables object containing FHIRPath and x-fhir-query variables
19
22
  * @property launchContexts - Key-value pair of launch contexts `Record<launch context name, launch context properties>`
20
23
  * @property enableWhenItems - EnableWhenItems object containing enableWhen items and their linked questions
@@ -33,7 +36,9 @@ import type { InitialExpression } from '../interfaces/initialExpression.interfac
33
36
  * @property buildSourceQuestionnaire - Used to build the source questionnaire with the provided questionnaire and optionally questionnaire response, additional variables, terminology server url and readyOnly flag
34
37
  * @property destroySourceQuestionnaire - Used to destroy the source questionnaire and reset all properties
35
38
  * @property switchTab - Used to switch the current tab index
39
+ * @property switchPage - Used to switch the current page index
36
40
  * @property markTabAsComplete - Used to mark a tab index as complete
41
+ * @property markPageAsComplete - Used to mark a page index as complete
37
42
  * @property updateEnableWhenItem - Used to update linked enableWhen items by updating a question with a new answer
38
43
  * @property mutateRepeatEnableWhenItems - Used to add or remove instances of repeating enableWhen items
39
44
  * @property toggleEnableWhenActivation - Used to toggle enableWhen checks on/off
@@ -51,6 +56,8 @@ export interface QuestionnaireStoreType {
51
56
  itemTypes: Record<string, string>;
52
57
  tabs: Tabs;
53
58
  currentTabIndex: number;
59
+ pages: Pages;
60
+ currentPageIndex: number;
54
61
  variables: Variables;
55
62
  launchContexts: Record<string, LaunchContext>;
56
63
  enableWhenItems: EnableWhenItems;
@@ -70,7 +77,9 @@ export interface QuestionnaireStoreType {
70
77
  buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
71
78
  destroySourceQuestionnaire: () => void;
72
79
  switchTab: (newTabIndex: number) => void;
80
+ switchPage: (newPageIndex: number) => void;
73
81
  markTabAsComplete: (tabLinkId: string) => void;
82
+ markPageAsComplete: (pageLinkId: string) => void;
74
83
  updateEnableWhenItem: (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
75
84
  mutateRepeatEnableWhenItems: (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
76
85
  toggleEnableWhenActivation: (isActivated: boolean) => void;
@@ -103,6 +112,8 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
103
112
  itemTypes: () => Record<string, string>;
104
113
  tabs: () => Tabs;
105
114
  currentTabIndex: () => number;
115
+ pages: () => Pages;
116
+ currentPageIndex: () => number;
106
117
  variables: () => Variables;
107
118
  launchContexts: () => Record<string, LaunchContext>;
108
119
  enableWhenItems: () => EnableWhenItems;
@@ -122,7 +133,9 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
122
133
  buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
123
134
  destroySourceQuestionnaire: () => () => void;
124
135
  switchTab: () => (newTabIndex: number) => void;
136
+ switchPage: () => (newPageIndex: number) => void;
125
137
  markTabAsComplete: () => (tabLinkId: string) => void;
138
+ markPageAsComplete: () => (pageLinkId: string) => void;
126
139
  updateEnableWhenItem: () => (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
127
140
  mutateRepeatEnableWhenItems: () => (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
128
141
  toggleEnableWhenActivation: () => (isActivated: boolean) => void;
@@ -49,6 +49,8 @@ export const questionnaireStore = createStore()((set, get) => ({
49
49
  itemTypes: {},
50
50
  tabs: {},
51
51
  currentTabIndex: 0,
52
+ pages: {},
53
+ currentPageIndex: 0,
52
54
  variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
53
55
  launchContexts: {},
54
56
  calculatedExpressions: {},
@@ -70,13 +72,14 @@ export const questionnaireStore = createStore()((set, get) => ({
70
72
  // Insert answerOptions with displays into questionnaire
71
73
  questionnaire = insertCompleteAnswerOptionsIntoQuestionnaire(questionnaire, questionnaireModel.answerOptions);
72
74
  // Initialise form with questionnaire response and properties in questionnaire model
73
- const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, updatedFhirPathContext } = initialiseFormFromResponse({
75
+ const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext } = initialiseFormFromResponse({
74
76
  questionnaireResponse,
75
77
  enableWhenItems: questionnaireModel.enableWhenItems,
76
78
  enableWhenExpressions: questionnaireModel.enableWhenExpressions,
77
79
  calculatedExpressions: questionnaireModel.calculatedExpressions,
78
80
  variablesFhirPath: questionnaireModel.variables.fhirPathVariables,
79
81
  tabs: questionnaireModel.tabs,
82
+ pages: questionnaireModel.pages,
80
83
  fhirPathContext: questionnaireModel.fhirPathContext
81
84
  });
82
85
  set({
@@ -84,6 +87,8 @@ export const questionnaireStore = createStore()((set, get) => ({
84
87
  itemTypes: questionnaireModel.itemTypes,
85
88
  tabs: questionnaireModel.tabs,
86
89
  currentTabIndex: firstVisibleTab,
90
+ pages: questionnaireModel.pages,
91
+ currentPageIndex: firstVisiblePage,
87
92
  variables: questionnaireModel.variables,
88
93
  launchContexts: questionnaireModel.launchContexts,
89
94
  enableWhenItems: initialEnableWhenItems,
@@ -103,6 +108,8 @@ export const questionnaireStore = createStore()((set, get) => ({
103
108
  itemTypes: {},
104
109
  tabs: {},
105
110
  currentTabIndex: 0,
111
+ pages: {},
112
+ currentPageIndex: 0,
106
113
  variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
107
114
  launchContexts: {},
108
115
  enableWhenItems: { singleItems: {}, repeatItems: {} },
@@ -116,12 +123,19 @@ export const questionnaireStore = createStore()((set, get) => ({
116
123
  fhirPathContext: {}
117
124
  }),
118
125
  switchTab: (newTabIndex) => set(() => ({ currentTabIndex: newTabIndex })),
126
+ switchPage: (newPageIndex) => set(() => ({ currentPageIndex: newPageIndex })),
119
127
  markTabAsComplete: (tabLinkId) => {
120
128
  const tabs = get().tabs;
121
129
  set(() => ({
122
130
  tabs: Object.assign(Object.assign({}, tabs), { [tabLinkId]: Object.assign(Object.assign({}, tabs[tabLinkId]), { isComplete: !tabs[tabLinkId].isComplete }) })
123
131
  }));
124
132
  },
133
+ markPageAsComplete: (pageLinkId) => {
134
+ const pages = get().pages;
135
+ set(() => ({
136
+ pages: Object.assign(Object.assign({}, pages), { [pageLinkId]: Object.assign(Object.assign({}, pages[pageLinkId]), { isComplete: !pages[pageLinkId].isComplete }) })
137
+ }));
138
+ },
125
139
  updateEnableWhenItem: (linkId, newAnswer, parentRepeatGroupIndex) => {
126
140
  const enableWhenLinkedQuestions = get().enableWhenLinkedQuestions;
127
141
  const enableWhenItems = get().enableWhenItems;
@@ -181,7 +195,7 @@ export const questionnaireStore = createStore()((set, get) => ({
181
195
  addCodingToCache: (valueSetUrl, codings) => set(() => ({
182
196
  cachedValueSetCodings: Object.assign(Object.assign({}, get().cachedValueSetCodings), { [valueSetUrl]: codings })
183
197
  })),
184
- updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex) => {
198
+ updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex, persistPageIndex) => {
185
199
  const initialResponseItemMap = createQuestionnaireResponseItemMap(populatedResponse);
186
200
  const evaluateInitialCalculatedExpressionsResult = evaluateInitialCalculatedExpressions({
187
201
  initialResponse: populatedResponse,
@@ -193,13 +207,14 @@ export const questionnaireStore = createStore()((set, get) => ({
193
207
  const { initialCalculatedExpressions } = evaluateInitialCalculatedExpressionsResult;
194
208
  let updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
195
209
  const updatedResponse = initialiseCalculatedExpressionValues(get().sourceQuestionnaire, populatedResponse, initialCalculatedExpressions);
196
- const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab } = initialiseFormFromResponse({
210
+ const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab, firstVisiblePage } = initialiseFormFromResponse({
197
211
  questionnaireResponse: updatedResponse,
198
212
  enableWhenItems: get().enableWhenItems,
199
213
  enableWhenExpressions: get().enableWhenExpressions,
200
214
  calculatedExpressions: initialCalculatedExpressions,
201
215
  variablesFhirPath: get().variables.fhirPathVariables,
202
216
  tabs: get().tabs,
217
+ pages: get().pages,
203
218
  fhirPathContext: updatedFhirPathContext
204
219
  });
205
220
  updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
@@ -209,6 +224,7 @@ export const questionnaireStore = createStore()((set, get) => ({
209
224
  enableWhenExpressions: initialEnableWhenExpressions,
210
225
  calculatedExpressions: initialCalculatedExpressions,
211
226
  currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab,
227
+ currentPageIndex: persistPageIndex ? get().currentPageIndex : firstVisiblePage,
212
228
  fhirPathContext: updatedFhirPathContext,
213
229
  populatedContext: populatedContext !== null && populatedContext !== void 0 ? populatedContext : get().populatedContext
214
230
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Expression, Questionnaire, QuestionnaireItemInitial, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4';
2
2
  import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
3
3
  import type { Tabs } from '../interfaces/tab.interface';
4
+ import type { Pages } from '../interfaces/page.interface';
4
5
  import type { CalculatedExpression } from '../interfaces/calculatedExpression.interface';
5
6
  /**
6
7
  * Initialise a questionnaireResponse from a given questionnaire
@@ -17,6 +18,7 @@ export interface initialFormFromResponseParams {
17
18
  calculatedExpressions: Record<string, CalculatedExpression[]>;
18
19
  variablesFhirPath: Record<string, Expression[]>;
19
20
  tabs: Tabs;
21
+ pages: Pages;
20
22
  fhirPathContext: Record<string, any>;
21
23
  }
22
24
  export declare function initialiseFormFromResponse(params: initialFormFromResponseParams): {
@@ -25,5 +27,6 @@ export declare function initialiseFormFromResponse(params: initialFormFromRespon
25
27
  initialEnableWhenExpressions: EnableWhenExpressions;
26
28
  initialCalculatedExpressions: Record<string, CalculatedExpression[]>;
27
29
  firstVisibleTab: number;
30
+ firstVisiblePage: number;
28
31
  updatedFhirPathContext: Record<string, any>;
29
32
  };
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import { evaluateInitialEnableWhenExpressions } from './enableWhenExpression';
18
18
  import { getFirstVisibleTab } from './tabs';
19
+ import { getFirstVisiblePage } from './page';
19
20
  import { assignPopulatedAnswersToEnableWhen } from './enableWhen';
20
21
  import { evaluateInitialCalculatedExpressions } from './calculatedExpression';
21
22
  import { createQuestionnaireResponseItemMap } from './questionnaireResponseStoreUtils/updatableResponseItems';
@@ -234,7 +235,7 @@ function createNewRepeatGroupQuestionnaireResponseItem(qItem, initialValueItems)
234
235
  };
235
236
  }
236
237
  export function initialiseFormFromResponse(params) {
237
- const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs, fhirPathContext } = params;
238
+ const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs, pages, fhirPathContext } = params;
238
239
  const initialResponseItemMap = createQuestionnaireResponseItemMap(questionnaireResponse);
239
240
  let updatedFhirPathContext = {};
240
241
  const { initialisedItems, linkedQuestions } = assignPopulatedAnswersToEnableWhen(enableWhenItems, questionnaireResponse);
@@ -259,12 +260,16 @@ export function initialiseFormFromResponse(params) {
259
260
  const firstVisibleTab = Object.keys(tabs).length > 0
260
261
  ? getFirstVisibleTab(tabs, initialisedItems, initialEnableWhenExpressions)
261
262
  : 0;
263
+ const firstVisiblePage = Object.keys(pages).length > 0
264
+ ? getFirstVisiblePage(pages, initialisedItems, initialEnableWhenExpressions)
265
+ : 0;
262
266
  return {
263
267
  initialEnableWhenItems: initialisedItems,
264
268
  initialEnableWhenLinkedQuestions: linkedQuestions,
265
269
  initialEnableWhenExpressions,
266
270
  initialCalculatedExpressions,
267
271
  firstVisibleTab,
272
+ firstVisiblePage,
268
273
  updatedFhirPathContext
269
274
  };
270
275
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { Pages } from '../interfaces/page.interface';
2
+ import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
3
+ import type { QuestionnaireItem } from 'fhir/r4';
4
+ export declare function getFirstVisiblePage(pages: Pages, enableWhenItems: EnableWhenItems, enableWhenExpressions: EnableWhenExpressions): number;
5
+ /**
6
+ * Checks if all of the items in a qItem array is a page item
7
+ * Returns true if all items is page item
8
+ * Returns false if only have one item
9
+ *
10
+ * @author Riza Nafis
11
+ */
12
+ export declare function everyIsPages(topLevelQItem: QuestionnaireItem[] | undefined): boolean;
13
+ export declare function isPageContainer(topLevelQItem: QuestionnaireItem[] | undefined): boolean;
14
+ /**
15
+ * Checks if any of the items in a qItem array is a page item
16
+ * Returns true if there is at least one page item
17
+ *
18
+ * @author Riza Nafis
19
+ */
20
+ export declare function containsPages(topLevelQItem: QuestionnaireItem): boolean;
21
+ /**
22
+ * Check if a qItem is a page item
23
+ *
24
+ * @author Riza Nafis
25
+ */
26
+ export declare function isPage(item: QuestionnaireItem): boolean;
27
+ /**
28
+ * Create a `Record<linkId, Pages>` key-value pair for all page items in a qItem array
29
+ *
30
+ * @author Riza Nafis
31
+ */
32
+ export declare function constructPagesWithProperties(qItems: QuestionnaireItem[] | undefined, hasPageContainer: boolean): Pages;
33
+ interface contructPagesWithVisibilityParams {
34
+ pages: Pages;
35
+ enableWhenIsActivated: boolean;
36
+ enableWhenItems: EnableWhenItems;
37
+ enableWhenExpressions: EnableWhenExpressions;
38
+ }
39
+ export declare function constructPagesWithVisibility(params: contructPagesWithVisibilityParams): {
40
+ linkId: string;
41
+ isVisible: boolean;
42
+ }[];
43
+ export {};
@@ -0,0 +1,101 @@
1
+ import { isSpecificItemControl } from './itemControl';
2
+ import { isHiddenByEnableWhen } from './qItem';
3
+ import { structuredDataCapture } from 'fhir-sdc-helpers';
4
+ export function getFirstVisiblePage(pages, enableWhenItems, enableWhenExpressions) {
5
+ // Only singleEnableWhenItems are relevant for page operations
6
+ const { singleItems } = enableWhenItems;
7
+ const { singleExpressions } = enableWhenExpressions;
8
+ return Object.entries(pages)
9
+ .sort(([, pageA], [, pageB]) => pageA.pageIndex - pageB.pageIndex)
10
+ .findIndex(([pageLinkId, page]) => {
11
+ if (page.isHidden) {
12
+ return false;
13
+ }
14
+ const singleItem = singleItems[pageLinkId];
15
+ if (singleItem) {
16
+ return singleItem.isEnabled;
17
+ }
18
+ const singleExpression = singleExpressions[pageLinkId];
19
+ if (singleExpression) {
20
+ return singleExpression.isEnabled;
21
+ }
22
+ return true;
23
+ });
24
+ }
25
+ /**
26
+ * Checks if all of the items in a qItem array is a page item
27
+ * Returns true if all items is page item
28
+ * Returns false if only have one item
29
+ *
30
+ * @author Riza Nafis
31
+ */
32
+ export function everyIsPages(topLevelQItem) {
33
+ if (!topLevelQItem)
34
+ return false;
35
+ if (isPageContainer(topLevelQItem))
36
+ return false;
37
+ return topLevelQItem.every((i) => isPage(i));
38
+ }
39
+ export function isPageContainer(topLevelQItem) {
40
+ const anyPage = topLevelQItem === null || topLevelQItem === void 0 ? void 0 : topLevelQItem.filter(isPage);
41
+ if (!anyPage)
42
+ return false;
43
+ return anyPage.some((page) => { var _a; return ((_a = page.item) === null || _a === void 0 ? void 0 : _a.every((i) => i.type === 'group')) || false; });
44
+ }
45
+ /**
46
+ * Checks if any of the items in a qItem array is a page item
47
+ * Returns true if there is at least one page item
48
+ *
49
+ * @author Riza Nafis
50
+ */
51
+ export function containsPages(topLevelQItem) {
52
+ if (!topLevelQItem.item) {
53
+ return false;
54
+ }
55
+ const pages = topLevelQItem.item.filter((i) => isPage(i));
56
+ return pages.length > 0;
57
+ }
58
+ /**
59
+ * Check if a qItem is a page item
60
+ *
61
+ * @author Riza Nafis
62
+ */
63
+ export function isPage(item) {
64
+ return isSpecificItemControl(item, 'page');
65
+ }
66
+ /**
67
+ * Create a `Record<linkId, Pages>` key-value pair for all page items in a qItem array
68
+ *
69
+ * @author Riza Nafis
70
+ */
71
+ export function constructPagesWithProperties(qItems, hasPageContainer) {
72
+ var _a;
73
+ if (!qItems)
74
+ return {};
75
+ const qItemPages = hasPageContainer ? qItems : qItems.filter(isPage);
76
+ const pages = {};
77
+ for (const [i, qItem] of qItemPages.entries()) {
78
+ pages[qItem.linkId] = {
79
+ pageIndex: i,
80
+ isComplete: false,
81
+ isHidden: (_a = structuredDataCapture.getHidden(qItem)) !== null && _a !== void 0 ? _a : false
82
+ };
83
+ }
84
+ return pages;
85
+ }
86
+ export function constructPagesWithVisibility(params) {
87
+ const { pages, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
88
+ return Object.entries(pages).map(([linkId]) => {
89
+ const isVisible = !isHiddenByEnableWhen({
90
+ linkId,
91
+ enableWhenIsActivated,
92
+ enableWhenItems,
93
+ enableWhenExpressions
94
+ });
95
+ return {
96
+ linkId,
97
+ isVisible
98
+ };
99
+ });
100
+ }
101
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/utils/page.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
26
26
  import { extractLaunchContexts } from './extractLaunchContext';
27
27
  import { extractQuestionnaireLevelVariables } from './extractVariables';
28
28
  import { extractTabs } from './extractTabs';
29
+ import { extractPages } from './extractPages';
29
30
  import { extractContainedValueSets } from './extractContainedValueSets';
30
31
  import { extractOtherExtensions } from './extractOtherExtensions';
31
32
  import { resolveValueSets } from './resolveValueSets';
@@ -39,6 +40,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
39
40
  }
40
41
  const itemTypes = Object.fromEntries(getLinkIdTypeTuples(questionnaire));
41
42
  const tabs = extractTabs(questionnaire);
43
+ const pages = extractPages(questionnaire);
42
44
  const launchContexts = extractLaunchContexts(questionnaire);
43
45
  let variables = extractQuestionnaireLevelVariables(questionnaire);
44
46
  variables = addAdditionalVariables(variables, additionalVariables);
@@ -60,6 +62,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
60
62
  return {
61
63
  itemTypes,
62
64
  tabs,
65
+ pages,
63
66
  variables,
64
67
  launchContexts,
65
68
  enableWhenItems,
@@ -78,6 +81,7 @@ function createEmptyModel() {
78
81
  return {
79
82
  itemTypes: {},
80
83
  tabs: {},
84
+ pages: {},
81
85
  variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
82
86
  launchContexts: {},
83
87
  calculatedExpressions: {},
@@ -1 +1 @@
1
- {"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Questionnaire } from 'fhir/r4';
2
+ import type { Pages } from '../../interfaces/page.interface';
3
+ export declare function extractPages(questionnaire: Questionnaire): Pages;
@@ -0,0 +1,18 @@
1
+ import { constructPagesWithProperties, isPage, isPageContainer } from '../page';
2
+ export function extractPages(questionnaire) {
3
+ if (!questionnaire.item || questionnaire.item.length === 0) {
4
+ return {};
5
+ }
6
+ if (!isPageContainer(questionnaire.item)) {
7
+ return constructPagesWithProperties(questionnaire.item, false);
8
+ }
9
+ let totalPages = {};
10
+ for (const topLevelItem of questionnaire.item) {
11
+ const items = topLevelItem.item;
12
+ const topLevelItemIsPageContainer = isPage(topLevelItem);
13
+ const pages = constructPagesWithProperties(items, topLevelItemIsPageContainer);
14
+ totalPages = Object.assign(Object.assign({}, totalPages), pages);
15
+ }
16
+ return totalPages;
17
+ }
18
+ //# sourceMappingURL=extractPages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractPages.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractPages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEhF,MAAM,UAAU,YAAY,CAAC,aAA4B;IACvD,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACxC,OAAO,4BAA4B,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAChE;IAED,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,IAAI,EAAE;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;QAChC,MAAM,2BAA2B,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAC/E,UAAU,mCAAQ,UAAU,GAAK,KAAK,CAAE,CAAC;KAC1C;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}