@aehrc/smart-forms-renderer 0.35.6 → 0.36.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 (87) hide show
  1. package/README.md +1 -1
  2. package/lib/components/FormComponents/BooleanItem/BooleanItem.js +5 -1
  3. package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
  4. package/lib/hooks/useStringCalculatedExpression.js +0 -1
  5. package/lib/hooks/useStringCalculatedExpression.js.map +1 -1
  6. package/lib/hooks/useValueSetCodings.js +0 -5
  7. package/lib/hooks/useValueSetCodings.js.map +1 -1
  8. package/lib/interfaces/initialExpression.interface.d.ts +8 -0
  9. package/lib/interfaces/initialExpression.interface.js +18 -0
  10. package/lib/interfaces/initialExpression.interface.js.map +1 -0
  11. package/lib/interfaces/questionnaireStore.interface.d.ts +2 -0
  12. package/lib/stores/questionnaireStore.d.ts +3 -0
  13. package/lib/stores/questionnaireStore.js +3 -0
  14. package/lib/stores/questionnaireStore.js.map +1 -1
  15. package/lib/utils/calculatedExpression.js +15 -43
  16. package/lib/utils/calculatedExpression.js.map +1 -1
  17. package/lib/utils/fhirpath.js +1 -1
  18. package/lib/utils/fhirpath.js.map +1 -1
  19. package/lib/utils/getExpressionsFromItem.d.ts +6 -0
  20. package/lib/utils/getExpressionsFromItem.js +18 -0
  21. package/lib/utils/getExpressionsFromItem.js.map +1 -1
  22. package/lib/utils/initialise.d.ts +2 -1
  23. package/lib/utils/initialise.js +29 -36
  24. package/lib/utils/initialise.js.map +1 -1
  25. package/lib/utils/manageForm.d.ts +7 -1
  26. package/lib/utils/manageForm.js +9 -0
  27. package/lib/utils/manageForm.js.map +1 -1
  28. package/lib/utils/misc.d.ts +3 -0
  29. package/lib/utils/misc.js +43 -0
  30. package/lib/utils/misc.js.map +1 -1
  31. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +3 -1
  32. package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
  33. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +2 -0
  34. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +14 -2
  35. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
  36. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +8 -3
  37. package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -1
  38. package/lib/utils/removeEmptyAnswers.js +23 -7
  39. package/lib/utils/removeEmptyAnswers.js.map +1 -1
  40. package/lib/utils/repopulateIntoResponse.d.ts +1 -3
  41. package/lib/utils/repopulateIntoResponse.js +11 -34
  42. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  43. package/lib/utils/repopulateItems.d.ts +2 -2
  44. package/lib/utils/repopulateItems.js +32 -1
  45. package/lib/utils/repopulateItems.js.map +1 -1
  46. package/lib/utils/tabs.js +6 -4
  47. package/lib/utils/tabs.js.map +1 -1
  48. package/lib/utils/updateQr.d.ts +9 -0
  49. package/lib/utils/updateQr.js +55 -0
  50. package/lib/utils/updateQr.js.map +1 -0
  51. package/lib/utils/valueSet.js +4 -2
  52. package/lib/utils/valueSet.js.map +1 -1
  53. package/package.json +10 -7
  54. package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +4 -1
  55. package/src/hooks/useStringCalculatedExpression.ts +0 -1
  56. package/src/hooks/useValueSetCodings.ts +0 -6
  57. package/src/interfaces/initialExpression.interface.ts +25 -0
  58. package/src/interfaces/questionnaireStore.interface.ts +2 -0
  59. package/src/stores/questionnaireStore.ts +5 -0
  60. package/src/utils/calculatedExpression.ts +26 -60
  61. package/src/utils/fhirpath.ts +2 -1
  62. package/src/utils/getExpressionsFromItem.ts +19 -0
  63. package/src/utils/initialise.ts +30 -37
  64. package/src/utils/manageForm.ts +11 -1
  65. package/src/utils/misc.ts +57 -0
  66. package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +3 -0
  67. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +19 -1
  68. package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +10 -6
  69. package/src/utils/removeEmptyAnswers.ts +26 -7
  70. package/src/utils/repopulateIntoResponse.ts +16 -61
  71. package/src/utils/repopulateItems.ts +45 -3
  72. package/src/utils/tabs.ts +6 -4
  73. package/src/utils/updateQr.ts +88 -0
  74. package/src/utils/valueSet.ts +4 -2
  75. package/stats.html +4842 -0
  76. package/stats1.html +4842 -0
  77. package/stats3.html +4842 -0
  78. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.d.ts +0 -15
  79. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js +0 -433
  80. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js.map +0 -1
  81. package/lib/utils/fhirpathAsyncUtils/outcome-utils.d.ts +0 -3
  82. package/lib/utils/fhirpathAsyncUtils/outcome-utils.js +0 -42
  83. package/lib/utils/fhirpathAsyncUtils/outcome-utils.js.map +0 -1
  84. package/lib/utils/fhirpathAsyncUtils/test-questionnaire.d.ts +0 -1
  85. package/lib/utils/fhirpathAsyncUtils/test-questionnaire.js +0 -379
  86. package/lib/utils/fhirpathAsyncUtils/test-questionnaire.js.map +0 -1
  87. package/src/utils/fhirpathAsyncUtils/test-questionnaire.ts +0 -383
