@aehrc/smart-forms-renderer 0.10.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.d.ts +19 -0
  2. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +46 -0
  3. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -0
  4. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +5 -27
  5. package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
  6. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +1 -2
  7. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
  8. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +1 -2
  9. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
  10. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +1 -2
  11. package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
  12. package/lib/hooks/useInitialiseRenderer.js +1 -1
  13. package/lib/hooks/useInitialiseRenderer.js.map +1 -1
  14. package/lib/index.js +2 -7
  15. package/lib/index.js.map +1 -1
  16. package/lib/stores/questionnaireStore.js +1 -1
  17. package/lib/stores/questionnaireStore.js.map +1 -1
  18. package/lib/utils/choice.d.ts +6 -0
  19. package/lib/utils/choice.js +31 -17
  20. package/lib/utils/choice.js.map +1 -1
  21. package/lib/utils/initialise.d.ts +1 -2
  22. package/lib/utils/initialise.js +91 -34
  23. package/lib/utils/initialise.js.map +1 -1
  24. package/lib/utils/openChoice.js +1 -2
  25. package/lib/utils/openChoice.js.map +1 -1
  26. package/lib/utils/qrItem.d.ts +1 -9
  27. package/lib/utils/qrItem.js +0 -47
  28. package/lib/utils/qrItem.js.map +1 -1
  29. package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.d.ts +1 -1
  30. package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +1 -1
  31. package/lib/utils/questionnaireStoreUtils/resolveValueSets.d.ts +1 -1
  32. package/lib/utils/valueSet.d.ts +1 -1
  33. package/package.json +12 -15
  34. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +126 -0
  35. package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +25 -76
  36. package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +1 -2
  37. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +1 -2
  38. package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +1 -2
  39. package/src/hooks/useInitialiseRenderer.ts +1 -1
  40. package/src/index.ts +2 -8
  41. package/src/stores/questionnaireStore.ts +1 -1
  42. package/src/utils/choice.ts +38 -2
  43. package/src/utils/initialise.ts +379 -0
  44. package/src/utils/openChoice.ts +1 -2
  45. package/src/utils/qrItem.ts +1 -63
  46. package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +1 -1
  47. package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +1 -1
  48. package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +1 -1
  49. package/src/utils/valueSet.ts +1 -1
  50. package/src/hooks/useBackToTop.ts +0 -29
  51. package/src/utils/initialiseForm.ts +0 -91
@@ -37,13 +37,17 @@ export function initialiseQuestionnaireResponse(questionnaire, questionnaireResp
37
37
  }
38
38
  const firstTopLevelItem = (_a = questionnaire === null || questionnaire === void 0 ? void 0 : questionnaire.item) === null || _a === void 0 ? void 0 : _a[0];
39
39
  if (firstTopLevelItem && !questionnaireResponse.item) {
40
- questionnaireResponse.item = [
41
- {
42
- linkId: firstTopLevelItem.linkId,
43
- text: firstTopLevelItem.text,
44
- item: []
45
- }
46
- ];
40
+ const initialItems = readItemInitialValues(questionnaire);
41
+ questionnaireResponse.item =
42
+ initialItems && initialItems.length > 0
43
+ ? initialItems
44
+ : [
45
+ {
46
+ linkId: firstTopLevelItem.linkId,
47
+ text: firstTopLevelItem.text,
48
+ item: []
49
+ }
50
+ ];
47
51
  }
48
52
  if (!questionnaireResponse.questionnaire) {
49
53
  questionnaireResponse.questionnaire = setQuestionnaireReference(questionnaire);
@@ -65,32 +69,35 @@ function setQuestionnaireReference(questionnaire) {
65
69
  }
66
70
  return '';
67
71
  }
