@aehrc/smart-forms-renderer 1.0.0-alpha.12 → 1.0.0-alpha.13

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.
@@ -23,4 +23,5 @@ export interface QuestionnaireModel {
23
23
  processedValueSetCodings: Record<string, Coding[]>;
24
24
  processedValueSetUrls: Record<string, string>;
25
25
  fhirPathContext: Record<string, any>;
26
+ fhirPathTerminologyCache: Record<string, any>;
26
27
  }
@@ -33,6 +33,7 @@ import type { ComponentType } from 'react';
33
33
  * @property processedValueSetUrls - Key-value pair of contained value set urls `Record<valueSetName, valueSetUrl>`
34
34
  * @property cachedValueSetCodings - Key-value pair of cached value set codings `Record<valueSetUrl, codings>`
35
35
  * @property fhirPathContext - Key-value pair of evaluated FHIRPath values `Record<variable name, evaluated value(s)>`
36
+ * @property fhirPathTerminologyCache - Key-value pair of cached FHIRPath Terminology results `Record<cacheKey, cached terminology result>`
36
37
  * @property populatedContext - Key-value pair of one-off pre-populated FHIRPath values `Record<variable/launchContext/sourceQueries batch name, evaluated value(s)>`
37
38
  * @property qItemOverrideComponents - Key-value pair of React component overrides for Questionnaire Items via linkId `Record<linkId, React component>`
38
39
  * @property sdcUiOverrideComponents - Key-value pair of React component overrides for SDC UI Controls https://hl7.org/fhir/extensions/ValueSet-questionnaire-item-control.html `Record<SDC UI code, React component>`
