Skip to content

Connect & Test Apple Health with Health Observation #413

Description

@janoliver20

Summary

Integrate Apple Health/HealthKit on iOS and connect it to the new shared health observation in the MORE app.

Apple Health should be responsible for accessing the native health data. The retrieved data is then passed into the KMM shared observation for validation, normalization, transformation, and transmission to the DataGateway.

Scope

  • Integrate Apple Health/HealthKit on iOS.
  • Request and handle the required HealthKit permissions.
  • Retrieve the health data types supported by the first version of the health API model.
  • Map native HealthKit data into the input required by the shared KMM health observation.
  • Connect the integration to the observation lifecycle.
  • Test the complete flow from HealthKit to the DataGateway.
  • Verify sleep-stage and other provider-specific mappings.
  • Handle unavailable permissions and unavailable data gracefully.

Acceptance Criteria

  • Apple Health can be enabled through the corresponding study observation.
  • Required HealthKit permissions are requested.
  • Permission denial and restricted access are handled correctly.
  • Supported Apple Health data can be retrieved.
  • Retrieved data is passed to the shared health observation.
  • Apple Health data is validated, normalized, and transformed into the common API model.
  • Apple Health source/provenance information is preserved.
  • Sleep stages and other supported values are mapped according to the agreed normalization rules.
  • Missing Apple-specific values do not result in fabricated common values.
  • Transformed Apple Health observations can be submitted successfully to the DataGateway.
  • The integration is tested with representative HealthKit data.
  • The end-to-end flow from HealthKit → KMM → DataGateway is verified.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions