sdc-qrf 0.2.0 → 0.3.1

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 (176) hide show
  1. package/lib/components.d.ts +3 -3
  2. package/lib/components.js +12 -12
  3. package/lib/components.js.map +1 -1
  4. package/lib/context.d.ts +0 -1
  5. package/lib/converter/extensions.d.ts +35 -0
  6. package/lib/converter/extensions.js +128 -0
  7. package/lib/converter/extensions.js.map +1 -0
  8. package/lib/converter/fceToFhir/index.d.ts +4 -0
  9. package/lib/converter/fceToFhir/index.js +15 -0
  10. package/lib/converter/fceToFhir/index.js.map +1 -0
  11. package/lib/converter/fceToFhir/questionnaire/index.d.ts +3 -0
  12. package/lib/converter/fceToFhir/questionnaire/index.js +17 -0
  13. package/lib/converter/fceToFhir/questionnaire/index.js.map +1 -0
  14. package/lib/converter/fceToFhir/questionnaire/processExtensions.d.ts +3 -0
  15. package/lib/converter/fceToFhir/questionnaire/processExtensions.js +61 -0
  16. package/lib/converter/fceToFhir/questionnaire/processExtensions.js.map +1 -0
  17. package/lib/converter/fceToFhir/questionnaire/processItems.d.ts +3 -0
  18. package/lib/converter/fceToFhir/questionnaire/processItems.js +144 -0
  19. package/lib/converter/fceToFhir/questionnaire/processItems.js.map +1 -0
  20. package/lib/converter/fceToFhir/questionnaire/processMeta.d.ts +3 -0
  21. package/lib/converter/fceToFhir/questionnaire/processMeta.js +20 -0
  22. package/lib/converter/fceToFhir/questionnaire/processMeta.js.map +1 -0
  23. package/lib/converter/fceToFhir/questionnaireResponse/index.d.ts +3 -0
  24. package/lib/converter/fceToFhir/questionnaireResponse/index.js +20 -0
  25. package/lib/converter/fceToFhir/questionnaireResponse/index.js.map +1 -0
  26. package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.d.ts +2 -0
  27. package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.js +48 -0
  28. package/lib/converter/fceToFhir/questionnaireResponse/processAnswers.js.map +1 -0
  29. package/lib/converter/fceToFhir/questionnaireResponse/processMeta.d.ts +3 -0
  30. package/lib/converter/fceToFhir/questionnaireResponse/processMeta.js +18 -0
  31. package/lib/converter/fceToFhir/questionnaireResponse/processMeta.js.map +1 -0
  32. package/lib/converter/fceToFhir/questionnaireResponse/processReference.d.ts +3 -0
  33. package/lib/converter/fceToFhir/questionnaireResponse/processReference.js +19 -0
  34. package/lib/converter/fceToFhir/questionnaireResponse/processReference.js.map +1 -0
  35. package/lib/converter/fhirToFce/index.d.ts +4 -0
  36. package/lib/converter/fhirToFce/index.js +15 -0
  37. package/lib/converter/fhirToFce/index.js.map +1 -0
  38. package/lib/converter/fhirToFce/questionnaire/index.d.ts +3 -0
  39. package/lib/converter/fhirToFce/questionnaire/index.js +21 -0
  40. package/lib/converter/fhirToFce/questionnaire/index.js.map +1 -0
  41. package/lib/converter/fhirToFce/questionnaire/processExtensions.d.ts +8 -0
  42. package/lib/converter/fhirToFce/questionnaire/processExtensions.js +89 -0
  43. package/lib/converter/fhirToFce/questionnaire/processExtensions.js.map +1 -0
  44. package/lib/converter/fhirToFce/questionnaire/processItems.d.ts +3 -0
  45. package/lib/converter/fhirToFce/questionnaire/processItems.js +131 -0
  46. package/lib/converter/fhirToFce/questionnaire/processItems.js.map +1 -0
  47. package/lib/converter/fhirToFce/questionnaire/processMeta.d.ts +32 -0
  48. package/lib/converter/fhirToFce/questionnaire/processMeta.js +14 -0
  49. package/lib/converter/fhirToFce/questionnaire/processMeta.js.map +1 -0
  50. package/lib/converter/fhirToFce/questionnaireResponse/index.d.ts +3 -0
  51. package/lib/converter/fhirToFce/questionnaireResponse/index.js +20 -0
  52. package/lib/converter/fhirToFce/questionnaireResponse/index.js.map +1 -0
  53. package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.d.ts +2 -0
  54. package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.js +46 -0
  55. package/lib/converter/fhirToFce/questionnaireResponse/processAnswers.js.map +1 -0
  56. package/lib/converter/fhirToFce/questionnaireResponse/processMeta.d.ts +3 -0
  57. package/lib/converter/fhirToFce/questionnaireResponse/processMeta.js +15 -0
  58. package/lib/converter/fhirToFce/questionnaireResponse/processMeta.js.map +1 -0
  59. package/lib/converter/fhirToFce/questionnaireResponse/processReference.d.ts +3 -0
  60. package/lib/converter/fhirToFce/questionnaireResponse/processReference.js +18 -0
  61. package/lib/converter/fhirToFce/questionnaireResponse/processReference.js.map +1 -0
  62. package/lib/converter/fhirToFce/utils.d.ts +3 -0
  63. package/lib/converter/fhirToFce/utils.js +37 -0
  64. package/lib/converter/fhirToFce/utils.js.map +1 -0
  65. package/lib/converter/index.d.ts +12 -0
  66. package/lib/converter/index.js +84 -0
  67. package/lib/converter/index.js.map +1 -0
  68. package/lib/index.d.ts +1 -0
  69. package/lib/index.js +1 -0
  70. package/lib/index.js.map +1 -1
  71. package/lib/setupTests.d.ts +1 -0
  72. package/lib/setupTests.js +4 -0
  73. package/lib/setupTests.js.map +1 -0
  74. package/lib/types.d.ts +10 -10
  75. package/lib/utils.d.ts +4 -1
  76. package/lib/utils.js +9 -2
  77. package/lib/utils.js.map +1 -1
  78. package/package.json +4 -5
  79. package/src/components.tsx +12 -12
  80. package/src/converter/__tests__/fce.test.ts +224 -0
  81. package/src/converter/__tests__/resources/questionnaire_fce/allergies.json +405 -0
  82. package/src/converter/__tests__/resources/questionnaire_fce/beverages.json +72 -0
  83. package/src/converter/__tests__/resources/questionnaire_fce/choice_answer_option.json +53 -0
  84. package/src/converter/__tests__/resources/questionnaire_fce/consent.json +86 -0
  85. package/src/converter/__tests__/resources/questionnaire_fce/enable_when.json +103 -0
  86. package/src/converter/__tests__/resources/questionnaire_fce/encounter_create.json +126 -0
  87. package/src/converter/__tests__/resources/questionnaire_fce/gad_7.json +459 -0
  88. package/src/converter/__tests__/resources/questionnaire_fce/immunization.json +182 -0
  89. package/src/converter/__tests__/resources/questionnaire_fce/medication.json +189 -0
  90. package/src/converter/__tests__/resources/questionnaire_fce/multiple_type_launch_context.json +406 -0
  91. package/src/converter/__tests__/resources/questionnaire_fce/patient_create.json +84 -0
  92. package/src/converter/__tests__/resources/questionnaire_fce/patient_edit.json +125 -0
  93. package/src/converter/__tests__/resources/questionnaire_fce/phq_2_phq_9.json +552 -0
  94. package/src/converter/__tests__/resources/questionnaire_fce/physicalexam.json +385 -0
  95. package/src/converter/__tests__/resources/questionnaire_fce/practitioner_create.json +90 -0
  96. package/src/converter/__tests__/resources/questionnaire_fce/practitioner_create_structure_map.json +91 -0
  97. package/src/converter/__tests__/resources/questionnaire_fce/practitioner_edit.json +144 -0
  98. package/src/converter/__tests__/resources/questionnaire_fce/practitioner_role_create.json +37 -0
  99. package/src/converter/__tests__/resources/questionnaire_fce/public_appointment.json +91 -0
  100. package/src/converter/__tests__/resources/questionnaire_fce/review_of_systems.json +389 -0
  101. package/src/converter/__tests__/resources/questionnaire_fce/source_queries.json +34 -0
  102. package/src/converter/__tests__/resources/questionnaire_fce/vitals.json +234 -0
  103. package/src/converter/__tests__/resources/questionnaire_fhir/allergies.json +433 -0
  104. package/src/converter/__tests__/resources/questionnaire_fhir/beverages.json +99 -0
  105. package/src/converter/__tests__/resources/questionnaire_fhir/choice_answer_option.json +49 -0
  106. package/src/converter/__tests__/resources/questionnaire_fhir/consent.json +119 -0
  107. package/src/converter/__tests__/resources/questionnaire_fhir/enable_when.json +87 -0
  108. package/src/converter/__tests__/resources/questionnaire_fhir/encounter_create.json +171 -0
  109. package/src/converter/__tests__/resources/questionnaire_fhir/gad_7.json +489 -0
  110. package/src/converter/__tests__/resources/questionnaire_fhir/immunization.json +215 -0
  111. package/src/converter/__tests__/resources/questionnaire_fhir/medication.json +226 -0
  112. package/src/converter/__tests__/resources/questionnaire_fhir/multiple_type_launch_context.json +416 -0
  113. package/src/converter/__tests__/resources/questionnaire_fhir/patient_create.json +97 -0
  114. package/src/converter/__tests__/resources/questionnaire_fhir/patient_edit.json +183 -0
  115. package/src/converter/__tests__/resources/questionnaire_fhir/phq_2_phq_9.json +580 -0
  116. package/src/converter/__tests__/resources/questionnaire_fhir/physicalexam.json +544 -0
  117. package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_create.json +87 -0
  118. package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_create_structure_map.json +91 -0
  119. package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_edit.json +193 -0
  120. package/src/converter/__tests__/resources/questionnaire_fhir/practitioner_role_create.json +44 -0
  121. package/src/converter/__tests__/resources/questionnaire_fhir/public_appointment.json +116 -0
  122. package/src/converter/__tests__/resources/questionnaire_fhir/review_of_systems.json +368 -0
  123. package/src/converter/__tests__/resources/questionnaire_fhir/source_queries.json +37 -0
  124. package/src/converter/__tests__/resources/questionnaire_fhir/vitals.json +317 -0
  125. package/src/converter/__tests__/resources/questionnaire_response_fce/allergies_inprogress.json +78 -0
  126. package/src/converter/__tests__/resources/questionnaire_response_fce/cardiology.json +96 -0
  127. package/src/converter/__tests__/resources/questionnaire_response_fce/few_answers.json +48 -0
  128. package/src/converter/__tests__/resources/questionnaire_response_fce/gad_7.json +165 -0
  129. package/src/converter/__tests__/resources/questionnaire_response_fce/immunization.json +86 -0
  130. package/src/converter/__tests__/resources/questionnaire_response_fce/medication.json +116 -0
  131. package/src/converter/__tests__/resources/questionnaire_response_fce/new_appointment.json +96 -0
  132. package/src/converter/__tests__/resources/questionnaire_response_fce/patient.json +87 -0
  133. package/src/converter/__tests__/resources/questionnaire_response_fce/phq_2_phq_9.json +193 -0
  134. package/src/converter/__tests__/resources/questionnaire_response_fce/physicalexam.json +187 -0
  135. package/src/converter/__tests__/resources/questionnaire_response_fce/practitioner.json +57 -0
  136. package/src/converter/__tests__/resources/questionnaire_response_fce/reference_answer_with_assoc.json +147 -0
  137. package/src/converter/__tests__/resources/questionnaire_response_fce/review_of_systems.json +129 -0
  138. package/src/converter/__tests__/resources/questionnaire_response_fce/vitals.json +168 -0
  139. package/src/converter/__tests__/resources/questionnaire_response_fhir/allergies_inprogress.json +73 -0
  140. package/src/converter/__tests__/resources/questionnaire_response_fhir/cardiology.json +87 -0
  141. package/src/converter/__tests__/resources/questionnaire_response_fhir/few_answers.json +46 -0
  142. package/src/converter/__tests__/resources/questionnaire_response_fhir/gad_7.json +146 -0
  143. package/src/converter/__tests__/resources/questionnaire_response_fhir/immunization.json +77 -0
  144. package/src/converter/__tests__/resources/questionnaire_response_fhir/medication.json +101 -0
  145. package/src/converter/__tests__/resources/questionnaire_response_fhir/new_appointment.json +86 -0
  146. package/src/converter/__tests__/resources/questionnaire_response_fhir/patient.json +78 -0
  147. package/src/converter/__tests__/resources/questionnaire_response_fhir/phq_2_phq_9.json +170 -0
  148. package/src/converter/__tests__/resources/questionnaire_response_fhir/physicalexam.json +158 -0
  149. package/src/converter/__tests__/resources/questionnaire_response_fhir/practitioner.json +54 -0
  150. package/src/converter/__tests__/resources/questionnaire_response_fhir/reference_answer_with_assoc.json +86 -0
  151. package/src/converter/__tests__/resources/questionnaire_response_fhir/review_of_systems.json +118 -0
  152. package/src/converter/__tests__/resources/questionnaire_response_fhir/vitals.json +145 -0
  153. package/src/converter/extensions.ts +149 -0
  154. package/src/converter/fceToFhir/index.ts +27 -0
  155. package/src/converter/fceToFhir/questionnaire/index.ts +15 -0
  156. package/src/converter/fceToFhir/questionnaire/processExtensions.ts +75 -0
  157. package/src/converter/fceToFhir/questionnaire/processItems.ts +194 -0
  158. package/src/converter/fceToFhir/questionnaire/processMeta.ts +19 -0
  159. package/src/converter/fceToFhir/questionnaireResponse/index.ts +21 -0
  160. package/src/converter/fceToFhir/questionnaireResponse/processAnswers.ts +53 -0
  161. package/src/converter/fceToFhir/questionnaireResponse/processMeta.ts +16 -0
  162. package/src/converter/fceToFhir/questionnaireResponse/processReference.ts +24 -0
  163. package/src/converter/fhirToFce/index.ts +27 -0
  164. package/src/converter/fhirToFce/questionnaire/index.ts +25 -0
  165. package/src/converter/fhirToFce/questionnaire/processExtensions.ts +113 -0
  166. package/src/converter/fhirToFce/questionnaire/processItems.ts +159 -0
  167. package/src/converter/fhirToFce/questionnaire/processMeta.ts +17 -0
  168. package/src/converter/fhirToFce/questionnaireResponse/index.ts +21 -0
  169. package/src/converter/fhirToFce/questionnaireResponse/processAnswers.ts +53 -0
  170. package/src/converter/fhirToFce/questionnaireResponse/processMeta.ts +14 -0
  171. package/src/converter/fhirToFce/questionnaireResponse/processReference.ts +20 -0
  172. package/src/converter/fhirToFce/utils.ts +36 -0
  173. package/src/converter/index.ts +106 -0
  174. package/src/index.ts +1 -0
  175. package/src/setupTests.ts +1 -0
  176. package/src/utils.ts +13 -2
