Primus waveform gains are wrong in every recording, for CO₂ or for AWP¶
Recordings store the Primus waveforms with one of three sets of scale factors. Checked against the Primus's own ETCO₂ and PIP numerics in all 6,388 recordings, CO₂ fits only 0.075 mmHg per code and AWP only 0.1 mbar per code with offset −20, so most recordings overstate CO₂ by a third, and the others overstate AWP by about 3% (950 recordings) or understate it about fourfold (26).
| Status | established: shown on many cases, with a control. |
| Devices | Primus anaesthesia machine |
| Variables | Capnogram (Primus), Airway pressure (Primus), Primus ETCO₂, PIP and RR |
What it means¶
In most recordings the CO₂ waveform overstates CO₂ by a third (a breath at ETCO₂ 35 mmHg peaks at about 47); in 950 recordings AWP reads about 3% high at typical pressures, and in 26 it reads about a quarter of the true value. Anything computed from these waveforms (end-tidal values, capnogram shape, pressures) inherits the error; the Primus numerics are not affected.
What is done about it¶
The TimeNet import stores the corrected factors by default (VITALDB_SCALE_FIX=on): CO₂ 0.075, AWP 0.1 / −20; the stored counts are unchanged and the file's factors are kept in the Signal's metadata (scale_stored, scale_correction). The Primus device page lists the corrected factors per configuration. Other readers (the vitaldb package, the raw file) still use the stored factors.
Detail¶
Whole release (19 October 2026), the waveform's maximum or mean over the 7–10 s before each numeric; the median per recording of numeric ÷ waveform, then its median and 10th–90th percentiles over recordings:
| Waveform, stored scale | Recordings | As stored | Rescaled to 0.075 (CO₂) or 0.1 / −20 (AWP) |
|---|---|---|---|
| CO₂ at 0.1 | 5,392 | ETCO₂ 0.748 (0.747–0.750) | 0.998 (0.995–1.000) |
| CO₂ at 0.075 | 950 | ETCO₂ 0.998 (0.996–1.000) | (as stored) |
| AWP at 0.1 / −20 | 5,077 | PIP 0.994 (0.989–1.000) | (as stored) |
| AWP at 0.1064 / −22 | 910 | PIP 0.976 (0.965–0.992) | 0.995 (0.990–1.000) |
| AWP at 0.01 / 0 | 24 | PIP 4.49 (3.23–5.36) | 0.995 (0.989–1.000) |
0.748 is 0.075 / 0.1. Mean airway pressure agrees in the same way (0.992 to 0.993 after rescaling, in every configuration). The code is tools/numeric_vs_wave.py in vitaldb-bench; the device page lists each configuration with its corrected factors.
Evidence¶
| Study | Date | Status | Summary |
|---|---|---|---|
| Value resolution of every signal | 2026-10-19 | draft | How finely every waveform and numeric track in the release records its values. The SNUADC waveforms are 10-bit codes, though VitalRecorder's documentation describes the SNUADC as 12-bit; Primus waveforms use about 10 bits of 12; BIS EEG is a 16-bit grid of 0.05 µV. Numerics are 32-bit floats on decimal grids of 1, 0.1, 0.01 or 0.001, one per track; settings sit on coarser grids of 10 or 100. |
References¶
- VitalDB. Vital file format specification (format version 3). VitalDB documentation. Accessed 19 October 2026. ↗
Figures¶