The data
Data coverage
Current coverage, limits and omissions.
Hozz is in beta. Apple Health coverage is partial; clinical extraction is disabled.
What Hozz exports today#
Unsupported correlations, documents, scored assessments and other series are reported, not hidden.
| Area | What Hozz keeps | Important limits |
|---|---|---|
| Quantity and category samples | Values, units, dates, source, device, metadata, and deletion tombstones. | Hozz asks for the types it reads. Where Health cannot distinguish denied from empty, Hozz says so rather than guessing. |
| Workouts | Activity type, duration, events, and Health’s own aggregate statistics, including per-leg figures for multi-sport workouts. | These are summaries of samples exported separately, not duplicate samples. |
| Workout routes | The route sample, the confirmed workout relationship when Health can prove it, 500-point location pages, and an end marker with the final point count. | Hozz does not guess a workout from time overlap alone. Unresolved routes say why. |
| Electrocardiograms | Classification, raw classification value, symptoms status, average heart rate, sampling frequency, expected waveform count, and 500-reading voltage pages. | Missing voltage readings stay gaps, not zeros, and a partial waveform is never presented as a whole one. |
| Audiograms | One row per hearing threshold, with ear, frequency, sensitivity, clamping bounds, and where supported, conduction and masking. | An unmeasured ear is absent, not written as 0 dBHL. |
| State of Mind | Valence, Health’s classification, momentary emotion versus daily mood, labels, associations, and raw enum values. | iOS 18+. Zero valence is neutral, not missing. An empty label list means none were chosen. |
| Medication doses | Dose status, schedule type, optional dose quantities, medication resolution state, form, nickname, archived and schedule flags, and codings. | iOS 26+. This is the dose-logging API, not clinical medication records. Only “taken” means taken. |
| Health characteristics | Date of birth, biological sex, blood type, Fitzpatrick skin type, wheelchair use, and activity move mode, each with a state. | These are facts about the person, not samples. They have no UUID, source, dates, or anchor. |
| Quantity series | The aggregate sample, with its count, marked as aggregating a series when it stands for more than one reading. | Hozz does not expand quantity series into individual readings yet. |
The join Hozz refuses to make up#
Time-range joins fail with overlapping workouts or unrelated samples in the same window. Health's workout statistics remain exact.
Denied and empty look identical#
Apple reports denial and no matching data identically. Hozz keeps denied-or-empty, unavailable, unsupported and failed as separate states.
Health records (clinical records)#
If enabled:
- Consent is per record. Hozz cannot see what was withheld.
- FHIR stays in the provider's form. Unparsed resources remain as bytes.
- HealthKit UUIDs are not stable here. Identity uses source, resource type and FHIR identifier.
What Hozz will never do#
Hozz will never write to Apple Health.
- Imported samples would be attributed to Hozz, destroying their original provenance.
- HealthKit has no upsert, so importing twice can duplicate records.
- Apps cannot write characteristics or clinical records, so restoration would be incomplete.
Not yet#
- Every Health type — coverage is partial, and this page is the current boundary.
- Expanding quantity series into individual readings.
- Clinical records in a shipped build.
- Handover between two devices.
- An accessibility and localisation pass.
- An App Store or Google Play release.