Skip to main content

Heart rate

Use this category for a numeric heart-rate reading.

Support in @ovok/core​

  • Category key: heartRate (heart-rate)
  • Read: Supported through the observation mapping.
  • Save: Supported through the typed measurement save workflow.

The category key selects a measurement shape. It does not determine the patient, time range, or source device. For the shared React query and save behavior, see Measurements and health data.

Data shape​

The base measurement requires measurementTypeKey. Fields marked optional can be omitted when the source did not provide a value.

FieldTypeUnit or meaningRead and save behavior
heartRatenumber (optional)bpmMapped and saved as heart rate; whole-number precision.

Value handling​

Supply the value in beats per minute. The SDK rounds saved values to a whole number and maps numeric Observation quantities back to heartRate. It does not calculate a rate from waveform samples.

Read this category​

Select MeasurementTypeKey.heartRate. Returned measurements contain heartRate when a matching heart-rate Observation is present.

Use useObservations() in a client-side component below OvokProvider. It returns mapped measurements, original observations, loading, and error. The hook reference describes its filters and state.

Save this category​

Supply heartRate in bpm and use request-level effectiveDateTime for the time of the reading.

Pass the measurement to OvokClient.saveMeasurement() or, in React, the function returned by useSaveMeasurement(). Common request fields such as patientId and device are described in the measurement overview.

Example​

This example uses the configured OvokClient from the get started guide. Supply values in the units listed above.

import { MeasurementTypeKey } from '@ovok/core';

async function saveHeartRate() {
return client.saveMeasurement({
measurement: {
measurementTypeKey: MeasurementTypeKey.heartRate,
heartRate: 72,
},
effectiveDateTime: new Date(),
});
}

When offline queueing is enabled, inspect the returned status. A queued result means the measurement is pending until the queue is flushed; it is not a completed server save.