DeviceMetric — detail: observation streams
Configuration of a measurement channel on a medical device: SpO2 on a monitor, invasive blood pressure, ECG. Pivot between Device and Observation.
Role in the measurement chain
A physical Device (e.g. Philips IntelliVue monitor) exposes several measurement
channels: SpO2, RR, HR, NIBP, IBP, EtCO2. Each channel is a DeviceMetric.
The Observation emitted by the channel points to the DeviceMetric via device
and implicitly inherits the declared calibration and sampling frequency.
Key fields
| Field | Type | Role |
|---|---|---|
type | CodeableConcept | Quantity measured (LOINC, MDC). |
unit | CodeableConcept | UCUM unit. |
device | Reference(Device) | Physical host device. |
operationalStatus | code | on | off | standby | entered-in-error. |
color | code | Display colour on the monitor. |
category | code | measurement | setting | calculation | unspecified. |
measurementPeriod | Timing | Sampling frequency. |
calibration | BackboneElement[] | Calibration history. |
Calibration
The calibration block tracks calibration operations: type
(unspecified | offset | gain | two-point), state
(not-calibrated | calibration-required | calibrated | unspecified),
time of the last event.
Example: SpO2 on multiparameter monitor
{
"resourceType": "DeviceMetric",
"id": "spo2-channel-monitor-001",
"identifier": [{ "value": "MON001-CH04" }],
"type": {
"coding": [{
"system": "http://loinc.org",
"code": "59408-5",
"display": "Oxygen saturation in Arterial blood by Pulse oximetry"
}]
},
"unit": {
"coding": [{ "system": "http://unitsofmeasure.org", "code": "%", "display": "percent" }]
},
"device": { "reference": "Device/spo2-sensor-A78" },
"operationalStatus": "on",
"color": "yellow",
"category": "measurement",
"measurementPeriod": {
"repeat": { "frequency": 1, "period": 1, "periodUnit": "s" }
},
"calibration": [{
"type": "gain",
"state": "calibrated",
"time": "2026-05-17T08:00:00+02:00"
}]
} Common pitfalls
- Missing unit — without UCUM
unit, derived Observations are ambiguous (30 mmHg or bar?). - operationalStatus stale — a channel
offthat keeps emitting Observations indicates an instrumentation error. - measurement / setting confusion — an alarm threshold (RR > 25) is
setting, notmeasurement. - No calibration recorded — for some sensors (IBP), zeroing is mandatory before each use. Traceability must appear in
calibration[].