Skip to content

Publish SensorKit Recordings as FHIR Observations - #61

Closed
PSchmiedmayer wants to merge 1 commit into
fhir-conformance-healthkitfrom
fhir-conformance-sensorkit
Closed

Publish SensorKit Recordings as FHIR Observations#61
PSchmiedmayer wants to merge 1 commit into
fhir-conformance-healthkitfrom
fhir-conformance-sensorkit

Conversation

@PSchmiedmayer

@PSchmiedmayer PSchmiedmayer commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

♻️ Current situation & Problem

SensorKit recordings had no FHIR representation at all, so sensor data could not be exported alongside the HealthKit and questionnaire resources Grove already publishes.

⚙️ Release Notes

  • Adds GroveSensorKitFHIR, which publishes SensorKit recordings as FHIR Observations conforming to the profiles the guides define.
  • Sensor batches are carried as a document with a compressed archive, so a recording round-trips without inflating the resource.
  • Sample identity is hashed so the same recording maps to a stable identifier across exports.

📚 Documentation

The new module documents which sensors map to which observation shapes, and how a batch archive is laid out.

✅ Testing

  • GroveSensorKit on iOS: 3 suites, covering the observation mapping, the batch archive, and the existing SensorKit behaviour.
  • The module is added to the iOS test matrix, the all-platform test plan, and the conformance fixture run.

Code of Conduct & Contributing Guidelines

By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

Copilot AI lite review requested due to automatic review settings August 19, 2026 05:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 56e3c579-bab1-47de-aa5f-953b7ffb7905

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@PSchmiedmayer

Copy link
Copy Markdown
Contributor Author

This implementation should be preserved, but its contract target is changing. grove-fhir #10 now tracks the platform-neutral model for coded sensor events, bounded waveforms, multichannel samples, significant-location/device-usage summaries, and large raw recordings.

Before this PR is treated as the final conformant SensorKit layer, it should be restacked/reworked against the accepted generalized shapes rather than the provisional SensorKit-specific profiles. The existing mappings, archive utilities, identifiers, tests, and fixtures remain valuable implementation evidence. The design also needs parity with the actual My Heart Counts workload: ECG/PPG, accelerometer and other raw series, DocumentReference plus summary relationships, study context, and location/device-usage privacy.

This deliberately keeps the PR available while #10 is resolved; it is not a request to discard the branch, merge it now, or change any runner assignment.

@PSchmiedmayer
PSchmiedmayer force-pushed the fhir-conformance-sensorkit branch from 2c2a7c6 to 9e37197 Compare August 19, 2026 17:20
@PSchmiedmayer
PSchmiedmayer force-pushed the fhir-conformance-healthkit branch 2 times, most recently from 899879e to c3a9543 Compare August 19, 2026 20:41
@PSchmiedmayer
PSchmiedmayer force-pushed the fhir-conformance-sensorkit branch 2 times, most recently from 515b1a9 to 72c73f0 Compare August 19, 2026 21:04
@PSchmiedmayer
PSchmiedmayer force-pushed the fhir-conformance-healthkit branch 2 times, most recently from 1bbf763 to 3bc7487 Compare August 19, 2026 21:19
@PSchmiedmayer
PSchmiedmayer force-pushed the fhir-conformance-sensorkit branch from 72c73f0 to 356b3b3 Compare August 19, 2026 21:19
@PSchmiedmayer
PSchmiedmayer force-pushed the fhir-conformance-healthkit branch from 3bc7487 to 78957a7 Compare August 20, 2026 05:34
@PSchmiedmayer

Copy link
Copy Markdown
Contributor Author

Superseded by #69, which rewrites this work on the catalog-driven converter and the published v0.2 profiles. Sensor coverage, stable output identity, metadata-key handling and device provenance all carry over; the vocabulary is now sourced from the grove-fhir catalogs with a CI drift check rather than a golden dump in this repo.

@github-project-automation github-project-automation Bot moved this from Todo to Done in Grove Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants