sdc-qrf 1.0.0-beta.2 → 1.0.0-beta.21

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 (48) hide show
  1. package/dist/converter/extensions.d.ts +9 -2
  2. package/dist/converter/extensions.d.ts.map +1 -1
  3. package/dist/converter/extensions.js +66 -2
  4. package/dist/converter/extensions.js.map +1 -1
  5. package/dist/converter/fhirToFce/questionnaire/processItems.d.ts.map +1 -1
  6. package/dist/converter/fhirToFce/questionnaire/processItems.js +33 -23
  7. package/dist/converter/fhirToFce/questionnaire/processItems.js.map +1 -1
  8. package/dist/converter/index.d.ts.map +1 -1
  9. package/dist/converter/index.js +2 -1
  10. package/dist/converter/index.js.map +1 -1
  11. package/dist/converter/utils.d.ts +1 -2
  12. package/dist/converter/utils.d.ts.map +1 -1
  13. package/dist/converter/utils.js +0 -5
  14. package/dist/converter/utils.js.map +1 -1
  15. package/dist/fce.types.d.ts +13 -1
  16. package/dist/fce.types.d.ts.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +6 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/types.d.ts +1 -1
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/utils.d.ts +16 -6
  24. package/dist/utils.d.ts.map +1 -1
  25. package/dist/utils.js +42 -26
  26. package/dist/utils.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/converter/__tests__/fce.test.ts +88 -54
  29. package/src/converter/__tests__/resources/questionnaire_fce/answerOptionsToggleExpression.json +84 -0
  30. package/src/converter/__tests__/resources/questionnaire_fce/mixed-fce-with-extensions.json +26 -0
  31. package/src/converter/__tests__/resources/questionnaire_fce/occurs.json +16 -0
  32. package/src/converter/__tests__/resources/questionnaire_fce/sub-questionnaire.json +22 -0
  33. package/src/converter/__tests__/resources/questionnaire_fce/unknown-extensions.json +58 -0
  34. package/src/converter/__tests__/resources/questionnaire_fce/with-attachment-question.json +17 -0
  35. package/src/converter/__tests__/resources/questionnaire_fhir/answerOptionsToggleExpression.json +96 -0
  36. package/src/converter/__tests__/resources/questionnaire_fhir/mixed-fce-with-extensions.json +27 -0
  37. package/src/converter/__tests__/resources/questionnaire_fhir/occurs.json +24 -0
  38. package/src/converter/__tests__/resources/questionnaire_fhir/sub-questionnaire.json +32 -0
  39. package/src/converter/__tests__/resources/questionnaire_fhir/unknown-extensions.json +62 -0
  40. package/src/converter/__tests__/resources/questionnaire_fhir/with-attachment-question.json +26 -0
  41. package/src/converter/extensions.ts +78 -4
  42. package/src/converter/fhirToFce/questionnaire/processItems.ts +43 -34
  43. package/src/converter/index.ts +3 -1
  44. package/src/converter/utils.ts +1 -5
  45. package/src/fce.types.ts +18 -0
  46. package/src/index.ts +5 -1
  47. package/src/types.ts +2 -1
  48. package/src/utils.ts +79 -43
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EAE5B,MAAM,UAAU,CAAC;AAElB,OAAO,EACH,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,WAAW,EACX,6BAA6B,EAEhC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAyBrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,WAAW,CAmCxF;AAMD,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,GAC7C;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,yBAAyB,EAAE,CAAA;CAAE,CAiEpE;AAED,wBAAgB,WAAW,CACvB,cAAc,EAAE,WAAW,EAC3B,SAAS,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAC3C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,yBAAyB,GAClC,WAAW,CAiBb;AAwFD,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,GAC7B,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAIrC;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,OAEjE;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAKrF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,OAStE;AAyED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,aAE9F;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,IAAI,CA8C/F;AA0BD,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,cAuBzF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,WAiB7E;AAED,wBAAgB,UAAU,CACtB,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,GAClD,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAmC9D;AAsED,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,gBAAgB,EAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,GACrB,SAAS,CAQX;AA0FD,wBAAgB,mBAAmB,CAC/B,kBAAkB,EAAE,oBAAoB,EAAE,EAC1C,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,0BAYvB;AAED,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,6BAA6B,CAAC,SAAS,CAAC,EACxD,MAAM,EAAE,SAAS,GAClB,WAAW,CAyBb;AAwBD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;;iBAkBhF;AAED,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,UAAU,SAkB1B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAIzF;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAY5F;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAM3F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,WAAW,CAIpE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,iBAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,WAEhF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,WAQtC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAClC,MAAM,UAAU,CAAC;AAElB,OAAO,EACH,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,WAAW,EACX,6BAA6B,EAEhC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAyBrE,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,WAAW,CAmCxF;AAMD,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,GAC7C;IAAE,KAAK,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,yBAAyB,EAAE,CAAA;CAAE,CAiEpE;AAED,wBAAgB,WAAW,CACvB,cAAc,EAAE,WAAW,EAC3B,SAAS,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAC3C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,yBAAyB,GAClC,WAAW,CAiBb;AA4FD,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,GAC7B,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAIrC;AAED,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,OAEjE;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAKrF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,OAStE;AAyED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,aAE9F;AAsDD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,eAAe,EAAE,CA4BjH;AAED,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,cAyBzF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,WAmB7E;AAED,wBAAgB,UAAU,CACtB,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,GAClD,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,CAmC9D;AAsED,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,gBAAgB,EAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,GACrB,SAAS,CAQX;AAwFD,wBAAgB,mBAAmB,CAC/B,kBAAkB,EAAE,oBAAoB,EAAE,EAC1C,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,WAAW,0BAYvB;AAED,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,6BAA6B,CAAC,SAAS,CAAC,EACxD,MAAM,EAAE,SAAS,GAClB,WAAW,CAyBb;AAwBD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;;iBAkBhF;AAED,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,UAAU,SAkB1B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAIzF;AAED,KAAK,kBAAkB,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AACF,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AACF,KAAK,YAAY,GAAG,iBAAiB,CACjC,+BAA+B,GAAG,wBAAwB,GAAG,6BAA6B,CAC7F,CAAC;AACF,KAAK,aAAa,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;AACrE,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3F,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAc7F,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAM3F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,WAAW,CAIpE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,iBAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,WAEvE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAIhH;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,WAQtC"}
package/dist/utils.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ITEM_KEY = void 0;
3
4
  exports.wrapAnswerValue = wrapAnswerValue;
4
5
  exports.getBranchItems = getBranchItems;
5
6
  exports.calcContext = calcContext;
@@ -8,7 +9,7 @@ exports.getItemKey = getItemKey;
8
9
  exports.removeItemKey = removeItemKey;
9
10
  exports.populateItemKey = populateItemKey;
10
11
  exports.mapResponseToForm = mapResponseToForm;
11
- exports.findAnswersForQuestionsRecursive = findAnswersForQuestionsRecursive;
12
+ exports.findAnswersForQuestion = findAnswersForQuestion;
12
13
  exports.compareValue = compareValue;
13
14
  exports.isValueEqual = isValueEqual;
14
15
  exports.getChecker = getChecker;
@@ -23,6 +24,7 @@ exports.toFHIRAnswerValue = toFHIRAnswerValue;
23
24
  exports.getAnswerValueType = getAnswerValueType;
24
25
  exports.getAnswerValues = getAnswerValues;
25
26
  exports.isAnswerValueEmpty = isAnswerValueEmpty;
27
+ exports.cleanFormAnswerItems = cleanFormAnswerItems;
26
28
  exports.isValueEmpty = isValueEmpty;
27
29
  const tslib_1 = require("tslib");
28
30
  const fhirpath_1 = tslib_1.__importDefault(require("fhirpath"));
@@ -200,22 +202,24 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
200
202
  ];
201
203
  }, acc);
202
204
  }