@@ -1,4 +1,4 @@
1
- import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
1
+ import type { Questionnaire, QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
2
2
  import type Client from 'fhirclient/lib/Client';
3
3
  /**
4
4
  * Build the form with an initial Questionnaire and an optional filled QuestionnaireResponse.
@@ -44,3 +44,9 @@ export declare function getResponse(): QuestionnaireResponse;
44
44
  * @author Sean Fong
45
45
  */
46
46
  export declare function removeEmptyAnswersFromResponse(questionnaire: Questionnaire, questionnaireResponse: QuestionnaireResponse): QuestionnaireResponse;
47
+ /**
48
+ * Check if a QuestionnaireResponseItem has either an item or an answer property.
49
+ *
50
+ * @author Sean Fong
51
+ */
52
+ export declare function qrItemHasItemsOrAnswer(qrItem: QuestionnaireResponseItem): boolean;
@@ -26,6 +26,7 @@ import { readEncounter, readPatient, readUser } from '../api/smartClient';
26
26
  */
27
27
  export function buildForm(questionnaire, questionnaireResponse, readOnly, terminologyServerUrl, additionalVariables) {
28
28
  return __awaiter(this, void 0, void 0, function* () {
29
+ // Reset terminology server
29
30
  if (terminologyServerUrl) {
30
31
  terminologyServerStore.getState().setUrl(terminologyServerUrl);
31
32
  }
@@ -105,4 +106,12 @@ export function removeEmptyAnswersFromResponse(questionnaire, questionnaireRespo
105
106
  enableWhenExpressions
106
107
  });
107
108
  }
109
+ /**
110
+ * Check if a QuestionnaireResponseItem has either an item or an answer property.
111
+ *
112
+ * @author Sean Fong
113
+ */
114
+ export function qrItemHasItemsOrAnswer(qrItem) {
115
+ return (!!qrItem.item && qrItem.item.length > 0) || (!!qrItem.answer && qrItem.answer.length > 0);
116
+ }
108
117
  //# sourceMappingURL=manageForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manageForm.js","sourceRoot":"","sources":["../../src/utils/manageForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manageForm.js","sourceRoot":"","sources":["../../src/utils/manageForm.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { Questionnaire, QuestionnaireItem } from 'fhir/r4';
2
+ import type { Tabs } from '../interfaces';
2
3
  export declare function getQuestionnaireItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
3
4
  export declare function getQuestionnaireItemRecursive(qItem: QuestionnaireItem, targetLinkId: string): QuestionnaireItem | null;
4
5
  export declare function getParentItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
5
6
  export declare function getRepeatGroupParentItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
7
+ export declare function getSectionHeading(questionnaire: Questionnaire, targetLinkId: string, tabs: Tabs): string | null;
8
+ export declare function getSectionHeadingRecursive(qItem: QuestionnaireItem, targetLinkId: string, heading: string | null, tabs: Tabs): string | null;
package/lib/utils/misc.js CHANGED
@@ -14,6 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import { getShortText } from './itemControl';
17
18
  export function getQuestionnaireItem(questionnaire, targetLinkId) {
18
19
  // Search through the top level items recursively
19
20
  const topLevelQItems = questionnaire.item;
@@ -113,4 +114,46 @@ function getRepeatGroupParentItemRecursive(qItem, targetLinkId, repeatGroupParen
113
114
  // No matching repeat group parent item found in the current item or its child items, return null
114
115
  return null;
115
116
  }
117
+ /*
118
+ Used for getting the tab section heading for Smart Form's re-population
119
+ */
120
+ export function getSectionHeading(questionnaire, targetLinkId, tabs) {
121
+ var _a;
122
+ // Search through the top level items recursively
123
+ const topLevelQItems = questionnaire.item;
124
+ if (topLevelQItems) {
125
+ for (const topLevelQItem of topLevelQItems) {
126
+ const heading = (_a = topLevelQItem.text) !== null && _a !== void 0 ? _a : null;
127
+ const foundQItem = getSectionHeadingRecursive(topLevelQItem, targetLinkId, heading, tabs);
128
+ if (foundQItem) {
129
+ return foundQItem;
130
+ }
131
+ }
132
+ }
133
+ // No heading found in the questionnaire, return null
134
+ return null;
135
+ }
136
+ export function getSectionHeadingRecursive(qItem, targetLinkId, heading, tabs) {
137
+ var _a, _b;
138
+ // Target linkId found in current item
139
+ if (qItem.linkId === targetLinkId) {
140
+ return heading;
141
+ }
142
+ // Search through its child items recursively
143
+ const childQItems = qItem.item;
144
+ if (childQItems) {
145
+ const isTab = !!tabs[qItem.linkId];
146
+ if (isTab) {
147
+ heading = (_b = (_a = getShortText(qItem)) !== null && _a !== void 0 ? _a : qItem.text) !== null && _b !== void 0 ? _b : null;
148
+ }
149
+ for (const childQItem of childQItems) {
150
+ const foundHeading = getSectionHeadingRecursive(childQItem, targetLinkId, heading, tabs);
151
+ if (foundHeading) {
152
+ return foundHeading;
153
+ }
154
+ }
155
+ }
156
+ // No heading found in the current item or its child items, return null
157
+ return null;
158
+ }
116
159
  //# sourceMappingURL=misc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,YAAoB;IAEpB,iDAAiD;IACjD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,MAAM,UAAU,GAAG,6BAA6B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC9E,IAAI,UAAU,EAAE;gBACd,OAAO,UAAU,CAAC;aACnB;SACF;KACF;IAED,2DAA2D;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAwB,EACxB,YAAoB;IAEpB,sCAAsC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,WAAW,EAAE;QACf,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACd,OAAO,UAAU,CAAC;aACnB;SACF;KACF;IAED,6EAA6E;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,GAAG;AAEH,MAAM,UAAU,aAAa,CAC3B,aAA4B,EAC5B,YAAoB;IAEpB,iDAAiD;IACjD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC7E,IAAI,gBAAgB,EAAE;gBACpB,OAAO,gBAAgB,CAAC;aACzB;SACF;KACF;IAED,kEAAkE;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAwB,EACxB,YAAoB,EACpB,WAA+B;IAE/B,0EAA0E;IAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;QACjC,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC;KAC5B;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,WAAW,EAAE;QACf,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACjF,IAAI,gBAAgB,EAAE;gBACpB,OAAO,gBAAgB,CAAC;aACzB;SACF;KACF;IAED,oFAAoF;IACpF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,aAA4B,EAC5B,YAAoB;IAEpB,iDAAiD;IACjD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACxF,IAAI,gBAAgB,EAAE;gBACpB,OAAO,gBAAgB,CAAC;aACzB;SACF;KACF;IAED,+EAA+E;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iCAAiC,CACxC,KAAwB,EACxB,YAAoB,EACpB,sBAA0C;IAE1C,0EAA0E;IAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,sBAAsB,EAAE;QAC3D,OAAO,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GAAI,IAAI,CAAC;KACvC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;IAE9D,6CAA6C;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,WAAW,EAAE;QACf,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,gBAAgB,GAAG,iCAAiC,CACxD,UAAU,EACV,YAAY,EACZ,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAC/C,CAAC;YACF,IAAI,gBAAgB,EAAE;gBACpB,OAAO,gBAAgB,CAAC;aACzB;SACF;KACF;IAED,iGAAiG;IACjG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAA4B,EAC5B,YAAoB,EACpB,IAAU;;IAEV,iDAAiD;IACjD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAA,aAAa,CAAC,IAAI,mCAAI,IAAI,CAAC;YAE3C,MAAM,UAAU,GAAG,0BAA0B,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1F,IAAI,UAAU,EAAE;gBACd,OAAO,UAAU,CAAC;aACnB;SACF;KACF;IAED,qDAAqD;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAwB,EACxB,YAAoB,EACpB,OAAsB,EACtB,IAAU;;IAEV,sCAAsC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;QACjC,OAAO,OAAO,CAAC;KAChB;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,WAAW,EAAE;QACf,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE;YACT,OAAO,GAAG,MAAA,MAAA,YAAY,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC;SACrD;QACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,YAAY,GAAG,0BAA0B,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACzF,IAAI,YAAY,EAAE;gBAChB,OAAO,YAAY,CAAC;aACrB;SACF;KACF;IAED,uEAAuE;IACvE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -47,7 +47,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
47
47
  let processedValueSetCodings = extractContainedValueSetsResult.processedValueSetCodings;
48
48
  const processedValueSetUrls = extractContainedValueSetsResult.processedValueSetUrls;
49
49
  const extractOtherExtensionsResult = extractOtherExtensions(questionnaire, variables, valueSetPromises, terminologyServerUrl);
50
- const { enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, answerOptions } = extractOtherExtensionsResult;
50
+ const { enableWhenItems, enableWhenExpressions, calculatedExpressions, initialExpressions, answerExpressions, answerOptions } = extractOtherExtensionsResult;
51
51
  variables = extractOtherExtensionsResult.variables;
52
52
  valueSetPromises = extractOtherExtensionsResult.valueSetPromises;
53
53
  const resolveValueSetsResult = yield resolveValueSets(variables, valueSetPromises, processedValueSetCodings, terminologyServerUrl);
@@ -65,6 +65,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
65
65
  enableWhenItems,
66
66
  enableWhenExpressions,
67
67
  calculatedExpressions,
68
+ initialExpressions,
68
69
  answerExpressions,
69
70
  answerOptions: completeAnswerOptions,
70
71
  processedValueSetCodings,
@@ -80,6 +81,7 @@ function createEmptyModel() {
80
81
  variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
81
82
  launchContexts: {},
82
83
  calculatedExpressions: {},
84
+ initialExpressions: {},
83
85
  enableWhenExpressions: { singleExpressions: {}, repeatExpressions: {} },
84
86
  answerExpressions: {},
85
87
  answerOptions: {},
@@ -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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"}
@@ -4,11 +4,13 @@ import type { EnableWhenExpressions, EnableWhenItems, EnableWhenRepeatItemProper
4
4
  import type { AnswerExpression } from '../../interfaces/answerExpression.interface';
5
5
  import type { ValueSetPromise } from '../../interfaces/valueSet.interface';
6
6
  import type { Variables } from '../../interfaces/variables.interface';
7
+ import type { InitialExpression } from '../../interfaces/initialExpression.interface';
7
8
  interface ReturnParamsRecursive {
8
9
  variables: Variables;
9
10
  enableWhenItems: EnableWhenItems;
10
11
  enableWhenExpressions: EnableWhenExpressions;
11
12
  calculatedExpressions: Record<string, CalculatedExpression[]>;
13
+ initialExpressions: Record<string, InitialExpression>;
12
14
  answerExpressions: Record<string, AnswerExpression>;
13
15
  valueSetPromises: Record<string, ValueSetPromise>;
14
16
  answerOptions: Record<string, QuestionnaireItemAnswerOption[]>;
@@ -21,7 +21,7 @@ import { checkItemIsEnabledRepeat } from '../enableWhen';
21
21
  import cloneDeep from 'lodash.clonedeep';
22
22
  import { emptyResponse } from '../emptyResource';
23
23
  import { evaluateEnableWhenRepeatExpressionInstance } from '../enableWhenExpression';
24
- import { getAnswerExpression, getCalculatedExpressions, getEnableWhenExpression } from '../getExpressionsFromItem';
24
+ import { getAnswerExpression, getCalculatedExpressions, getEnableWhenExpression, getInitialExpression } from '../getExpressionsFromItem';
25
25
  export function extractOtherExtensions(questionnaire, variables, valueSetPromises, terminologyServerUrl) {
26
26
  const enableWhenItems = { singleItems: {}, repeatItems: {} };
27
27
  const enableWhenExpressions = {
@@ -29,6 +29,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
29
29
  repeatExpressions: {}
30
30
  };
31
31
  const calculatedExpressions = {};
32
+ const initialExpressions = {};
32
33
  const answerExpressions = {};
33
34
  const answerOptions = {};
34
35
  if (!questionnaire.item || questionnaire.item.length === 0) {
@@ -40,6 +41,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
40
41
  repeatExpressions: {}
41
42
  },
42
43
  calculatedExpressions: {},
44
+ initialExpressions: {},
43
45
  answerExpressions: {},
44
46
  answerOptions: {},
45
47
  valueSetPromises: valueSetPromises
@@ -54,6 +56,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
54
56
  enableWhenItems,
55
57
  enableWhenExpressions,
56
58
  calculatedExpressions,
59
+ initialExpressions,
57
60
  answerExpressions,
58
61
  answerOptions,
59
62
  valueSetPromises,
@@ -66,6 +69,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
66
69
  enableWhenItems,
67
70
  enableWhenExpressions,
68
71
  calculatedExpressions,
72
+ initialExpressions,
69
73
  answerExpressions,
70
74
  answerOptions,
71
75
  valueSetPromises
@@ -73,7 +77,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
73
77
  }
74
78
  function extractExtensionsFromItemRecursive(params) {
75
79
  var _a, _b;
76
- const { questionnaire, item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, answerOptions, valueSetPromises, defaultTerminologyServerUrl, parentRepeatGroupLinkId } = params;
80
+ const { questionnaire, item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, initialExpressions, answerExpressions, answerOptions, valueSetPromises, defaultTerminologyServerUrl, parentRepeatGroupLinkId } = params;
77
81
  const items = item.item;
78
82
  const isRepeatGroup = !!item.repeats && item.type === 'group';
79
83
  if (items && items.length > 0) {
@@ -112,6 +116,13 @@ function extractExtensionsFromItemRecursive(params) {
112
116
  if (calculatedExpressionsOfItem.length > 0) {
113
117
  calculatedExpressions[item.linkId] = calculatedExpressionsOfItem;
114
118
  }
119
+ // Get initialExpressions
120
+ const initialExpression = getInitialExpression(item);
121
+ if (initialExpression) {
122
+ initialExpressions[item.linkId] = {
123
+ expression: `${initialExpression.expression}`
124
+ };
125
+ }
115
126
  // Get answerExpressions
116
127
  const answerExpression = getAnswerExpression(item);
117
128
  if (answerExpression) {
@@ -148,6 +159,7 @@ function extractExtensionsFromItemRecursive(params) {
148
159
  enableWhenItems,
149
160
  enableWhenExpressions,
150
161
  calculatedExpressions,
162
+ initialExpressions,
151
163
  answerExpressions,
152
164
  answerOptions,
153
165
  valueSetPromises
@@ -1 +1 @@
1
- {"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractOtherExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractOtherExtensions.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
25
25
  };
26
26
  import { createValueSetToXFhirQueryVariableNameMap, getValueSetCodings, getValueSetPromise, resolveValueSetPromises } from '../valueSet';
27
27
  export function resolveValueSets(variables, valueSetPromises, processedValueSetCodings, terminologyServerUrl) {
28
+ var _a, _b;
28
29
  return __awaiter(this, void 0, void 0, function* () {
29
30
  // Create a <valueSetUrl, XFhirQueryVariableName> map
30
31
  const valueSetToXFhirQueryVariableNameMap = createValueSetToXFhirQueryVariableNameMap(variables.xFhirQueryVariables);
@@ -38,13 +39,17 @@ export function resolveValueSets(variables, valueSetPromises, processedValueSetC
38
39
  // Resolve promises and store valueSet codings in preprocessedValueSetCodings AND XFhirQueryVariables
39
40
  const resolvedPromises = yield resolveValueSetPromises(valueSetPromises);
40
41
  for (const valueSetUrl in resolvedPromises) {
41
- const valueSet = resolvedPromises[valueSetUrl].valueSet;
42
+ const valueSet = (_a = resolvedPromises[valueSetUrl]) === null || _a === void 0 ? void 0 : _a.valueSet;
42
43
  if (valueSet) {
43
44
  if (valueSetToXFhirQueryVariableNameMap[valueSetUrl]) {
44
45
  // valueSetUrl is in x-fhir-query variables, save to variable
45
46
  const variableName = valueSetToXFhirQueryVariableNameMap[valueSetUrl];
46
- const variable = variables.xFhirQueryVariables[variableName];
47
- variables.xFhirQueryVariables[variableName] = Object.assign(Object.assign({}, variable), { result: resolvedPromises[valueSetUrl].valueSet });
47
+ if (variableName) {
48
+ const variable = variables.xFhirQueryVariables[variableName];
49
+ if (variable) {
50
+ variables.xFhirQueryVariables[variableName] = Object.assign(Object.assign({}, variable), { result: (_b = resolvedPromises[valueSetUrl]) === null || _b === void 0 ? void 0 : _b.valueSet });
51
+ }
52
+ }
48
53
  }
49
54
  else {
50
55
  // valueSetUrl is in x-fhir-query variables, save to preprocessedValueSetCodings
@@ -1 +1 @@
1
- {"version":3,"file":"resolveValueSets.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/resolveValueSets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAGH,OAAO,EACL,yCAAyC,EACzC,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAIrB,MAAM,UAAgB,gBAAgB,CACpC,SAAoB,EACpB,gBAAiD,EACjD,wBAAkD,EAClD,oBAA4B;;QAE5B,qDAAqD;QACrD,MAAM,mCAAmC,GACvC,yCAAyC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,KAAK,MAAM,WAAW,IAAI,mCAAmC,EAAE;gBAC7D,gBAAgB,CAAC,WAAW,CAAC,GAAG;oBAC9B,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,CAAC;iBAC/D,CAAC;aACH;SACF;QAED,qGAAqG;QACrG,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAEzE,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;YAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;YAExD,IAAI,QAAQ,EAAE;gBACZ,IAAI,mCAAmC,CAAC,WAAW,CAAC,EAAE;oBACpD,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;oBACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBAC7D,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,mCACtC,QAAQ,KACX,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,QAAQ,GAC/C,CAAC;iBACH;qBAAM;oBACL,gFAAgF;oBAChF,wBAAwB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;iBACtE;aACF;SACF;QAED,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACjD,CAAC;CAAA"}
1
+ {"version":3,"file":"resolveValueSets.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/resolveValueSets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAGH,OAAO,EACL,yCAAyC,EACzC,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAIrB,MAAM,UAAgB,gBAAgB,CACpC,SAAoB,EACpB,gBAAiD,EACjD,wBAAkD,EAClD,oBAA4B;;;QAE5B,qDAAqD;QACrD,MAAM,mCAAmC,GACvC,yCAAyC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,KAAK,MAAM,WAAW,IAAI,mCAAmC,EAAE;gBAC7D,gBAAgB,CAAC,WAAW,CAAC,GAAG;oBAC9B,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,CAAC;iBAC/D,CAAC;aACH;SACF;QAED,qGAAqG;QACrG,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAEzE,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE;YAC1C,MAAM,QAAQ,GAAG,MAAA,gBAAgB,CAAC,WAAW,CAAC,0CAAE,QAAQ,CAAC;YAEzD,IAAI,QAAQ,EAAE;gBACZ,IAAI,mCAAmC,CAAC,WAAW,CAAC,EAAE;oBACpD,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;oBACtE,IAAI,YAAY,EAAE;wBAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;wBAC7D,IAAI,QAAQ,EAAE;4BACZ,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,mCACtC,QAAQ,KACX,MAAM,EAAE,MAAA,gBAAgB,CAAC,WAAW,CAAC,0CAAE,QAAQ,GAChD,CAAC;yBACH;qBACF;iBACF;qBAAM;oBACL,gFAAgF;oBAChF,wBAAwB,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;iBACtE;aACF;SACF;QAED,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;;CAChD"}
@@ -15,6 +15,8 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import { isHiddenByEnableWhen } from './qItem';
18
+ import cloneDeep from 'lodash.clonedeep';
19
+ import { qrItemHasItemsOrAnswer } from './manageForm';
18
20
  /**
19
21
  * Recursively go through the questionnaireResponse and remove qrItems whose qItems are empty in the form
20
22
  *
@@ -28,25 +30,39 @@ export function removeEmptyAnswers(params) {
28
30
  topLevelQItems.length === 0 ||
29
31
  !topLevelQRItems ||
30
32
  topLevelQRItems.length === 0) {
31
- return questionnaireResponse;
33
+ const updatedQuestionnaireResponse = cloneDeep(questionnaireResponse);
34
+ delete updatedQuestionnaireResponse.item;
35
+ return updatedQuestionnaireResponse;
32
36
  }
33
- topLevelQRItems.forEach((qrItem, i) => {
37
+ const newQuestionnaireResponse = Object.assign(Object.assign({}, questionnaireResponse), { item: [] });
38
+ for (const [i, topLevelQRItem] of topLevelQRItems.entries()) {
34
39
  const qItem = topLevelQItems[i];
40
+ if (!qItem) {
41
+ continue;
42
+ }
43
+ // If QR item don't have either item.item and item.answer, continue
44
+ if (!qrItemHasItemsOrAnswer(topLevelQRItem)) {
45
+ continue;
46
+ }
35
47
  const newTopLevelQRItem = removeEmptyAnswersFromItemRecursive({
36
48
  qItem,
37
- qrItem,
49
+ qrItem: topLevelQRItem,
38
50
  enableWhenIsActivated,
39
51
  enableWhenItems,
40
52
  enableWhenExpressions
41
53
  });
42
- if (newTopLevelQRItem && questionnaireResponse.item) {
43
- questionnaireResponse.item[i] = Object.assign({}, newTopLevelQRItem);
54
+ if (newTopLevelQRItem && newQuestionnaireResponse.item) {
55
+ newQuestionnaireResponse.item.push(newTopLevelQRItem);
44
56
  }
45
- });
46
- return questionnaireResponse;
57
+ }
58
+ return newQuestionnaireResponse;
47
59
  }
48
60
  function removeEmptyAnswersFromItemRecursive(params) {
49
61
  const { qItem, qrItem, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
62
+ // If QR item don't have either item.item and item.answer, return null
63
+ if (!qrItemHasItemsOrAnswer(qrItem)) {
64
+ return null;
65
+ }
50
66
  const qItems = qItem.item;
51
67
  const qrItems = qrItem.item;
52
68
  // Process group items
@@ -1 +1 @@
1
- {"version":3,"file":"removeEmptyAnswers.js","sourceRoot":"","sources":["../../src/utils/removeEmptyAnswers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"removeEmptyAnswers.js","sourceRoot":"","sources":["../../src/utils/removeEmptyAnswers.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
2
1
  import type { ItemToRepopulate } from './repopulateItems';
3
2
  /**
4
3
  * Re-populate checked items in the re-population dialog into the current QuestionnaireResponse
5
4
  *
6
5
  * @author Sean Fong
7
6
  */
8
- export declare function repopulateResponse(checkedItemsToRepopulate: Record<string, ItemToRepopulate>): QuestionnaireResponse;
9
- export declare function repopulateItemsIntoResponse(questionnaire: Questionnaire, updatableResponse: QuestionnaireResponse, checkedItemsToRepopulate: Record<string, ItemToRepopulate>): QuestionnaireResponse;
7
+ export declare function repopulateResponse(checkedItemsToRepopulate: Record<string, ItemToRepopulate>): import("fhir/r4").QuestionnaireResponse;
@@ -1,6 +1,7 @@
1
1
  import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
2
2
  import { isSpecificItemControl } from './itemControl';
3
3
  import { questionnaireResponseStore, questionnaireStore } from '../stores';
4
+ import { updateQuestionnaireResponse } from './updateQr';
4
5
  /**
5
6
  * Re-populate checked items in the re-population dialog into the current QuestionnaireResponse
6
7
  *
@@ -9,37 +10,7 @@ import { questionnaireResponseStore, questionnaireStore } from '../stores';
9
10
  export function repopulateResponse(checkedItemsToRepopulate) {
10
11
  const sourceQuestionnaire = questionnaireStore.getState().sourceQuestionnaire;
11
12
  const updatableResponse = questionnaireResponseStore.getState().updatableResponse;
12
- return repopulateItemsIntoResponse(sourceQuestionnaire, updatableResponse, checkedItemsToRepopulate);
13
- }
14
- export function repopulateItemsIntoResponse(questionnaire, updatableResponse, checkedItemsToRepopulate) {
15
- var _a;
16
- if (!questionnaire.item ||
17
- questionnaire.item.length === 0 ||
18
- !updatableResponse.item ||
19
- updatableResponse.item.length === 0) {
20
- return updatableResponse;
21
- }
22
- const qItemsIndexMap = mapQItemsIndex(questionnaire);
23
- const topLevelQRItemsByIndex = getQrItemsIndex(questionnaire.item, updatableResponse.item, qItemsIndexMap);
24
- const topLevelQrItems = [];
25
- for (const [index, topLevelQItem] of questionnaire.item.entries()) {
26
- const topLevelQRItemOrItems = (_a = topLevelQRItemsByIndex[index]) !== null && _a !== void 0 ? _a : {
27
- linkId: topLevelQItem.linkId,
28
- text: topLevelQItem.text,
29
- item: []
30
- };
31
- const updatedTopLevelQRItem = repopulateItemRecursive(topLevelQItem, topLevelQRItemOrItems, checkedItemsToRepopulate);
32
- if (Array.isArray(updatedTopLevelQRItem)) {
33
- if (updatedTopLevelQRItem.length > 0) {
34
- topLevelQrItems.push(...updatedTopLevelQRItem);
35
- }
36
- continue;
37
- }
38
- if (updatedTopLevelQRItem) {
39
- topLevelQrItems.push(updatedTopLevelQRItem);
40
- }
41
- }
42
- return Object.assign(Object.assign({}, updatableResponse), { item: topLevelQrItems });
13
+ return updateQuestionnaireResponse(sourceQuestionnaire, updatableResponse, repopulateItemRecursive, checkedItemsToRepopulate);
43
14
  }
44
15
  function repopulateItemRecursive(qItem, qrItemOrItems, checkedItemsToRepopulate) {
45
16
  var _a;
@@ -104,6 +75,9 @@ function constructGroupItem(qItem, qrItemOrItems, childQrItems, checkedItemsToRe
104
75
  }
105
76
  return null;
106
77
  }
78
+ if (!itemToRepopulate.newQRItem) {
79
+ return null;
80
+ }
107
81
  return {
108
82
  linkId: qItem.linkId,
109
83
  text: qItem.text,
@@ -115,9 +89,12 @@ function constructSingleItem(qItem, qrItem, checkedItemsToRepopulate) {
115
89
  if (!itemToRepopulate) {
116
90
  return qrItem !== null && qrItem !== void 0 ? qrItem : null;
117
91
  }
118
- if (qrItem) {
92
+ if (qrItem && itemToRepopulate.newQRItem) {
119
93
  return Object.assign(Object.assign({}, qrItem), { answer: itemToRepopulate.newQRItem.answer });
120
94
  }
95
+ if (!itemToRepopulate.newQRItem) {
96
+ return null;
97
+ }
121
98
  return {
122
99
  linkId: qItem.linkId,
123
100
  text: qItem.text,
@@ -126,7 +103,7 @@ function constructSingleItem(qItem, qrItem, checkedItemsToRepopulate) {
126
103
  }
127
104
  function constructGridGroup(qItem, qrItem, checkedItemsToRepopulate) {
128
105
  const itemToRepopulate = checkedItemsToRepopulate[qItem.linkId];
129
- if (!itemToRepopulate) {
106
+ if (!itemToRepopulate || !itemToRepopulate.newQRItem) {
130
107
  return qrItem;
131
108
  }
132
109
  const qrItemsToRepopulate = itemToRepopulate.newQRItem.item;
@@ -156,7 +133,7 @@ function constructGridGroup(qItem, qrItem, checkedItemsToRepopulate) {
156
133
  }
157
134
  function constructRepeatGroup(qItem, qrItems, checkedItemsToRepopulate) {
158
135
  const itemToRepopulate = checkedItemsToRepopulate[qItem.linkId];
159
- if (!itemToRepopulate) {
136
+ if (!itemToRepopulate || !itemToRepopulate.newQRItems) {
160
137
  return qrItems;
161
138
  }
162
139
  return itemToRepopulate.newQRItems;
@@ -1 +1 @@
1
- {"version":3,"file":"repopulateIntoResponse.js","sourceRoot":"","sources":["../../src/utils/repopulateIntoResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repopulateIntoResponse.js","sourceRoot":"","sources":["../../src/utils/repopulateIntoResponse.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,9 @@ import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enabl
16
16
  export interface ItemToRepopulate {
17
17
  qItem: QuestionnaireItem | null;
18
18
  heading: string | null;
19
- newQRItem: QuestionnaireResponseItem;
19
+ newQRItem?: QuestionnaireResponseItem;
20
20
  oldQRItem?: QuestionnaireResponseItem;
21
- newQRItems: QuestionnaireResponseItem[];
21
+ newQRItems?: QuestionnaireResponseItem[];
22
22
  oldQRItems?: QuestionnaireResponseItem[];
23
23
  }
24
24
  interface getItemsToRepopulateParams {
@@ -15,11 +15,16 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import _isEqual from 'lodash/isEqual';
18
+ import _intersection from 'lodash/intersection';
19
+ import _difference from 'lodash/difference';
18
20
  import { containsTabs, isTabContainer } from './tabs';
19
21
  import { getShortText, isSpecificItemControl } from './itemControl';
20
22
  import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
21
23
  import { isHiddenByEnableWhen } from './qItem';
22
24
  import { questionnaireResponseStore, questionnaireStore } from '../stores';
25
+ import cloneDeep from 'lodash.clonedeep';
26
+ import { createQuestionnaireResponseItemMap } from './questionnaireResponseStoreUtils/updatableResponseItems';
27
+ import { getQuestionnaireItem, getSectionHeading } from './misc';
23
28
  /**
24
29
  * Compare latest data from the server with the current QuestionnaireResponse and decide items to re-populate
25
30
  *
@@ -29,10 +34,13 @@ export function generateItemsToRepopulate(populatedResponse) {
29
34
  const sourceQuestionnaire = questionnaireStore.getState().sourceQuestionnaire;
30
35
  const tabs = questionnaireStore.getState().tabs;
31
36
  const updatableResponse = questionnaireResponseStore.getState().updatableResponse;
37
+ const updatableResponseItems = questionnaireResponseStore.getState().updatableResponseItems;
32
38
  const enableWhenIsActivated = questionnaireStore.getState().enableWhenIsActivated;
33
39
  const enableWhenItems = questionnaireStore.getState().enableWhenItems;
34
40
  const enableWhenExpressions = questionnaireStore.getState().enableWhenExpressions;
35
- return getItemsToRepopulate({
41
+ const initialExpressions = questionnaireStore.getState().initialExpressions;
42
+ // This function is able to capture additions, however it is not able to capture deletions
43
+ const itemsToRepopulate = getItemsToRepopulate({
36
44
  sourceQuestionnaire,
37
45
  tabs,
38
46
  populatedResponse,
@@ -41,6 +49,21 @@ export function generateItemsToRepopulate(populatedResponse) {
41
49
  enableWhenItems,
42
50
  enableWhenExpressions
43
51
  });
52
+ // Get linkIds that are different between current QRItems and populated QRItems
53
+ // Doesn't work with repeat groups, but at the same time I'm not sure if it's needed, given you can't delete completely the first repeat group
54
+ const populatedResponseItemMap = createQuestionnaireResponseItemMap(populatedResponse);
55
+ const diffLinkIds = _difference(Object.keys(updatableResponseItems), Object.keys(populatedResponseItemMap));
56
+ const diffLinkIdsWithInitialExpressions = _intersection(Object.keys(initialExpressions), diffLinkIds);
57
+ for (const linkId of diffLinkIdsWithInitialExpressions) {
58
+ if (linkId in updatableResponseItems) {
59
+ itemsToRepopulate[linkId] = {
60
+ qItem: getQuestionnaireItem(sourceQuestionnaire, linkId),
61
+ heading: getSectionHeading(sourceQuestionnaire, linkId, tabs),
62
+ oldQRItem: updatableResponseItems[linkId][0]
63
+ };
64
+ }
65
+ }
66
+ return itemsToRepopulate;
44
67
  }
45
68
  export function getItemsToRepopulate(params) {
46
69
  var _a;
@@ -168,6 +191,14 @@ function getItemsToRepopulateRecursive(params) {
168
191
  getSingleItemToRepopulate(qItem, qrItemOrItems, heading, itemsToRepopulate);
169
192
  }
170
193
  function getSingleItemToRepopulate(qItem, qrItem, heading, itemsToRepopulate) {
194
+ if (qItem.linkId === 'encounter-reason') {
195
+ console.log(cloneDeep({
196
+ qItem: qItem,
197
+ heading: heading,
198
+ newQRItem: qrItem,
199
+ newQRItems: []
200
+ }));
201
+ }
171
202
  itemsToRepopulate[qItem.linkId] = {
172
203
  qItem: qItem,
173
204
  heading: heading,