@aehrc/smart-forms-renderer 0.38.2 → 0.38.4

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 (55) hide show
  1. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +6 -2
  2. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  3. package/lib/components/FormComponents/Tables/GroupTable.d.ts +2 -2
  4. package/lib/components/FormComponents/Tables/GroupTable.js +2 -2
  5. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  6. package/lib/components/FormComponents/Tables/GroupTableBody.d.ts +2 -2
  7. package/lib/components/FormComponents/Tables/GroupTableBody.js +2 -2
  8. package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -1
  9. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +3 -2
  10. package/lib/components/FormComponents/Tables/GroupTableRow.js +16 -5
  11. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  12. package/lib/components/FormComponents/Tables/GroupTableView.d.ts +2 -2
  13. package/lib/components/FormComponents/Tables/GroupTableView.js +10 -10
  14. package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
  15. package/lib/components/Renderer/FormTopLevelItem.js +6 -0
  16. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  17. package/lib/tests/test-data/initialValueSample.d.ts +2 -0
  18. package/lib/tests/test-data/initialValueSample.js +802 -0
  19. package/lib/tests/test-data/initialValueSample.js.map +1 -0
  20. package/lib/utils/answerExpression.d.ts +18 -0
  21. package/lib/utils/answerExpression.js +133 -0
  22. package/lib/utils/answerExpression.js.map +1 -0
  23. package/lib/utils/calculatedExpression.js +1 -1
  24. package/lib/utils/calculatedExpression.js.map +1 -1
  25. package/lib/utils/dynamicValueSet.d.ts +5 -0
  26. package/lib/utils/dynamicValueSet.js +96 -0
  27. package/lib/utils/dynamicValueSet.js.map +1 -0
  28. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.d.ts +14 -0
  29. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js +639 -0
  30. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js.map +1 -0
  31. package/lib/utils/fhirpathAsyncUtils/outcome-utils.d.ts +3 -0
  32. package/lib/utils/fhirpathAsyncUtils/outcome-utils.js +41 -0
  33. package/lib/utils/fhirpathAsyncUtils/outcome-utils.js.map +1 -0
  34. package/lib/utils/genericRecursive.d.ts +17 -0
  35. package/lib/utils/genericRecursive.js +82 -0
  36. package/lib/utils/genericRecursive.js.map +1 -0
  37. package/lib/utils/initialise.js +47 -57
  38. package/lib/utils/initialise.js.map +1 -1
  39. package/lib/utils/repopulateIntoResponse.js +1 -1
  40. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +16 -0
  43. package/src/components/FormComponents/Tables/GroupTable.tsx +4 -0
  44. package/src/components/FormComponents/Tables/GroupTableBody.tsx +5 -1
  45. package/src/components/FormComponents/Tables/GroupTableRow.tsx +98 -46
  46. package/src/components/FormComponents/Tables/GroupTableView.tsx +30 -26
  47. package/src/components/Renderer/FormTopLevelItem.tsx +17 -0
  48. package/src/stories/assets/questionnaires/QItemControlGroup.ts +229 -5
  49. package/src/stories/sdc/ItemControlGroup.stories.tsx +10 -3
  50. package/src/tests/initial.test.ts +34 -0
  51. package/src/tests/test-data/initialValueSample.ts +826 -0
  52. package/src/utils/calculatedExpression.ts +1 -1
  53. package/src/utils/{updateQr.ts → genericRecursive.ts} +47 -2
  54. package/src/utils/initialise.ts +67 -73
  55. package/src/utils/repopulateIntoResponse.ts +1 -1
