From 5553eb85efdf7a8c124ae73ffd6fb2834096c96f Mon Sep 17 00:00:00 2001 From: mmanojkmr Date: Thu, 20 Mar 2025 16:45:07 +0530 Subject: [PATCH 1/5] FHIR questionnaire attachment item shows as 'not answered' in review mode #2790 --- .../google/android/fhir/catalog/DemoQuestionnaireFragment.kt | 3 +++ .../android/fhir/datacapture/views/QuestionnaireViewItem.kt | 1 + datacapture/src/main/res/values/strings.xml | 1 + 3 files changed, 5 insertions(+) diff --git a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt index c672e79136..a16e7aeccb 100644 --- a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt +++ b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt @@ -146,6 +146,9 @@ class DemoQuestionnaireFragment : Fragment() { .LOCATION_WIDGET_PROVIDER, ) setQuestionnaire(args.questionnaireJsonStringKey!!) + if (args.questionnaireTitleKey == "Attachment") { + showReviewPageBeforeSubmit(true) + } } .build() add(R.id.container, questionnaireFragment, QUESTIONNAIRE_FRAGMENT_TAG) diff --git a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt index d9025fd284..281540d841 100644 --- a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt +++ b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt @@ -196,6 +196,7 @@ data class QuestionnaireViewItem( */ fun answerString(context: Context): String { if (!questionnaireResponseItem.hasAnswer()) return context.getString(R.string.not_answered) + else if (questionnaireItem.type==Questionnaire.QuestionnaireItemType.ATTACHMENT) return context.getString(R.string.answered) return questionnaireResponseItem.answer.joinToString { it.value.displayString(context) } } diff --git a/datacapture/src/main/res/values/strings.xml b/datacapture/src/main/res/values/strings.xml index 9944225995..f6105e7ccf 100644 --- a/datacapture/src/main/res/values/strings.xml +++ b/datacapture/src/main/res/values/strings.xml @@ -39,6 +39,7 @@ "Not Answered" + "Answered" Help From 77f9e101f17fa5597162233bbbae75b1eac8ce37 Mon Sep 17 00:00:00 2001 From: mmanojkmr Date: Fri, 21 Mar 2025 10:51:14 +0530 Subject: [PATCH 2/5] No Answered #2790 --- .../views/QuestionnaireViewItemTest.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt b/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt index f0696055fc..4007d1c228 100644 --- a/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt +++ b/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt @@ -1003,4 +1003,21 @@ class QuestionnaireViewItemTest { ) .isTrue() } + + @Test + fun `answerString() should return answered with answered`() { + val questionnaireViewItem = + QuestionnaireViewItem( + Questionnaire.QuestionnaireItemComponent(), + QuestionnaireResponse.QuestionnaireResponseItemComponent() + .addAnswer( + QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent() + .setValue(StringType("Attachment")), + ), + validationResult = Valid, + answersChangedCallback = { _, _, _, _ -> }, + ) + assertThat(questionnaireViewItem.answerString(context)).isEqualTo("Attachment") + } + } From 07140922bee86bab047dbef1b472901256d580c0 Mon Sep 17 00:00:00 2001 From: mmanojkmr Date: Fri, 21 Mar 2025 15:09:24 +0530 Subject: [PATCH 3/5] After spotlessApply --- .../android/fhir/catalog/DemoQuestionnaireFragment.kt | 2 +- .../fhir/datacapture/views/QuestionnaireViewItem.kt | 8 +++++--- .../fhir/datacapture/views/QuestionnaireViewItemTest.kt | 3 +-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt index a16e7aeccb..f543c27254 100644 --- a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt +++ b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 Google LLC + * Copyright 2023-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt index 281540d841..7f227af967 100644 --- a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt +++ b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 Google LLC + * Copyright 2023-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -195,8 +195,10 @@ data class QuestionnaireViewItem( * if question is answered else 'Not Answered' */ fun answerString(context: Context): String { - if (!questionnaireResponseItem.hasAnswer()) return context.getString(R.string.not_answered) - else if (questionnaireItem.type==Questionnaire.QuestionnaireItemType.ATTACHMENT) return context.getString(R.string.answered) + if (!questionnaireResponseItem.hasAnswer()) { + return context.getString(R.string.not_answered) + } else if (questionnaireItem.type == Questionnaire.QuestionnaireItemType.ATTACHMENT) + return context.getString(R.string.answered) return questionnaireResponseItem.answer.joinToString { it.value.displayString(context) } } diff --git a/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt b/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt index 4007d1c228..7f5e37a43b 100644 --- a/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt +++ b/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024 Google LLC + * Copyright 2022-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1019,5 +1019,4 @@ class QuestionnaireViewItemTest { ) assertThat(questionnaireViewItem.answerString(context)).isEqualTo("Attachment") } - } From 4970a06c80ed05c16b10cca0e758a6b6eabfb59d Mon Sep 17 00:00:00 2001 From: mmanojkmr Date: Fri, 21 Mar 2025 15:23:35 +0530 Subject: [PATCH 4/5] string updated --- .../android/fhir/datacapture/views/QuestionnaireViewItem.kt | 3 ++- datacapture/src/main/res/values/strings.xml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt index 7f227af967..249f4fe575 100644 --- a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt +++ b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt @@ -197,8 +197,9 @@ data class QuestionnaireViewItem( fun answerString(context: Context): String { if (!questionnaireResponseItem.hasAnswer()) { return context.getString(R.string.not_answered) - } else if (questionnaireItem.type == Questionnaire.QuestionnaireItemType.ATTACHMENT) + } else if (questionnaireItem.type == Questionnaire.QuestionnaireItemType.ATTACHMENT) { return context.getString(R.string.answered) + } return questionnaireResponseItem.answer.joinToString { it.value.displayString(context) } } diff --git a/datacapture/src/main/res/values/strings.xml b/datacapture/src/main/res/values/strings.xml index f6105e7ccf..2aad66d9e2 100644 --- a/datacapture/src/main/res/values/strings.xml +++ b/datacapture/src/main/res/values/strings.xml @@ -38,8 +38,8 @@ - "Not Answered" - "Answered" + Not Answered + Answered Help From b9df0c51625bf30726c9f3008c63c586407f05c3 Mon Sep 17 00:00:00 2001 From: mmanojkmr Date: Tue, 22 Apr 2025 18:35:09 +0530 Subject: [PATCH 5/5] code reverted --- .../google/android/fhir/catalog/DemoQuestionnaireFragment.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt index f543c27254..8ab4c5cae4 100644 --- a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt +++ b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt @@ -146,9 +146,6 @@ class DemoQuestionnaireFragment : Fragment() { .LOCATION_WIDGET_PROVIDER, ) setQuestionnaire(args.questionnaireJsonStringKey!!) - if (args.questionnaireTitleKey == "Attachment") { - showReviewPageBeforeSubmit(true) - } } .build() add(R.id.container, questionnaireFragment, QUESTIONNAIRE_FRAGMENT_TAG)