68
- function readItemInitialValues(questionnaire, questionnaireResponse) {
72
+ function readItemInitialValues(questionnaire) {
69
73
  if (!questionnaire.item || questionnaire.item.length === 0) {
70
- return questionnaireResponse;
71
- }
72
- // const topLevelQrItems: QuestionnaireResponseItem[] = [];
73
- // for (const topLevelQItem of questionnaire.item) {
74
- // const updatedTopLevelQRItem = initialiseItemCalculatedExpressionValueRecursive(topLevelQItem);
75
- //
76
- // if (Array.isArray(updatedTopLevelQRItem)) {
77
- // if (updatedTopLevelQRItem.length > 0) {
78
- // topLevelQrItems.push(...updatedTopLevelQRItem);
79
- // }
80
- // continue;
81
- // }
82
- //
83
- // if (updatedTopLevelQRItem) {
84
- // topLevelQrItems.push(updatedTopLevelQRItem);
85
- // }
86
- // }
87
- return questionnaireResponse;
74
+ return null;
75
+ }
76
+ const topLevelQrItems = [];
77
+ for (const topLevelQItem of questionnaire.item) {
78
+ const updatedTopLevelQRItem = readItemInitialValueRecursive(topLevelQItem);
79
+ if (Array.isArray(updatedTopLevelQRItem)) {
80
+ if (updatedTopLevelQRItem.length > 0) {
81
+ topLevelQrItems.push(...updatedTopLevelQRItem);
82
+ }
83
+ continue;
84
+ }
85
+ if (updatedTopLevelQRItem) {
86
+ topLevelQrItems.push(updatedTopLevelQRItem);
87
+ }
88
+ }
89
+ if (topLevelQrItems.length === 0) {
90
+ return null;
91
+ }
92
+ return topLevelQrItems;
88
93
  }
