Skip to main content

Blood pressure

Use this category for a blood-pressure reading and any numeric values recorded with it.

Support in @ovok/core​

  • Category key: bloodPressure (blood-pressure)
  • 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
systolicnumber (optional)mmHgMapped and saved as a systolic reading; whole-number precision.
diastolicnumber (optional)mmHgMapped and saved as a diastolic reading; whole-number precision.
meanArterialPressurenumber (optional)mmHgDevice-reported value; saved to whole-number precision. The SDK does not derive it from systolic and diastolic values.
heartRatenumber (optional)beats per minute (bpm)Mapped and saved with the blood-pressure observation group; whole-number precision.
statusBloodPressureStates (optional)Device status labelDeclared in the type, but not mapped to or from observations by the current save/read workflow.

Status labels​

The public BloodPressureStates enum contains these labels:

Enum valueDisplay string
REGULARRegular
LOOSE_SLEEVEThe sleeve is loose. Unable to analyze.
DISTURB_DETECTEDDisturb Detected.
WEAK_SIGNALWeak Signal.
DEVICE_ERRORUnknown device error.

These labels describe device status. The measurement observation mapping currently handles numeric values only, so supplying status does not persist it.

Grouping and completeness​

Each numeric field is optional. A reading can therefore contain only the values the source supplied. The mapper groups matching observations by their recorded time; keep the original observations when you need resource-level details.

Read this category​

Select MeasurementTypeKey.bloodPressure. The mapper returns the numeric systolic, diastolic, mean arterial pressure, and heart-rate values when their observations are present. It does not reconstruct status.

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 values in mmHg and bpm. The SDK does not calculate a missing mean arterial pressure or infer the device status. Use effectiveDateTime for the measurement time.

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 saveBloodPressure() {
return client.saveMeasurement({
measurement: {
measurementTypeKey: MeasurementTypeKey.bloodPressure,
systolic: 120,
diastolic: 80,
meanArterialPressure: 93,
heartRate: 68,
},
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.