From 92ca237057995c3c2220d030b0568ae5d6705ba8 Mon Sep 17 00:00:00 2001 From: aditya-07 Date: Fri, 29 Nov 2024 21:31:10 +0530 Subject: [PATCH] Update code labs for engine and sdc (#2747) * Updated data capture code lab * Updated code lab for engine --- codelabs/datacapture/README.md | 20 +++++++++---------- codelabs/engine/README.md | 10 ++++++++-- codelabs/engine/app/build.gradle.kts | 2 +- .../codelabs/engine/PatientItemViewHolder.kt | 8 +++++--- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/codelabs/datacapture/README.md b/codelabs/datacapture/README.md index e9a7f9e196..af44e32e18 100644 --- a/codelabs/datacapture/README.md +++ b/codelabs/datacapture/README.md @@ -76,8 +76,8 @@ of the `app/build.gradle.kts` file of your project: dependencies { // ... - implementation("com.google.android.fhir:data-capture:1.0.0") - implementation("androidx.fragment:fragment-ktx:1.5.5") + implementation("com.google.android.fhir:data-capture:1.2.0") + implementation("androidx.fragment:fragment-ktx:1.6.0") } ``` @@ -150,11 +150,11 @@ Open `MainActivity.kt` and add the following code to the `MainActivity` class: ```kotlin // Step 2: Configure a QuestionnaireFragment -val questionnaireJsonString = getStringFromAssets("questionnaire.json") +questionnaireJsonString = getStringFromAssets("questionnaire.json") + +val questionnaireFragment = + QuestionnaireFragment.builder().setQuestionnaire(questionnaireJsonString!!).build() -val questionnaireParams = bundleOf( -QuestionnaireFragment.EXTRA_QUESTIONNAIRE_JSON_STRING to questionnaireJsonString -) ``` ### Step 3: Add the QuestionnaireFragment to the FragmentContainerView @@ -168,10 +168,10 @@ Add the following code to the `MainActivity` class: ```kotlin // Step 3: Add the QuestionnaireFragment to the FragmentContainerView if (savedInstanceState == null) { - supportFragmentManager.commit { - setReorderingAllowed(true) - add(R.id.fragment_container_view, args = questionnaireParams) - } + supportFragmentManager.commit { + setReorderingAllowed(true) + add(R.id.fragment_container_view, questionnaireFragment) + } } // Submit button callback supportFragmentManager.setFragmentResultListener( diff --git a/codelabs/engine/README.md b/codelabs/engine/README.md index 67bfd6fabc..f0fc5b8ddf 100644 --- a/codelabs/engine/README.md +++ b/codelabs/engine/README.md @@ -125,7 +125,7 @@ file of your project: dependencies { // ... - implementation("com.google.android.fhir:engine:1.0.0") + implementation("com.google.android.fhir:engine:1.1.0") } ``` @@ -257,7 +257,13 @@ outlined below will guide you through the process. override fun getFhirEngine() = FhirApplication.fhirEngine(applicationContext) - override fun getUploadStrategy() = UploadStrategy.AllChangesSquashedBundlePut + override fun getUploadStrategy() = + UploadStrategy.forBundleRequest( + methodForCreate = HttpCreateMethod.PUT, + methodForUpdate = HttpUpdateMethod.PATCH, + squash = true, + bundleSize = 500, + ) } ``` diff --git a/codelabs/engine/app/build.gradle.kts b/codelabs/engine/app/build.gradle.kts index 23c48e875f..b682babd86 100644 --- a/codelabs/engine/app/build.gradle.kts +++ b/codelabs/engine/app/build.gradle.kts @@ -49,6 +49,6 @@ dependencies { androidTestImplementation("androidx.test.ext:junit:1.2.1") androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") - implementation("com.google.android.fhir:engine:1.0.0") + implementation("com.google.android.fhir:engine:1.1.0") implementation("androidx.fragment:fragment-ktx:1.8.3") } diff --git a/codelabs/engine/app/src/main/java/com/google/android/fhir/codelabs/engine/PatientItemViewHolder.kt b/codelabs/engine/app/src/main/java/com/google/android/fhir/codelabs/engine/PatientItemViewHolder.kt index 409441019f..6b115142a0 100644 --- a/codelabs/engine/app/src/main/java/com/google/android/fhir/codelabs/engine/PatientItemViewHolder.kt +++ b/codelabs/engine/app/src/main/java/com/google/android/fhir/codelabs/engine/PatientItemViewHolder.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023 Google LLC + * Copyright 2023-2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,8 +30,10 @@ class PatientItemViewHolder(binding: PatientListItemViewBinding) : fun bind(patientItem: Patient) { nameTextView.text = - patientItem.name.first().let { it.given.joinToString(separator = " ") + " " + it.family } - genderTextView.text = patientItem.gender.display + patientItem.name.firstOrNull()?.let { + it.given.joinToString(separator = " ") + " " + it.family + } + genderTextView.text = patientItem.gender?.display cityTextView.text = patientItem.address.singleOrNull()?.city } }