Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/feat/db-questionnaire-load' into…
Browse files Browse the repository at this point in the history
… feat/db-questionnaire-load

# Conflicts:
#	core/src/main/java/org/openmrs/android/fhir/fragments/GenericFormEntryFragment.kt
#	core/src/main/java/org/openmrs/android/fhir/viewmodel/GenericFormEntryViewModel.kt
  • Loading branch information
icrc-psousa committed Feb 4, 2025
2 parents 4d35222 + 73a89fa commit 5bf401b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,19 @@ class GenericFormEntryFragment : Fragment(R.layout.generic_formentry_fragment) {
NavHostFragment.findNavController(this@GenericFormEntryFragment).navigateUp()
} else {
val parser = FhirContext.forCached(FhirVersionEnum.R4).newJsonParser()
val questionnaireJson = parser.encodeResourceToString(args.questionnaire);
val questionnaireJson = parser.encodeResourceToString(args.questionnaire)
add(
R.id.form_entry_container,
QuestionnaireFragment.builder().setQuestionnaire(questionnaireJson).build(),
QUESTIONNAIRE_FRAGMENT_TAG,
)
val parser = FhirContext.forCached(FhirVersionEnum.R4).newJsonParser()
val questionnaireJson = parser.encodeResourceToString(args.questionnaire)
add(
R.id.form_entry_container,
QuestionnaireFragment.builder().setQuestionnaire(questionnaireJson).build(),
QUESTIONNAIRE_FRAGMENT_TAG,
)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,17 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import ca.uhn.fhir.context.FhirContext
import ca.uhn.fhir.context.FhirVersionEnum
import com.google.android.fhir.FhirEngine
import com.google.android.fhir.datacapture.mapping.ResourceMapper
import com.google.android.fhir.search.search
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import java.time.ZoneId
import java.util.Date
import java.util.UUID
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.launch
import okio.FileNotFoundException
Expand All @@ -63,9 +68,6 @@ import org.openmrs.android.fhir.di.ViewModelAssistedFactory
import org.openmrs.android.helpers.OpenMRSHelper
import org.openmrs.android.helpers.OpenMRSHelper.MiscHelper
import org.openmrs.android.helpers.OpenMRSHelper.UserHelper
import java.time.ZoneId
import java.util.Date
import java.util.UUID

/** ViewModel for Generic questionnaire screen {@link GenericFormEntryFragment}. */
class GenericFormEntryViewModel
Expand Down Expand Up @@ -133,16 +135,17 @@ constructor(
*/
fun saveEncounter(questionnaireResponse: QuestionnaireResponse, form: Form, patientId: String) {
viewModelScope.launch {

val questionnaireId = state.get<String>("questionnaire_id")

if (questionnaireId.isNullOrBlank()) {
throw IllegalArgumentException("No questionnaire ID provided")
}

val questionnaire = fhirEngine.search<Questionnaire> {
filter(Resource.RES_ID, { value = of(questionnaireId) })
}.firstOrNull()?.resource
val questionnaire =
fhirEngine
.search<Questionnaire> { filter(Resource.RES_ID, { value = of(questionnaireId) }) }
.firstOrNull()
?.resource

if (questionnaire == null) {
throw IllegalStateException("No questionnaire resource found with ID: $questionnaireId")
Expand Down

0 comments on commit 5bf401b

Please sign in to comment.