From 77fc80ab39b8a6b8f9488e82c1af5622bfa04757 Mon Sep 17 00:00:00 2001 From: Nirbhay Kumar Nachiketa Date: Tue, 25 Nov 2025 18:13:30 +0530 Subject: [PATCH] PHR-2133 Add code to test getOrganizations --- bwell-kotlin-android/app/build.gradle.kts | 2 +- .../ui/healthsummary/HealthSummaryFragment.kt | 18 ++++++++++++++++++ .../repository/ProviderResourcesRepository.kt | 10 ++++++++++ .../viewmodel/HealthSummaryViewModel.kt | 15 +++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) diff --git a/bwell-kotlin-android/app/build.gradle.kts b/bwell-kotlin-android/app/build.gradle.kts index 84108acf..ae446301 100644 --- a/bwell-kotlin-android/app/build.gradle.kts +++ b/bwell-kotlin-android/app/build.gradle.kts @@ -69,7 +69,7 @@ android { dependencies { // BWell SDK Usage - implementation("com.bwell:bwell-sdk-kotlin:1.12.3") + implementation("com.bwell:bwell-sdk-kotlin:1.12.3-SNAPSHOT") implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0") diff --git a/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/activities/ui/healthsummary/HealthSummaryFragment.kt b/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/activities/ui/healthsummary/HealthSummaryFragment.kt index 7e91a3b8..1249926d 100644 --- a/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/activities/ui/healthsummary/HealthSummaryFragment.kt +++ b/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/activities/ui/healthsummary/HealthSummaryFragment.kt @@ -30,6 +30,7 @@ import com.bwell.healthdata.healthsummary.requests.immunization.ImmunizationGrou import com.bwell.healthdata.healthsummary.requests.procedure.ProcedureGroupsRequest import com.bwell.healthdata.healthsummary.requests.vitalsign.VitalSignGroupsRequest import com.bwell.healthdata.requests.binary.BinaryRequest +import com.bwell.provider.requests.organization.OrganizationRequest import com.bwell.provider.requests.practitioner.PractitionerRequest import com.bwell.sampleapp.BWellSampleApplication import com.bwell.sampleapp.R @@ -83,6 +84,8 @@ class HealthSummaryFragment : Fragment(), View.OnClickListener { .build() healthSummaryViewModel.getPractitioners(practitionerRequest) + val organizationRequest = OrganizationRequest.Builder().id("00000107-21f8-57a3-b59e-96f2e1e01775").build() + healthSummaryViewModel.getOrganizations(organizationRequest) viewLifecycleOwner.lifecycleScope.launch { launch { @@ -136,6 +139,21 @@ class HealthSummaryFragment : Fragment(), View.OnClickListener { } } + viewLifecycleOwner.lifecycleScope.launch { + launch { + healthSummaryViewModel.organizationsResults.collect { result -> + when(result) { + is BWellResult.ResourceCollection -> { + Log.i("getOrganizations", result.toString()) + } + else -> { + Log.w("getOrganizations", "Unexpected result type: ${result?.javaClass?.simpleName}") + } + } + } + } + } + return root } diff --git a/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/repository/ProviderResourcesRepository.kt b/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/repository/ProviderResourcesRepository.kt index 03d9aedc..7376bf3c 100644 --- a/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/repository/ProviderResourcesRepository.kt +++ b/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/repository/ProviderResourcesRepository.kt @@ -2,6 +2,7 @@ package com.bwell.sampleapp.repository import com.bwell.sampleapp.singletons.BWellSdk import com.bwell.common.models.responses.BWellResult +import com.bwell.provider.requests.organization.OrganizationRequest import com.bwell.provider.requests.practitioner.PractitionerRequest import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow @@ -16,4 +17,13 @@ class ProviderResourcesRepository { emit(null) } } + + suspend fun getOrganizations(organizationRequest: OrganizationRequest): Flow?> = flow { + try { + val organizationResult = BWellSdk.provider.getOrganizations(organizationRequest) + emit(organizationResult) + } catch (e: Exception) { + emit(null) + } + } } diff --git a/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/viewmodel/HealthSummaryViewModel.kt b/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/viewmodel/HealthSummaryViewModel.kt index df489740..d2130cd9 100644 --- a/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/viewmodel/HealthSummaryViewModel.kt +++ b/bwell-kotlin-android/app/src/main/java/com/bwell/sampleapp/viewmodel/HealthSummaryViewModel.kt @@ -9,6 +9,7 @@ import com.bwell.common.models.domain.healthdata.healthsummary.healthsummary.enu import com.bwell.common.models.responses.BWellResult import com.bwell.healthdata.healthsummary.requests.documentReference.DocumentReferencesRequest import com.bwell.healthdata.requests.binary.BinaryRequest +import com.bwell.provider.requests.organization.OrganizationRequest import com.bwell.provider.requests.practitioner.PractitionerRequest import com.bwell.sampleapp.model.HealthSummaryList import com.bwell.sampleapp.repository.HealthSummaryRepository @@ -90,6 +91,20 @@ class HealthSummaryViewModel ( } } + private val _organizationsResults = MutableStateFlow?>(null) + val organizationsResults: StateFlow?> = _organizationsResults + fun getOrganizations(organizationRequest: OrganizationRequest) { + viewModelScope.launch { + try { + providerResourcesRepository?.getOrganizations(organizationRequest)?.collect { result -> + _organizationsResults.emit(result) + } + } catch (e: Exception){ + // Handle Exceptions, if any + } + } + } + private val _binaryResults = MutableStateFlow?>(null) val binaryResults: StateFlow?> = _binaryResults