@@ -0,0 +1,3 @@
1
+ import type { Coding, OperationOutcome } from 'fhir/r4b';
2
+ export declare function CreateOperationOutcome(severity: 'error' | 'fatal' | 'warning' | 'information', code: 'invalid' | 'structure' | 'required' | 'value' | 'invariant' | 'security' | 'login' | 'unknown' | 'expired' | 'forbidden' | 'suppressed' | 'processing' | 'not-supported' | 'duplicate' | 'multiple-matches' | 'not-found' | 'deleted' | 'too-long' | 'code-invalid' | 'extension' | 'too-costly' | 'business-rule' | 'conflict' | 'transient' | 'lock-error' | 'no-store' | 'exception' | 'timeout' | 'incomplete' | 'throttled' | 'informational', message: string, coding?: Coding, diagnostics?: string): fhir4b.OperationOutcome;
3
+ export declare function logMessage(enabled: boolean, outcome: OperationOutcome, message: string, data?: any): void;
@@ -0,0 +1,41 @@
1
+ // --------------------------------------------------------------------------
2
+ // From: https://github.com/brianpos/fhirpathjs-async-poc/commit/950475900d09bf399574c24f142f3eeae1552fe6
3
+ // Forked from: https://github.com/brianpos/fhirpathjs-async-poc
4
+ // --------------------------------------------------------------------------
5
+ export function CreateOperationOutcome(severity, code, message, coding, diagnostics) {
6
+ var result = {
7
+ resourceType: 'OperationOutcome',
8
+ issue: []
9
+ };
10
+ var issue = {
11
+ severity: severity,
12
+ code: code,
13
+ details: { text: message }
14
+ };
15
+ if (coding && issue.details)
16
+ issue.details.coding = [coding];
17
+ if (diagnostics)
18
+ issue.diagnostics = diagnostics;
19
+ result.issue.push(issue);
20
+ return result;
21
+ }
22
+ export function logMessage(enabled, outcome, message, data) {
23
+ if (enabled) {
24
+ // and append it into the outcome issues
25
+ var issue = {
26
+ severity: 'information',
27
+ code: 'informational',
28
+ details: { text: message }
29
+ };
30
+ outcome.issue.push(issue);
31
+ if (typeof data === 'string' || typeof data === 'number' || typeof data === 'boolean')
32
+ issue.details.text += '' + data;
33
+ if (data) {
34
+ if (typeof data === 'string')
35
+ issue.diagnostics = data;
36
+ else
37
+ issue.diagnostics = JSON.stringify(data);
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=outcome-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome-utils.js","sourceRoot":"","sources":["../../../src/utils/fhirpathAsyncUtils/outcome-utils.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,yGAAyG;AACzG,gEAAgE;AAChE,6EAA6E;AAE7E,MAAM,UAAU,sBAAsB,CACpC,QAAuD,EACvD,IA+BmB,EACnB,OAAe,EACf,MAAe,EACf,WAAoB;IAEpB,IAAI,MAAM,GAA4B;QACpC,YAAY,EAAE,kBAAkB;QAChC,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,IAAI,KAAK,GAA0B;QACjC,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3B,CAAC;IACF,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,OAAyB,EACzB,OAAe,EACf,IAAU;IAEV,IAAI,OAAO,EAAE;QACX,wCAAwC;QACxC,IAAI,KAAK,GAA0B;YACjC,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,SAAS;YACnF,KAAK,CAAC,OAAQ,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;;gBAClD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/C;KACF;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Questionnaire, QuestionnaireItem, QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
2
+ export type RecursiveUpdateFunction<T> = (qItem: QuestionnaireItem, qrItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null, extraData: T) => QuestionnaireResponseItem | QuestionnaireResponseItem[] | null;
3
+ /**
4
+ * A generic (and safe) way to update a QuestionnaireResponse given a recursive function and a set of data i.e. Record<linkId, calculated expression values>, Record<linkId, re-populated values>
5
+ * This function relies heavily on mapQItemsIndex() and getQrItemsIndex() to accurately pinpoint the locations of QR items based on their positions in the Q, taking into account repeating group answers, non-filled questions, etc
6
+ *
7
+ * @author Sean Fong
8
+ */
9
+ export declare function updateQuestionnaireResponse<T>(questionnaire: Questionnaire, questionnaireResponse: QuestionnaireResponse, recursiveUpdateFunction: RecursiveUpdateFunction<T>, extraData: T): QuestionnaireResponse;
10
+ export type RecursiveReadArrayFunction<T> = (qItem: QuestionnaireItem, qrItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null) => T[] | null;
11
+ /**
12
+ * A generic (and safe) way to read an array of element(s) i.e. QuestionnaireResponseItem[], extracted Observation[] from a QuestionnaireResponse given a recursive function.
13
+ * This function relies heavily on mapQItemsIndex() and getQrItemsIndex() to accurately pinpoint the locations of QR items based on their positions in the Q, taking into account repeating group answers, non-filled questions, etc
14
+ *
15
+ * @author Sean Fong
16
+ */
17
+ export declare function readQuestionnaireResponse<T>(questionnaire: Questionnaire, questionnaireResponse: QuestionnaireResponse, recursiveReadFunction: RecursiveReadArrayFunction<T>): T[];
@@ -0,0 +1,82 @@
1
+ /*
2
+ * Copyright 2024 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
+ import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
18
+ import { qrItemHasItemsOrAnswer } from './manageForm';
19
+ /**
20
+ * A generic (and safe) way to update a QuestionnaireResponse given a recursive function and a set of data i.e. Record<linkId, calculated expression values>, Record<linkId, re-populated values>
21
+ * This function relies heavily on mapQItemsIndex() and getQrItemsIndex() to accurately pinpoint the locations of QR items based on their positions in the Q, taking into account repeating group answers, non-filled questions, etc
22
+ *
23
+ * @author Sean Fong
24
+ */
25
+ export function updateQuestionnaireResponse(questionnaire, questionnaireResponse, recursiveUpdateFunction, extraData) {
26
+ var _a;
27
+ if (!questionnaire.item ||
28
+ questionnaire.item.length === 0 ||
29
+ !questionnaireResponse.item ||
30
+ questionnaireResponse.item.length === 0) {
31
+ return questionnaireResponse;
32
+ }
33
+ const qItemsIndexMap = mapQItemsIndex(questionnaire);
34
+ const topLevelQRItemsByIndex = getQrItemsIndex(questionnaire.item, questionnaireResponse.item, qItemsIndexMap);
35
+ const topLevelQrItems = [];
36
+ for (const [index, topLevelQItem] of questionnaire.item.entries()) {
37
+ const topLevelQRItemOrItems = (_a = topLevelQRItemsByIndex[index]) !== null && _a !== void 0 ? _a : {
38
+ linkId: topLevelQItem.linkId,
39
+ text: topLevelQItem.text,
40
+ item: []
41
+ };
42
+ const updatedTopLevelQRItem = recursiveUpdateFunction(topLevelQItem, topLevelQRItemOrItems, extraData);
43
+ if (Array.isArray(updatedTopLevelQRItem)) {
44
+ if (updatedTopLevelQRItem.length > 0) {
45
+ topLevelQrItems.push(...updatedTopLevelQRItem);
46
+ }
47
+ continue;
48
+ }
49
+ if (updatedTopLevelQRItem && qrItemHasItemsOrAnswer(updatedTopLevelQRItem)) {
50
+ topLevelQrItems.push(updatedTopLevelQRItem);
51
+ }
52
+ }
53
+ return Object.assign(Object.assign({}, questionnaireResponse), { item: topLevelQrItems });
54
+ }
55
+ /**
56
+ * A generic (and safe) way to read an array of element(s) i.e. QuestionnaireResponseItem[], extracted Observation[] from a QuestionnaireResponse given a recursive function.
57
+ * This function relies heavily on mapQItemsIndex() and getQrItemsIndex() to accurately pinpoint the locations of QR items based on their positions in the Q, taking into account repeating group answers, non-filled questions, etc
58
+ *
59
+ * @author Sean Fong
60
+ */
61
+ export function readQuestionnaireResponse(questionnaire, questionnaireResponse, recursiveReadFunction) {
62
+ var _a, _b;
63
+ if (!questionnaire.item || questionnaire.item.length === 0) {
64
+ return [];
65
+ }
66
+ const qItemsIndexMap = mapQItemsIndex(questionnaire);
67
+ const topLevelQRItemsByIndex = getQrItemsIndex(questionnaire.item, (_a = questionnaireResponse.item) !== null && _a !== void 0 ? _a : [], qItemsIndexMap);
68
+ const readValueArray = [];
69
+ for (const [index, topLevelQItem] of questionnaire.item.entries()) {
70
+ const topLevelQRItemOrItems = (_b = topLevelQRItemsByIndex[index]) !== null && _b !== void 0 ? _b : {
71
+ linkId: topLevelQItem.linkId,
72
+ text: topLevelQItem.text,
73
+ item: []
74
+ };
75
+ const readValue = recursiveReadFunction(topLevelQItem, topLevelQRItemOrItems);
76
+ if (readValue) {
77
+ readValueArray.push(...readValue);
78
+ }
79
+ }
80
+ return readValueArray;
81
+ }
82
+ //# sourceMappingURL=genericRecursive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericRecursive.js","sourceRoot":"","sources":["../../src/utils/genericRecursive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAQtD;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,aAA4B,EAC5B,qBAA4C,EAC5C,uBAAmD,EACnD,SAAY;;IAEZ,IACE,CAAC,aAAa,CAAC,IAAI;QACnB,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,qBAAqB,CAAC,IAAI;QAC3B,qBAAqB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EACvC;QACA,OAAO,qBAAqB,CAAC;KAC9B;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,eAAe,CAC5C,aAAa,CAAC,IAAI,EAClB,qBAAqB,CAAC,IAAI,EAC1B,cAAc,CACf,CAAC;IAEF,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;QACjE,MAAM,qBAAqB,GAAG,MAAA,sBAAsB,CAAC,KAAK,CAAC,mCAAI;YAC7D,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,MAAM,qBAAqB,GAAG,uBAAuB,CACnD,aAAa,EACb,qBAAqB,EACrB,SAAS,CACV,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACxC,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpC,eAAe,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;aAChD;YACD,SAAS;SACV;QAED,IAAI,qBAAqB,IAAI,sBAAsB,CAAC,qBAAqB,CAAC,EAAE;YAC1E,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAC7C;KACF;IAED,uCAAY,qBAAqB,KAAE,IAAI,EAAE,eAAe,IAAG;AAC7D,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA4B,EAC5B,qBAA4C,EAC5C,qBAAoD;;IAEpD,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,sBAAsB,GAAG,eAAe,CAC5C,aAAa,CAAC,IAAI,EAClB,MAAA,qBAAqB,CAAC,IAAI,mCAAI,EAAE,EAChC,cAAc,CACf,CAAC;IAEF,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;QACjE,MAAM,qBAAqB,GAAG,MAAA,sBAAsB,CAAC,KAAK,CAAC,mCAAI;YAC7D,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,MAAM,SAAS,GAAG,qBAAqB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;QAE9E,IAAI,SAAS,EAAE;YACb,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;SACnC;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -20,6 +20,8 @@ import { getFirstVisiblePage } from './page';
20
20
  import { assignPopulatedAnswersToEnableWhen } from './enableWhen';
21
21
  import { evaluateInitialCalculatedExpressions } from './calculatedExpression';
22
22
  import { createQuestionnaireResponseItemMap } from './questionnaireResponseStoreUtils/updatableResponseItems';
23
+ import { readQuestionnaireResponse } from './genericRecursive';
24
+ import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
23
25
  /**
24
26
  * Initialise a questionnaireResponse from a given questionnaire
25
27
  * optionally takes in an existing questionnaireResponse to be initialised
@@ -39,7 +41,7 @@ export function initialiseQuestionnaireResponse(questionnaire, questionnaireResp
39
41
  }
40
42
  const firstTopLevelItem = (_a = questionnaire === null || questionnaire === void 0 ? void 0 : questionnaire.item) === null || _a === void 0 ? void 0 : _a[0];
41
43
  if (firstTopLevelItem && !questionnaireResponse.item) {
42
- const initialItems = readItemInitialValues(questionnaire);
44
+ const initialItems = readQuestionnaireResponse(questionnaire, questionnaireResponse, readInitialValuesRecursive);
43
45
  if (initialItems && initialItems.length > 0) {
44
46
  questionnaireResponse.item = initialItems;
45
47
  }
@@ -70,62 +72,60 @@ function createQuestionnaireReference(questionnaire) {
70
72
  }
71
73
  return '';
72
74
  }
73
- function readItemInitialValues(questionnaire) {
74
- if (!questionnaire.item || questionnaire.item.length === 0) {
75
- return null;
76
- }
77
- const topLevelQrItems = [];
78
- for (const topLevelQItem of questionnaire.item) {
79
- const updatedTopLevelQRItem = readItemInitialValueRecursive(topLevelQItem);
80
- if (Array.isArray(updatedTopLevelQRItem)) {
81
- if (updatedTopLevelQRItem.length > 0) {
82
- topLevelQrItems.push(...updatedTopLevelQRItem);
83
- }
84
- continue;
85
- }
86
- if (updatedTopLevelQRItem) {
87
- topLevelQrItems.push(updatedTopLevelQRItem);
88
- }
89
- }
90
- if (topLevelQrItems.length === 0) {
91
- return null;
92
- }
93
- return topLevelQrItems;
94
- }
95
- function readItemInitialValueRecursive(qItem) {
75
+ function readInitialValuesRecursive(qItem, qrItemOrItems) {
76
+ var _a;
77
+ // Process items with child items
78
+ const initialValues = [];
96
79
  const childQItems = qItem.item;
97
80
  if (childQItems && childQItems.length > 0) {
98
- // TODO No support for multiple rows at the moment
81
+ // Process repeating group items separately
99
82
  if (qItem.type === 'group' && qItem.repeats) {
100
- const initialItemsFromRepeatGroup = getInitialValueAnswersFromRepeatGroup(qItem);
101
- return createNewRepeatGroupQuestionnaireResponseItem(qItem, initialItemsFromRepeatGroup);
83
+ const initialItemsFromRepeatGroup = getInitialValueAnswersFromRepeatGroup(qItem, qrItemOrItems);
84
+ const newRepeatGroupQuestionnaireResponseItem = createNewRepeatGroupQuestionnaireResponseItem(qItem, initialItemsFromRepeatGroup);
85
+ return newRepeatGroupQuestionnaireResponseItem
86
+ ? [newRepeatGroupQuestionnaireResponseItem]
87
+ : null;
102
88
  }
103
- const initialQRItems = [];
104
- for (const childQItem of childQItems) {
105
- const initialChildQRItemOrItems = readItemInitialValueRecursive(childQItem);
106
- if (Array.isArray(initialChildQRItemOrItems)) {
107
- if (initialChildQRItemOrItems.length > 0) {
108
- initialQRItems.push(...initialChildQRItemOrItems);
109
- }
110
- continue;
89
+ // Map qrItemOrItems into an array of qrItems
90
+ let childQrItems = [];
91
+ if (qrItemOrItems) {
92
+ if (Array.isArray(qrItemOrItems)) {
93
+ childQrItems = qrItemOrItems;
111
94
  }
112
- if (initialChildQRItemOrItems) {
113
- initialQRItems.push(initialChildQRItemOrItems);
95
+ else {
96
+ childQrItems = (_a = qrItemOrItems.item) !== null && _a !== void 0 ? _a : [];
114
97
  }
115
98
  }
116
- let qrItem = createNewQuestionnaireResponseItem(qItem, getInitialValueAnswers(qItem));
117
- if (initialQRItems.length > 0) {
118
- if (!qrItem) {
119
- qrItem = {
120
- linkId: qItem.linkId,
121
- text: qItem.text
122
- };
99
+ const indexMap = mapQItemsIndex(qItem);
100
+ const qrItemsByIndex = getQrItemsIndex(childQItems, childQrItems, indexMap);
101
+ for (const [index, childQItem] of childQItems.entries()) {
102
+ const childQRItemOrItems = qrItemsByIndex[index];
103
+ const childInitialValues = readInitialValuesRecursive(childQItem, childQRItemOrItems !== null && childQRItemOrItems !== void 0 ? childQRItemOrItems : null);
104
+ if (childInitialValues) {
105
+ initialValues.push(...childInitialValues);
123
106
  }
124
- qrItem.item = initialQRItems;
125
107
  }
126
- return qrItem;
127
108
  }
128
- return createNewQuestionnaireResponseItem(qItem, getInitialValueAnswers(qItem));
109
+ // Create new qrItem for items with initial values
110
+ let qrItem = createNewQuestionnaireResponseItem(qItem, getInitialValueAnswers(qItem));
111
+ if (initialValues.length > 0) {
112
+ if (!qrItem) {
113
+ qrItem = {
114
+ linkId: qItem.linkId,
115
+ text: qItem.text
116
+ };
117
+ }
118
+ qrItem.item = initialValues;
119
+ }
120
+ return qrItem ? [qrItem] : null;
121
+ }
122
+ function getInitialValueAnswersFromRepeatGroup(qItem, qrItemOrItems) {
123
+ if (!qItem.item) {
124
+ return [];
125
+ }
126
+ return qItem.item
127
+ .flatMap((childQItem) => readInitialValuesRecursive(childQItem, qrItemOrItems))
128
+ .filter((childQRItem) => !!childQRItem);
129
129
  }
130
130
  function getInitialValueAnswers(qItem) {
131
131
  // For answerOption.initialSelected
@@ -161,16 +161,6 @@ function getInitialValueAnswers(qItem) {
161
161
  .map((initialValue) => parseItemInitialToAnswer(initialValue))
162
162
  .filter((item) => item !== null);
163
163
  }
164
- function getInitialValueAnswersFromRepeatGroup(qItem) {
165
- if (!qItem.item) {
166
- return [];
167
- }
168
- return qItem.item
169
- .map((childQItem) => {
170
- return Object.assign(Object.assign({ linkId: childQItem.linkId }, (childQItem.text ? { text: childQItem.text } : {})), { answer: getInitialValueAnswers(childQItem) });
171
- })
172
- .filter((childQRItem) => childQRItem.answer && childQRItem.answer.length > 0);
173
- }
174
164
  export function parseItemInitialToAnswer(initial) {
175
165
  if (typeof initial.valueBoolean === 'boolean') {
176
166
  return { valueBoolean: initial.valueBoolean };
@@ -1 +1 @@
1
- {"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
2
2
  import { isSpecificItemControl } from './itemControl';
3
3
  import { questionnaireResponseStore, questionnaireStore } from '../stores';
4
- import { updateQuestionnaireResponse } from './updateQr';
4
+ import { updateQuestionnaireResponse } from './genericRecursive';
5
5
  /**
6
6
  * Re-populate checked items in the re-population dialog into the current QuestionnaireResponse
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"repopulateIntoResponse.js","sourceRoot":"","sources":["../../src/utils/repopulateIntoResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repopulateIntoResponse.js","sourceRoot":"","sources":["../../src/utils/repopulateIntoResponse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "0.38.2",
3
+ "version": "0.38.4",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -76,6 +76,7 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
76
76
  qItem={qItem}
77
77
  qrItems={qrItems}
78
78
  groupCardElevation={groupCardElevation + 1}
79
+ isRepeated={true}
79
80
  parentIsReadOnly={parentIsReadOnly}
80
81
  onQrRepeatGroupChange={onQrRepeatGroupChange}
81
82
  />
@@ -119,6 +120,7 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
119
120
  qItem={qItem}
120
121
  qrItems={[]}
121
122
  groupCardElevation={groupCardElevation + 1}
123
+ isRepeated={true}
122
124
  parentIsReadOnly={parentIsReadOnly}
123
125
  onQrRepeatGroupChange={onQrRepeatGroupChange}
124
126
  />
@@ -149,6 +151,20 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
149
151
 
150
152
  // if qItem is not a repeating question or is a checkbox
151
153
  if (qItem.type === 'group') {
154
+ // GroupTable "gtable" can be rendered with either repeats:true or false
155
+ if (isSpecificItemControl(qItem, 'gtable')) {
156
+ return (
157
+ <GroupTable
158
+ qItem={qItem}
159
+ qrItems={qrItem ? [qrItem] : []}
160
+ groupCardElevation={groupCardElevation + 1}
161
+ isRepeated={false}
162
+ parentIsReadOnly={parentIsReadOnly}
163
+ onQrRepeatGroupChange={onQrRepeatGroupChange}
164
+ />
165
+ );
166
+ }
167
+
152
168
  return (
153
169
  <GroupItem
154
170
  qItem={qItem}
@@ -20,6 +20,7 @@ import React, { useMemo } from 'react';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
21
  import { mapQItemsIndex } from '../../../utils/mapItem';
22
22
  import type {
23
+ PropsWithIsRepeatedAttribute,
23
24
  PropsWithParentIsReadOnlyAttribute,
24
25
  PropsWithQrRepeatGroupChangeHandler,
25
26
  PropsWithShowMinimalViewAttribute
@@ -34,6 +35,7 @@ import { flushSync } from 'react-dom';
34
35
 
35
36
  interface GroupTableProps
36
37
  extends PropsWithQrRepeatGroupChangeHandler,
38
+ PropsWithIsRepeatedAttribute,
37
39
  PropsWithShowMinimalViewAttribute,
38
40
  PropsWithParentIsReadOnlyAttribute {
39
41
  qItem: QuestionnaireItem;
@@ -52,6 +54,7 @@ function GroupTable(props: GroupTableProps) {
52
54
  qItem,
53
55
  qrItems,
54
56
  groupCardElevation,
57
+ isRepeated,
55
58
  showMinimalView,
56
59
  parentIsReadOnly,
57
60
  onQrRepeatGroupChange
@@ -166,6 +169,7 @@ function GroupTable(props: GroupTableProps) {
166
169
  qItem={qItem}
167
170
  qItemsIndexMap={qItemsIndexMap}
168
171
  groupCardElevation={groupCardElevation}
172
+ isRepeated={isRepeated}
169
173
  readOnly={readOnly}
170
174
  tableRows={tableRows}
171
175
  selectedIds={selectedIds}
@@ -20,6 +20,7 @@ import { createEmptyQrItem } from '../../../utils/qrItem';
20
20
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
21
21
  import type { GroupTableRowModel } from '../../../interfaces/groupTable.interface';
22
22
  import type {
23
+ PropsWithIsRepeatedAttribute,
23
24
  PropsWithParentIsReadOnlyAttribute,
24
25
  PropsWithShowMinimalViewAttribute
25
26
  } from '../../../interfaces/renderProps.interface';
@@ -30,7 +31,8 @@ import { reorderRows } from '../../../utils/groupTable';
30
31
  import TableBody from '@mui/material/TableBody';
31
32
 
32
33
  interface GroupTableBodyProps
33
- extends PropsWithParentIsReadOnlyAttribute,
34
+ extends PropsWithIsRepeatedAttribute,
35
+ PropsWithParentIsReadOnlyAttribute,
34
36
  PropsWithShowMinimalViewAttribute {
35
37
  tableQItem: QuestionnaireItem;
36
38
  readOnly: boolean;
@@ -50,6 +52,7 @@ function GroupTableBody(props: GroupTableBodyProps) {
50
52
  tableRows,
51
53
  selectedIds,
52
54
  qItemsIndexMap,
55
+ isRepeated,
53
56
  showMinimalView,
54
57
  parentIsReadOnly,
55
58
  onRowChange,
@@ -93,6 +96,7 @@ function GroupTableBody(props: GroupTableBodyProps) {
93
96
  answeredQrItem={answeredQrItem}
94
97
  nullableQrItem={nullableQrItem}
95
98
  readOnly={readOnly}
99
+ isRepeated={isRepeated}
96
100
  hoverDisabled={snapshot.isDraggingOver}
97
101
  tableRows={tableRows}
98
102
  itemIsSelected={itemIsSelected}