Draft
Worked through on a few cases; numbers may change.
Pulse pressure variation gated by ventilator breaths¶
Pulse pressure variation per ventilator breath, in 3,448 recordings: the ventilator's clock sits a median 1.8 s off the arterial line's, which moves half of all breaths' values by a point or more and scatters where in the breath the pulse pressure peaks; a recording's median PPV hardly changes.
The question¶
How large is the respiratory variation in pulse pressure, breath by breath, and how much does it depend on putting the ventilator and the arterial line on one timeline?
Inputs¶
Each input links to its measurement page: how it is timed, how its value was recorded, and how uncertain both are.
| Input | Unit | What it is |
|---|---|---|
| Airway pressure (Primus) | hPa | Airway pressure from the Primus anaesthesia machine at 62.5 Hz. |
| Arterial pressure (SNUADC) | mmHg | Invasive arterial pressure, sampled by SNUADC at 500 Hz from the monitor's analogue output. |
| ECG lead II (SNUADC) | mV | Lead II of the ECG, sampled by SNUADC at 500 Hz from the monitor's analogue output. |
Why the atlas changes the answer¶
Pulse pressure variation (PPV) is the swing of arterial pulse pressure over one mechanical breath; above about 13% it predicts a response to fluid (Michard et al. 2000). Computed breath by breath, it needs the breath boundaries and the beats on one clock. In VitalDB the boundaries come from the Primus airway pressure (Airway pressure (Primus)) and the beats from the SNUADC arterial pressure (Arterial pressure (SNUADC)), on two device clocks that are each corrected against the recorder PC in their own way (Primus against the recorder PC, SNUADC (step mode) against the recorder PC).
Data¶
Every recording with Primus airway pressure, SNUADC arterial pressure and ECG II and at least 100 mechanical breaths: 3,448 of the 6,329 recordings with both devices, 9.4 million breaths. 1,061 of them also have SNUADC central venous pressure (CVP), which the alignment needs.
Steps¶
- Breath onsets from the Primus airway pressure on the Primus's own stamps (rising through 30% of the local range, mechanical breaths only); beats from ECG II, with each beat's pulse pressure from the arterial pressure and its time from the systolic peak.
- Put the beats on three timelines: the recorded SNUADC stamps (the stamp sawtooth left in); the SNUADC stamp model (The stamp sawtooth model for SNUADC and BIS); and the stamp model with the Primus aligned to the SNUADC, by the lag between airway pressure and CVP in each 10-minute window (The Primus ventilator against SNUADC, by breaths), interpolated to each breath.
- For each breath (2–10 s, at least 3 beats), PPV = (PPmax − PPmin) / mean(PPmax, PPmin). Per recording: the median PPV, how many breaths change between timelines, and where in the breath pulse pressure peaks (a first-harmonic fit over the recording).
- Move the aligned breath onsets by −2 to +2 s and count the breaths whose PPV crosses 13%.
Results¶
The ventilator is seconds off the arterial line. On the stamp model, the airway pressure leads the CVP by a median 1.8 s (p10–p90 0.6 to 5.1 s). The lag is not fixed within a recording: it moves by a median 1.5 s over the recording and grows by a median +87 ppm (p10–p90 −49 to +229). The SNUADC here is on its stamp model, on the recorder PC's timeline, so this is the Primus's drift against the PC; between its AWP pauses it is +104 ppm (Primus drift against the recorder PC, from breath matching). The Primus's own small corrections do not keep up with it.
Aligned, pulse pressure peaks where physiology says it should. With the Primus aligned, the pulse-pressure maximum comes a median 0.84 s after the breath onset, interquartile range 0.40 s, in the 544 recordings where the breath explains enough of the pulse pressure to give a phase. On the recorded stamps the same phase is spread over the whole breath (interquartile range 3.3 s), split into two groups by the wrap-around of the breath cycle.
Breath by breath, the alignment matters; per recording, it does not.
| Change of timeline | Breaths whose PPV changes by ≥ 1 point (median per recording) | Breaths crossing 13% | Recordings whose median PPV crosses 13% |
|---|---|---|---|
| Recorded stamps → stamp model (SNUADC sawtooth, p95 0.23 s) | 5% | 0.5% | 1 of 3,448 |
| Stamp model → Primus aligned | 53% | 6.7% | 3 of 1,061 (recorded → aligned) |
Moving the aligned onsets by 0.5 s puts about 2% of breaths on the other side of 13%, and 1 s about 4%; the SNUADC's own sawtooth is too small to matter.
Breaths lost. The Primus airway pressure stops for about 21 s before each of its clock corrections (The Primus AWP stops for about 21 s every 7,230 s); there are a median 0.66 gaps longer than 5 s per hour, and the breaths in them have no PPV.
Population and individual
Systematic: does not cancel.
| The cohort | Each recording's median PPV hardly moves (3 of 1,061 cross 13%). |
| Each patient | The ventilator sits a median 1.8 s off the arterial line: 53% of breaths' PPV changes by a point or more, and the pulse-pressure peak lands anywhere in the breath. |
Takeaways¶
- For PPV breath by breath, or anything else that pairs ventilator events with beats, align the ventilator to the arterial line first; the recorded stamps can be seconds apart, and the offset changes during the recording. The CVP gives the alignment where it exists.
- A recording-level median PPV is robust to the misalignment: the beats' swing within a breath does not depend on exactly where the breath starts.
- The phase of the pulse-pressure peak within the breath is a physiological check on the alignment: aligned recordings agree to within a few hundred milliseconds.
Limitations¶
- The alignment uses the airway-pressure-to-CVP lag, which includes any physiological delay between the airway and the central veins (small, but not zero); the aligned timeline is the CVP's, not the true breath onset.
- Recordings without CVP (69%) have no alignment here; the population lag (median 1.8 s) is a poor substitute, because it varies so much between recordings. Aligning by the arterial pressure itself would be the next step, tested against the CVP.
- Beats are found on ECG II; pulse pressure is the systolic peak minus the minimum just before the R wave, with no beat-quality labels beyond plausibility limits. Breaths with arrhythmia, spontaneous effort or open chest are not excluded.
Studies it relies on¶
| Study | Date | Status | Summary |
|---|---|---|---|
| When each device's clock is corrected, in every recording | 2026-10-19 | draft | From the steps between records in all 6,388 recordings: the BIS is corrected every 8,192 s and the Primus every 7,230 s, on their own timers (the first correction comes at any time after the device starts); the SNUADC is reset when 0.49 s of drift has built up. With the full rerun of the correction fit, it gives each device's drift against the recorder PC in 4,728 BIS and 2,728 SNUADC recordings, and shows that the Primus's 20–23 s AWP pauses belong to its correction cycle. Every rate here is relative to the recorder PC, whose own clock drifts and is corrected. |
| How often each device is corrected | 2026-10-17 | current | The devices re-synchronise in different ways: SNUADC when its drift reaches about half a second, BIS on a fixed 8,192 s timer, and the Primus by small steps about every two hours that do not keep up with its drift (+104 ppm, measured later by breath matching). |
| The Primus ventilator against SNUADC, by breaths | 2026-10-12 | open | Each breath shows in the Primus airway pressure and, through the chest, in SNUADC's central venous pressure. Tracking that lag puts the Primus on the SNUADC timeline to about 55 ms over the whole release, with a line per stretch between its AWP pauses (49 ms in the pilot). At scale it measures the Primus drifting a median +104 ppm against the recorder PC between its AWP pauses, with steps at the pauses that do not reset it. |
| The stamp sawtooth model for SNUADC and BIS | 2026-10-12 | current | Fitting each track's record stamps against its sample count as a drift with corrections (a sawtooth) puts SNUADC and BIS on one timeline without any artefact. Checked against shared bursts, the EEG–ECG timing error falls from about 790 ms on the recorded stamps to 33 ms with one constant per SNUADC mode in the pilot, and 42 ms over the whole release. |
Observations it relies on¶
| Observation | Status | Summary |
|---|---|---|
| The Primus AWP stops for about 21 s every 7,230 s | established | In 5,502 recordings the Primus airway-pressure waveform has gaps of 19–23.5 s (whole messages of 0.48 s, mostly 21.12 s) that recur every 7,230 s, the Primus's correction interval; a clock correction follows about 21.6 s after. The CO₂ waveform carries on through 90% of them. The 21 s of AWP are lost, not merely re-stamped. |
Reproduce it¶
bash examples/run_ppv_by_breath.sh # 8 parallel parts, about 25 minutes on a laptop
python examples/ppv_by_breath.py agg <work>/examples/ppv_by_breath/part_*.jsonl --out out/ppv