Generate the Swift FHIR Contract from the Implementation Guides - #67
Draft
PSchmiedmayer wants to merge 19 commits into
Draft
Generate the Swift FHIR Contract from the Implementation Guides#67PSchmiedmayer wants to merge 19 commits into
PSchmiedmayer wants to merge 19 commits into
Conversation
This was referenced Aug 20, 2026
PSchmiedmayer
force-pushed
the
feature/grove-fhir-0.2-healthkit
branch
from
August 20, 2026 22:58
fa4f839 to
b93798d
Compare
1 task
PSchmiedmayer
force-pushed
the
feature/grove-fhir-0.2-healthkit
branch
2 times, most recently
from
August 23, 2026 06:12
f36b4d5 to
377a613
Compare
1 task
PSchmiedmayer
force-pushed
the
feature/grove-fhir-0.2-healthkit
branch
4 times, most recently
from
August 25, 2026 13:40
b24297d to
775e380
Compare
PSchmiedmayer
force-pushed
the
feature/grove-fhir-0.2-healthkit
branch
from
August 28, 2026 05:09
9b788e1 to
274a289
Compare
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PSchmiedmayer
force-pushed
the
feature/grove-fhir-0.2-healthkit
branch
2 times, most recently
from
August 28, 2026 09:13
6d2660e to
82c9f69
Compare
PSchmiedmayer
force-pushed
the
feature/grove-fhir-0.2-healthkit
branch
from
August 28, 2026 15:08
82c9f69 to
d567e17
Compare
PSchmiedmayer
marked this pull request as draft
August 29, 2026 16:15
# Conflicts: # Sources/GroveAccount/AccountNotifyConstraint.swift # Sources/GroveFirebaseAccount/FirebaseAccountService.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
♻️ Current situation & Problem
We need one place to define the FHIR structures exchanged across Grove and a deterministic way to keep every language implementation aligned with that contract. The Grove FHIR Implementation Guides are authoritative:
mobilecarries the shared exchange contract, whilehealthkit,sensorkit,sensor, andquestionnairedefine the source-specific claims used by this package.The previous Swift implementation combined hand-written HealthKit mappings, a partial Questionnaire bridge, and no complete SensorKit producer contract. That made important behavior depend on local conventions: graph identity, exact source evidence, profile membership, and supported source inventories could drift from the Implementation Guides without a failing build.
This change generates the Swift contracts from the catalogs pinned to the current
mainrevision of the Implementation Guides and makes the conversion boundaries validate those contracts. HealthKit, SensorKit, and Questionnaire now publish explicit R4 graphs with deterministic identity and producer conformance fixtures. The legacy ResearchKit bridge remains available only for its existing format and is explicitly deprecated; it does not claim support for the new Questionnaire contract.⚙️ Release Notes
GroveFHIRContractand the SensorKit catalog surface from the authoritative Implementation Guide catalogs, with regeneration and drift checks in CI.Observation.method, preserve exact point coverage, and omit empty optional FHIR arrays.📚 Documentation
DocC documents the durable conversion inputs, complete exchange graph, retry and acknowledgement responsibilities, post-anchor and post-persistence cleanup boundaries, and the boundaries around exact provider attachments. The contract itself remains in the Implementation Guides rather than being copied into version-specific package prose.
✅ Testing
Code of Conduct & Contributing Guidelines
By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines: