From dbe47729edb45281e5154ea106d1e3da72e38377 Mon Sep 17 00:00:00 2001 From: Evance <56567958+evance-mose@users.noreply.github.com> Date: Thu, 16 Nov 2023 14:26:33 +0200 Subject: [PATCH 1/3] Mwcore add new contact tags and overflow menu profile (#2861) * Add Contact Tags and Overflow Menu Profile * Fix tests --- .../engine/domain/model/HealthStatus.kt | 9 ++++++ .../engine/domain/model/HealthStatusTest.kt | 21 ++++++++++++++ .../quest/navigation/OverflowMenuFactory.kt | 29 ++++++++++++++++++- .../profile/PatientProfileViewModel.kt | 3 ++ .../navigation/OverflowMenuFactoryTest.kt | 17 +++++++++++ 5 files changed, 78 insertions(+), 1 deletion(-) diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/domain/model/HealthStatus.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/domain/model/HealthStatus.kt index c192aa27db..5ec59a508a 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/domain/model/HealthStatus.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/domain/model/HealthStatus.kt @@ -31,6 +31,15 @@ enum class HealthStatus(var display: String = "") { CHILD_CONTACT { override fun priority(): StatusPriority = 3 }, + SIBLING_CONTACT { + override fun priority(): StatusPriority = 3 + }, + SOCIAL_NETWORK_CONTACT { + override fun priority(): StatusPriority = 3 + }, + BIOLOGICAL_PARENT_CONTACT { + override fun priority(): StatusPriority = 3 + }, SEXUAL_CONTACT { override fun priority(): StatusPriority = 3 }, diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/domain/model/HealthStatusTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/domain/model/HealthStatusTest.kt index 2241dc7bbb..dfaf04693e 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/domain/model/HealthStatusTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/domain/model/HealthStatusTest.kt @@ -23,11 +23,32 @@ class HealthStatusTest { @Test fun testPatientTypes() { + + val expectedContactHealthStatusPriority = 3 Assert.assertNotNull(HealthStatus.valueOf("NEWLY_DIAGNOSED_CLIENT")) Assert.assertNotNull(HealthStatus.valueOf("CLIENT_ALREADY_ON_ART")) Assert.assertNotNull(HealthStatus.valueOf("EXPOSED_INFANT")) Assert.assertNotNull(HealthStatus.valueOf("COMMUNITY_POSITIVE")) Assert.assertNotNull(HealthStatus.valueOf("CHILD_CONTACT")) Assert.assertNotNull(HealthStatus.valueOf("SEXUAL_CONTACT")) + Assert.assertNotNull(HealthStatus.valueOf("SIBLING_CONTACT")) + + val siblingContactHealthStatus = HealthStatus.valueOf("SIBLING_CONTACT") + Assert.assertNotNull(siblingContactHealthStatus) + Assert.assertEquals(expectedContactHealthStatusPriority, siblingContactHealthStatus.priority()) + + val biologicalParentContactHealthStatus = HealthStatus.valueOf("BIOLOGICAL_PARENT_CONTACT") + Assert.assertNotNull(biologicalParentContactHealthStatus) + Assert.assertEquals( + expectedContactHealthStatusPriority, + biologicalParentContactHealthStatus.priority() + ) + + val socialNetworkContactHealthStatus = HealthStatus.valueOf("SOCIAL_NETWORK_CONTACT") + Assert.assertNotNull(socialNetworkContactHealthStatus) + Assert.assertEquals( + expectedContactHealthStatusPriority, + socialNetworkContactHealthStatus.priority() + ) } } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactory.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactory.kt index dc697a7aa2..4ae8d0bff2 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactory.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactory.kt @@ -133,5 +133,32 @@ enum class OverflowMenuHost(val overflowMenuItems: List) { OverflowMenuItem(R.id.tracing_history, R.string.tracing_history), OverflowMenuItem(R.id.edit_profile, R.string.edit_profile) ) - ) + ), + SIBLING_CONTACT_PROFILE( + listOf( + OverflowMenuItem(R.id.hiv_test_and_next_appointment, R.string.hiv_test_and_next_appointment), + OverflowMenuItem(R.id.edit_profile, R.string.edit_profile), + OverflowMenuItem(R.id.clinic_history, R.string.clinic_history), + OverflowMenuItem(R.id.patient_transfer_out, R.string.transfer_out), + OverflowMenuItem(R.id.patient_change_status, R.string.change_status), + ) + ), + SOCIAL_NETWORK_CONTACT_PROFILE( + listOf( + OverflowMenuItem(R.id.hiv_test_and_next_appointment, R.string.hiv_test_and_next_appointment), + OverflowMenuItem(R.id.edit_profile, R.string.edit_profile), + OverflowMenuItem(R.id.clinic_history, R.string.clinic_history), + OverflowMenuItem(R.id.patient_transfer_out, R.string.transfer_out), + OverflowMenuItem(R.id.patient_change_status, R.string.change_status), + ) + ), + BIOLOGICAL_PARENT_CONTACT_PROFILE( + listOf( + OverflowMenuItem(R.id.hiv_test_and_next_appointment, R.string.hiv_test_and_next_appointment), + OverflowMenuItem(R.id.edit_profile, R.string.edit_profile), + OverflowMenuItem(R.id.clinic_history, R.string.clinic_history), + OverflowMenuItem(R.id.patient_transfer_out, R.string.transfer_out), + OverflowMenuItem(R.id.patient_change_status, R.string.change_status), + ) + ), } diff --git a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/patient/profile/PatientProfileViewModel.kt b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/patient/profile/PatientProfileViewModel.kt index d0bea50093..7eba6a1581 100644 --- a/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/patient/profile/PatientProfileViewModel.kt +++ b/android/quest/src/main/java/org/smartregister/fhircore/quest/ui/patient/profile/PatientProfileViewModel.kt @@ -138,6 +138,9 @@ constructor( HealthStatus.EXPOSED_INFANT -> OverflowMenuHost.EXPOSED_INFANT_PROFILE HealthStatus.CHILD_CONTACT -> OverflowMenuHost.CHILD_CONTACT_PROFILE HealthStatus.SEXUAL_CONTACT -> OverflowMenuHost.SEXUAL_CONTACT_PROFILE + HealthStatus.SIBLING_CONTACT -> OverflowMenuHost.SIBLING_CONTACT_PROFILE + HealthStatus.BIOLOGICAL_PARENT_CONTACT -> OverflowMenuHost.BIOLOGICAL_PARENT_CONTACT_PROFILE + HealthStatus.SOCIAL_NETWORK_CONTACT -> OverflowMenuHost.SOCIAL_NETWORK_CONTACT_PROFILE HealthStatus.COMMUNITY_POSITIVE -> OverflowMenuHost.COMMUNITY_POSITIVE_PROFILE else -> OverflowMenuHost.PATIENT_PROFILE } diff --git a/android/quest/src/test/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactoryTest.kt b/android/quest/src/test/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactoryTest.kt index 83a8a2bb9c..6785a7e7ee 100644 --- a/android/quest/src/test/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactoryTest.kt +++ b/android/quest/src/test/java/org/smartregister/fhircore/quest/navigation/OverflowMenuFactoryTest.kt @@ -81,6 +81,23 @@ class OverflowMenuFactoryTest : RobolectricTest() { overflowMenuFactory.retrieveOverflowMenuItems(OverflowMenuHost.PATIENT_PROFILE) Assert.assertNotNull(uiProfilePatient) Assert.assertEquals(5, uiProfilePatient.size) + + val uiProfileSiblingContact = + overflowMenuFactory.retrieveOverflowMenuItems(OverflowMenuHost.SEXUAL_CONTACT_PROFILE) + Assert.assertNotNull(uiProfileSiblingContact) + Assert.assertEquals(5, uiProfileSiblingContact.size) + + val uiProfileSocialNetworkContact = + overflowMenuFactory.retrieveOverflowMenuItems(OverflowMenuHost.SOCIAL_NETWORK_CONTACT_PROFILE) + Assert.assertNotNull(uiProfileSocialNetworkContact) + Assert.assertEquals(5, uiProfileSocialNetworkContact.size) + + val uiProfileBiologicalParentContact = + overflowMenuFactory.retrieveOverflowMenuItems( + OverflowMenuHost.BIOLOGICAL_PARENT_CONTACT_PROFILE + ) + Assert.assertNotNull(uiProfileBiologicalParentContact) + Assert.assertEquals(5, uiProfileBiologicalParentContact.size) } @Test From 20d6b14f96df9e497d5db2063df6a220d31af75a Mon Sep 17 00:00:00 2001 From: Evance <56567958+evance-mose@users.noreply.github.com> Date: Thu, 23 Nov 2023 08:04:11 +0200 Subject: [PATCH 2/3] Add next appointment questionnaire to tracing (#2882) --- .../org/smartregister/fhircore/engine/util/TracingHelpers.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TracingHelpers.kt b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TracingHelpers.kt index 8b8d05a2ea..e426f8e1d5 100644 --- a/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TracingHelpers.kt +++ b/android/engine/src/main/java/org/smartregister/fhircore/engine/util/TracingHelpers.kt @@ -32,7 +32,8 @@ object TracingHelpers { "art-client-child-contact-registration", "art-client-sexual-contact-registration", "art-client-sibling-contact-registration", - "art-client-social-network-contact-registration" + "art-client-social-network-contact-registration", + "contact-and-community-positive-hiv-test-and-next-appointment" ) const val tracingBundleId = "tracing" fun requireTracingTasks(id: String): Boolean = From ba881936e69cd9b4779d3c47bc46b00355d316c9 Mon Sep 17 00:00:00 2001 From: Christopher Seven Phiri Date: Mon, 4 Dec 2023 15:21:58 +0200 Subject: [PATCH 3/3] [MWCore] Internal release 0.1.20 (#2905) --- android/quest/build.gradle | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/android/quest/build.gradle b/android/quest/build.gradle index dd631488b0..334ad41e5d 100644 --- a/android/quest/build.gradle +++ b/android/quest/build.gradle @@ -173,22 +173,22 @@ android { dimension "apps" applicationIdSuffix ".mwcore" versionNameSuffix "-mwcore" - versionCode 29 - versionName "0.1.19" + versionCode 30 + versionName "0.1.20" } mwcoreDev { dimension "apps" applicationIdSuffix ".mwcoreDev" versionNameSuffix "-mwcoreDev" - versionCode 29 - versionName "0.1.19" + versionCode 30 + versionName "0.1.20" } mwcoreProd { dimension "apps" applicationIdSuffix ".mwcoreProd" versionNameSuffix "-mwcoreProd" - versionCode 7 - versionName "0.0.7" + versionCode 8 + versionName "0.0.8" } afyayangu { dimension "apps"