205
+ const qrItemAnswers = cleanFormAnswerItems(answers).reduce((answersAcc, answer) => {
206
+ var _a;
207
+ const items = hasSubAnswerItems(answer.items)
208
+ ? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
209
+ : [];
210
+ return [
211
+ ...answersAcc,
212
+ Object.assign(Object.assign({}, toFHIRAnswerValue(answer.value, 'value')), (items.length ? { item: items } : {})),
213
+ ];
214
+ }, []);
215
+ if (!qrItemAnswers.length) {
216
+ return acc;
217
+ }
203
218
  return [
204
219
  ...acc,
205
220
  {
206
221
  linkId,
207
- answer: answers
208
- .filter((answer) => !isAnswerValueEmpty(answer.value))
209
- .reduce((answersAcc, answer) => {
210
- var _a;
211
- const items = hasSubAnswerItems(answer.items)
212
- ? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
213
- : [];
214
- return [
215
- ...answersAcc,
216
- Object.assign(Object.assign({}, toFHIRAnswerValue(answer.value, 'value')), (items.length ? { item: items } : {})),
217
- ];
218
- }, []),
222
+ answer: qrItemAnswers,
219
223
  },
220
224
  ];
221
225
  }, []);
@@ -226,20 +230,20 @@ function mapFormToResponse(values, questionnaire) {
226
230
  item: mapFormToResponseRecursive(values, (_a = questionnaire.item) !== null && _a !== void 0 ? _a : []),
227
231
  };
228
232
  }
229
- const ITEM_KEY = '_itemKey';
233
+ exports.ITEM_KEY = '_itemKey';
230
234
  function getItemKey(items) {
231
- return items[ITEM_KEY];
235
+ return items[exports.ITEM_KEY];
232
236
  }
233
237
  function removeItemKey(items) {
234
238
  const newItems = lodash_1.default.cloneDeep(items);
235
- delete newItems[ITEM_KEY];
239
+ delete newItems[exports.ITEM_KEY];
236
240
  return newItems;
237
241
  }
238
242
  function populateItemKey(items) {
239
- if (items[ITEM_KEY]) {
243
+ if (items[exports.ITEM_KEY]) {
240
244
  return items;
241
245
  }
242
- return Object.assign(Object.assign({}, items), { [ITEM_KEY]: (0, uuid_1.v4)() });
246
+ return Object.assign(Object.assign({}, items), { [exports.ITEM_KEY]: (0, uuid_1.v4)() });
243
247
  }
244
248
  function mapResponseToFormRecursive(questionnaireResponseItems, questionnaireItems) {
245
249
  return questionnaireItems.reduce((acc, question) => {
@@ -301,6 +305,8 @@ function mapResponseToForm(resource, questionnaire) {
301
305
  return mapResponseToFormRecursive((_a = resource.item) !== null && _a !== void 0 ? _a : [], (_b = questionnaire.item) !== null && _b !== void 0 ? _b : []);
302
306
  }
303
307
  function findAnswersForQuestionsRecursive(linkId, values) {
308
+ // TODO: specify types for returning value
309
+ // TODO: pass Questionnaire structure to make code robust
304
310
  if (values && lodash_1.default.has(values, linkId)) {
305
311
  return values[linkId];
306
312
  }
@@ -316,7 +322,7 @@ function findAnswersForQuestionsRecursive(linkId, values) {
316
322
  if (acc2) {
317
323
  return acc2;
318
324
  }
319
- return findAnswersForQuestionsRecursive(linkId, v2.items);
325
+ return findAnswersForQuestionsRecursive(linkId, v2 === null || v2 === void 0 ? void 0 : v2.items);
320
326
  }, null);
321
327
  }
322
328
  else if (lodash_1.default.isArray(v.items)) {
@@ -332,29 +338,36 @@ function findAnswersForQuestionsRecursive(linkId, values) {
332
338
  }
333
339
  }, null);
334
340
  }
341
+ // TODO: deprecate usage of this function because it relies on internals
342
+ // TODO: pass Questionnaire structure to make code robust, currently it uses isNaN that might work falsy when linkId is number
335
343
  function findAnswersForQuestion(linkId, parentPath, values) {
344
+ if (linkId === exports.ITEM_KEY) {
345
+ return [];
346
+ }
336
347
  const p = lodash_1.default.cloneDeep(parentPath);
337
348
  // Go up
338
349
  while (p.length) {
339
350
  const part = p.pop();
340
351
  // Find answers in parent groups (including repeatable)
341
352
  // They might have either 'items' of the group or number of the repeatable group in path
353
+ // TODO: using isNaN might return invalid value for linkId like '0'
342
354
  if (part === 'items' || !isNaN(part)) {
355
+ // TODO: specify type FormItems, and handle group's linkId
343
356
  const parentGroup = lodash_1.default.get(values, [...p, part]);
344
357
  if (typeof parentGroup === 'object' && linkId in parentGroup) {
345
- return parentGroup[linkId];
358
+ return cleanFormAnswerItems(parentGroup[linkId]);
346
359
  }
347
360
  }
348
361
  }
349
362
  // Go down
350
363
  const answers = findAnswersForQuestionsRecursive(linkId, values);
351
- return answers ? answers : [];
364
+ return answers ? cleanFormAnswerItems(answers) : [];
352
365
  }
353
366
  function compareValue(firstAnswerValue, secondAnswerValue) {
354
367
  const firstValueType = getAnswerValueType(firstAnswerValue);
355
368
  const secondValueType = getAnswerValueType(secondAnswerValue);
356
369
  if (firstValueType !== secondValueType) {
357
- throw new Error('Enable when must be used for the same type');
370
+ throw new Error(`Enable when must be used for the same type, first type is ${firstValueType}, second type is ${secondValueType}`);
358
371
  }
359
372
  if (!lodash_1.default.includes(FHIRPrimitiveTypes, firstValueType)) {
360
373
  throw new Error('Impossible to compare non-primitive type');
@@ -374,7 +387,7 @@ function isValueEqual(firstValue, secondValue) {
374
387
  const firstValueType = getAnswerValueType(firstValue);
375
388
  const secondValueType = getAnswerValueType(secondValue);
376
389
  if (firstValueType !== secondValueType) {
377
- console.error('Enable when must be used for the same type');
390
+ console.error(`Enable when must be used for the same type, first type is ${firstValueType}, second type is ${secondValueType}`);
378
391
  return false;
379
392
  }
380
393
  if (firstValueType === 'Coding') {
@@ -512,9 +525,7 @@ function removeDisabledAnswersRecursive(args) {
512
525
  }) }) });
