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/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 = 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/build.gradle b/android/quest/build.gradle index 7db6e6fb96..0d4c29fa42 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" 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