Skip to content

Commit 55c109a

Browse files
committed
Clean up empty questionnaire response items
1 parent cf348bb commit 55c109a

File tree

5 files changed

+10
-327
lines changed

5 files changed

+10
-327
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.0-beta.4
2+
3+
- Clean up empty questionnaire response items
4+
15
## 1.0.0-beta.3
26

37
- Clean up empty answers key from questionnaire response item

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sdc-qrf",
33
"license": "MIT",
4-
"version": "1.0.0-beta.3",
4+
"version": "1.0.0-beta.4",
55
"scripts": {
66
"test": "vitest --watch=false",
77
"test:watch": "vitest --watch",

src/utils.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,15 @@ function mapFormToResponseRecursive(
265265
];
266266
}, [] as QuestionnaireResponseItemAnswer[]);
267267

268+
if (!qrItemAnswers.length) {
269+
return acc;
270+
}
271+
268272
return [
269273
...acc,
270274
{
271275
linkId,
272-
...(qrItemAnswers.length ? { answer: qrItemAnswers } : {}),
276+
answer: qrItemAnswers,
273277
},
274278
];
275279
}, [] as QuestionnaireResponseItem[]);

tests/resources/questionnaire.ts

Lines changed: 0 additions & 285 deletions
This file was deleted.

tests/utils.test.ts

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { describe, expect, test, vi } from 'vitest';
22

3-
import { allergiesQuestionnaire } from './resources/questionnaire';
43
import {
54
calcContext,
65
calcInitialContext,
@@ -744,18 +743,6 @@ test('Transform removes missing answers', () => {
744743
{
745744
linkId: 'root-group',
746745
item: [
747-
{
748-
linkId: 'question-1',
749-
},
750-
{
751-
linkId: 'question-2',
752-
},
753-
{
754-
linkId: 'question-3',
755-
},
756-
{
757-
linkId: 'question-4',
758-
},
759746
{
760747
answer: [
761748
{
@@ -1439,33 +1426,6 @@ test('enableWhenExpression logic', () => {
14391426
expect(actualQR).toEqual(expectedQR);
14401427
});
14411428

1442-
test('mapFormToResponse cut empty answers', () => {
1443-
const formValues = {
1444-
type: [
1445-
{
1446-
value: {
1447-
Coding: {
1448-
code: '418634005',
1449-
system: 'http://snomed.ct',
1450-
display: 'Drug',
1451-
},
1452-
},
1453-
},
1454-
],
1455-
reaction: undefined,
1456-
notes: [
1457-
{
1458-
value: {},
1459-
},
1460-
],
1461-
};
1462-
1463-
const result = mapFormToResponse(formValues, allergiesQuestionnaire);
1464-
const answersLinkIds = result.item?.map((answerItem) => answerItem.linkId) ?? [];
1465-
expect(answersLinkIds.includes('reaction')).not.toBe(true);
1466-
expect(answersLinkIds).toEqual(expect.arrayContaining(['type', 'notes']));
1467-
});
1468-
14691429
describe('enableWhen exists logic for non-repeatable groups primitives', () => {
14701430
const testConfigs: Array<{ name: string; q: FCEQuestionnaireItem; qr: QuestionnaireResponseItem[] }> = [
14711431
{

0 commit comments

Comments
 (0)