From 01aae64c8bdd08addcd1c0925d1b21c9c9495114 Mon Sep 17 00:00:00 2001 From: Jing Tang Date: Fri, 19 Jul 2024 14:19:03 +0100 Subject: [PATCH 1/3] Refactor FhirOperator --- .../google/android/fhir/workflow/FhirOperator.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt b/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt index 39dc05843d..e1a4bef7d0 100644 --- a/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt +++ b/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt @@ -51,25 +51,27 @@ internal constructor( knowledgeManager: KnowledgeManager, ) { init { - require(fhirContext.version.version == FhirVersionEnum.R4) { + check(fhirContext.version.version == FhirVersionEnum.R4) { "R4 is the only supported version by FhirOperator" } } private var dataRepo = FhirEngineRepository(fhirContext, fhirEngine) - private var contentRepo = KnowledgeRepository(fhirContext, knowledgeManager) - private var terminologyRepo = KnowledgeRepository(fhirContext, knowledgeManager) + private var knowledgeRepo = KnowledgeRepository(fhirContext, knowledgeManager) + // The knowledge manager is used for both content and terminology. + private val repository = ProxyRepository( + /* data = */ dataRepo, + /* content = */ knowledgeRepo, + /* terminology = */ knowledgeRepo + ) - private val repository = ProxyRepository(dataRepo, contentRepo, terminologyRepo) private val evaluationSettings: EvaluationSettings = EvaluationSettings.getDefault() - private val measureEvaluationOptions = MeasureEvaluationOptions().apply { evaluationSettings = this@FhirOperator.evaluationSettings } private val libraryProcessor = LibraryEngine(repository, evaluationSettings) - - private val measureProcessor = R4MeasureProcessor(repository, measureEvaluationOptions) private val planDefinitionProcessor = PlanDefinitionProcessor(repository, evaluationSettings) + private val measureProcessor = R4MeasureProcessor(repository, measureEvaluationOptions) /** * The function evaluates a FHIR library against the database. From 4464d7c46da134ad31e1cc56b9f27b9736ad71b3 Mon Sep 17 00:00:00 2001 From: Jing Tang Date: Fri, 19 Jul 2024 14:21:58 +0100 Subject: [PATCH 2/3] Change back to require --- .../main/java/com/google/android/fhir/workflow/FhirOperator.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt b/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt index e1a4bef7d0..61b1b1ba1d 100644 --- a/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt +++ b/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt @@ -51,7 +51,7 @@ internal constructor( knowledgeManager: KnowledgeManager, ) { init { - check(fhirContext.version.version == FhirVersionEnum.R4) { + require(fhirContext.version.version == FhirVersionEnum.R4) { "R4 is the only supported version by FhirOperator" } } From 2c4dcf395d5dde49ae058d4f8f44c5ea6b7b6e99 Mon Sep 17 00:00:00 2001 From: Jing Tang Date: Mon, 22 Jul 2024 20:16:07 +0100 Subject: [PATCH 3/3] Spotless apply --- .../com/google/android/fhir/workflow/FhirOperator.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt b/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt index 61b1b1ba1d..4d9ac5e598 100644 --- a/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt +++ b/workflow/src/main/java/com/google/android/fhir/workflow/FhirOperator.kt @@ -58,12 +58,14 @@ internal constructor( private var dataRepo = FhirEngineRepository(fhirContext, fhirEngine) private var knowledgeRepo = KnowledgeRepository(fhirContext, knowledgeManager) + // The knowledge manager is used for both content and terminology. - private val repository = ProxyRepository( - /* data = */ dataRepo, - /* content = */ knowledgeRepo, - /* terminology = */ knowledgeRepo - ) + private val repository = + ProxyRepository( + /* data = */ dataRepo, + /* content = */ knowledgeRepo, + /* terminology = */ knowledgeRepo, + ) private val evaluationSettings: EvaluationSettings = EvaluationSettings.getDefault() private val measureEvaluationOptions =