Type Property

heartRate

A quantity sample type that measures the user’s heart rate.

Declaration

static let heartRate: HKQuantityTypeIdentifier

Discussion

These samples use count/time units (described in HKUnit) and measure discrete values (described in HKStatisticsQuery).

Heart rate samples may include motion context information, which is stored as metadata using the HKMetadataKeyHeartRateMotionContext key. The value of this key is an NSNumber object that contains a HKHeartRateMotionContext value.

The motion context gives additional information about the user’s activity level when the heart rate sample was taken. Apple Watch uses the following guidelines when setting the motion context:

  1. If the user has been still for at least 5 minutes prior to the sample, the context is set to the HKHeartRateMotionContext.sedentary value.

  2. If the user is in motion, the context is set to the HKHeartRateMotionContext.active value.

You can add motion context to the metadata of any heart rate samples that you create. This means other apps may also save heart rate samples with (or without) the HKMetadataKeyHeartRateMotionContext metadata key.

Note that not all heart rate samples have a motion context. For example, if Apple Watch cannot determine the motion context, it creates samples without a HKMetadataKeyHeartRateMotionContext metadata key. In addition, heart rate samples recorded by an Apple Watch (1st generation) or by a device running watchOS 3 or earlier do not have the motion context metadata key. Treat these samples as if they used the HKHeartRateMotionContext.notSet motion context.

Topics

Metadata Keys

let HKMetadataKeyHeartRateSensorLocation: String

The location where a particular heart rate reading was taken.

let HKMetadataKeyHeartRateMotionContext: String

The user’s activity level when the heart rate sample was measured.

See Also

Vital Signs

static let restingHeartRate: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s resting heart rate.

static let walkingHeartRateAverage: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s heart rate while walking.

static let heartRateVariabilitySDNN: HKQuantityTypeIdentifier

A quantity sample type that measures the standard deviation of heartbeat intervals.

static let oxygenSaturation: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s oxygen saturation.

static let bodyTemperature: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s body temperature.

static let bloodPressureDiastolic: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s diastolic blood pressure.

static let bloodPressureSystolic: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s systolic blood pressure.

static let respiratoryRate: HKQuantityTypeIdentifier

A quantity sample type that measures the user’s respiratory rate.

static let vo2Max: HKQuantityTypeIdentifier

A quantity sample that measures the maximal oxygen consumption during incremental exercise.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software