@@ -1,8 +1,8 @@
1
1
  import { ReactChild } from 'react';
2
2
  import { QRFContextData, QuestionItemProps, QuestionItemsProps } from './types';
3
3
  export declare function usePreviousValue<T = any>(value: T): T | undefined;
4
- export declare function QuestionItems(props: QuestionItemsProps): JSX.Element;
5
- export declare function QuestionItem(props: QuestionItemProps): JSX.Element | null;
4
+ export declare function QuestionItems(props: QuestionItemsProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuestionItem(props: QuestionItemProps): import("react/jsx-runtime").JSX.Element | null;
6
6
  export declare function QuestionnaireResponseFormProvider({ children, ...props }: QRFContextData & {
7
7
  children: ReactChild;
8
- }): JSX.Element;
8
+ }): import("react/jsx-runtime").JSX.Element;
package/lib/components.js CHANGED
@@ -6,7 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const fhirpath_1 = tslib_1.__importDefault(require("fhirpath"));
7
7
  const lodash_1 = tslib_1.__importDefault(require("lodash"));
8
8
  const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
9
- const react_1 = require("react");
9
+ const react_1 = tslib_1.__importStar(require("react"));
10
10
  const _1 = require(".");
11
11
  const context_1 = require("./context");
12
12
  const utils_1 = require("./utils");