@@ -77,6 +78,7 @@ export interface QuestionnaireStoreType {
77
78
  processedValueSetUrls: Record<string, string>;
78
79
  cachedValueSetCodings: Record<string, Coding[]>;
79
80
  fhirPathContext: Record<string, any>;
81
+ fhirPathTerminologyCache: Record<string, any>;
80
82
  populatedContext: Record<string, any>;
81
83
  qItemOverrideComponents: Record<string, ComponentType<QItemOverrideComponentProps>>;
82
84
  sdcUiOverrideComponents: Record<string, ComponentType<SdcUiOverrideComponentProps>>;
@@ -136,6 +138,7 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
136
138
  processedValueSetUrls: () => Record<string, string>;
137
139
  cachedValueSetCodings: () => Record<string, Coding[]>;
138
140
  fhirPathContext: () => Record<string, any>;
141
+ fhirPathTerminologyCache: () => Record<string, any>;
139
142
  populatedContext: () => Record<string, any>;
140
143
  qItemOverrideComponents: () => Record<string, ComponentType<QItemOverrideComponentProps>>;
141
144
  sdcUiOverrideComponents: () => Record<string, ComponentType<SdcUiOverrideComponentProps>>;
@@ -64,21 +64,23 @@ export const questionnaireStore = createStore()((set, get) => ({
64
64
  processedValueSetUrls: {},
65
65
  cachedValueSetCodings: {},
66
66
  fhirPathContext: {},
67
+ fhirPathTerminologyCache: {},
67
68
  populatedContext: {},
68
69
  qItemOverrideComponents: {},
69
70
  sdcUiOverrideComponents: {},
70
71
  focusedLinkId: '',
71
72
  readOnly: false,
72
73
  buildSourceQuestionnaire: (questionnaire, questionnaireResponse = structuredClone(emptyResponse), additionalVariables = {}, terminologyServerUrl = terminologyServerStore.getState().url, readOnly = false, qItemOverrideComponents = {}, sdcUiOverrideComponents = {}) => __awaiter(void 0, void 0, void 0, function* () {
73
- var _a;
74
+ var _a, _b;
74
75
  const questionnaireModel = yield createQuestionnaireModel(questionnaire, additionalVariables, terminologyServerUrl);
75
76
  // Insert answerOptions with displays into questionnaire
76
77
  questionnaire = insertCompleteAnswerOptionsIntoQuestionnaire(questionnaire, questionnaireModel.answerOptions);
77
78
  // If existing fhirPathContext is empty, use the one from the questionnaire model
78
79
  // Mostly existing fhirPathContext will be empty, but in some cases it may not be e.g. after pre-population
79
80
  const fhirPathContext = (_a = get().fhirPathContext) !== null && _a !== void 0 ? _a : questionnaireModel.fhirPathContext;
81
+ const fhirPathTerminologyCache = (_b = get().fhirPathTerminologyCache) !== null && _b !== void 0 ? _b : questionnaireModel.fhirPathTerminologyCache;
80
82
  // Initialise form with questionnaire response and properties in questionnaire model
81
- const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext } = yield initialiseFormFromResponse({
83
+ const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext, fhirPathTerminologyCache: updatedFhirPathTerminologyCache } = yield initialiseFormFromResponse({
82
84
  questionnaireResponse,
83
85
  enableWhenItems: questionnaireModel.enableWhenItems,
84
86
  enableWhenExpressions: questionnaireModel.enableWhenExpressions,
@@ -87,6 +89,7 @@ export const questionnaireStore = createStore()((set, get) => ({
87
89
  tabs: questionnaireModel.tabs,
88
90
  pages: questionnaireModel.pages,
89
91
  fhirPathContext: fhirPathContext,
92
+ fhirPathTerminologyCache: fhirPathTerminologyCache,
90
93
  terminologyServerUrl: terminologyServerUrl
91
94
  });
92
95
  set({
@@ -108,6 +111,7 @@ export const questionnaireStore = createStore()((set, get) => ({
108
111
  processedValueSetCodings: questionnaireModel.processedValueSetCodings,
109
112
  processedValueSetUrls: questionnaireModel.processedValueSetUrls,
110
113
  fhirPathContext: updatedFhirPathContext,
114
+ fhirPathTerminologyCache: updatedFhirPathTerminologyCache,
111
115
  qItemOverrideComponents: qItemOverrideComponents,
112
116
  sdcUiOverrideComponents: sdcUiOverrideComponents,
113
117
  readOnly: readOnly
@@ -132,6 +136,7 @@ export const questionnaireStore = createStore()((set, get) => ({
132
136
  processedValueSetCodings: {},
133
137
  processedValueSetUrls: {},
134
138
  fhirPathContext: {},
139
+ fhirPathTerminologyCache: {},
135
140
  qItemOverrideComponents: {},
136
141
  sdcUiOverrideComponents: {}
137
142
  }),
@@ -170,6 +175,7 @@ export const questionnaireStore = createStore()((set, get) => ({
170
175
  questionnaireResponseItemMap: questionnaireResponseStore.getState().updatableResponseItems,
171
176
  variablesFhirPath: get().variables.fhirPathVariables,
172
177
  existingFhirPathContext: get().fhirPathContext,
178
+ fhirPathTerminologyCache: get().fhirPathTerminologyCache,
173
179
  enableWhenExpressions: enableWhenExpressions,
174
180
  parentRepeatGroupLinkId,
175
181
  parentRepeatGroupIndex,
@@ -186,25 +192,28 @@ export const questionnaireStore = createStore()((set, get) => ({
186
192
  toggleEnableWhenActivation: (isActivated) => set(() => ({ enableWhenIsActivated: isActivated })),
187
193
  updateExpressions: (updatedResponse) => __awaiter(void 0, void 0, void 0, function* () {
188
194
  const updatedResponseItemMap = createQuestionnaireResponseItemMap(updatedResponse);
189
- const { isUpdated, updatedEnableWhenExpressions, updatedCalculatedExpressions, updatedFhirPathContext } = yield evaluateUpdatedExpressions({
195
+ const { isUpdated, updatedEnableWhenExpressions, updatedCalculatedExpressions, updatedFhirPathContext, fhirPathTerminologyCache } = yield evaluateUpdatedExpressions({
190
196
  updatedResponse,
191
197
  updatedResponseItemMap,
192
198
  enableWhenExpressions: get().enableWhenExpressions,
193
199
  calculatedExpressions: get().calculatedExpressions,
194
200
  variablesFhirPath: get().variables.fhirPathVariables,
195
201
  existingFhirPathContext: get().fhirPathContext,
202
+ fhirPathTerminologyCache: get().fhirPathTerminologyCache,
196
203
  terminologyServerUrl: terminologyServerStore.getState().url
197
204
  });
198
205
  if (isUpdated) {
199
206
  set(() => ({
200
207
  enableWhenExpressions: updatedEnableWhenExpressions,
201
208
  calculatedExpressions: updatedCalculatedExpressions,
202
- fhirPathContext: updatedFhirPathContext
209
+ fhirPathContext: updatedFhirPathContext,
210
+ fhirPathTerminologyCache: fhirPathTerminologyCache
203
211
  }));
204
212
  return;
205
213
  }
206
214
  set(() => ({
207
- fhirPathContext: updatedFhirPathContext
215
+ fhirPathContext: updatedFhirPathContext,
216
+ fhirPathTerminologyCache: fhirPathTerminologyCache
208
217
  }));
209
218
  }),
210
219
  addCodingToCache: (valueSetUrl, codings) => set(() => ({
@@ -218,10 +227,12 @@ export const questionnaireStore = createStore()((set, get) => ({
218
227
  calculatedExpressions: get().calculatedExpressions,
219
228
  variablesFhirPath: get().variables.fhirPathVariables,
220
229
  existingFhirPathContext: get().fhirPathContext,
230
+ fhirPathTerminologyCache: get().fhirPathTerminologyCache,
221
231
  terminologyServerUrl: terminologyServerStore.getState().url
222
232
  });
223
233
  const { initialCalculatedExpressions } = evaluateInitialCalculatedExpressionsResult;
224
234
  let updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
235
+ let fhirPathTerminologyCache = evaluateInitialCalculatedExpressionsResult.fhirPathTerminologyCache;
225
236
  const updatedResponse = initialiseCalculatedExpressionValues(get().sourceQuestionnaire, populatedResponse, initialCalculatedExpressions);
226
237
  const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab, firstVisiblePage } = yield initialiseFormFromResponse({
227
238
  questionnaireResponse: updatedResponse,
@@ -232,9 +243,11 @@ export const questionnaireStore = createStore()((set, get) => ({
232
243
  tabs: get().tabs,
233
244
  pages: get().pages,
234
245
  fhirPathContext: updatedFhirPathContext,
246
+ fhirPathTerminologyCache: fhirPathTerminologyCache,
235
247
  terminologyServerUrl: terminologyServerStore.getState().url
236
248
  });
237
249
  updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
250
+ fhirPathTerminologyCache = evaluateInitialCalculatedExpressionsResult.fhirPathTerminologyCache;
238
251
  set(() => ({
239
252
  enableWhenItems: initialEnableWhenItems,
240
253
  enableWhenLinkedQuestions: initialEnableWhenLinkedQuestions,
@@ -243,6 +256,7 @@ export const questionnaireStore = createStore()((set, get) => ({
243
256
  currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab,
244
257
  currentPageIndex: persistPageIndex ? get().currentPageIndex : firstVisiblePage,
245
258
  fhirPathContext: updatedFhirPathContext,
259
+ fhirPathTerminologyCache: fhirPathTerminologyCache,
246
260
  populatedContext: populatedContext !== null && populatedContext !== void 0 ? populatedContext : get().populatedContext
247
261
  }));
248
262
  return updatedResponse;
@@ -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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"}
@@ -6,13 +6,15 @@ interface EvaluateInitialCalculatedExpressionsParams {
6
6
  calculatedExpressions: Record<string, CalculatedExpression[]>;
7
7
  variablesFhirPath: Record<string, Expression[]>;
8
8
  existingFhirPathContext: Record<string, any>;
9
+ fhirPathTerminologyCache: Record<string, any>;
9
10
  terminologyServerUrl: string;
10
11
  }
11
12
  export declare function evaluateInitialCalculatedExpressions(params: EvaluateInitialCalculatedExpressionsParams): Promise<{
12
13
  initialCalculatedExpressions: Record<string, CalculatedExpression[]>;
13
14
  updatedFhirPathContext: Record<string, any>;
15
+ fhirPathTerminologyCache: Record<string, any>;
14
16
  }>;
15
- export declare function evaluateCalculatedExpressions(fhirPathContext: Record<string, any>, calculatedExpressions: Record<string, CalculatedExpression[]>, terminologyServerUrl: string): Promise<{
17
+ export declare function evaluateCalculatedExpressions(fhirPathContext: Record<string, any>, fhirPathTerminologyCache: Record<string, any>, calculatedExpressions: Record<string, CalculatedExpression[]>, terminologyServerUrl: string): Promise<{
16
18
  calculatedExpsIsUpdated: boolean;
17
19
  updatedCalculatedExpressions: Record<string, CalculatedExpression[]>;
18
20
  }>;
@@ -35,25 +35,37 @@ import isEqual from 'lodash.isequal';
35
35
  export function evaluateInitialCalculatedExpressions(params) {
36
36
  return __awaiter(this, void 0, void 0, function* () {
37
37
  const { initialResponse, initialResponseItemMap, calculatedExpressions, variablesFhirPath, existingFhirPathContext, terminologyServerUrl } = params;
38
+ let { fhirPathTerminologyCache } = params;
38
39
  // Return early if initialResponse is empty or there are no calculated expressions to evaluate
39
40
  if (isEqual(initialResponse, structuredClone(emptyResponse)) ||
40
41
  Object.keys(calculatedExpressions).length === 0) {
41
42
  return {
42
43
  initialCalculatedExpressions: calculatedExpressions,
43
- updatedFhirPathContext: existingFhirPathContext
44
+ updatedFhirPathContext: existingFhirPathContext,
45
+ fhirPathTerminologyCache
44
46
  };
45
47
  }
46
48
  const initialCalculatedExpressions = Object.assign({}, calculatedExpressions);
47
- const updatedFhirPathContext = yield createFhirPathContext(initialResponse, initialResponseItemMap, variablesFhirPath, existingFhirPathContext, terminologyServerUrl);
49
+ const fhirPathEvalResult = yield createFhirPathContext(initialResponse, initialResponseItemMap, variablesFhirPath, existingFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
50
+ const updatedFhirPathContext = fhirPathEvalResult.fhirPathContext;
51
+ fhirPathTerminologyCache = fhirPathEvalResult.fhirPathTerminologyCache;
48
52
  for (const linkId in initialCalculatedExpressions) {
49
53
  const itemCalcExpressions = calculatedExpressions[linkId];
50
54
  for (const calcExpression of itemCalcExpressions) {
55
+ const cacheKey = JSON.stringify(calcExpression.expression); // Use expression as cache key
56
+ if (fhirPathTerminologyCache[cacheKey]) {
57
+ continue;
58
+ }
51
59
  try {
52
60
  const fhirPathResult = fhirpath.evaluate({}, calcExpression.expression, updatedFhirPathContext, fhirpath_r4_model, {
53
61
  async: true,
54
62
  terminologyUrl: terminologyServerUrl
55
63
  });
56
64
  const result = yield handleFhirPathResult(fhirPathResult);
65
+ // If fhirPathResult is an async terminology call, cache the result
66
+ if (fhirPathResult instanceof Promise) {
67
+ fhirPathTerminologyCache[cacheKey] = result;
68
+ }
57
69
  // Only update calculatedExpressions if length of result array > 0
58
70
  if (result.length > 0 && !isEqual(calcExpression.value, result[0])) {
59
71
  calcExpression.value = result[0];
@@ -67,23 +79,32 @@ export function evaluateInitialCalculatedExpressions(params) {
67
79
  }
68
80
  return {
69
81
  initialCalculatedExpressions,
70
- updatedFhirPathContext
82
+ updatedFhirPathContext,
83
+ fhirPathTerminologyCache
71
84
  };
72
85
  });
73
86
  }
74
- export function evaluateCalculatedExpressions(fhirPathContext, calculatedExpressions, terminologyServerUrl) {
87
+ export function evaluateCalculatedExpressions(fhirPathContext, fhirPathTerminologyCache, calculatedExpressions, terminologyServerUrl) {
75
88
  return __awaiter(this, void 0, void 0, function* () {
76
89
  const updatedCalculatedExpressions = Object.assign({}, calculatedExpressions);
77
90
  let isUpdated = false;
78
91
  for (const linkId in calculatedExpressions) {
79
92
  const itemCalcExpressions = calculatedExpressions[linkId];
80
93
  for (const calcExpression of itemCalcExpressions) {
94
+ const cacheKey = JSON.stringify(calcExpression.expression); // Use expression as cache key
95
+ if (fhirPathTerminologyCache[cacheKey]) {
96
+ continue;
97
+ }
81
98
  try {
82
99
  const fhirPathResult = fhirpath.evaluate({}, calcExpression.expression, fhirPathContext, fhirpath_r4_model, {
83
100
  async: true,
84
101
  terminologyUrl: terminologyServerUrl
85
102
  });
86
103
  const result = yield handleFhirPathResult(fhirPathResult);
104
+ // If fhirPathResult is an async terminology call, cache the result
105
+ if (fhirPathResult instanceof Promise) {
106
+ fhirPathTerminologyCache[cacheKey] = result;
107
+ }
87
108
  // Update calculatedExpressions if length of result array > 0
88
109
  // Only update when current calcExpression value is different from the result, otherwise it will result in an infinite loop as per issue #733
89
110
  if (result.length > 0 && !isEqual(calcExpression.value, result[0])) {
@@ -1 +1 @@
1
- {"version":3,"file":"calculatedExpression.js","sourceRoot":"","sources":["../../src/utils/calculatedExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculatedExpression.js","sourceRoot":"","sources":["../../src/utils/calculatedExpression.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,19 @@ interface EvaluateInitialEnableWhenExpressionsParams {
6
6
  enableWhenExpressions: EnableWhenExpressions;
7
7
  variablesFhirPath: Record<string, Expression[]>;
8
8
  existingFhirPathContext: Record<string, any>;
9
+ fhirPathTerminologyCache: Record<string, any>;
9
10
  terminologyServerUrl: string;
10
11
  }
11
12
  export declare function evaluateInitialEnableWhenExpressions(params: EvaluateInitialEnableWhenExpressionsParams): Promise<{
12
13
  initialEnableWhenExpressions: EnableWhenExpressions;
13
14
  updatedFhirPathContext: Record<string, any>;
15
+ fhirPathTerminologyCache: Record<string, any>;
14
16
  }>;
15
17
  export declare function evaluateEnableWhenRepeatExpressionInstance(linkId: string, fhirPathContext: Record<string, any>, enableWhenRepeatExpression: EnableWhenRepeatExpression, lastLinkIdIndex: number, instanceIndex: number, terminologyServerUrl: string): Promise<{
16
18
  isEnabled: boolean | null;
17
19
  isUpdated: boolean;
18
20
  }>;
19
- export declare function evaluateEnableWhenExpressions(fhirPathContext: Record<string, any>, enableWhenExpressions: EnableWhenExpressions, terminologyServerUrl: string): Promise<{
21
+ export declare function evaluateEnableWhenExpressions(fhirPathContext: Record<string, any>, fhirPathTerminologyCache: Record<string, any>, enableWhenExpressions: EnableWhenExpressions, terminologyServerUrl: string): Promise<{
20
22
  enableWhenExpsIsUpdated: boolean;
21
23
  updatedEnableWhenExpressions: EnableWhenExpressions;
22
24
  }>;
@@ -25,6 +27,7 @@ interface MutateRepeatEnableWhenExpressionInstancesParams {
25
27
  questionnaireResponseItemMap: Record<string, QuestionnaireResponseItem[]>;
26
28
  variablesFhirPath: Record<string, Expression[]>;
27
29
  existingFhirPathContext: Record<string, any>;
30
+ fhirPathTerminologyCache: Record<string, any>;
28
31
  enableWhenExpressions: EnableWhenExpressions;
29
32
  parentRepeatGroupLinkId: string;
30
33
  parentRepeatGroupIndex: number;
@@ -29,31 +29,43 @@ import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
29
29
  export function evaluateInitialEnableWhenExpressions(params) {
30
30
  return __awaiter(this, void 0, void 0, function* () {
31
31
  const { initialResponse, initialResponseItemMap, enableWhenExpressions, variablesFhirPath, existingFhirPathContext, terminologyServerUrl } = params;
32
+ let { fhirPathTerminologyCache } = params;
32
33
  const initialEnableWhenExpressions = Object.assign({}, enableWhenExpressions);
33
- const updatedFhirPathContext = yield createFhirPathContext(initialResponse, initialResponseItemMap, variablesFhirPath, existingFhirPathContext, terminologyServerUrl);
34
- const initialEnableWhenSingleExpressions = yield evaluateEnableWhenSingleExpressions(initialEnableWhenExpressions.singleExpressions, updatedFhirPathContext, terminologyServerUrl);
34
+ const fhirPathEvalResult = yield createFhirPathContext(initialResponse, initialResponseItemMap, variablesFhirPath, existingFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
35
+ const updatedFhirPathContext = fhirPathEvalResult.fhirPathContext;
36
+ fhirPathTerminologyCache = fhirPathEvalResult.fhirPathTerminologyCache;
37
+ const initialEnableWhenSingleExpressions = yield evaluateEnableWhenSingleExpressions(initialEnableWhenExpressions.singleExpressions, updatedFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
35
38
  const initialEnableWhenRepeatExpressions = yield evaluateEnableWhenRepeatExpressions(initialEnableWhenExpressions.repeatExpressions, updatedFhirPathContext, terminologyServerUrl);
36
39
  return {
37
40
  initialEnableWhenExpressions: {
38
41
  singleExpressions: initialEnableWhenSingleExpressions.updatedExpressions,
39
42
  repeatExpressions: initialEnableWhenRepeatExpressions.updatedExpressions
40
43
  },
41
- updatedFhirPathContext
44
+ updatedFhirPathContext,
45
+ fhirPathTerminologyCache
42
46
  };
43
47
  });
44
48
  }
45
- function evaluateEnableWhenSingleExpressions(enableWhenSingleExpressions, updatedFhirPathContext, terminologyServerUrl) {
49
+ function evaluateEnableWhenSingleExpressions(enableWhenSingleExpressions, updatedFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl) {
46
50
  return __awaiter(this, void 0, void 0, function* () {
47
51
  let isUpdated = false;
48
52
  for (const linkId in enableWhenSingleExpressions) {
49
53
  const initialValue = enableWhenSingleExpressions[linkId].isEnabled;
50
54
  const expression = enableWhenSingleExpressions[linkId].expression;
55
+ const cacheKey = JSON.stringify(expression); // Use expression as cache key
56
+ if (fhirPathTerminologyCache[cacheKey]) {
57
+ continue;
58
+ }
51
59
  try {
52
60
  const fhirPathResult = fhirpath.evaluate({}, expression, updatedFhirPathContext, fhirpath_r4_model, {
53
61
  async: true,
54
62
  terminologyUrl: terminologyServerUrl
55
63
  });
56
64
  const result = yield handleFhirPathResult(fhirPathResult);
65
+ // If fhirPathResult is an async terminology call, cache the result
66
+ if (fhirPathResult instanceof Promise) {
67
+ fhirPathTerminologyCache[cacheKey] = result;
68
+ }
57
69
  // Update enableWhenExpressions if length of result array > 0
58
70
  // Only update when current isEnabled value is different from the result, otherwise it will result in an infinite loop as per issue #733
59
71
  if (result.length > 0 && initialValue !== result[0] && typeof result[0] === 'boolean') {
@@ -154,10 +166,10 @@ export function evaluateEnableWhenRepeatExpressionInstance(linkId, fhirPathConte
154
166
  return { isEnabled, isUpdated };
155
167
  });
156
168
  }
157
- export function evaluateEnableWhenExpressions(fhirPathContext, enableWhenExpressions, terminologyServerUrl) {
169
+ export function evaluateEnableWhenExpressions(fhirPathContext, fhirPathTerminologyCache, enableWhenExpressions, terminologyServerUrl) {
158
170
  return __awaiter(this, void 0, void 0, function* () {
159
171
  const updatedEnableWhenExpressions = Object.assign({}, enableWhenExpressions);
160
- const updatedEnableWhenSingleExpressions = yield evaluateEnableWhenSingleExpressions(updatedEnableWhenExpressions.singleExpressions, fhirPathContext, terminologyServerUrl);
172
+ const updatedEnableWhenSingleExpressions = yield evaluateEnableWhenSingleExpressions(updatedEnableWhenExpressions.singleExpressions, fhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
161
173
  const updatedEnableWhenRepeatExpressions = yield evaluateEnableWhenRepeatExpressions(updatedEnableWhenExpressions.repeatExpressions, fhirPathContext, terminologyServerUrl);
162
174
  const isUpdated = updatedEnableWhenSingleExpressions.isUpdated || updatedEnableWhenRepeatExpressions.isUpdated;
163
175
  return {
@@ -171,9 +183,10 @@ export function evaluateEnableWhenExpressions(fhirPathContext, enableWhenExpress
171
183
  }
172
184
  export function mutateRepeatEnableWhenExpressionInstances(params) {
173
185
  return __awaiter(this, void 0, void 0, function* () {
174
- const { questionnaireResponse, questionnaireResponseItemMap, variablesFhirPath, existingFhirPathContext, enableWhenExpressions, parentRepeatGroupLinkId, parentRepeatGroupIndex, actionType, terminologyServerUrl } = params;
186
+ const { questionnaireResponse, questionnaireResponseItemMap, variablesFhirPath, fhirPathTerminologyCache, existingFhirPathContext, enableWhenExpressions, parentRepeatGroupLinkId, parentRepeatGroupIndex, actionType, terminologyServerUrl } = params;
175
187
  const { repeatExpressions } = enableWhenExpressions;
176
- const updatedFhirPathContext = yield createFhirPathContext(questionnaireResponse, questionnaireResponseItemMap, variablesFhirPath, existingFhirPathContext, terminologyServerUrl);
188
+ const fhirPathEvalResult = yield createFhirPathContext(questionnaireResponse, questionnaireResponseItemMap, variablesFhirPath, existingFhirPathContext, fhirPathTerminologyCache, terminologyServerUrl);
189
+ const updatedFhirPathContext = fhirPathEvalResult.fhirPathContext;
177
190
  let isUpdated = false;
178
191
  for (const linkId in repeatExpressions) {
179
192
  if (repeatExpressions[linkId].parentLinkId !== parentRepeatGroupLinkId) {
@@ -1 +1 @@
1
- {"version":3,"file":"enableWhenExpression.js","sourceRoot":"","sources":["../../src/utils/enableWhenExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enableWhenExpression.js","sourceRoot":"","sources":["../../src/utils/enableWhenExpression.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ interface EvaluateUpdatedExpressionsParams {
8
8
  enableWhenExpressions: EnableWhenExpressions;
9
9
  variablesFhirPath: Record<string, Expression[]>;
10
10
  existingFhirPathContext: Record<string, any>;
11
+ fhirPathTerminologyCache: Record<string, any>;
11
12
  terminologyServerUrl: string;
12
13
  }
13
14
  export declare function evaluateUpdatedExpressions(params: EvaluateUpdatedExpressionsParams): Promise<{
@@ -15,10 +16,20 @@ export declare function evaluateUpdatedExpressions(params: EvaluateUpdatedExpres
15
16
  updatedEnableWhenExpressions: EnableWhenExpressions;
16
17
  updatedCalculatedExpressions: Record<string, CalculatedExpression[]>;
17
18
  updatedFhirPathContext: Record<string, any>;
19
+ fhirPathTerminologyCache: Record<string, any>;
20
+ }>;
21
+ export declare function createFhirPathContext(questionnaireResponse: QuestionnaireResponse, questionnaireResponseItemMap: Record<string, QuestionnaireResponseItem[]>, variablesFhirPath: Record<string, Expression[]>, existingFhirPathContext: Record<string, any>, fhirPathTerminologyCache: Record<string, any>, terminologyServerUrl: string): Promise<{
22
+ fhirPathContext: Record<string, any>;
23
+ fhirPathTerminologyCache: Record<string, any>;
24
+ }>;
25
+ export declare function evaluateLinkIdVariables(item: QuestionnaireResponseItem, variablesFhirPath: Record<string, Expression[]>, fhirPathContext: Record<string, any>, fhirPathTerminologyCache: Record<string, any>, terminologyServerUrl: string): Promise<{
26
+ fhirPathContext: Record<string, any>;
27
+ fhirPathTerminologyCache: Record<string, any>;
18
28
  }>;
19
- export declare function createFhirPathContext(questionnaireResponse: QuestionnaireResponse, questionnaireResponseItemMap: Record<string, QuestionnaireResponseItem[]>, variablesFhirPath: Record<string, Expression[]>, existingFhirPathContext: Record<string, any>, terminologyServerUrl: string): Promise<Record<string, any>>;
20
- export declare function evaluateLinkIdVariables(item: QuestionnaireResponseItem, variablesFhirPath: Record<string, Expression[]>, fhirPathContext: Record<string, any>, terminologyServerUrl: string): Promise<Record<string, any>>;
21
29
  export declare function addEmptyLinkIdVariables(linkId: string, variablesFhirPath: Record<string, Expression[]>, fhirPathContext: Record<string, any>): Record<string, any>;
22
- export declare function evaluateQuestionnaireLevelVariables(resource: QuestionnaireResponse, variablesFhirPath: Record<string, Expression[]>, fhirPathContext: Record<string, any>, terminologyServerUrl: string): Promise<Record<string, any>>;
30
+ export declare function evaluateQuestionnaireLevelVariables(resource: QuestionnaireResponse, variablesFhirPath: Record<string, Expression[]>, fhirPathContext: Record<string, any>, fhirPathTerminologyCache: Record<string, any>, terminologyServerUrl: string): Promise<{
31
+ fhirPathContext: Record<string, any>;
32
+ fhirPathTerminologyCache: Record<string, any>;
33
+ }>;
23
34
  export declare function handleFhirPathResult(result: any[] | Promise<any[]>): Promise<any[]>;
24
35
  export {};