sdc-qrf 0.3.16 → 0.3.17

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 (170) hide show
  1. package/README.md +2 -0
  2. package/{lib → dist}/components.d.ts +3 -4
  3. package/dist/components.d.ts.map +1 -0
  4. package/{lib → dist}/components.js +84 -44
  5. package/dist/components.js.map +1 -0
  6. package/{lib → dist}/context.d.ts +1 -0
  7. package/dist/context.d.ts.map +1 -0
  8. package/{lib → dist}/converter/extensions.d.ts +2 -1
  9. package/dist/converter/extensions.d.ts.map +1 -0
  10. package/{lib → dist}/converter/extensions.js +9 -13
  11. package/dist/converter/extensions.js.map +1 -0
  12. package/{lib → dist}/converter/fceToFhir/index.d.ts +2 -1
  13. package/dist/converter/fceToFhir/index.d.ts.map +1 -0
  14. package/{lib → dist}/converter/fceToFhir/index.js +2 -3
  15. package/dist/converter/fceToFhir/index.js.map +1 -0
  16. package/{lib → dist}/converter/fceToFhir/questionnaire/index.d.ts +2 -1
  17. package/dist/converter/fceToFhir/questionnaire/index.d.ts.map +1 -0
  18. package/{lib → dist}/converter/fceToFhir/questionnaire/index.js +6 -6
  19. package/dist/converter/fceToFhir/questionnaire/index.js.map +1 -0
  20. package/{lib → dist}/converter/fceToFhir/questionnaire/processExtensions.d.ts +2 -1
  21. package/dist/converter/fceToFhir/questionnaire/processExtensions.d.ts.map +1 -0
  22. package/{lib → dist}/converter/fceToFhir/questionnaire/processExtensions.js +4 -7
  23. package/dist/converter/fceToFhir/questionnaire/processExtensions.js.map +1 -0
  24. package/{lib → dist}/converter/fceToFhir/questionnaire/processItems.d.ts +2 -1
  25. package/dist/converter/fceToFhir/questionnaire/processItems.d.ts.map +1 -0
  26. package/{lib → dist}/converter/fceToFhir/questionnaire/processItems.js +19 -18
  27. package/dist/converter/fceToFhir/questionnaire/processItems.js.map +1 -0
  28. package/{lib → dist}/converter/fceToFhir/questionnaire/processMeta.d.ts +2 -1
  29. package/dist/converter/fceToFhir/questionnaire/processMeta.d.ts.map +1 -0
  30. package/{lib → dist}/converter/fceToFhir/questionnaire/processMeta.js +3 -6
  31. package/dist/converter/fceToFhir/questionnaire/processMeta.js.map +1 -0
  32. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/index.d.ts +2 -1
  33. package/dist/converter/fceToFhir/questionnaireResponse/index.d.ts.map +1 -0
  34. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/index.js +5 -4
  35. package/dist/converter/fceToFhir/questionnaireResponse/index.js.map +1 -0
  36. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/processAnswers.d.ts +2 -1
  37. package/dist/converter/fceToFhir/questionnaireResponse/processAnswers.d.ts.map +1 -0
  38. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/processAnswers.js +8 -7
  39. package/dist/converter/fceToFhir/questionnaireResponse/processAnswers.js.map +1 -0
  40. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/processMeta.d.ts +2 -1
  41. package/dist/converter/fceToFhir/questionnaireResponse/processMeta.d.ts.map +1 -0
  42. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/processMeta.js +2 -4
  43. package/dist/converter/fceToFhir/questionnaireResponse/processMeta.js.map +1 -0
  44. package/{lib → dist}/converter/fceToFhir/questionnaireResponse/processReference.d.ts +2 -1
  45. package/dist/converter/fceToFhir/questionnaireResponse/processReference.d.ts.map +1 -0
  46. package/dist/converter/fceToFhir/questionnaireResponse/processReference.js +30 -0
  47. package/dist/converter/fceToFhir/questionnaireResponse/processReference.js.map +1 -0
  48. package/{lib → dist}/converter/fhirToFce/index.d.ts +2 -1
  49. package/dist/converter/fhirToFce/index.d.ts.map +1 -0
  50. package/{lib → dist}/converter/fhirToFce/index.js +2 -3
  51. package/dist/converter/fhirToFce/index.js.map +1 -0
  52. package/{lib → dist}/converter/fhirToFce/questionnaire/index.d.ts +2 -1
  53. package/dist/converter/fhirToFce/questionnaire/index.d.ts.map +1 -0
  54. package/{lib → dist}/converter/fhirToFce/questionnaire/index.js +12 -6
  55. package/dist/converter/fhirToFce/questionnaire/index.js.map +1 -0
  56. package/{lib → dist}/converter/fhirToFce/questionnaire/processExtensions.d.ts +1 -0
  57. package/dist/converter/fhirToFce/questionnaire/processExtensions.d.ts.map +1 -0
  58. package/dist/converter/fhirToFce/questionnaire/processExtensions.js +79 -0
  59. package/dist/converter/fhirToFce/questionnaire/processExtensions.js.map +1 -0
  60. package/{lib → dist}/converter/fhirToFce/questionnaire/processItems.d.ts +2 -1
  61. package/dist/converter/fhirToFce/questionnaire/processItems.d.ts.map +1 -0
  62. package/{lib → dist}/converter/fhirToFce/questionnaire/processItems.js +21 -17
  63. package/dist/converter/fhirToFce/questionnaire/processItems.js.map +1 -0
  64. package/{lib → dist}/converter/fhirToFce/questionnaire/processMeta.d.ts +1 -0
  65. package/dist/converter/fhirToFce/questionnaire/processMeta.d.ts.map +1 -0
  66. package/dist/converter/fhirToFce/questionnaire/processMeta.js +16 -0
  67. package/dist/converter/fhirToFce/questionnaire/processMeta.js.map +1 -0
  68. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/index.d.ts +2 -1
  69. package/dist/converter/fhirToFce/questionnaireResponse/index.d.ts.map +1 -0
  70. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/index.js +5 -4
  71. package/dist/converter/fhirToFce/questionnaireResponse/index.js.map +1 -0
  72. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/processAnswers.d.ts +1 -0
  73. package/dist/converter/fhirToFce/questionnaireResponse/processAnswers.d.ts.map +1 -0
  74. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/processAnswers.js +10 -10
  75. package/dist/converter/fhirToFce/questionnaireResponse/processAnswers.js.map +1 -0
  76. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/processMeta.d.ts +2 -1
  77. package/dist/converter/fhirToFce/questionnaireResponse/processMeta.d.ts.map +1 -0
  78. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/processMeta.js +4 -6
  79. package/dist/converter/fhirToFce/questionnaireResponse/processMeta.js.map +1 -0
  80. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/processReference.d.ts +2 -1
  81. package/dist/converter/fhirToFce/questionnaireResponse/processReference.d.ts.map +1 -0
  82. package/{lib → dist}/converter/fhirToFce/questionnaireResponse/processReference.js +5 -7
  83. package/dist/converter/fhirToFce/questionnaireResponse/processReference.js.map +1 -0
  84. package/{lib → dist}/converter/fhirToFce/utils.d.ts +1 -0
  85. package/dist/converter/fhirToFce/utils.d.ts.map +1 -0
  86. package/{lib → dist}/converter/fhirToFce/utils.js +5 -7
  87. package/dist/converter/fhirToFce/utils.js.map +1 -0
  88. package/{lib → dist}/converter/index.d.ts +2 -1
  89. package/dist/converter/index.d.ts.map +1 -0
  90. package/{lib → dist}/converter/index.js +40 -18
  91. package/dist/converter/index.js.map +1 -0
  92. package/{lib → dist}/converter/utils.d.ts +1 -0
  93. package/dist/converter/utils.d.ts.map +1 -0
  94. package/{lib → dist}/converter/utils.js +5 -4
  95. package/dist/converter/utils.js.map +1 -0
  96. package/{lib → dist}/hooks.d.ts +1 -0
  97. package/dist/hooks.d.ts.map +1 -0
  98. package/{lib → dist}/hooks.js +1 -2
  99. package/dist/hooks.js.map +1 -0
  100. package/{lib → dist}/index.d.ts +1 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +22 -0
  103. package/dist/index.js.map +1 -0
  104. package/{lib → dist}/types.d.ts +2 -1
  105. package/dist/types.d.ts.map +1 -0
  106. package/{lib → dist}/utils.d.ts +3 -2
  107. package/dist/utils.d.ts.map +1 -0
  108. package/{lib → dist}/utils.js +121 -100
  109. package/dist/utils.js.map +1 -0
  110. package/package.json +47 -38
  111. package/src/components.tsx +27 -98
  112. package/src/converter/__tests__/fce.test.ts +2 -1
  113. package/src/converter/extensions.ts +10 -19
  114. package/src/converter/fceToFhir/index.ts +1 -1
  115. package/src/converter/fceToFhir/questionnaire/index.ts +1 -1
  116. package/src/converter/fceToFhir/questionnaire/processExtensions.ts +1 -1
  117. package/src/converter/fceToFhir/questionnaire/processItems.ts +9 -24
  118. package/src/converter/fceToFhir/questionnaire/processMeta.ts +1 -1
  119. package/src/converter/fceToFhir/questionnaireResponse/index.ts +1 -1
  120. package/src/converter/fceToFhir/questionnaireResponse/processAnswers.ts +4 -6
  121. package/src/converter/fceToFhir/questionnaireResponse/processMeta.ts +1 -1
  122. package/src/converter/fceToFhir/questionnaireResponse/processReference.ts +1 -1
  123. package/src/converter/fhirToFce/index.ts +1 -1
  124. package/src/converter/fhirToFce/questionnaire/index.ts +1 -1
  125. package/src/converter/fhirToFce/questionnaire/processItems.ts +1 -1
  126. package/src/converter/fhirToFce/questionnaireResponse/index.ts +1 -1
  127. package/src/converter/fhirToFce/questionnaireResponse/processAnswers.ts +5 -7
  128. package/src/converter/fhirToFce/questionnaireResponse/processMeta.ts +1 -1
  129. package/src/converter/fhirToFce/questionnaireResponse/processReference.ts +1 -1
  130. package/src/converter/index.ts +1 -1
  131. package/src/setupTests.ts +1 -1
  132. package/src/types.ts +1 -1
  133. package/src/utils.ts +23 -55
  134. package/lib/components.js.map +0 -1
  135. package/lib/converter/extensions.js.map +0 -1
  136. package/lib/converter/fceToFhir/index.js.map +0 -1
  137. package/lib/converter/fceToFhir/questionnaire/index.js.map +0 -1
  138. package/lib/converter/fceToFhir/questionnaire/processExtensions.js.map +0 -1
  139. package/lib/converter/fceToFhir/questionnaire/processItems.js.map +0 -1
  140. package/lib/converter/fceToFhir/questionnaire/processMeta.js.map +0 -1
  141. package/lib/converter/fceToFhir/questionnaireResponse/index.js.map +0 -1
  142. package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.js.map +0 -1
  143. package/lib/converter/fceToFhir/questionnaireResponse/processMeta.js.map +0 -1
  144. package/lib/converter/fceToFhir/questionnaireResponse/processReference.js +0 -23
  145. package/lib/converter/fceToFhir/questionnaireResponse/processReference.js.map +0 -1
  146. package/lib/converter/fhirToFce/index.js.map +0 -1
  147. package/lib/converter/fhirToFce/questionnaire/index.js.map +0 -1
  148. package/lib/converter/fhirToFce/questionnaire/processExtensions.js +0 -90
  149. package/lib/converter/fhirToFce/questionnaire/processExtensions.js.map +0 -1
  150. package/lib/converter/fhirToFce/questionnaire/processItems.js.map +0 -1
  151. package/lib/converter/fhirToFce/questionnaire/processMeta.js +0 -14
  152. package/lib/converter/fhirToFce/questionnaire/processMeta.js.map +0 -1
  153. package/lib/converter/fhirToFce/questionnaireResponse/index.js.map +0 -1
  154. package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.js.map +0 -1
  155. package/lib/converter/fhirToFce/questionnaireResponse/processMeta.js.map +0 -1
  156. package/lib/converter/fhirToFce/questionnaireResponse/processReference.js.map +0 -1
  157. package/lib/converter/fhirToFce/utils.js.map +0 -1
  158. package/lib/converter/index.js.map +0 -1
  159. package/lib/converter/utils.js.map +0 -1
  160. package/lib/hooks.js.map +0 -1
  161. package/lib/index.js +0 -9
  162. package/lib/index.js.map +0 -1
  163. package/lib/setupTests.d.ts +0 -1
  164. package/lib/setupTests.js +0 -4
  165. package/lib/setupTests.js.map +0 -1
  166. package/lib/utils.js.map +0 -1
  167. /package/{lib → dist}/context.js +0 -0
  168. /package/{lib → dist}/context.js.map +0 -0
  169. /package/{lib → dist}/types.js +0 -0
  170. /package/{lib → dist}/types.js.map +0 -0