@@ -24,13 +24,12 @@ exports.usePreviousValue = usePreviousValue;
24
24
  function QuestionItems(props) {
25
25
  const { questionItems, parentPath, context } = props;
26
26
  const { formValues } = (0, _1.useQuestionnaireResponseFormContext)();
27
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, utils_1.getEnabledQuestions)(questionItems, parentPath, formValues, context).map((item, index) => {
27
+ return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, utils_1.getEnabledQuestions)(questionItems, parentPath, formValues, context).map((item, index) => {
28
28
  return ((0, jsx_runtime_1.jsx)(QuestionItem, { questionItem: item, context: context, parentPath: parentPath }, index));
29
29
  }) }));
30
30
  }
31
31
  exports.QuestionItems = QuestionItems;
32
32
  function QuestionItem(props) {
33
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
34
33
  const { questionItem, context: initialContext, parentPath } = props;
35
34
  const { questionItemComponents, customWidgets, groupItemComponent, itemControlQuestionItemComponents, itemControlGroupItemComponents, } = (0, react_1.useContext)(context_1.QRFContext);
36
35
  const { formValues, setFormValues } = (0, _1.useQuestionnaireResponseFormContext)();
@@ -73,13 +72,14 @@ function QuestionItem(props) {
73
72
  if (isGroupItem(questionItem, context)) {
74
73
  if (itemControl) {
75
74
  if (!itemControlGroupItemComponents ||
76
- !itemControlGroupItemComponents[(_b = (_a = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.code]) {
77
- console.warn(`QRF: Unsupported group itemControl '${(_d = (_c = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.code}'.
78
- Please define 'itemControlGroupWidgets' for '${(_f = (_e = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.code}'`);
75
+ !itemControlGroupItemComponents[itemControl.coding[0].code]) {
76
+ console.warn(`QRF: Unsupported group itemControl '${itemControl.coding[0]
77
+ .code}'.
78
+ Please define 'itemControlGroupWidgets' for '${itemControl.coding[0].code}'`);
79
79
  const DefaultComponent = groupItemComponent;
80
80
  return DefaultComponent ? ((0, jsx_runtime_1.jsx)(DefaultComponent, { context: context, parentPath: parentPath, questionItem: questionItem })) : null;
81
81
  }
82
- const Component = itemControlGroupItemComponents[(_h = (_g = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.code];
82
+ const Component = itemControlGroupItemComponents[itemControl.coding[0].code];
83
83
  return ((0, jsx_runtime_1.jsx)(Component, { context: context, parentPath: parentPath, questionItem: questionItem }));
84
84
  }
85
85
  if (!groupItemComponent) {
@@ -91,13 +91,13 @@ function QuestionItem(props) {
91
91
  }
92
92
  if (itemControl) {
93
93
  if (!itemControlQuestionItemComponents ||
94
- !itemControlQuestionItemComponents[(_k = (_j = itemControl.coding) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.code]) {
95
- console.warn(`QRF: Unsupported itemControl '${(_m = (_l = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.code}'.
96
- Please define 'itemControlWidgets' for '${(_p = (_o = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _o === void 0 ? void 0 : _o[0]) === null || _p === void 0 ? void 0 : _p.code}'`);
94
+ !itemControlQuestionItemComponents[itemControl.coding[0].code]) {
95
+ console.warn(`QRF: Unsupported itemControl '${itemControl.coding[0].code}'.
96
+ Please define 'itemControlWidgets' for '${itemControl.coding[0].code}'`);
97
97
  const DefaultComponent = questionItemComponents[questionItem.type];
98
98
  return DefaultComponent ? ((0, jsx_runtime_1.jsx)(DefaultComponent, { context: context, parentPath: parentPath, questionItem: questionItem })) : null;
99
99
  }
100
- const Component = itemControlQuestionItemComponents[(_r = (_q = itemControl === null || itemControl === void 0 ? void 0 : itemControl.coding) === null || _q === void 0 ? void 0 : _q[0]) === null || _r === void 0 ? void 0 : _r.code];
100
+ const Component = itemControlQuestionItemComponents[itemControl.coding[0].code];
101
101
  return (0, jsx_runtime_1.jsx)(Component, { context: context, parentPath: parentPath, questionItem: questionItem });
102
102
  }
103
103
  // TODO: deprecate!
@@ -120,7 +120,7 @@ Please define 'itemControlWidgets' for '${(_p = (_o = itemControl === null || it
120
120
  exports.QuestionItem = QuestionItem;
121
121
  function QuestionnaireResponseFormProvider(_a) {
122
122
  var { children } = _a, props = tslib_1.__rest(_a, ["children"]);
123
- return (0, jsx_runtime_1.jsx)(context_1.QRFContext.Provider, Object.assign({ value: props }, { children: children }));
123
+ return (0, jsx_runtime_1.jsx)(context_1.QRFContext.Provider, { value: props, children: children });
124
124
  }
125
125
  exports.QuestionnaireResponseFormProvider = QuestionnaireResponseFormProvider;
126
126
  /* Helper that resolves right context type */
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"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"}
package/lib/context.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { QRFContextData } from './types';
3
2
  export declare const QRFContext: import("react").Context<QRFContextData>;
@@ -0,0 +1,35 @@
1
+ import { Extension as FHIRExtension } from 'fhir/r4b';
2
+ import { QuestionnaireItem as FCEQuestionnaireItem } from 'shared/src/contrib/aidbox';
3
+ export declare enum ExtensionIdentifier {
4
+ Hidden = "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden",
5
+ ItemControl = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl",
6
+ SliderStepValue = "http://hl7.org/fhir/StructureDefinition/questionnaire-sliderStepValue",
7
+ Unit = "http://hl7.org/fhir/StructureDefinition/questionnaire-unit",
8
+ ReferenceResource = "http://hl7.org/fhir/StructureDefinition/questionnaire-referenceResource",
9
+ ItemPopulationContext = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext",
10
+ InitialExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression",
11
+ ChoiceColumn = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-choiceColumn",
12
+ CalculatedExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression",
13
+ EnableWhenExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression",
14
+ AnswerExpression = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression",
15
+ AdjustLastToRight = "https://beda.software/fhir-emr-questionnaire/adjust-last-to-right",
16
+ SliderStart = "https://beda.software/fhir-emr-questionnaire/slider-start",
17
+ SliderStop = "https://beda.software/fhir-emr-questionnaire/slider-stop",
18
+ HelpText = "https://beda.software/fhir-emr-questionnaire/help-text",
19
+ StopLabel = "https://beda.software/fhir-emr-questionnaire/slider-stop-label",
20
+ Macro = "https://beda.software/fhir-emr-questionnaire/macro"
21
+ }
22
+ export type ExtensionTransformer = {
23
+ [key in ExtensionIdentifier]: {
24
+ transform: {
25
+ fromExtension: (extension: FHIRExtension) => Partial<FCEQuestionnaireItem> | undefined;
26
+ toExtension: (item: FCEQuestionnaireItem) => FHIRExtension | undefined;
27
+ };
28
+ } | {
29
+ path: {
30
+ extension: keyof FHIRExtension;
31
+ questionnaire: keyof FCEQuestionnaireItem;
32
+ };
33
+ };
34
+ };
35
+ export declare const extensionTransformers: ExtensionTransformer;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extensionTransformers = exports.ExtensionIdentifier = void 0;
4
+ var ExtensionIdentifier;
5
+ (function (ExtensionIdentifier) {
6
+ ExtensionIdentifier["Hidden"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden";
7
+ ExtensionIdentifier["ItemControl"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl";
8
+ ExtensionIdentifier["SliderStepValue"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-sliderStepValue";
9
+ ExtensionIdentifier["Unit"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-unit";
10
+ ExtensionIdentifier["ReferenceResource"] = "http://hl7.org/fhir/StructureDefinition/questionnaire-referenceResource";
11
+ ExtensionIdentifier["ItemPopulationContext"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext";
12
+ ExtensionIdentifier["InitialExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression";
13
+ ExtensionIdentifier["ChoiceColumn"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-choiceColumn";
14
+ ExtensionIdentifier["CalculatedExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression";
15
+ ExtensionIdentifier["EnableWhenExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression";
16
+ ExtensionIdentifier["AnswerExpression"] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression";
17
+ ExtensionIdentifier["AdjustLastToRight"] = "https://beda.software/fhir-emr-questionnaire/adjust-last-to-right";
18
+ ExtensionIdentifier["SliderStart"] = "https://beda.software/fhir-emr-questionnaire/slider-start";
19
+ ExtensionIdentifier["SliderStop"] = "https://beda.software/fhir-emr-questionnaire/slider-stop";
20
+ ExtensionIdentifier["HelpText"] = "https://beda.software/fhir-emr-questionnaire/help-text";
21
+ ExtensionIdentifier["StopLabel"] = "https://beda.software/fhir-emr-questionnaire/slider-stop-label";
22
+ ExtensionIdentifier["Macro"] = "https://beda.software/fhir-emr-questionnaire/macro";
23
+ })(ExtensionIdentifier || (exports.ExtensionIdentifier = ExtensionIdentifier = {}));
24
+ exports.extensionTransformers = {
25
+ [ExtensionIdentifier.Hidden]: {
26
+ path: { extension: 'valueBoolean', questionnaire: 'hidden' },
27
+ },
28
+ [ExtensionIdentifier.ItemControl]: {
29
+ path: { extension: 'valueCodeableConcept', questionnaire: 'itemControl' },
30
+ },
31
+ [ExtensionIdentifier.SliderStepValue]: {
32
+ path: { extension: 'valueInteger', questionnaire: 'sliderStepValue' },
33
+ },
34
+ [ExtensionIdentifier.Unit]: {
35
+ path: { extension: 'valueCoding', questionnaire: 'unit' },
36
+ },
37
+ [ExtensionIdentifier.ReferenceResource]: {
38
+ transform: {
39
+ fromExtension: (extension) => {
40
+ if (extension.valueCode) {
41
+ return { referenceResource: [extension.valueCode] };
42
+ }
43
+ else {
44
+ return {};
45
+ }
46
+ },
47
+ toExtension: (item) => {
48
+ var _a;
49
+ if ((_a = item.referenceResource) === null || _a === void 0 ? void 0 : _a.length) {
50
+ return {
51
+ url: ExtensionIdentifier.ReferenceResource,
52
+ valueCode: item.referenceResource[0],
53
+ };
54
+ }
55
+ },
56
+ },
57
+ },
58
+ [ExtensionIdentifier.ItemPopulationContext]: {
59
+ path: { extension: 'valueExpression', questionnaire: 'itemPopulationContext' },
60
+ },
61
+ [ExtensionIdentifier.InitialExpression]: {
62
+ path: { extension: 'valueExpression', questionnaire: 'initialExpression' },
63
+ },
64
+ [ExtensionIdentifier.CalculatedExpression]: {
65
+ path: { extension: 'valueExpression', questionnaire: 'calculatedExpression' },
66
+ },
67
+ [ExtensionIdentifier.EnableWhenExpression]: {
68
+ path: { extension: 'valueExpression', questionnaire: 'enableWhenExpression' },
69
+ },
70
+ [ExtensionIdentifier.AnswerExpression]: {
71
+ path: { extension: 'valueExpression', questionnaire: 'answerExpression' },
72
+ },
73
+ [ExtensionIdentifier.ChoiceColumn]: {
74
+ transform: {
75
+ fromExtension: (extension) => {
76
+ var _a, _b, _c;
77
+ const choiceColumnExtension = extension.extension;
78
+ if (choiceColumnExtension) {
79
+ return {
80
+ choiceColumn: [
81
+ {
82
+ forDisplay: (_b = (_a = choiceColumnExtension.find((obj) => obj.url === 'forDisplay')) === null || _a === void 0 ? void 0 : _a.valueBoolean) !== null && _b !== void 0 ? _b : false,
83
+ path: (_c = choiceColumnExtension.find((obj) => obj.url === 'path')) === null || _c === void 0 ? void 0 : _c.valueString,
84
+ },
85
+ ],
86
+ };
87
+ }
88
+ },
89
+ toExtension: (item) => {
90
+ var _a, _b;
91
+ if (item.choiceColumn) {
92
+ return {
93
+ url: ExtensionIdentifier.ChoiceColumn,
94
+ extension: [
95
+ {
96
+ url: 'forDisplay',
97
+ valueBoolean: (_a = item.choiceColumn[0]) === null || _a === void 0 ? void 0 : _a.forDisplay,
98
+ },
99
+ {
100
+ url: 'path',
101
+ valueString: (_b = item.choiceColumn[0]) === null || _b === void 0 ? void 0 : _b.path,
102
+ },
103
+ ],
104
+ };
105
+ }
106
+ },
107
+ },
108
+ },
109
+ [ExtensionIdentifier.AdjustLastToRight]: {
110
+ path: { extension: 'valueBoolean', questionnaire: 'adjustLastToRight' },
111
+ },
112
+ [ExtensionIdentifier.SliderStart]: {
113
+ path: { extension: 'valueInteger', questionnaire: 'start' },
114
+ },
115
+ [ExtensionIdentifier.SliderStop]: {
116
+ path: { extension: 'valueInteger', questionnaire: 'stop' },
117
+ },
118
+ [ExtensionIdentifier.HelpText]: {
119
+ path: { extension: 'valueString', questionnaire: 'helpText' },
120
+ },
121
+ [ExtensionIdentifier.StopLabel]: {
122
+ path: { extension: 'valueString', questionnaire: 'stopLabel' },
123
+ },
124
+ [ExtensionIdentifier.Macro]: {
125
+ path: { extension: 'valueString', questionnaire: 'macro' },
126
+ },
127
+ };
128
+ //# sourceMappingURL=extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/converter/extensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Questionnaire as FHIRQuestionnaire, QuestionnaireResponse as FHIRQuestionnaireResponse } from 'fhir/r4b';
2
+ import { Questionnaire as FCEQuestionnaire, QuestionnaireResponse as FCEQuestionnaireResponse } from 'shared/src/contrib/aidbox';
3
+ export declare function fromFirstClassExtension(fceQuestionnaireResponse: FCEQuestionnaireResponse): FHIRQuestionnaireResponse;
4
+ export declare function fromFirstClassExtension(fceQuestionnaire: FCEQuestionnaire): FHIRQuestionnaire;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromFirstClassExtension = void 0;
4
+ const questionnaire_1 = require("./questionnaire");
5
+ const questionnaireResponse_1 = require("./questionnaireResponse");
6
+ function fromFirstClassExtension(fceResource) {
7
+ switch (fceResource.resourceType) {
8
+ case 'Questionnaire':
9
+ return (0, questionnaire_1.convertQuestionnaire)(fceResource);
10
+ case 'QuestionnaireResponse':
11
+ return (0, questionnaireResponse_1.convertQuestionnaireResponse)(fceResource);
12
+ }
13
+ }
14
+ exports.fromFirstClassExtension = fromFirstClassExtension;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/converter/fceToFhir/index.ts"],"names":[],"mappings":";;;AAUA,mDAAuD;AACvD,mEAAuE;AAMvE,SAAgB,uBAAuB,CACnC,WAAwD;IAExD,QAAQ,WAAW,CAAC,YAAY,EAAE;QAC9B,KAAK,eAAe;YAChB,OAAO,IAAA,oCAAoB,EAAC,WAAW,CAAC,CAAC;QAC7C,KAAK,uBAAuB;YACxB,OAAO,IAAA,oDAA4B,EAAC,WAAW,CAAC,CAAC;KACxD;AACL,CAAC;AATD,0DASC"}
@@ -0,0 +1,3 @@
1
+ import { Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
2
+ import { Questionnaire as FCEQuestionnaire } from 'shared/src/contrib/aidbox';
3
+ export declare function convertQuestionnaire(questionnaire: FCEQuestionnaire): FHIRQuestionnaire;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertQuestionnaire = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
6
+ const processExtensions_1 = require("./processExtensions");
7
+ const processItems_1 = require("./processItems");
8
+ const processMeta_1 = require("./processMeta");
9
+ function convertQuestionnaire(questionnaire) {
10
+ var _a;
11
+ questionnaire = (0, cloneDeep_1.default)(questionnaire);
12
+ questionnaire.meta = questionnaire.meta ? (0, processMeta_1.processMeta)(questionnaire.meta) : questionnaire.meta;
13
+ questionnaire.item = (0, processItems_1.processItems)((_a = questionnaire.item) !== null && _a !== void 0 ? _a : []);
14
+ return (0, processExtensions_1.processExtensions)(questionnaire);
15
+ }
16
+ exports.convertQuestionnaire = convertQuestionnaire;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/index.ts"],"names":[],"mappings":";;;;AACA,yEAAyC;AAIzC,2DAAwD;AACxD,iDAA8C;AAC9C,+CAA4C;AAE5C,SAAgB,oBAAoB,CAAC,aAA+B;;IAChE,aAAa,GAAG,IAAA,mBAAS,EAAC,aAAa,CAAC,CAAC;IACzC,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;IAC/F,aAAa,CAAC,IAAI,GAAG,IAAA,2BAAY,EAAC,MAAA,aAAa,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IAC5D,OAAO,IAAA,qCAAiB,EAAC,aAAa,CAAsB,CAAC;AACjE,CAAC;AALD,oDAKC"}
@@ -0,0 +1,3 @@
1
+ import { Questionnaire as FHIRQuestionnaire } from 'fhir/r4b';
2
+ import { Questionnaire as FCEQuestionnaire } from 'shared/src/contrib/aidbox';
3
+ export declare function processExtensions(questionnaire: FCEQuestionnaire): FHIRQuestionnaire;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processExtensions = void 0;
4
+ const tslib_1 = require("tslib");
5
+ function processExtensions(questionnaire) {
6
+ var _a;
7
+ const { launchContext, mapping, sourceQueries, targetStructureMap } = questionnaire, fhirQuestionnaire = tslib_1.__rest(questionnaire, ["launchContext", "mapping", "sourceQueries", "targetStructureMap"]);
8
+ let extensions = [];
9
+ if (launchContext) {
10
+ for (const launchContextItem of launchContext) {
11
+ const name = launchContextItem.name;
12
+ const typeList = launchContextItem.type;
13
+ const description = launchContextItem.description;
14
+ const launchContextExtension = [
15
+ {
16
+ url: 'name',
17
+ valueCoding: name,
18
+ },
19
+ ];
20
+ for (const typeCode of typeList !== null && typeList !== void 0 ? typeList : []) {
21
+ launchContextExtension.push({ url: 'type', valueCode: typeCode });
22
+ }
23
+ if (description !== undefined) {
24
+ launchContextExtension.push({
25
+ url: 'description',
26
+ valueString: description,
27
+ });
28
+ }
29
+ extensions.push({
30
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext',
31
+ extension: launchContextExtension,
32
+ });
33
+ }
34
+ }
35
+ if (mapping) {
36
+ extensions = extensions.concat(mapping.map((m) => ({
37
+ url: 'http://beda.software/fhir-extensions/questionnaire-mapper',
38
+ valueReference: {
39
+ reference: `Mapping/${m.id}`,
40
+ },
41
+ })));
42
+ }
43
+ if (sourceQueries) {
44
+ extensions = extensions.concat(sourceQueries.map((item) => ({
45
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-sourceQueries',
46
+ valueReference: { reference: `#${item.localRef}` },
47
+ })));
48
+ }
49
+ if (targetStructureMap) {
50
+ extensions = extensions.concat(targetStructureMap.map((targetStructureMapRef) => ({
51
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-targetStructureMap',
52
+ valueCanonical: targetStructureMapRef,
53
+ })));
54
+ }
55
+ if (extensions.length) {
56
+ fhirQuestionnaire.extension = ((_a = fhirQuestionnaire.extension) !== null && _a !== void 0 ? _a : []).concat(extensions);
57
+ }
58
+ return fhirQuestionnaire;
59
+ }
60
+ exports.processExtensions = processExtensions;
61
+ //# sourceMappingURL=processExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processExtensions.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processExtensions.ts"],"names":[],"mappings":";;;;AAIA,SAAgB,iBAAiB,CAAC,aAA+B;;IAC7D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,KAC7D,aAAa,EADqD,iBAAiB,kBACnF,aAAa,EADX,mEAAmF,CACxE,CAAC;IAElB,IAAI,UAAU,GAAoB,EAAE,CAAC;IAErC,IAAI,aAAa,EAAE;QACf,KAAK,MAAM,iBAAiB,IAAI,aAAa,EAAE;YAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;YACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC;YACxC,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAClD,MAAM,sBAAsB,GAAoB;gBAC5C;oBACI,GAAG,EAAE,MAAM;oBACX,WAAW,EAAE,IAAI;iBACpB;aACJ,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,EAAE;gBACnC,sBAAsB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;aACrE;YAED,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC3B,sBAAsB,CAAC,IAAI,CAAC;oBACxB,GAAG,EAAE,aAAa;oBAClB,WAAW,EAAE,WAAW;iBAC3B,CAAC,CAAC;aACN;YAED,UAAU,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,gFAAgF;gBACrF,SAAS,EAAE,sBAAsB;aACpC,CAAC,CAAC;SACN;KACJ;IAED,IAAI,OAAO,EAAE;QACT,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,EAAE,2DAA2D;YAChE,cAAc,EAAE;gBACZ,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE;aAC/B;SACJ,CAAC,CAAC,CACN,CAAC;KACL;IAED,IAAI,aAAa,EAAE;QACf,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,EAAE,gFAAgF;YACrF,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;SACrD,CAAC,CAAC,CACN,CAAC;KACL;IAED,IAAI,kBAAkB,EAAE;QACpB,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,kBAAkB,CAAC,GAAG,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAC/C,GAAG,EAAE,qFAAqF;YAC1F,cAAc,EAAE,qBAAqB;SACxC,CAAC,CAAC,CACN,CAAC;KACL;IAED,IAAI,UAAU,CAAC,MAAM,EAAE;QACnB,iBAAiB,CAAC,SAAS,GAAG,CAAC,MAAA,iBAAiB,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACxF;IAED,OAAO,iBAAsC,CAAC;AAClD,CAAC;AAtED,8CAsEC"}
@@ -0,0 +1,3 @@
1
+ import { QuestionnaireItem as FHIRQuestionnaireItem } from 'fhir/r4b';
2
+ import { QuestionnaireItem as FCEQuestionnaireItem } from 'shared/src/contrib/aidbox';
3
+ export declare function processItems(items: FCEQuestionnaireItem[]): FHIRQuestionnaireItem[];
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processItems = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const converter_1 = require("../../../converter");
6
+ function processItems(items) {
7
+ return items.map((item) => {
8
+ const extensions = (0, converter_1.convertToFHIRExtension)(item);
9
+ if (extensions.length > 0) {
10
+ const fieldsToOmit = extensions
11
+ .map(converter_1.convertFromFHIRExtension)
12
+ .filter((ext) => ext !== undefined)
13
+ .flatMap(Object.keys);
14
+ for (const field of fieldsToOmit) {
15
+ delete item[field];
16
+ }
17
+ item.extension = extensions.sort();
18
+ }
19
+ const { enableBehavior, enableWhen, answerOption, initial, item: nestedItems, type } = item, commonOptions = tslib_1.__rest(item, ["enableBehavior", "enableWhen", "answerOption", "initial", "item", "type"]);
20
+ const fhirItem = Object.assign(Object.assign({}, commonOptions), { type: type });
21
+ if (answerOption !== undefined) {
22
+ fhirItem.answerOption = processAnswerOption(answerOption);
23
+ }
24
+ if (enableBehavior !== undefined) {
25
+ fhirItem.enableBehavior = enableBehavior;
26
+ }
27
+ if (enableWhen !== undefined) {
28
+ fhirItem.enableWhen = processEnableWhen(enableWhen);
29
+ }
30
+ if (initial) {
31
+ fhirItem.initial = processInitial(initial);
32
+ }
33
+ if (nestedItems) {
34
+ fhirItem.item = processItems(nestedItems);
35
+ }
36
+ return fhirItem;
37
+ });
38
+ }
39
+ exports.processItems = processItems;
40
+ const convertEnableWhen = (answer, answerType, result) => {
41
+ if (answer[answerType] !== undefined) {
42
+ switch (answerType) {
43
+ case 'boolean':
44
+ result.answerBoolean = answer[answerType];
45
+ break;
46
+ case 'decimal':
47
+ result.answerDecimal = answer[answerType];
48
+ break;
49
+ case 'integer':
50
+ result.answerInteger = answer[answerType];
51
+ break;
52
+ case 'date':
53
+ result.answerDate = answer[answerType];
54
+ break;
55
+ case 'dateTime':
56
+ result.answerDateTime = answer[answerType];
57
+ break;
58
+ case 'time':
59
+ result.answerTime = answer[answerType];
60
+ break;
61
+ case 'string':
62
+ result.answerString = answer[answerType];
63
+ break;
64
+ case 'Coding':
65
+ result.answerCoding = answer[answerType];
66
+ break;
67
+ case 'Quantity':
68
+ result.answerQuantity = answer[answerType];
69
+ break;
70
+ case 'Reference':
71
+ result.answerReference = (0, converter_1.toFHIRReference)(answer[answerType]);
72
+ break;
73
+ default:
74
+ break;
75
+ }
76
+ }
77
+ };
78
+ function processAnswerOption(options) {
79
+ return options.map((option) => {
80
+ const { value } = option, commonOptions = tslib_1.__rest(option, ["value"]);
81
+ const fhirOption = Object.assign({}, commonOptions);
82
+ if (value === null || value === void 0 ? void 0 : value.Coding) {
83
+ fhirOption.valueCoding = value.Coding;
84
+ }
85
+ if (value === null || value === void 0 ? void 0 : value.string) {
86
+ fhirOption.valueString = value.string;
87
+ }
88
+ if (value === null || value === void 0 ? void 0 : value.Reference) {
89
+ fhirOption.valueReference = (0, converter_1.toFHIRReference)(value.Reference);
90
+ }
91
+ if (value === null || value === void 0 ? void 0 : value.date) {
92
+ fhirOption.valueDate = value.date;
93
+ }
94
+ if (value === null || value === void 0 ? void 0 : value.integer) {
95
+ fhirOption.valueInteger = value.integer;
96
+ }
97
+ if (value === null || value === void 0 ? void 0 : value.time) {
98
+ fhirOption.valueTime = value.time;
99
+ }
100
+ return fhirOption;
101
+ });
102
+ }
103
+ function processEnableWhen(options) {
104
+ return options.map((item) => {
105
+ const { question, operator, answer } = item;
106
+ const result = {
107
+ question,
108
+ operator: operator,
109
+ };
110
+ if (!answer) {
111
+ return result;
112
+ }
113
+ const answerTypes = [
114
+ 'boolean',
115
+ 'decimal',
116
+ 'integer',
117
+ 'date',
118
+ 'dateTime',
119
+ 'time',
120
+ 'string',
121
+ 'Coding',
122
+ 'Quantity',
123
+ 'Reference',
124
+ ];
125
+ answerTypes.forEach((answerType) => {
126
+ convertEnableWhen(answer, answerType, result);
127
+ });
128
+ return result;
129
+ });
130
+ }
131
+ function processInitial(options) {
132
+ return options.map((entry) => {
133
+ var _a, _b;
134
+ const result = {};
135
+ if (((_a = entry.value) === null || _a === void 0 ? void 0 : _a.boolean) !== undefined) {
136
+ result.valueBoolean = entry.value.boolean;
137
+ }
138
+ if (((_b = entry.value) === null || _b === void 0 ? void 0 : _b.Coding) !== undefined) {
139
+ result.valueCoding = entry.value.Coding;
140
+ }
141
+ return result;
142
+ });
143
+ }
144
+ //# sourceMappingURL=processItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processItems.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processItems.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Meta as FHIRMeta } from 'fhir/r4b';
2
+ import { Meta as FCEMeta } from 'shared/src/contrib/aidbox';
3
+ export declare function processMeta(meta: FCEMeta): FHIRMeta;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processMeta = void 0;
4
+ const tslib_1 = require("tslib");
5
+ function processMeta(meta) {
6
+ var _a;
7
+ const { createdAt } = meta, fhirMeta = tslib_1.__rest(meta, ["createdAt"]);
8
+ if (createdAt) {
9
+ fhirMeta.extension = [
10
+ ...((_a = meta.extension) !== null && _a !== void 0 ? _a : []),
11
+ {
12
+ url: 'ex:createdAt',
13
+ valueInstant: createdAt,
14
+ },
15
+ ];
16
+ }
17
+ return fhirMeta;
18
+ }
19
+ exports.processMeta = processMeta;
20
+ //# sourceMappingURL=processMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processMeta.js","sourceRoot":"","sources":["../../../../src/converter/fceToFhir/questionnaire/processMeta.ts"],"names":[],"mappings":";;;;AAIA,SAAgB,WAAW,CAAC,IAAa;;IACrC,MAAM,EAAE,SAAS,KAAkB,IAAI,EAAjB,QAAQ,kBAAK,IAAI,EAAjC,aAA0B,CAAO,CAAC;IAExC,IAAI,SAAS,EAAE;QACX,QAAQ,CAAC,SAAS,GAAG;YACjB,GAAG,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAC;YACzB;gBACI,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,SAAS;aAC1B;SACJ,CAAC;KACL;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAdD,kCAcC"}
@@ -0,0 +1,3 @@
1
+ import { QuestionnaireResponse as FHIRQuestionnaireResponse } from 'fhir/r4b';
2
+ import { QuestionnaireResponse as FCEQuestionnaireResponse } from 'shared/src/contrib/aidbox';
3
+ export declare function convertQuestionnaireResponse(questionnaireResponse: FCEQuestionnaireResponse): FHIRQuestionnaireResponse;