Skip to content

Data types and sample values

HealthBridge uses unified data type IDs across HealthKit, Health Connect, and the mock provider. The registry contains 129 entries covering API types and permission configuration.

FHealthDataSample contains:

Field Meaning
Id Platform record identifier
DataTypeId Unified HealthBridge ID
StartTime, EndTime UTC Unix milliseconds
Source Provider or contributing source
bIsAppCreated Whether the current app created the record, when known
Values String key/value representation of available fields

Use GetNumber and GetString in C++, or the matching Blueprint helper nodes, instead of assuming every key exists.

ID Typical use Common value guidance
steps Step-count samples Read numeric count
heart_rate Heart-rate records Prefer the dedicated heart-rate surface when possible; generic provider fields can vary
sleep Sleep sessions and stages Inspect returned keys and platform support
weight Body mass Common numeric key is kilograms
hydration Water intake Common numeric key is liters
exercise Workout permission and writes Use workout APIs for normalized workout records
blood_pressure Blood-pressure records Treat paired measurements as one domain value
cycling_power Cycling power Gate individual fields by provider/platform support
cycling_speed Cycling speed Gate individual fields by provider/platform support
cycling_cadence Cycling cadence Gate individual fields by provider/platform support

“Common” keys are not a promise that every provider populates them. Missing fields must remain unavailable rather than becoming zero.

In C++, use FHealthDataTypeRegistry::AllTypes() and lookup helpers. In Blueprint, use:

  • Get All Health Data Types
  • Get Health Data Type Info
  • Get Health Data Types By Category
  • Health Data Type Supports Platform
  • Get Health Data Public API Status
  • Has Typed Health Data Public API

Each registry row describes category, platform support, permission mappings, public API status, and write support.

Some high-level API concepts map to more specific permission rows. For example, a calorie or distance feature can require a specific platform-backed registry permission. Use the permission editor and registry metadata rather than deriving permission names from a short API ID.

Some types exist only on one platform or represent concepts that cannot be safely equated. Gate them by registry platform support and show a clear unsupported state instead of inventing a cross-platform mapping.