Skip to content

Migrate expression evaluators to Kotlin multi platform #2932

Merged
ellykits merged 66 commits intoohs-foundation:masterfrom
ellykits:fhirpath-evaluation
Feb 12, 2026
Merged

Migrate expression evaluators to Kotlin multi platform #2932
ellykits merged 66 commits intoohs-foundation:masterfrom
ellykits:fhirpath-evaluation

Conversation

@ellykits
Copy link
Copy Markdown
Contributor

@ellykits ellykits commented Jan 6, 2026

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Fixes #2924

Description
Clear and concise code change description.

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?

Type
Choose one: (Bug fix | Feature | Documentation | Testing | Code health | Builds | Releases | Other)

Screenshots (if applicable)

Checklist

  • I have read and acknowledged the Code of conduct.
  • I have read the Contributing page.
  • I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
  • I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
  • I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

ellykits and others added 30 commits November 3, 2025 13:14
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Fix compose build issues kmp
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
- Build success
- Android run success
- Web run success
- iOS not tested yet
- Able to open form in compose
- Logs QR on submission
- Migrate from R5 to R4 in sdc-kmp-demo
- Create QuestionnaireComposeable.kt public API for simpler access to datacapture-kmp
Add datacapture KMP demo application #3
Run spotlessApply to fix code formating issues.

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Issue resolved by upgrading dependencies.

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Fix issues to do with answer comparison and object creation.

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
@ellykits ellykits marked this pull request as ready for review January 20, 2026 14:55
@ellykits ellykits requested a review from a team as a code owner January 20, 2026 14:55
@ellykits ellykits requested review from jingtang10 and removed request for a team January 20, 2026 14:55
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Kotlin-FHIRPath now supports custom variables in expressions. Refactor
implementation to provide custom variable during fhirpath evaluation.

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
LZRS added a commit to LZRS/android-fhir that referenced this pull request Jan 29, 2026
LZRS added a commit to LZRS/android-fhir that referenced this pull request Jan 29, 2026
@github-project-automation github-project-automation bot moved this from New to PR under Review in Android FHIR SDK Feb 9, 2026
LZRS added a commit that referenced this pull request Feb 11, 2026
…#2935)

* Move BooleanChoiceViewFactory

* Move RadioGroupViewFactory

* Add kmp desktopTest to CI

* Move CheckBoxGroupViewFactory to kmp

* Update getting answer option display string

* Move dialog select view factory to kmp

* Replace getString in tests to fix HeadlessException in CI

Desktop tests in ci fail with the following error
seemingly targeting a UI environment
java.awt.HeadlessException
	at java.desktop/sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:122)
	at org.jetbrains.compose.resources.ResourceEnvironment_desktopKt.getSystemEnvironment(ResourceEnvironment.desktop.kt:12)
	at org.jetbrains.compose.resources.ResourceEnvironmentKt$getResourceEnvironment$1.invoke(ResourceEnvironment.kt:81)
	at org.jetbrains.compose.resources.ResourceEnvironmentKt$getResourceEnvironment$1.invoke(ResourceEnvironment.kt:81)
	at org.jetbrains.compose.resources.ResourceEnvironmentKt.getSystemResourceEnvironment(ResourceEnvironment.kt:87)
	at org.jetbrains.compose.resources.StringResourcesKt.getString(StringResources.kt:42)

* Address PR comments

* Address PR comments

* Temporarily disable enabledAnswerOptions

to be resoled with PR #2932

* Address PR comments
Clean up code and improve exception handling

Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
@ellykits ellykits enabled auto-merge (squash) February 12, 2026 16:36
@ellykits ellykits merged commit 28bb831 into ohs-foundation:master Feb 12, 2026
9 checks passed
@github-project-automation github-project-automation bot moved this from PR under Review to Complete in Android FHIR SDK Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor FHIR path evaluation logic to KMP

3 participants