89
94
  function readItemInitialValueRecursive(qItem) {
90
95
  const childQItems = qItem.item;
91
96
  if (childQItems && childQItems.length > 0) {
97
+ // TODO No support for multiple rows at the moment
92
98
  if (qItem.type === 'group' && qItem.repeats) {
93
- // TODO handle repeat group
99
+ const initialItemsFromRepeatGroup = getInitialValueAnswersFromRepeatGroup(qItem);
100
+ return createNewRepeatGroupQuestionnaireResponseItem(qItem, initialItemsFromRepeatGroup);
94
101
  }
95
102
  const initialQRItems = [];
96
103
  for (const childQItem of childQItems) {
@@ -105,23 +112,63 @@ function readItemInitialValueRecursive(qItem) {
105
112
  initialQRItems.push(initialChildQRItemOrItems);
106
113
  }
107
114
  }
108
- const qrItem = createQuestionnaireResponseItemFromInitialValue(qItem);
109
- if (qrItem && initialQRItems.length > 0) {
115
+ let qrItem = createNewQuestionnaireResponseItem(qItem, getInitialValueAnswers(qItem));
116
+ if (initialQRItems.length > 0) {
117
+ if (!qrItem) {
118
+ qrItem = {
119
+ linkId: qItem.linkId,
120
+ text: qItem.text
121
+ };
122
+ }
110
123
  qrItem.item = initialQRItems;
111
124
  }
112
125
  return qrItem;
113
126
  }
114
- return createQuestionnaireResponseItemFromInitialValue(qItem);
127
+ return createNewQuestionnaireResponseItem(qItem, getInitialValueAnswers(qItem));
115
128
  }
116
- function createQuestionnaireResponseItemFromInitialValue(qItem) {
129
+ function getInitialValueAnswers(qItem) {
130
+ // For answerOption.initialSelected
131
+ if (qItem.type === 'choice' && qItem.answerOption) {
132
+ return qItem.answerOption
133
+ .filter((option) => option.initialSelected)
134
+ .map((option) => {
135
+ if (option.valueCoding) {
136
+ return {
137
+ valueCoding: option.valueCoding
138
+ };
139
+ }
140
+ if (option.valueString) {
141
+ return {
142
+ valueString: option.valueString
143
+ };
144
+ }
145
+ if (option.valueInteger) {
146
+ return {
147
+ valueInteger: option.valueInteger
148
+ };
149
+ }
150
+ return null;
151
+ })
152
+ .filter((item) => !!item);
153
+ }
154
+ // For item.initial
117
155
  const initialValues = qItem.initial;
118
156
  if (!initialValues) {
119
- return null;
157
+ return [];
120
158
  }
121
- const initialValueAnswers = initialValues
159
+ return initialValues
122
160
  .map((initialValue) => initialValueSwitcher(initialValue))
123
161
  .filter((item) => item !== null);
124
- return createNewQuestionnaireResponseItem(qItem, initialValueAnswers);
162
+ }
163
+ function getInitialValueAnswersFromRepeatGroup(qItem) {
164
+ if (!qItem.item) {
165
+ return [];
166
+ }
167
+ return qItem.item
168
+ .map((childQItem) => {
169
+ return Object.assign(Object.assign({ linkId: childQItem.linkId }, (childQItem.text ? { text: childQItem.text } : {})), { answer: getInitialValueAnswers(childQItem) });
170
+ })
171
+ .filter((childQRItem) => childQRItem.answer && childQRItem.answer.length > 0);
125
172
  }
126
173
  function initialValueSwitcher(initialValue) {
127
174
  if (initialValue.valueBoolean) {
@@ -176,6 +223,16 @@ function createNewQuestionnaireResponseItem(qItem, initialValueAnswers) {
176
223
  answer: initialValueAnswers
177
224
  };
178
225
  }
226
+ function createNewRepeatGroupQuestionnaireResponseItem(qItem, initialValueItems) {
227
+ if (initialValueItems.length === 0) {
228
+ return null;
229
+ }
230
+ return {
231
+ linkId: qItem.linkId,
232
+ text: qItem.text,
233
+ item: initialValueItems
234
+ };
235
+ }
179
236
  export function initialiseFormFromResponse(params) {
180
237
  const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs } = params;
181
238
  let updatedFhirPathContext = params.fhirPathContext;
@@ -1 +1 @@
1
- {"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAU5C,OAAO,EAAE,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,aAA4B,EAC5B,qBAA6C;;IAE7C,IAAI,CAAC,qBAAqB,EAAE;QAC1B,qBAAqB,GAAG;YACtB,YAAY,EAAE,uBAAuB;YACrC,MAAM,EAAE,aAAa;SACtB,CAAC;KACH;IAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE;QACjC,qBAAqB,CAAC,MAAM,GAAG,aAAa,CAAC;KAC9C;IAED,MAAM,iBAAiB,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAG,CAAC,CAAC,CAAC;IACnD,IAAI,iBAAiB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;QACpD,qBAAqB,CAAC,IAAI,GAAG;YAC3B;gBACE,MAAM,EAAE,iBAAiB,CAAC,MAAM;gBAChC,IAAI,EAAE,iBAAiB,CAAC,IAAI;gBAC5B,IAAI,EAAE,EAAE;aACT;SACF,CAAC;KACH;IAED,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE;QACxC,qBAAqB,CAAC,aAAa,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;KAChF;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,yBAAyB,CAAC,aAA4B;IAC7D,sCAAsC;IACtC,IAAI,aAAa,CAAC,GAAG,EAAE;QACrB,IAAI,sBAAsB,GAAG,aAAa,CAAC,GAAG,CAAC;QAC/C,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,sBAAsB,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC;SACvD;QACD,OAAO,sBAAsB,CAAC;KAC/B;IAED,2CAA2C;IAC3C,IAAI,aAAa,CAAC,EAAE,EAAE;QACpB,OAAO,iBAAiB,aAAa,CAAC,EAAE,EAAE,CAAC;KAC5C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,qBAAqB,CAC5B,aAA4B,EAC5B,qBAA4C;IAE5C,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO,qBAAqB,CAAC;KAC9B;IAED,2DAA2D;IAC3D,oDAAoD;IACpD,mGAAmG;IACnG,EAAE;IACF,gDAAgD;IAChD,8CAA8C;IAC9C,wDAAwD;IACxD,QAAQ;IACR,gBAAgB;IAChB,MAAM;IACN,EAAE;IACF,iCAAiC;IACjC,mDAAmD;IACnD,MAAM;IACN,IAAI;IAEJ,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAwB;IAExB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3C,2BAA2B;SAC5B;QAED,MAAM,cAAc,GAAgC,EAAE,CAAC;QACvD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;YAE5E,IAAI,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE;gBAC5C,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,cAAc,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,CAAC;iBACnD;gBACD,SAAS;aACV;YAED,IAAI,yBAAyB,EAAE;gBAC7B,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aAChD;SACF;QAED,MAAM,MAAM,GAAG,+CAA+C,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;SAC9B;QAED,OAAO,MAAM,CAAC;KACf;IAED,OAAO,+CAA+C,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,+CAA+C,CAAC,KAAwB;IAC/E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;IACpC,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,mBAAmB,GAAG,aAAa;SACtC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;SACzD,MAAM,CAAC,CAAC,IAAI,EAA2C,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAE5E,OAAO,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;AACxE,CAAC;AACD,SAAS,oBAAoB,CAC3B,YAAsC;IAEtC,IAAI,YAAY,CAAC,YAAY,EAAE;QAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;KACpD;IAED,IAAI,YAAY,CAAC,YAAY,EAAE;QAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;KACpD;IAED,IAAI,YAAY,CAAC,YAAY,EAAE;QAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC;KACpD;IAED,IAAI,YAAY,CAAC,SAAS,EAAE;QAC1B,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;KAC9C;IAED,IAAI,YAAY,CAAC,aAAa,EAAE;QAC9B,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC;KACtD;IAED,IAAI,YAAY,CAAC,SAAS,EAAE;QAC1B,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;KAC9C;IAED,IAAI,YAAY,CAAC,WAAW,EAAE;QAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;KAClD;IAED,IAAI,YAAY,CAAC,QAAQ,EAAE;QACzB,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;KAC5C;IAED,IAAI,YAAY,CAAC,eAAe,EAAE;QAChC,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;KAC1D;IAED,IAAI,YAAY,CAAC,WAAW,EAAE;QAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;KAClD;IAED,IAAI,YAAY,CAAC,aAAa,EAAE;QAC9B,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC;KACtD;IAED,IAAI,YAAY,CAAC,cAAc,EAAE;QAC/B,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;KACxD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CACzC,KAAwB,EACxB,mBAAsD;IAEtD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,8DAA8D;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,mBAAmB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;KAChD;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,mBAAmB;KAC5B,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,0BAA0B,CAAC,MAAqC;IAQ9E,MAAM,EACJ,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,IAAI,EACL,GAAG,MAAM,CAAC;IACX,IAAI,sBAAsB,GAAG,MAAM,CAAC,eAAe,CAAC;IAEpD,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,kCAAkC,CAC9E,eAAe,EACf,qBAAqB,CACtB,CAAC;IAEF,MAAM,0CAA0C,GAAG,oCAAoC,CAAC;QACtF,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,qBAAqB;QAC5C,iBAAiB,EAAE,iBAAiB;QACpC,uBAAuB,EAAE,sBAAsB;KAChD,CAAC,CAAC;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,0CAA0C,CAAC;IACpF,sBAAsB,GAAG,0CAA0C,CAAC,sBAAsB,CAAC;IAE3F,MAAM,0CAA0C,GAAG,oCAAoC,CAAC;QACtF,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,qBAAqB;QAC5C,iBAAiB,EAAE,iBAAiB;QACpC,uBAAuB,EAAE,sBAAsB;KAChD,CAAC,CAAC;IACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,0CAA0C,CAAC;IACpF,sBAAsB,GAAG,0CAA0C,CAAC,sBAAsB,CAAC;IAE3F,MAAM,eAAe,GACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;QACL,sBAAsB,EAAE,gBAAgB;QACxC,gCAAgC,EAAE,eAAe;QACjD,4BAA4B;QAC5B,4BAA4B;QAC5B,eAAe;QACf,sBAAsB;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,7 @@
16
16
  */
17
17
  import { CheckBoxOption, OpenChoiceItemControl } from '../interfaces/choice.enum';
18
18
  import { isSpecificItemControl } from './itemControl';
19
- import { findInAnswerValueSetCodings } from './choice';
20
- import { findInAnswerOptions } from '@aehrc/fhir-questionnaire-helpers';
19
+ import { findInAnswerOptions, findInAnswerValueSetCodings } from './choice';
21
20
  /**
22
21
  * Update open-choice checkbox group answers based on checkbox changes
23
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"openChoice.js","sourceRoot":"","sources":["../../src/utils/openChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openChoice.js","sourceRoot":"","sources":["../../src/utils/openChoice.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,5 @@
1
- import type { Questionnaire, QuestionnaireItem, QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
1
+ import type { QuestionnaireItem, QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
2
2
  import type { QrRepeatGroup } from '../interfaces/repeatGroup.interface';
3
- /**
4
- * Initialise a conformant questionnaireResponse from a given questionnaire
5
- * optionally takes in an existing questionnaireResponse to be initialised
6
- *
7
- * @author Sean Fong
8
- */
9
- export declare function initialiseQuestionnaireResponse(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse): QuestionnaireResponse;
10
- export declare function setQuestionnaireReference(questionnaire: Questionnaire): string;
11
3
  /**
12
4
  * Remove items with no answers from a given questionnaireResponse
13
5
  * Also remove any starting or trailing whitespace from valueStrings
@@ -14,53 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- /**
18
- * Initialise a conformant questionnaireResponse from a given questionnaire
19
- * optionally takes in an existing questionnaireResponse to be initialised
20
- *
21
- * @author Sean Fong
22
- */
23
- export function initialiseQuestionnaireResponse(questionnaire, questionnaireResponse) {
24
- var _a;
25
- if (!questionnaireResponse) {
26
- questionnaireResponse = {
27
- resourceType: 'QuestionnaireResponse',
28
- status: 'in-progress'
29
- };
30
- }
31
- if (!questionnaireResponse.status) {
32
- questionnaireResponse.status = 'in-progress';
33
- }
34
- const firstTopLevelItem = (_a = questionnaire === null || questionnaire === void 0 ? void 0 : questionnaire.item) === null || _a === void 0 ? void 0 : _a[0];
35
- if (firstTopLevelItem && !questionnaireResponse.item) {
36
- questionnaireResponse.item = [
37
- {
38
- linkId: firstTopLevelItem.linkId,
39
- text: firstTopLevelItem.text,
40
- item: []
41
- }
42
- ];
43
- }
44
- if (!questionnaireResponse.questionnaire) {
45
- questionnaireResponse.questionnaire = setQuestionnaireReference(questionnaire);
46
- }
47
- return questionnaireResponse;
48
- }
49
- export function setQuestionnaireReference(questionnaire) {
50
- // Use {url}|{version} - the ideal way
51
- if (questionnaire.url) {
52
- let questionnaireReference = questionnaire.url;
53
- if (questionnaire.version) {
54
- questionnaireReference += '|' + questionnaire.version;
55
- }
56
- return questionnaireReference;
57
- }
58
- // If no url exists, use Questionnaire/{id}
59
- if (questionnaire.id) {
60
- return `Questionnaire/${questionnaire.id}`;
61
- }
62
- return '';
63
- }
64
17
  /**
65
18
  * Remove items with no answers from a given questionnaireResponse
66
19
  * Also remove any starting or trailing whitespace from valueStrings
@@ -1 +1 @@
1
- {"version":3,"file":"qrItem.js","sourceRoot":"","sources":["../../src/utils/qrItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qrItem.js","sourceRoot":"","sources":["../../src/utils/qrItem.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
1
+ import type { ValueSetPromise } from '../../interfaces/valueSet.interface';
2
2
  import type { Coding, Questionnaire, ValueSet } from 'fhir/r4';
3
3
  export declare function extractContainedValueSets(questionnaire: Questionnaire, terminologyServerUrl: string): {
4
4
  processedValueSetCodings: Record<string, Coding[]>;
@@ -2,7 +2,7 @@ import type { Expression, Questionnaire, QuestionnaireItem } from 'fhir/r4';
2
2
  import type { CalculatedExpression } from '../../interfaces/calculatedExpression.interface';
3
3
  import type { EnableWhenExpression, EnableWhenItemProperties } from '../../interfaces/enableWhen.interface';
4
4
  import type { AnswerExpression } from '../../interfaces/answerExpression.interface';
5
- import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
5
+ import type { ValueSetPromise } from '../../interfaces/valueSet.interface';
6
6
  import type { Variables } from '../../interfaces/variables.interface';
7
7
  interface ReturnParamsRecursive {
8
8
  variables: Variables;
@@ -1,6 +1,6 @@
1
1
  import type { Coding } from 'fhir/r4';
2
2
  import type { Variables } from '../../interfaces/variables.interface';
3
- import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
3
+ import type { ValueSetPromise } from '../../interfaces/valueSet.interface';
4
4
  export declare function resolveValueSets(variables: Variables, valueSetPromises: Record<string, ValueSetPromise>, processedValueSetCodings: Record<string, Coding[]>, terminologyServerUrl: string): Promise<{
5
5
  variables: Variables;
6
6
  processedValueSetCodings: Record<string, Coding[]>;
@@ -1,7 +1,7 @@
1
1
  import type { Coding, Encounter, Expression, FhirResource, Patient, Practitioner, QuestionnaireItem, ValueSet } from 'fhir/r4';
2
2
  import type { FhirResourceString } from '../interfaces/populate.interface';
3
3
  import type { VariableXFhirQuery } from '../interfaces/variables.interface';
4
- import type { ValueSetPromise } from '@aehrc/fhir-questionnaire-helpers';
4
+ import type { ValueSetPromise } from '../interfaces/valueSet.interface';
5
5
  export declare function getTerminologyServerUrl(qItem: QuestionnaireItem): string | undefined;
6
6
  export declare function getValueSetPromise(url: string, terminologyServerUrl: string): Promise<ValueSet>;
7
7
  export declare function resolvePromises(valueSetPromises: Record<string, ValueSetPromise>): Promise<Record<string, ValueSetPromise>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "0.10.6",
3
+ "version": "0.11.0",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -24,7 +24,6 @@
24
24
  },
25
25
  "homepage": "https://github.com/aehrc/smart-forms#readme",
26
26
  "dependencies": {
27
- "@aehrc/fhir-questionnaire-helpers": "^0.1.1",
28
27
  "@iconify/react": "^4.1.1",
29
28
  "@types/fhir": "^0.0.38",
30
29
  "dayjs": "^1.11.10",
@@ -40,15 +39,15 @@
40
39
  "zustand": "^4.4.6"
41
40
  },
42
41
  "peerDependencies": {
43
- "@emotion/react": ">=11.11.0",
44
- "@emotion/styled": ">=11.10.0",
45
- "@mui/icons-material": ">=5.14.0",
46
- "@mui/lab": ">=5.0.0-alpha.137",
47
- "@mui/material": ">=5.14.0",
48
- "@mui/x-date-pickers": ">=6.10.0",
49
- "@tanstack/react-query": ">=4.29.0",
50
- "react": ">=18.0.0",
51
- "react-dom": ">=18.0.0"
42
+ "@emotion/react": "^11.11.3",
43
+ "@emotion/styled": "^11.11.0",
44
+ "@mui/icons-material": "^5.15.10",
45
+ "@mui/lab": "^5.0.0-alpha.165",
46
+ "@mui/material": "^5.15.10",
47
+ "@mui/x-date-pickers": "^6.19.4",
48
+ "@tanstack/react-query": "^4.36.0",
49
+ "react": ">=17.0.0",
50
+ "react-dom": ">=17.0.0"
52
51
  },
53
52
  "devDependencies": {
54
53
  "@babel/core": "^7.23.3",
@@ -70,14 +69,12 @@
70
69
  "@types/jest": "^29.5.7",
71
70
  "@types/lodash.clonedeep": "^4.5.7",
72
71
  "@types/lodash.debounce": "^4.0.7",
73
- "@types/react": "^18.2.37",
72
+ "@types/react": ">=17.0.0",
74
73
  "@types/react-beautiful-dnd": "^13.1.7",
75
- "@types/react-dom": "^18.2.17",
74
+ "@types/react-dom": ">=17.0.0",
76
75
  "chokidar": "^3.5.3",
77
76
  "jest": "^29.7.0",
78
77
  "jest-environment-jsdom": "^29.7.0",
79
- "react": "^18.2.0",
80
- "react-dom": "^18.2.0",
81
78
  "storybook": "^7.5.3",
82
79
  "ts-jest": "^29.1.1",
83
80
  "tslib": "^2.6.2",
@@ -0,0 +1,126 @@
1
+ /*
2
+ * Copyright 2023 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ import React from 'react';
19
+ import Autocomplete from '@mui/material/Autocomplete';
20
+ import CircularProgress from '@mui/material/CircularProgress';
21
+ import Fade from '@mui/material/Fade';
22
+ import Tooltip from '@mui/material/Tooltip';
23
+ import type { Coding, QuestionnaireItem } from 'fhir/r4';
24
+ import { StandardTextField } from '../Textfield.styles';
25
+ import SearchIcon from '@mui/icons-material/Search';
26
+ import InfoIcon from '@mui/icons-material/Info';
27
+ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
28
+ import DoneIcon from '@mui/icons-material/Done';
29
+ import ErrorIcon from '@mui/icons-material/Error';
30
+ import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
31
+ import type {
32
+ PropsWithIsTabledAttribute,
33
+ PropsWithParentIsReadOnlyAttribute
34
+ } from '../../../interfaces/renderProps.interface';
35
+ import { AlertColor } from '@mui/material/Alert';
36
+
37
+ interface ChoiceAutocompleteFieldsProps
38
+ extends PropsWithIsTabledAttribute,
39
+ PropsWithParentIsReadOnlyAttribute {
40
+ qItem: QuestionnaireItem;
41
+ options: Coding[];
42
+ valueCoding: Coding | null;
43
+ loading: boolean;
44
+ feedback: { message: string; color: AlertColor } | null;
45
+ readOnly: boolean;
46
+ onInputChange: (newInput: string) => void;
47
+ onValueChange: (newValue: Coding | null) => void;
48
+ }
49
+
50
+ function ChoiceAutocompleteField(props: ChoiceAutocompleteFieldsProps) {
51
+ const {
52
+ qItem,
53
+ options,
54
+ valueCoding,
55
+ loading,
56
+ feedback,
57
+ readOnly,
58
+ isTabled,
59
+ onInputChange,
60
+ onValueChange
61
+ } = props;
62
+
63
+ const { displayUnit, displayPrompt, entryFormat } = useRenderingExtensions(qItem);
64
+
65
+ return (
66
+ <Autocomplete
67
+ id={qItem.id}
68
+ value={valueCoding ?? null}
69
+ placeholder={entryFormat}
70
+ options={options}
71
+ getOptionLabel={(option) => `${option.display}`}
72
+ isOptionEqualToValue={(option, value) => option.id === value.id}
73
+ disabled={readOnly}
74
+ loading={loading}
75
+ loadingText={'Fetching results...'}
76
+ clearOnEscape
77
+ autoHighlight
78
+ onChange={(_, newValue) => onValueChange(newValue)}
79
+ sx={{ maxWidth: !isTabled ? 280 : 3000, minWidth: 160, flexGrow: 1 }}
80
+ filterOptions={(x) => x}
81
+ renderInput={(params) => (
82
+ <StandardTextField
83
+ {...params}
84
+ onChange={(e) => onInputChange(e.target.value)}
85
+ isTabled={isTabled}
86
+ label={displayPrompt}
87
+ size="small"
88
+ InputProps={{
89
+ ...params.InputProps,
90
+
91
+ startAdornment: (
92
+ <>
93
+ {!valueCoding ? <SearchIcon fontSize="small" sx={{ ml: 0.5 }} /> : null}
94
+ {params.InputProps.startAdornment}
95
+ </>
96
+ ),
97
+ endAdornment: (
98
+ <>
99
+ {loading ? (
100
+ <CircularProgress color="inherit" size={16} />
101
+ ) : feedback ? (
102
+ <Fade in={!!feedback} timeout={300}>
103
+ <Tooltip title={feedback.message} arrow sx={{ ml: 1 }}>
104
+ {
105
+ {
106
+ info: <InfoIcon fontSize="small" color="info" />,
107
+ warning: <WarningAmberIcon fontSize="small" color="warning" />,
108
+ success: <DoneIcon fontSize="small" color="success" />,
109
+ error: <ErrorIcon fontSize="small" color="error" />
110
+ }[feedback.color]
111
+ }
112
+ </Tooltip>
113
+ </Fade>
114
+ ) : null}
115
+ {params.InputProps.endAdornment}
116
+ {displayUnit}
117
+ </>
118
+ )
119
+ }}
120
+ />
121
+ )}
122
+ />
123
+ );
124
+ }
125
+
126
+ export default ChoiceAutocompleteField;