@@ -1,12 +1,29 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findExtensionByUrl = exports.isValueEmpty = exports.parseFhirQueryExpression = exports.calcInitialContext = exports.getEnabledQuestions = exports.removeDisabledAnswers = exports.getChecker = exports.isValueEqual = exports.findAnswersForQuestion = exports.findAnswersForQuestionsRecursive = exports.mapResponseToForm = exports.mapFormToResponse = exports.compareValue = exports.calcContext = exports.getBranchItems = exports.wrapAnswerValue = void 0;
4
- const tslib_1 = require("tslib");
5
- const fhirpath_1 = tslib_1.__importDefault(require("fhirpath"));
6
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
7
- const isArray_1 = tslib_1.__importDefault(require("lodash/isArray"));
8
- const isPlainObject_1 = tslib_1.__importDefault(require("lodash/isPlainObject"));
9
- const query_string_1 = tslib_1.__importDefault(require("query-string"));
6
+ exports.wrapAnswerValue = wrapAnswerValue;
7
+ exports.getBranchItems = getBranchItems;
8
+ exports.calcContext = calcContext;
9
+ exports.compareValue = compareValue;
10
+ exports.mapFormToResponse = mapFormToResponse;
11
+ exports.mapResponseToForm = mapResponseToForm;
12
+ exports.findAnswersForQuestionsRecursive = findAnswersForQuestionsRecursive;
13
+ exports.findAnswersForQuestion = findAnswersForQuestion;
14
+ exports.isValueEqual = isValueEqual;
15
+ exports.getChecker = getChecker;
16
+ exports.removeDisabledAnswers = removeDisabledAnswers;
17
+ exports.getEnabledQuestions = getEnabledQuestions;
18
+ exports.calcInitialContext = calcInitialContext;
19
+ exports.parseFhirQueryExpression = parseFhirQueryExpression;
20
+ exports.isValueEmpty = isValueEmpty;
21
+ exports.findExtensionByUrl = findExtensionByUrl;
22
+ const fhirpath_1 = __importDefault(require("fhirpath"));
23
+ const lodash_1 = __importDefault(require("lodash"));
24
+ const isArray_1 = __importDefault(require("lodash/isArray"));
25
+ const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
26
+ const query_string_1 = __importDefault(require("query-string"));
10
27
  function wrapAnswerValue(type, answer) {
11
28
  if (type === 'choice') {
12
29
  if ((0, isPlainObject_1.default)(answer)) {
@@ -38,9 +55,7 @@ function wrapAnswerValue(type, answer) {
38
55
  }
39
56
  return { [type]: answer };
40
57
  }
41
- exports.wrapAnswerValue = wrapAnswerValue;
42
58
  function getBranchItems(fieldPath, questionnaire, questionnaireResponse) {
43
- var _a, _b;
44
59
  let qrItem = questionnaireResponse;
45
60
  let qItem = questionnaire;
46
61
  // TODO: check for question with sub items
@@ -48,7 +63,7 @@ function getBranchItems(fieldPath, questionnaire, questionnaireResponse) {
48
63
  for (let i = 0; i < fieldPath.length; i++) {
49
64
  qItem = qItem.item.find((curItem) => curItem.linkId === fieldPath[i]);
50
65
  if (qrItem) {
51
- const qrItems = (_b = (_a = qrItem.item) === null || _a === void 0 ? void 0 : _a.filter((curItem) => curItem.linkId === fieldPath[i])) !== null && _b !== void 0 ? _b : [];
66
+ const qrItems = qrItem.item?.filter((curItem) => curItem.linkId === fieldPath[i]) ?? [];
52
67
  if (qItem.repeats) {
53
68
  if (i + 2 < fieldPath.length) {
54
69
  // In the middle
@@ -72,17 +87,22 @@ function getBranchItems(fieldPath, questionnaire, questionnaireResponse) {
72
87
  }
73
88
  return { qItem, qrItems: [qrItem] };
74
89
  }
75
- exports.getBranchItems = getBranchItems;
76
90
  function calcContext(initialContext, variables, qItem, qrItem) {
77
91
  // TODO: add root variable support
78
92
  try {
79
- return Object.assign({}, (variables || []).reduce((acc, curVariable) => (Object.assign(Object.assign({}, acc), { [curVariable.name]: fhirpath_1.default.evaluate(qrItem || {}, curVariable.expression, acc) })), Object.assign(Object.assign({}, initialContext), { context: qrItem, qitem: qItem })));
93
+ return {
94
+ ...(variables || []).reduce((acc, curVariable) => ({
95
+ ...acc,
96
+ [curVariable.name]: fhirpath_1.default.evaluate(qrItem || {}, curVariable.expression, acc, undefined, {
97
+ async: false,
98
+ }),
99
+ }), { ...initialContext, context: qrItem, qitem: qItem }),
100
+ };
80
101
  }
81
102
  catch (err) {
82
103
  throw Error(`FHIRPath expression evaluation failure for "variable" in ${qItem.linkId}: ${err}`);
83
104
  }
84
105
  }
85
- exports.calcContext = calcContext;
86
106
  function compareValue(firstAnswerValue, secondAnswerValue) {
87
107
  const firstValueType = lodash_1.default.keys(firstAnswerValue)[0];
88
108
  const secondValueType = lodash_1.default.keys(secondAnswerValue)[0];
@@ -105,7 +125,6 @@ function compareValue(firstAnswerValue, secondAnswerValue) {
105
125
  }
106
126
  return 0;
107
127
  }
108
- exports.compareValue = compareValue;
109
128
  function isGroup(question) {
110
129
  return question.type === 'group';
111
130
  }
@@ -138,11 +157,13 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
138
157
  ? [answers.items]
139
158
  : [];
140
159
  return groups.reduce((newAcc, group) => {
141
- var _a;
142
- const items = mapFormToResponseRecursive(group, (_a = question.item) !== null && _a !== void 0 ? _a : []);
160
+ const items = mapFormToResponseRecursive(group, question.item ?? []);
143
161
  return [
144
162
  ...newAcc,
145
- Object.assign({ linkId }, (items.length ? { item: items } : {})),
163
+ {
164
+ linkId,
165
+ ...(items.length ? { item: items } : {}),
166
+ },
146
167
  ];
147
168
  }, acc);
148
169
  }
@@ -151,7 +172,6 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
151
172
  {
152
173
  linkId,
153
174
  answer: answers.reduce((answersAcc, answer) => {
154
- var _a;
155
175
  if (typeof answer === 'undefined') {
156
176
  return answersAcc;
157
177
  }
@@ -159,11 +179,14 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
159
179
  return answersAcc;
160
180
  }
161
181
  const items = hasSubAnswerItems(answer.items)
162
- ? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
182
+ ? mapFormToResponseRecursive(answer.items, question.item ?? [])
163
183
  : [];
164
184
  return [
165
185
  ...answersAcc,
166
- Object.assign({ value: answer.value }, (items.length ? { item: items } : {})),
186
+ {
187
+ value: answer.value,
188
+ ...(items.length ? { item: items } : {}),
189
+ },
167
190
  ];
168
191
  }, []),
169
192
  },
@@ -171,61 +194,61 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
171
194
  }, []);
172
195
  }
173
196
  function mapFormToResponse(values, questionnaire) {
174
- var _a;
175
197
  return {
176
- item: mapFormToResponseRecursive(values, (_a = questionnaire.item) !== null && _a !== void 0 ? _a : []),
198
+ item: mapFormToResponseRecursive(values, questionnaire.item ?? []),
177
199
  };
178
200
  }
179
- exports.mapFormToResponse = mapFormToResponse;
180
201
  function mapResponseToFormRecursive(questionnaireResponseItems, questionnaireItems) {
181
202
  return questionnaireItems.reduce((acc, question) => {
182
- var _a, _b, _c, _d, _e, _f;
183
203
  const { linkId, initial, repeats, text } = question;
184
204
  if (!linkId) {
185
205
  console.warn('The question has no linkId');
186
206
  return acc;
187
207
  }
188
- const qrItems = (_a = questionnaireResponseItems.filter((qrItem) => qrItem.linkId === linkId)) !== null && _a !== void 0 ? _a : [];
208
+ const qrItems = questionnaireResponseItems.filter((qrItem) => qrItem.linkId === linkId) ?? [];
189
209
  if (qrItems.length && isGroup(question)) {
190
210
  if (repeats) {
191
- return Object.assign(Object.assign({}, acc), { [linkId]: {
211
+ return {
212
+ ...acc,
213
+ [linkId]: {
192
214
  question: text,
193
215
  items: qrItems.map((qrItem) => {
194
- var _a, _b;
195
- return mapResponseToFormRecursive((_a = qrItem.item) !== null && _a !== void 0 ? _a : [], (_b = question.item) !== null && _b !== void 0 ? _b : []);
216
+ return mapResponseToFormRecursive(qrItem.item ?? [], question.item ?? []);
196
217
  }),
197
- } });
218
+ },
219
+ };
198
220
  }
199
221
  else {
200
- return Object.assign(Object.assign({}, acc), { [linkId]: {
222
+ return {
223
+ ...acc,
224
+ [linkId]: {
201
225
  question: text,
202
- items: mapResponseToFormRecursive((_c = (_b = qrItems[0]) === null || _b === void 0 ? void 0 : _b.item) !== null && _c !== void 0 ? _c : [], (_d = question.item) !== null && _d !== void 0 ? _d : []),
203
- } });
226
+ items: mapResponseToFormRecursive(qrItems[0]?.item ?? [], question.item ?? []),
227
+ },
228
+ };
204
229
  }
205
230
  }
206
- const answers = ((_f = (_e = qrItems === null || qrItems === void 0 ? void 0 : qrItems[0]) === null || _e === void 0 ? void 0 : _e.answer) === null || _f === void 0 ? void 0 : _f.length)
231
+ const answers = qrItems?.[0]?.answer?.length
207
232
  ? qrItems[0].answer
208
233
  : initialToQuestionnaireResponseItemAnswer(initial);
209
234
  if (!answers.length) {
210
235
  return acc;
211
236
  }
212
- return Object.assign(Object.assign({}, acc), { [linkId]: answers.map((answer) => {
213
- var _a, _b;
214
- return ({
215
- question: text,
216
- value: answer.value,
217
- items: mapResponseToFormRecursive((_a = answer.item) !== null && _a !== void 0 ? _a : [], (_b = question.item) !== null && _b !== void 0 ? _b : []),
218
- });
219
- }) });
237
+ return {
238
+ ...acc,
239
+ [linkId]: answers.map((answer) => ({
240
+ question: text,
241
+ value: answer.value,
242
+ items: mapResponseToFormRecursive(answer.item ?? [], question.item ?? []),
243
+ })),
244
+ };
220
245
  }, {});
221
246
  }
222
247
  function mapResponseToForm(resource, questionnaire) {
223
- var _a, _b;
224
- return mapResponseToFormRecursive((_a = resource.item) !== null && _a !== void 0 ? _a : [], (_b = questionnaire.item) !== null && _b !== void 0 ? _b : []);
248
+ return mapResponseToFormRecursive(resource.item ?? [], questionnaire.item ?? []);
225
249
  }
226
- exports.mapResponseToForm = mapResponseToForm;
227
250
  function initialToQuestionnaireResponseItemAnswer(initial) {
228
- return (initial !== null && initial !== void 0 ? initial : []).map(({ value }) => ({ value }));
251
+ return (initial ?? []).map(({ value }) => ({ value }));
229
252
  }
230
253
  function findAnswersForQuestionsRecursive(linkId, values) {
231
254
  if (values && lodash_1.default.has(values, linkId)) {
@@ -259,7 +282,6 @@ function findAnswersForQuestionsRecursive(linkId, values) {
259
282
  }
260
283
  }, null);
261
284
  }
262
- exports.findAnswersForQuestionsRecursive = findAnswersForQuestionsRecursive;
263
285
  function findAnswersForQuestion(linkId, parentPath, values) {
264
286
  const p = lodash_1.default.cloneDeep(parentPath);
265
287
  // Go up
@@ -278,9 +300,7 @@ function findAnswersForQuestion(linkId, parentPath, values) {
278
300
  const answers = findAnswersForQuestionsRecursive(linkId, values);
279
301
  return answers ? answers : [];
280
302
  }
281
- exports.findAnswersForQuestion = findAnswersForQuestion;
282
303
  function isValueEqual(firstValue, secondValue) {
283
- var _a, _b;
284
304
  const firstValueType = lodash_1.default.keys(firstValue)[0];
285
305
  const secondValueType = lodash_1.default.keys(secondValue)[0];
286
306
  if (firstValueType !== secondValueType) {
@@ -289,11 +309,10 @@ function isValueEqual(firstValue, secondValue) {
289
309
  }
290
310
  if (firstValueType === 'Coding') {
291
311
  // NOTE: what if undefined === undefined
292
- return ((_a = firstValue.Coding) === null || _a === void 0 ? void 0 : _a.code) === ((_b = secondValue.Coding) === null || _b === void 0 ? void 0 : _b.code);
312
+ return firstValue.Coding?.code === secondValue.Coding?.code;
293
313
  }
294
314
  return lodash_1.default.isEqual(firstValue, secondValue);
295
315
  }
296
- exports.isValueEqual = isValueEqual;
297
316
  function getChecker(operator) {
298
317
  if (operator === '=') {
299
318
  return (values, answerValue) => lodash_1.default.findIndex(values, ({ value }) => isValueEqual(value, answerValue)) !== -1;
@@ -303,9 +322,8 @@ function getChecker(operator) {
303
322
  }
304
323
  if (operator === 'exists') {
305
324
  return (values, answerValue) => {
306
- var _a;
307
325
  const answersLength = lodash_1.default.reject(values, (value) => isValueEmpty(value.value) || lodash_1.default.every(lodash_1.default.mapValues(value.value, isValueEmpty))).length;
308
- const answer = (_a = answerValue === null || answerValue === void 0 ? void 0 : answerValue.boolean) !== null && _a !== void 0 ? _a : true;
326
+ const answer = answerValue?.boolean ?? true;
309
327
  return answersLength > 0 === answer;
310
328
  };
311
329
  }
@@ -324,9 +342,7 @@ function getChecker(operator) {
324
342
  console.error(`Unsupported enableWhen.operator ${operator}`);
325
343
  return lodash_1.default.constant(true);
326
344
  }
327
- exports.getChecker = getChecker;
328
345
  function isQuestionEnabled(args) {
329
- var _a;
330
346
  const { enableWhen, enableBehavior, enableWhenExpression } = args.qItem;
331
347
  if (enableWhen && enableWhenExpression) {
332
348
  console.warn(`
@@ -341,7 +357,7 @@ function isQuestionEnabled(args) {
341
357
  }
342
358
  if (enableWhenExpression && enableWhenExpression.language === 'text/fhirpath') {
343
359
  try {
344
- const expressionResult = fhirpath_1.default.evaluate(args.context.resource, enableWhenExpression.expression, (_a = args.context) !== null && _a !== void 0 ? _a : {})[0];
360
+ const expressionResult = fhirpath_1.default.evaluate(args.context.resource, enableWhenExpression.expression, args.context ?? {}, undefined, { async: false })[0];
345
361
  if (typeof expressionResult !== 'boolean') {
346
362
  throw Error(`The result of enableWhenExpression is not a boolean value. Expression result: ${expressionResult}`);
347
363
  }
@@ -365,22 +381,17 @@ function isQuestionEnabled(args) {
365
381
  });
366
382
  }
367
383
  function removeDisabledAnswers(questionnaire, values, context) {
368
- var _a;
369
384
  return removeDisabledAnswersRecursive({
370
- questionnaireItems: (_a = questionnaire.item) !== null && _a !== void 0 ? _a : [],
385
+ questionnaireItems: questionnaire.item ?? [],
371
386
  parentPath: [],
372
387
  answersItems: values,
373
388
  initialValues: {},
374
389
  context,
375
390
  });
376
391
  }
377
- exports.removeDisabledAnswers = removeDisabledAnswers;
378
392
  function removeDisabledAnswersRecursive(args) {
379
393
  return args.questionnaireItems.reduce((acc, questionnaireItem) => {
380
- var _a;
381
- const values = args.parentPath.length
382
- ? lodash_1.default.set(lodash_1.default.cloneDeep(args.initialValues), args.parentPath, acc)
383
- : acc;
394
+ const values = args.parentPath.length ? lodash_1.default.set(lodash_1.default.cloneDeep(args.initialValues), args.parentPath, acc) : acc;
384
395
  const { linkId } = questionnaireItem;
385
396
  const answers = args.answersItems[linkId];
386
397
  if (!answers) {
@@ -399,34 +410,39 @@ function removeDisabledAnswersRecursive(args) {
399
410
  return acc;
400
411
  }
401
412
  if (isRepeatableFormGroupItems(questionnaireItem, answers)) {
402
- return Object.assign(Object.assign({}, acc), { [linkId]: Object.assign(Object.assign({}, answers), { items: answers.items.map((group, index) => {
403
- var _a;
404
- return removeDisabledAnswersRecursive({
405
- questionnaireItems: (_a = questionnaireItem.item) !== null && _a !== void 0 ? _a : [],
406
- parentPath: [
407
- ...args.parentPath,
408
- linkId,
409
- 'items',
410
- index.toString(),
411
- ],
412
- answersItems: group,
413
- initialValues: values,
414
- context: args.context,
415
- });
416
- }) }) });
413
+ return {
414
+ ...acc,
415
+ [linkId]: {
416
+ ...answers,
417
+ items: answers.items.map((group, index) => removeDisabledAnswersRecursive({
418
+ questionnaireItems: questionnaireItem.item ?? [],
419
+ parentPath: [...args.parentPath, linkId, 'items', index.toString()],
420
+ answersItems: group,
421
+ initialValues: values,
422
+ context: args.context,
423
+ })),
424
+ },
425
+ };
417
426
  }
418
427
  else {
419
- return Object.assign(Object.assign({}, acc), { [linkId]: Object.assign(Object.assign({}, answers), { items: removeDisabledAnswersRecursive({
420
- questionnaireItems: (_a = questionnaireItem.item) !== null && _a !== void 0 ? _a : [],
428
+ return {
429
+ ...acc,
430
+ [linkId]: {
431
+ ...answers,
432
+ items: removeDisabledAnswersRecursive({
433
+ questionnaireItems: questionnaireItem.item ?? [],
421
434
  parentPath: [...args.parentPath, linkId, 'items'],
422
435
  answersItems: answers.items,
423
436
  initialValues: values,
424
437
  context: args.context,
425
- }) }) });
438
+ }),
439
+ },
440
+ };
426
441
  }
427
442
  }
428
- return Object.assign(Object.assign({}, acc), { [linkId]: answers.reduce((answersAcc, answer, index) => {
429
- var _a;
443
+ return {
444
+ ...acc,
445
+ [linkId]: answers.reduce((answersAcc, answer, index) => {
430
446
  if (typeof answer === 'undefined') {
431
447
  return answersAcc;
432
448
  }
@@ -435,15 +451,16 @@ function removeDisabledAnswersRecursive(args) {
435
451
  }
436
452
  const items = hasSubAnswerItems(answer.items)
437
453
  ? removeDisabledAnswersRecursive({
438
- questionnaireItems: (_a = questionnaireItem.item) !== null && _a !== void 0 ? _a : [],
454
+ questionnaireItems: questionnaireItem.item ?? [],
439
455
  parentPath: [...args.parentPath, linkId, index.toString(), 'items'],
440
456
  answersItems: answer.items,
441
457
  initialValues: values,
442
458
  context: args.context,
443
459
  })
444
460
  : {};
445
- return [...answersAcc, Object.assign(Object.assign({}, answer), { items })];
446
- }, []) });
461
+ return [...answersAcc, { ...answer, items }];
462
+ }, []),
463
+ };
447
464
  }, {});
448
465
  }
449
466
  function getEnabledQuestions(questionnaireItems, parentPath, values, context) {
@@ -455,25 +472,32 @@ function getEnabledQuestions(questionnaireItems, parentPath, values, context) {
455
472
  return isQuestionEnabled({ qItem, parentPath, values, context });
456
473
  });
457
474
  }
458
- exports.getEnabledQuestions = getEnabledQuestions;
459
475
  function calcInitialContext(qrfDataContext, values) {
460
- const questionnaireResponse = Object.assign(Object.assign({}, qrfDataContext.questionnaireResponse), mapFormToResponse(values, qrfDataContext.questionnaire));
461
- return Object.assign(Object.assign({}, qrfDataContext.launchContextParameters.reduce((acc, { name, value, resource }) => (Object.assign(Object.assign({}, acc), { [name]: value && (0, isPlainObject_1.default)(value)
462
- ? value[Object.keys(value)[0]]
463
- : resource })), {})), {
476
+ const questionnaireResponse = {
477
+ ...qrfDataContext.questionnaireResponse,
478
+ ...mapFormToResponse(values, qrfDataContext.questionnaire),
479
+ };
480
+ return {
481
+ ...qrfDataContext.launchContextParameters.reduce((acc, { name, value, resource }) => ({
482
+ ...acc,
483
+ [name]: value && (0, isPlainObject_1.default)(value) ? value[Object.keys(value)[0]] : resource,
484
+ }), {}),
464
485
  // Vars defined in IG
465
- questionnaire: qrfDataContext.questionnaire, resource: questionnaireResponse, context: questionnaireResponse,
486
+ questionnaire: qrfDataContext.questionnaire,
487
+ resource: questionnaireResponse,
488
+ context: questionnaireResponse,
466
489
  // Vars we use for backward compatibility
467
- Questionnaire: qrfDataContext.questionnaire, QuestionnaireResponse: questionnaireResponse });
490
+ Questionnaire: qrfDataContext.questionnaire,
491
+ QuestionnaireResponse: questionnaireResponse,
492
+ };
468
493
  }
469
- exports.calcInitialContext = calcInitialContext;
470
494
  function resolveTemplateExpr(str, context) {
471
495
  const matches = str.match(/{{[^}]+}}/g);
472
496
  if (matches) {
473
497
  return matches.reduce((result, match) => {
474
498
  const expr = match.replace(/[{}]/g, '');
475
- const resolvedVar = fhirpath_1.default.evaluate(context.context || {}, expr, context);
476
- if (resolvedVar === null || resolvedVar === void 0 ? void 0 : resolvedVar.length) {
499
+ const resolvedVar = fhirpath_1.default.evaluate(context.context || {}, expr, context, undefined, { async: false });
500
+ if (resolvedVar?.length) {
477
501
  return result.replace(match, resolvedVar.join(','));
478
502
  }
479
503
  else {
@@ -485,7 +509,7 @@ function resolveTemplateExpr(str, context) {
485
509
  }
486
510
  function parseFhirQueryExpression(expression, context) {
487
511
  const [resourceType, paramsQS] = expression.split('?', 2);
488
- const searchParams = Object.fromEntries(Object.entries(query_string_1.default.parse(paramsQS !== null && paramsQS !== void 0 ? paramsQS : '')).map(([key, value]) => {
512
+ const searchParams = Object.fromEntries(Object.entries(query_string_1.default.parse(paramsQS ?? '')).map(([key, value]) => {
489
513
  if (!value) {
490
514
  return [key, value];
491
515
  }
@@ -498,16 +522,13 @@ function parseFhirQueryExpression(expression, context) {
498
522
  }));
499
523
  return [resourceType, searchParams];
500
524
  }
501
- exports.parseFhirQueryExpression = parseFhirQueryExpression;
502
525
  function isValueEmpty(value) {
503
526
  if (lodash_1.default.isNaN(value)) {
504
527
  console.warn('Please be aware that a NaN value has been detected. In the context of an "exist" operator, a NaN value is interpreted as a non-existent value. This may lead to unexpected behavior in your code. Ensure to handle or correct this to maintain the integrity of your application.');
505
528
  }
506
529
  return lodash_1.default.isFinite(value) || lodash_1.default.isBoolean(value) ? false : lodash_1.default.isEmpty(value);
507
530
  }
508
- exports.isValueEmpty = isValueEmpty;
509
531
  function findExtensionByUrl(url, extensionList) {
510
- return (extensionList === null || extensionList === void 0 ? void 0 : extensionList.find((extension) => extension.url === url)) || null;
532
+ return extensionList?.find((extension) => extension.url === url) || null;
511
533
  }
512
- exports.findExtensionByUrl = findExtensionByUrl;
513
534
  //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,40 +1,49 @@
1
1
  {
2
- "name": "sdc-qrf",
3
- "license": "MIT",
4
- "version": "0.3.16",
5
- "scripts": {
6
- "build": "tsc",
7
- "coverage": "jest --coverage --coverageReporters=text-lcov | coveralls",
8
- "prepare": "npm run build",
9
- "test": "vitest run --no-threads",
10
- "typecheck": "tsc"
11
- },
12
- "dependencies": {
13
- "classnames": "^2.3.1",
14
- "fhirpath": "^3.5.0",
15
- "lodash": "^4.17.15",
16
- "tslib": "^2.4.0",
17
- "query-string": "^7.1.1"
18
- },
19
- "devDependencies": {
20
- "@babel/core": "^7.7.7",
21
- "@babel/preset-env": "^7.7.7",
22
- "@babel/preset-typescript": "^7.7.7",
23
- "@testing-library/react": "^13.3.0",
24
- "@testing-library/react-hooks": "^8.0.1",
25
- "@types/jest": "^27.5.1",
26
- "babel-jest": "^27.5.1",
27
- "coveralls": "^3.0.9",
28
- "jest": "^27.5.1",
29
- "ts-jest": "^27.1.5",
30
- "react": "^18.2.0",
31
- "react-test-renderer": "^18.2.0"
32
- },
33
- "files": [
34
- "lib/**/*",
35
- "src/**/*",
36
- "README.md",
37
- "LICENSE"
38
- ],
39
- "main": "./lib/index.js"
2
+ "name": "sdc-qrf",
3
+ "license": "MIT",
4
+ "version": "0.3.17",
5
+ "scripts": {
6
+ "test": "vitest --watch=false",
7
+ "test:watch": "vitest --watch",
8
+ "test:coverage": "vitest --coverage",
9
+ "typecheck": "tsc --noEmit",
10
+ "build": "tsc",
11
+ "prepare": "husky || true"
12
+ },
13
+ "dependencies": {
14
+ "classnames": "^2.5.1",
15
+ "fhirpath": "^3.18.0",
16
+ "lodash": "^4.17.21",
17
+ "query-string": "^9.1.1"
18
+ },
19
+ "devDependencies": {
20
+ "@babel/core": "^7.26.10",
21
+ "@babel/preset-env": "^7.26.9",
22
+ "@babel/preset-typescript": "^7.26.0",
23
+ "@beda.software/aidbox-types": "file:contrib/aidbox-types",
24
+ "@eslint/js": "^9.23.0",
25
+ "@types/fhir": "^0.0.41",
26
+ "@types/lodash": "^4.17.16",
27
+ "@types/react": "^18",
28
+ "@vitest/coverage-v8": "^3.0.9",
29
+ "eslint": "^9.23.0",
30
+ "eslint-config-prettier": "^10.1.1",
31
+ "husky": "^9.1.7",
32
+ "lint-staged": "^15.5.0",
33
+ "prettier": "3.5.3",
34
+ "tslib": "^2.8.0",
35
+ "typescript": "^5.8.2",
36
+ "typescript-eslint": "^8.28.0",
37
+ "vitest": "^3.0.9"
38
+ },
39
+ "peerDependencies": {
40
+ "react": "18.x"
41
+ },
42
+ "files": [
43
+ "dist/**/*",
44
+ "src/**/*",
45
+ "README.md",
46
+ "LICENSE"
47
+ ],
48
+ "main": "./dist/index.js"
40
49
  }