513
526
  }
514
527
  }
515
- return Object.assign(Object.assign({}, acc), { [linkId]: answers
516
- .filter((answer) => !isAnswerValueEmpty(answer.value))
517
- .reduce((answersAcc, answer, index) => {
528
+ return Object.assign(Object.assign({}, acc), { [linkId]: cleanFormAnswerItems(answers).reduce((answersAcc, answer, index) => {
518
529
  var _a;
519
530
  const items = hasSubAnswerItems(answer.items)
520
531
  ? removeDisabledAnswersRecursive({
@@ -633,6 +644,11 @@ function getAnswerValues(answers) {
633
644
  function isAnswerValueEmpty(value) {
634
645
  return isValueEmpty(value) || lodash_1.default.every(lodash_1.default.mapValues(value, isValueEmpty));
635
646
  }
647
+ function cleanFormAnswerItems(answerItems) {
648
+ // TODO: answerItems might be any here, we use _.filter because it handles object and nulls.
649
+ // TODO: get rid of it, once we have right types for all other functions
650
+ return lodash_1.default.filter(answerItems, (answer) => !!answer).filter((answer) => !isAnswerValueEmpty(answer.value));
651
+ }
636
652
  function isValueEmpty(value) {
637
653
  if (lodash_1.default.isNaN(value)) {
638
654
  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.');
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sdc-qrf",
3
3
  "license": "MIT",
4
- "version": "1.0.0-beta.2",
4
+ "version": "1.0.0-beta.21",
5
5
  "scripts": {
6
6
  "test": "vitest --watch=false",
7
7
  "test:watch": "vitest --watch",
@@ -7,6 +7,7 @@ import fce_beverages from './resources/questionnaire_fce/beverages.json';
7
7
  import fce_choice_answer_option from './resources/questionnaire_fce/choice_answer_option.json';
8
8
  import fce_consent from './resources/questionnaire_fce/consent.json';
9
9
  import fce_constraint from './resources/questionnaire_fce/constraint.json';
10
+ import fce_answer_options_toggle_expression from './resources/questionnaire_fce/answerOptionsToggleExpression.json';
10
11
  import fce_cqf_examples from './resources/questionnaire_fce/cqf-examples.json';
11
12
  import fce_enable_when from './resources/questionnaire_fce/enable_when.json';
12
13
  import fce_encounter_create from './resources/questionnaire_fce/encounter_create.json';
@@ -28,12 +29,18 @@ import fce_source_queries from './resources/questionnaire_fce/source_queries.jso
28
29
  import fce_unit_option from './resources/questionnaire_fce/unit-option.json';
29
30
  import fce_vitals from './resources/questionnaire_fce/vitals.json';
30
31
  import fce_variable from './resources/questionnaire_fce/variable.json';
32
+ import fce_sub_questionnaire from './resources/questionnaire_fce/sub-questionnaire.json';
33
+ import fce_with_attachment_questionnaire from './resources/questionnaire_fce/with-attachment-question.json';
34
+ import fce_mixed_fce_with_extensions from './resources/questionnaire_fce/mixed-fce-with-extensions.json';
35
+ import fce_unknown_extensions from './resources/questionnaire_fce/unknown-extensions.json';
36
+ import fce_occurs from './resources/questionnaire_fce/occurs.json';
31
37
  // fhir questionnaire
32
38
  import fhir_allergies from './resources/questionnaire_fhir/allergies.json';
33
39
  import fhir_beverages from './resources/questionnaire_fhir/beverages.json';
34
40
  import fhir_choice_answer_option from './resources/questionnaire_fhir/choice_answer_option.json';
35
41
  import fhir_consent from './resources/questionnaire_fhir/consent.json';
36
42
  import fhir_constraint from './resources/questionnaire_fhir/constraint.json';
43
+ import fhir_answer_options_toggle_expression from './resources/questionnaire_fhir/answerOptionsToggleExpression.json';
37
44
  import fhir_cqf_examples from './resources/questionnaire_fhir/cqf-examples.json';
38
45
  import fhir_enable_when from './resources/questionnaire_fhir/enable_when.json';
39
46
  import fhir_encounter_create from './resources/questionnaire_fhir/encounter_create.json';
@@ -55,6 +62,12 @@ import fhir_source_queries from './resources/questionnaire_fhir/source_queries.j
55
62
  import fhir_unit_option from './resources/questionnaire_fhir/unit-option.json';
56
63
  import fhir_vitals from './resources/questionnaire_fhir/vitals.json';
57
64
  import fhir_variable from './resources/questionnaire_fhir/variable.json';
65
+ import fhir_sub_questionnaire from './resources/questionnaire_fhir/sub-questionnaire.json';
66
+ import fhir_with_attachment_questionnaire from './resources/questionnaire_fhir/with-attachment-question.json';
67
+ import fhir_mixed_fce_with_extensions from './resources/questionnaire_fhir/mixed-fce-with-extensions.json';
68
+ import fhir_unknown_extensions from './resources/questionnaire_fhir/unknown-extensions.json';
69
+ import fhir_occurs from './resources/questionnaire_fhir/occurs.json';
70
+
58
71
  import { FCEQuestionnaire } from '../../fce.types';
59
72
 
60
73
  import { toFirstClassExtension, fromFirstClassExtension } from '../../converter';
@@ -62,64 +75,85 @@ import { sortExtensionsList } from '../utils';
62
75
 
63
76
  describe('Questionanire and QuestionnaireResponses transformation', () => {
64
77
  test.each([
65
- [fhir_allergies, fce_allergies],
66
- [fhir_beverages, fce_beverages],
67
- [fhir_choice_answer_option, fce_choice_answer_option],
68
- [fhir_encounter_create, fce_encounter_create],
69
- [fhir_gad_7, fce_gad_7],
70
- [fhir_immunization, fce_immunization],
71
- [fhir_medication, fce_medication],
72
- [fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
73
- [fhir_patient_create, fce_patient_create],
74
- [fhir_patient_edit, fce_patient_edit],
75
- [fhir_phq_2_phq_9, fce_phq_2_phq_9],
76
- [fhir_physicalexam, fce_physicalexam],
77
- [fhir_practitioner_create, fce_practitioner_create],
78
- [fhir_practitioner_edit, fce_practitioner_edit],
79
- [fhir_practitioner_role_create, fce_practitioner_role_create],
80
- [fhir_public_appointment, fce_public_appointment],
81
- [fhir_review_of_systems, fce_review_of_systems],
82
- [fhir_source_queries, fce_source_queries],
83
- [fhir_vitals, fce_vitals],
84
- [fhir_practitioner_create_structure_map, fce_practitioner_create_structure_map],
85
- [fhir_consent, fce_consent],
86
- [fhir_enable_when, fce_enable_when],
87
- [fhir_cqf_examples, fce_cqf_examples],
88
- [fhir_constraint, fce_constraint],
89
- [fhir_unit_option, fce_unit_option],
90
- [fhir_variable, fce_variable],
91
- ])('Each FHIR Questionnaire should convert to FCE', async (fhir_questionnaire, fce_questionnaire) => {
78
+ ['allergies', fhir_allergies, fce_allergies],
79
+ ['beverages', fhir_beverages, fce_beverages],
80
+ ['choice-answer-option', fhir_choice_answer_option, fce_choice_answer_option],
81
+ ['encounter-create', fhir_encounter_create, fce_encounter_create],
82
+ ['gad-7', fhir_gad_7, fce_gad_7],
83
+ ['immunization', fhir_immunization, fce_immunization],
84
+ ['medication', fhir_medication, fce_medication],
85
+ ['multiple-type-launch-context', fhir_multiple_type_launch_context, fce_multiple_type_launch_context],
86
+ ['patient-create', fhir_patient_create, fce_patient_create],
87
+ ['patient-edit', fhir_patient_edit, fce_patient_edit],
88
+ ['phq-2-phq-9', fhir_phq_2_phq_9, fce_phq_2_phq_9],
89
+ ['physicalexam', fhir_physicalexam, fce_physicalexam],
90
+ ['practitioner-create', fhir_practitioner_create, fce_practitioner_create],
91
+ ['practitioner-edit', fhir_practitioner_edit, fce_practitioner_edit],
92
+ ['practitioner-role-create', fhir_practitioner_role_create, fce_practitioner_role_create],
93
+ ['public-appointment', fhir_public_appointment, fce_public_appointment],
94
+ ['review-of-systems', fhir_review_of_systems, fce_review_of_systems],
95
+ ['source-queries', fhir_source_queries, fce_source_queries],
96
+ ['vitals', fhir_vitals, fce_vitals],
97
+ [
98
+ 'practitioner-create-structure-map',
99
+ fhir_practitioner_create_structure_map,
100
+ fce_practitioner_create_structure_map,
101
+ ],
102
+ ['consent', fhir_consent, fce_consent],
103
+ ['enable-when', fhir_enable_when, fce_enable_when],
104
+ ['cqf-examples', fhir_cqf_examples, fce_cqf_examples],
105
+ ['constraint', fhir_constraint, fce_constraint],
106
+ ['answerOptionsToggleExpression', fhir_answer_options_toggle_expression, fce_answer_options_toggle_expression],
107
+ ['unit-option', fhir_unit_option, fce_unit_option],
108
+ ['variable', fhir_variable, fce_variable],
109
+ ['sub-questionnaire', fhir_sub_questionnaire, fce_sub_questionnaire],
110
+ ['with-attachment-questionnaire', fhir_with_attachment_questionnaire, fce_with_attachment_questionnaire],
111
+ // NOTE: this following is not included here because it's example of mixed FCE + extensions, it is only for FCE -> FHIR
112
+ // ['mixed-fce-with-extensions', fhir_mixed_fce_with_extensions, fce_mixed_fce_with_extensions],
113
+ ['unknown-extensions', fhir_unknown_extensions, fce_unknown_extensions],
114
+ ['occurs', fhir_occurs, fce_occurs],
115
+ ])('Each FHIR Questionnaire should convert to FCE %s', async (_, fhir_questionnaire, fce_questionnaire) => {
92
116
  expect(toFirstClassExtension(fhir_questionnaire as FHIRQuestionnaire)).toStrictEqual(fce_questionnaire);
93
117
  });
94
118
 
95
119
  test.each([
96
- [fce_allergies, fhir_allergies],
97
- [fce_beverages, fhir_beverages],
98
- [fce_choice_answer_option, fhir_choice_answer_option],
99
- [fce_encounter_create, fhir_encounter_create],
100
- [fce_gad_7, fhir_gad_7],
101
- [fce_immunization, fhir_immunization],
102
- [fce_medication, fhir_medication],
103
- [fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
104
- [fce_patient_create, fhir_patient_create],
105
- [fce_patient_edit, fhir_patient_edit],
106
- [fce_phq_2_phq_9, fhir_phq_2_phq_9],
107
- [fce_physicalexam, fhir_physicalexam],
108
- [fce_practitioner_create, fhir_practitioner_create],
109
- [fce_practitioner_edit, fhir_practitioner_edit],
110
- [fce_practitioner_role_create, fhir_practitioner_role_create],
111
- [fce_public_appointment, fhir_public_appointment],
112
- [fce_review_of_systems, fhir_review_of_systems],
113
- [fce_source_queries, fhir_source_queries],
114
- [fce_vitals, fhir_vitals],
115
- [fce_practitioner_create_structure_map, fhir_practitioner_create_structure_map],
116
- [fce_consent, fhir_consent],
117
- [fce_enable_when, fhir_enable_when],
118
- [fce_cqf_examples, fhir_cqf_examples],
119
- [fce_constraint, fhir_constraint],
120
- [fce_unit_option, fhir_unit_option],
121
- [fce_variable, fhir_variable],
122
- ])('Each FCE Questionnaire should convert to FHIR', async (fce_questionnaire, fhir_questionnaire) => {
120
+ ['allergies', fce_allergies, fhir_allergies],
121
+ ['beverages', fce_beverages, fhir_beverages],
122
+ ['choice-answer-option', fce_choice_answer_option, fhir_choice_answer_option],
123
+ ['encounter-create', fce_encounter_create, fhir_encounter_create],
124
+ ['gad-7', fce_gad_7, fhir_gad_7],
125
+ ['immunization', fce_immunization, fhir_immunization],
126
+ ['medication', fce_medication, fhir_medication],
127
+ ['multiple-type-launch-context', fce_multiple_type_launch_context, fhir_multiple_type_launch_context],
128
+ ['patient-create', fce_patient_create, fhir_patient_create],
129
+ ['patient-edit', fce_patient_edit, fhir_patient_edit],
130
+ ['phq-2-phq-9', fce_phq_2_phq_9, fhir_phq_2_phq_9],
131
+ ['physicalexam', fce_physicalexam, fhir_physicalexam],
132
+ ['practitioner-create', fce_practitioner_create, fhir_practitioner_create],
133
+ ['practitioner-edit', fce_practitioner_edit, fhir_practitioner_edit],
134
+ ['practitioner-role-create', fce_practitioner_role_create, fhir_practitioner_role_create],
135
+ ['public-appointment', fce_public_appointment, fhir_public_appointment],
136
+ ['review-of-systems', fce_review_of_systems, fhir_review_of_systems],
137
+ ['source-queries', fce_source_queries, fhir_source_queries],
138
+ ['vitals', fce_vitals, fhir_vitals],
139
+ [
140
+ 'practitioner-create-structure-map',
141
+ fce_practitioner_create_structure_map,
142
+ fhir_practitioner_create_structure_map,
143
+ ],
144
+ ['consent', fce_consent, fhir_consent],
145
+ ['enable-when', fce_enable_when, fhir_enable_when],
146
+ ['cqf-examples', fce_cqf_examples, fhir_cqf_examples],
147
+ ['constraint', fce_constraint, fhir_constraint],
148
+ ['answerOptionsToggleExpression', fce_answer_options_toggle_expression, fhir_answer_options_toggle_expression],
149
+ ['unit-option', fce_unit_option, fhir_unit_option],
150
+ ['variable', fce_variable, fhir_variable],
151
+ ['sub-questionnaire', fce_sub_questionnaire, fhir_sub_questionnaire],
152
+ ['with-attachment-questionnaire', fce_with_attachment_questionnaire, fhir_with_attachment_questionnaire],
153
+ ['mixed-fce-with-extensions', fce_mixed_fce_with_extensions, fhir_mixed_fce_with_extensions],
154
+ ['unknown-extensions', fce_unknown_extensions, fhir_unknown_extensions],
155
+ ['occurs', fce_occurs, fhir_occurs],
156
+ ])('Each FCE Questionnaire should convert to FHIR %s', async (_, fce_questionnaire, fhir_questionnaire) => {
123
157
  expect(sortExtensionsList(fromFirstClassExtension(fce_questionnaire as FCEQuestionnaire))).toStrictEqual(
124
158
  sortExtensionsList(fhir_questionnaire),
125
159
  );
@@ -0,0 +1,84 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "id": "answerOptionsToggleExpression",
4
+ "meta": {
5
+ "profile": [
6
+ "https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
7
+ ]
8
+ },
9
+ "status": "active",
10
+ "item": [
11
+ {
12
+ "type": "choice",
13
+ "linkId": "answerOptions",
14
+ "answerOption": [
15
+ {
16
+ "valueCoding": {
17
+ "code": "code-1",
18
+ "display": "display-1"
19
+ }
20
+ },
21
+ {
22
+ "valueCoding": {
23
+ "code": "code-2",
24
+ "display": "display-2"
25
+ }
26
+ },
27
+ {
28
+ "valueCoding": {
29
+ "code": "code-3",
30
+ "display": "display-3"
31
+ }
32
+ },
33
+ {
34
+ "valueCoding": {
35
+ "code": "code-4",
36
+ "display": "display-4"
37
+ }
38
+ }
39
+ ],
40
+ "answerOptionsToggleExpression": [
41
+ {
42
+ "option": [
43
+ {
44
+ "valueCoding": {
45
+ "code": "code-1",
46
+ "display": "display-1"
47
+ }
48
+ },
49
+ {
50
+ "valueCoding": {
51
+ "code": "code-2",
52
+ "display": "display-2"
53
+ }
54
+ }
55
+ ],
56
+ "expression": {
57
+ "language": "text/fhirpath",
58
+ "expression": "1 = 1"
59
+ }
60
+ },
61
+ {
62
+ "option": [
63
+ {
64
+ "valueCoding": {
65
+ "code": "code-3",
66
+ "display": "display-3"
67
+ }
68
+ },
69
+ {
70
+ "valueCoding": {
71
+ "code": "code-4",
72
+ "display": "display-4"
73
+ }
74
+ }
75
+ ],
76
+ "expression": {
77
+ "language": "text/fhirpath",
78
+ "expression": "1 != 1"
79
+ }
80
+ }
81
+ ]
82
+ }
83
+ ]
84
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "id": "fce-with-extensions",
4
+ "meta": {
5
+ "profile": [
6
+ "https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"
7
+ ]
8
+ },
9
+ "status": "active",
10
+ "item": [
11
+ {
12
+ "type": "string",
13
+ "linkId": "question",
14
+ "entryFormat": "This is FCE",
15
+ "extension": [
16
+ {
17
+ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
18
+ "valueExpression": {
19
+ "language": "text/fhirpath",
20
+ "expression": "'This is extension'"
21
+ }
22
+ }
23
+ ]
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "resourceType": "Questionnaire",
3
+ "id": "occurs",
4
+ "meta": {
5
+ "profile": ["https://emr-core.beda.software/StructureDefinition/fhir-emr-questionnaire"]
6
+ },
7
+ "status": "active",
8
+ "item": [
9
+ {
10
+ "type": "number",
11
+ "linkId": "number",
12
+ "minOccurs": 1,
13
+ "maxOccurs": 2
14
+ }
15
+ ]
16
+ }