From 6febc7342fd4714d87464237dbe8d7e389d6a0b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E2=89=A1ZRS?= <12814349+LZRS@users.noreply.github.com> Date: Wed, 12 Aug 2026 15:15:39 +0300 Subject: [PATCH] Use R4-specific fhir-model artifact, drop direct fhir-path dep Depend on dev.ohs.fhir:fhir-model-r4 instead of the fhir-model umbrella, which also pulls in R4B and R5. All app models are dev.ohs.fhir.model.r4.*. Remove the direct fhir-path dependency: no app code uses dev.ohs.fhir.fhirpath, and it still resolves transitively via fhir-engine and fhir-data-capture. It stays on the pre-split 1.0.0-beta03 because those two call FhirPathEngine.Companion.forR4(), which beta04+ moved out of the companion into a fhir-path-r4 extension. Refresh the bundled-libraries table to match, and add the missing fhir-engine row. --- README.md | 5 +++-- gradle/libs.versions.toml | 6 ++---- reference-app/build.gradle.kts | 7 +++++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b770574..b249d72 100644 --- a/README.md +++ b/README.md @@ -84,9 +84,10 @@ The app combines the OHS Player library with the OHS Foundational Libraries. Ver | Library | Purpose | | --- | --- | | [`dev.ohs.player:client`](https://github.com/ohs-foundation/player-client) | Config-driven views using flattened data from FHIR resources (the player) | -| `dev.ohs.fhir:fhir-model` | Typed Kotlin models for FHIR resources | -| `dev.ohs.fhir:fhir-path` | FHIRPath expression evaluation | +| `dev.ohs.fhir:fhir-model-r4` | Typed Kotlin models for FHIR R4 resources | +| `dev.ohs.fhir:fhir-engine` | Local FHIR store, search, and server sync | | `dev.ohs.fhir:fhir-data-capture` | FHIR Structured Data Capture (questionnaires) | +| `dev.ohs.fhir:fhir-path` | FHIRPath evaluation; arrives transitively via the engine and data capture | ### Have an existing app? diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0137181f..4e486be 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -35,8 +35,7 @@ ktor = "3.2.3" material3 = "1.10.0-alpha05" navigation-compose = "2.9.2" ohsFhirEngine = "2.0.0-alpha02" -ohsFhirModel = "1.0.0-beta05" -ohsFhirPath = "1.0.0-beta03" +ohsFhirModelR4 = "1.0.0-beta05" ohsPlayerClient = "1.0.0-alpha01" spotless = "8.6.0" @@ -95,8 +94,7 @@ ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "kto ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigation-compose" } ohs-fhir-engine = { module = "dev.ohs.fhir:fhir-engine", version.ref = "ohsFhirEngine" } -ohs-fhir-model = { module = "dev.ohs.fhir:fhir-model", version.ref = "ohsFhirModel" } -ohs-fhir-path = { module = "dev.ohs.fhir:fhir-path", version.ref = "ohsFhirPath" } +ohs-fhir-model-r4 = { module = "dev.ohs.fhir:fhir-model-r4", version.ref = "ohsFhirModelR4" } ohs-player-client = { module = "dev.ohs.player:client", version.ref = "ohsPlayerClient" } spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "spotless" } diff --git a/reference-app/build.gradle.kts b/reference-app/build.gradle.kts index b23b2c5..4c85097 100644 --- a/reference-app/build.gradle.kts +++ b/reference-app/build.gradle.kts @@ -110,8 +110,11 @@ kotlin { implementation(libs.koin.compose) implementation(libs.koin.composeViewmodel) implementation(libs.ohs.fhir.engine) - implementation(libs.ohs.fhir.model) - implementation(libs.ohs.fhir.path) + // R4-only artifact, not the `fhir-model` umbrella that also pulls in R4B and R5. No + // `fhir-path-r4` counterpart: nothing here uses dev.ohs.fhir.fhirpath, and the pre-split + // fhir-path :fhir-engine and :fhir-data-capture pull in has to stay — beta04+ moved + // `FhirPathEngine.Companion.forR4()`, which both of them call. + implementation(libs.ohs.fhir.model.r4) implementation(libs.fhir.data.capture) // Auth: shared OAuth2/PKCE client, secure session storage, SHA-256 for PKCE. implementation(libs.ktor.client.core)