File tree Expand file tree Collapse file tree 3 files changed +19
-28
lines changed
Expand file tree Collapse file tree 3 files changed +19
-28
lines changed Original file line number Diff line number Diff line change 11{
22 "name" : " sdc-qrf" ,
33 "license" : " MIT" ,
4- "version" : " 1.0.0-beta.2 " ,
4+ "version" : " 1.0.0-beta.3 " ,
55 "scripts" : {
66 "test" : " vitest --watch=false" ,
77 "test:watch" : " vitest --watch" ,
Original file line number Diff line number Diff line change @@ -249,25 +249,27 @@ function mapFormToResponseRecursive(
249249 } , acc ) ;
250250 }
251251
252+ const qrItemAnswers = answers
253+ . filter ( ( answer ) => ! isAnswerValueEmpty ( answer . value ) )
254+ . reduce ( ( answersAcc , answer ) => {
255+ const items = hasSubAnswerItems ( answer . items )
256+ ? mapFormToResponseRecursive ( answer . items , question . item ?? [ ] )
257+ : [ ] ;
258+
259+ return [
260+ ...answersAcc ,
261+ {
262+ ...toFHIRAnswerValue ( answer . value ! , 'value' ) ,
263+ ...( items . length ? { item : items } : { } ) ,
264+ } ,
265+ ] ;
266+ } , [ ] as QuestionnaireResponseItemAnswer [ ] ) ;
267+
252268 return [
253269 ...acc ,
254270 {
255271 linkId,
256- answer : answers
257- . filter ( ( answer ) => ! isAnswerValueEmpty ( answer . value ) )
258- . reduce ( ( answersAcc , answer ) => {
259- const items = hasSubAnswerItems ( answer . items )
260- ? mapFormToResponseRecursive ( answer . items , question . item ?? [ ] )
261- : [ ] ;
262-
263- return [
264- ...answersAcc ,
265- {
266- ...toFHIRAnswerValue ( answer . value ! , 'value' ) ,
267- ...( items . length ? { item : items } : { } ) ,
268- } ,
269- ] ;
270- } , [ ] as QuestionnaireResponseItemAnswer [ ] ) ,
272+ ...( qrItemAnswers . length ? { answer : qrItemAnswers } : { } ) ,
271273 } ,
272274 ] ;
273275 } , [ ] as QuestionnaireResponseItem [ ] ) ;
Original file line number Diff line number Diff line change @@ -713,27 +713,20 @@ test('Transform removes missing answers', () => {
713713 items : {
714714 'question-1' : [
715715 {
716- items : { } ,
717716 value : {
718717 string : undefined ,
719718 } ,
720719 } ,
721720 ] ,
722721 'question-2' : [
723722 {
724- items : { } ,
725723 value : undefined ,
726724 } ,
727725 ] ,
728- 'question-3' : [
729- {
730- items : { } ,
731- } ,
732- ] ,
726+ 'question-3' : [ { } ] ,
733727 'question-4' : [ ] ,
734728 'question-5' : [
735729 {
736- items : { } ,
737730 value : {
738731 string : 'ok' ,
739732 } ,
@@ -752,19 +745,15 @@ test('Transform removes missing answers', () => {
752745 linkId : 'root-group' ,
753746 item : [
754747 {
755- answer : [ ] ,
756748 linkId : 'question-1' ,
757749 } ,
758750 {
759- answer : [ ] ,
760751 linkId : 'question-2' ,
761752 } ,
762753 {
763- answer : [ ] ,
764754 linkId : 'question-3' ,
765755 } ,
766756 {
767- answer : [ ] ,
768757 linkId : 'question-4' ,
769758 } ,
770759 {
You can’t perform that action at this time.
0 commit comments