Data types, fields, and units
HealthBridge uses unified IDs across the editor, HealthKit, and Health Connect. The registry contains both public API types and permission-only entries.
Base sample
Section titled “Base sample”HealthDataSample contains Id, DataTypeId, UTC Unix-millisecond start/end
times, Source, generic Values, and computed date/duration helpers.
It has no single Value property. Cast to a typed subclass or call
GetValue<T>(key).
Common typed samples
Section titled “Common typed samples”| Type | Primary fields and units |
|---|---|
StepsSample |
Count |
SleepSample |
Stages and total duration in milliseconds/TimeSpan |
WeightSample |
WeightKg |
CaloriesSample |
EnergyKcal |
DistanceSample |
DistanceMeters, computed kilometers |
HydrationSample |
VolumeLiters, computed milliliters |
NutritionSample |
Meal details and optional nutrient grams/kilocalories |
HeartRateSample |
Unix-millisecond timestamp and beats per minute |
Workout read/write difference
Section titled “Workout read/write difference”WorkoutData reads use CaloriesBurned, kilometer summary Distance, optional
Steps, and TimeInHrZones.
WorkoutWriteSample writes use CaloriesBurnedKcal, meter-based
DistanceMeters, optional Steps, and raw HeartRateSamples. Duration is
derived from StartTime and EndTime.
Registry inspection
Section titled “Registry inspection”Use HealthDataTypeRegistry.AllTypes, GetById, GetByCategory,
GetPublicApiStatus, and platform metadata before generating dynamic UI.
Some registry concepts exist only on one platform or have no safe equivalent. Show an unsupported state rather than inventing parity.
API and permission IDs
Section titled “API and permission IDs”Short gameplay IDs such as calories and distance can map to registry rows
such as active_calories_burned and distance_walking_running. Configure
permissions from registry metadata, not string guessing.
