Primus anaesthesia machine¶
Dräger Primus: airway pressure and CO₂ waveforms at 62.5 Hz and ventilation numerics.
Stub
Imported from the time-source table; the full page is still to be written.
| Type | ventilator |
| Clocks | Primus clock |
Device documentation¶
Variables¶
| Variable | Type | Stamped by | Spaced by |
|---|---|---|---|
| Airway pressure (Primus) | waveform | Recorder PC clock | Primus clock |
| Capnogram (Primus) | waveform | Recorder PC clock | Primus clock |
| Primus ETCO₂, PIP and RR | numeric | Recorder PC clock | — |
Scale factors and resolution¶
Waveform scale factors. Physical value = offset + stored code × gain, one row per stored configuration. A factor shown wrong has its correction in Corrected to.
| Track | Unit | Stored as | Rate | Gain / offset | Recordings | Corrected to |
|---|---|---|---|---|---|---|
AWP |
hPa | uint16 | 62.5 Hz | 0.1 / -20 | 5,384 | — |
AWP |
hPa | uint16 | 62.5 Hz | 0.1064 / -22 | 950 | 0.1 / -20: PIP check (evidence) |
AWP |
hPa | uint16 | 62.5 Hz | 0.01 / 0 | 26 | 0.1 / -20: PIP check (evidence) |
CO2 |
mmHg | uint16 | 62.5 Hz | 0.1 / 0 | 5,412 | 0.075 / 0: ETCO₂ check (evidence) |
CO2 |
mmHg | uint16 | 62.5 Hz | 0.075 / 0 | 950 | — |
Waveform resolution. Observed span is what the data reach, and the whole bits needed to store it; converter is our estimate of the device's resolution (never less than the span), with its evidence. The step is in the physical unit, with the corrected gain where the stored one is wrong.
| Track | Step | Observed span (codes used) | Bits to store span | Converter (estimate) | Evidence |
|---|---|---|---|---|---|
AWP |
0.1 | codes 0–1032 (1,010 used); 22 corrupt samples outside | 11 | probably 12 bits | rare values up to code 4046 in CO₂ and AWP, inside 0–4095 |
CO2 |
0.075 | codes 0–1564 (1,530 used); 8 corrupt samples outside | 11 | probably 12 bits | rare values up to code 4046 in CO₂ and AWP, inside 0–4095 |
Numerics. Stored as floats with gain 1. Grid is the coarsest decimal step holding 99% of records; the share on the next coarser grid shows heaping (by chance about 1/2, 1/5 or 1/10).
| Track | Unit | Stored as | Interval | Recordings | Grid | Share one step coarser | Rounding | Observed range | Note |
|---|---|---|---|---|---|---|---|---|---|
PAMB_MBAR |
mbar | float32 | 7.01 s | 6,361 | 1 | 0.2 | — | 971 to 1030 | — |
SET_AGE |
— | float32 | 7.01 s | 6,361 | 1 | 0.21 | — | 0 to 94 | — |
VENT_LEAK |
mL/min | float32 | 7.01 s | 6,349 | 1 | 0.22 | — | 5 to 394 | — |
ETCO2 |
mmHg | float32 | 7.02 s | 6,342 | 1 | 0.22 | round, likely (Value resolution of every signal) | 0 to 86 | — |
INCO2 |
mmHg | float32 | 7.02 s | 6,342 | 1 | 0.23 | — | 0 to 48 | — |
MAWP_MBAR |
mbar | float32 | 7.02 s | 6,342 | 1 | 0.19 | round, likely (Value resolution of every signal) | -6 to 33 | corrupt values to 4e+03 |
FEN2O |
% | float32 | 7.02 s | 6,339 | 100 | — | — | 0 to 55 | — |
FIN2O |
% | float32 | 7.02 s | 6,339 | 100 | — | — | 0 to 66 | — |
MAC |
— | float32 | 7.02 s | 6,339 | 0.1 | 0.7 | — | 0 to 4 | — |
FEO2 |
% | float32 | 7.02 s | 6,337 | 1 | 0.24 | — | 12 to 100 | — |
FIO2 |
% | float32 | 7.02 s | 6,337 | 1 | 0.24 | — | 16 to 100 | — |
RR_CO2 |
/min | float32 | 7.02 s | 6,333 | 1 | 0.21 | round (How the monitors compute their numbers) | 0 to 55 | — |
MV |
L | float32 | 7.02 s | 6,085 | 0.1 | 0.2 | — | 0 to 20 | — |
SET_FIO2 |
% | float32 | 7.02 s | 6,047 | 10 | 0.14 | — | 21 to 100 | — |
SET_FRESH_FLOW |
mL/min | float32 | 7.03 s | 6,047 | 100 | — | — | 200 to 18000 | — |
PIP_MBAR |
mbar | float32 | 7.02 s | 6,025 | 1 | 0.21 | round, likely (Value resolution of every signal) | -2 to 57 | — |
TV |
mL | float32 | 7.02 s | 6,025 | 1 | 0.2 | — | 7 to 2450 | — |
COMPLIANCE |
mL / mbar | float32 | 7.02 s | 6,020 | 0.1 | 0.2 | — | 0.5 to 97.3 | — |
PEEP_MBAR |
mbar | float32 | 7.02 s | 6,003 | 1 | 0.84 | — | -2 to 19 | — |
PPLAT_MBAR |
mbar | float32 | 7.02 s | 6,003 | 1 | 0.21 | — | 0 to 49 | — |
SET_INSP_TM |
sec | float32 | 7.04 s | 5,982 | 0.1 | 0.21 | — | 0.6 to 3.5 | — |
SET_INTER_PEEP |
mbar | float32 | 7.04 s | 5,982 | 1 | 0.96 | — | 0 to 13 | — |
SET_RR_IPPV |
/min | float32 | 7.04 s | 5,982 | 1 | 0.21 | — | 7 to 34 | — |
SET_INSP_PAUSE |
% | float32 | 7.04 s | 5,973 | 10 | 0.005 | — | 0 to 20 | — |
SET_PIP |
mbar | float32 | 7.04 s | 5,973 | 1 | 0.81 | — | 14 to 61 | — |
SET_TV_L |
L | float32 | 7.04 s | 5,973 | 0.01 | 0.41 | — | 0.03 to 0.82 | — |
FLOW_AIR |
mL / min | float32 | 7.01 s | 5,645 | 1 | 0.41 | — | 0 to 9999 | — |
FLOW_O2 |
mL / min | float32 | 7.01 s | 5,644 | 1 | 0.34 | — | 0 to 9999 | — |
FLOW_N2O |
mL/min | float32 | 7.01 s | 5,643 | 100 | — | — | 0 to 2926 | — |
EXP_SEVO |
kPa | float32 | 7.02 s | 3,733 | 0.1 | 0.57 | — | 0 to 7.1 | — |
INSP_SEVO |
kPa | float32 | 7.02 s | 3,733 | 0.1 | 0.6 | — | 0 to 7.3 | — |
EXP_DES |
kPa | float32 | 7.02 s | 2,156 | 0.1 | 0.68 | — | 0 to 11 | — |
INSP_DES |
kPa | float32 | 7.02 s | 2,156 | 0.1 | 0.7 | — | 0 to 12.8 | — |
SET_INSP_PRES |
mbar | float32 | 7.08 s | 431 | 1 | 0.3 | — | 5 to 60 | — |
SET_FLOW_TRIG |
L/min | float32 | 7.14 s | 247 | 0.1 | 0.98 | — | 0.3 to 15 | — |
Observations¶
| Observation | Status | Summary |
|---|---|---|
| Eight recordings store whole messages twice | established | In 8 recordings 15–48% of the waveform records are byte-for-byte copies of the record before them, with the same timestamp: case 15, case 364, case 1946, case 3865, case 4857, case 5414, case 5595 and case 5619. SNUADC, Primus and BIS are affected equally, so the recorder, not a device, wrote them twice. |
| Monitor numerics describe the past, never the future | established | Every monitor numeric describes a window of 3–30 s or more that ended 1–9 s before its stamp. None is stamped before its data exist, so the stamps already respect the availability rule. |
| Numeric delays are fixed within a case but differ between cases | established | A numeric's delay does not drift through a recording, but 40–70% of its variance lies between cases. One delay per case describes it; one delay for the whole dataset is wrong by up to about 2 s. |
| Primus waveform gains are wrong in every recording, for CO₂ or for AWP | established | 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). |
| 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. |
| The Solar8000 relays the Primus's ventilation numbers | established | Solar8000 ETCO₂, RR_CO2, VENT_PIP and VENT_RR change only every 6–8 s: they are Primus values passed on through the Solar8000's 2 s polling, not measured by the monitor. |
| A heartbeat-locked trace in the CO₂ waveform that ignores the Primus clock | open | Averaged on the ECG's R peaks, the Primus CO₂ waveform shows a heartbeat-locked signal in 60% of 10-minute windows (30-recording pilot), tight to about 20 ms. Unlike the breath, its lag does not drift with the Primus clock: it stays fixed on the SNUADC timeline. |
Studies¶
| Study | Date | Status | Summary |
|---|---|---|---|
| The heartbeat in the Primus airway signals | 2026-10-19 | current | A pilot in 30 recordings for a heartbeat-locked route from the Primus to the SNUADC. Airway pressure shows the heartbeat in 9% of windows only. CO₂ shows a heartbeat-locked trace in 60% of windows, tight to 20 ms, but its lag does not follow the Primus drift, so it cannot time the Primus. Closed as a clock route. |
| Gaps and unbroken segments in every waveform | 2026-10-19 | draft | Every gap and every unbroken segment in the 6,388 recordings, per waveform. The curves are not smooth: a cliff at about 18 s in every device marks the recorder's pauses, SNUADC segments stop at 5 hours, Primus segments at about 2.0 hours and BIS segments at about 2.3 hours (each device's correction cycle), and BIS's short gaps grow with the time since the last one (clock resynchronisations, not lost data). |
| 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. |
| The Primus stamp step at each airway-pressure pause | 2026-10-19 | current | Measured directly at 2,491 pauses in 1,021 recordings: where CO₂ carries on through the AWP pause (74%), the Primus stamps barely step (median −1 ms, p10–p90 −164 to +187 ms, close to the no-pause controls); where CO₂ stops too (26%), they step by up to seconds. No step undoes the drift built up since the last pause. |
| Message sizes and the steps between records | 2026-10-19 | draft | Every record in every waveform: SNUADC writes messages of 100 samples (0.2 s), Primus 30 (0.48 s), BIS 16 (0.125 s), CardioQ no fixed size. Backward steps outnumber gaps by about a hundred to one and come from a few recordings with duplicated or interleaved records. Primus gaps are whole lost messages; most SNUADC and BIS gaps are not. |
| What each break in the stamps is | 2026-10-19 | draft | Every step between waveform records in the release, sorted by mechanism: written twice, a SNUADC clock reset, interleaved streams, a pause shared by every device, whole messages, less than a message, or a fraction of a message beyond whole ones. A continuity test with controls shows which classes lose data: shared pauses and most longer SNUADC gaps do; steps under one message, and SNUADC's lone one-message steps, mostly do not. |
| 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. |
| Identifying the recording setup of every case | 2026-10-18 | open | Recognising which equipment made each recording, from its serial ports and, where those fall short, from clock fingerprints, so that per-setup values can be used for every case. |
| 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). |
| Recorder PC clock steps and recording pauses | 2026-10-17 | current | A step of the recorder PC clock would move every device's stamps at once. Searching all 6,388 files for such simultaneous jumps found none of 0.5 s or more; what moves everything together is recording pauses. |
| Closing loops in the timing graph | 2026-10-13 | current | Where two independent routes reach the same clock, the offsets around the loop must sum to zero. Three measured loops close within their noise; the BIS loop closes up to a constant latency; the proposed EMR loop is not a loop at all. |
| Anaesthesia record times are rounded up | 2026-10-12 | current | Anaesthesia start and end entered on a 5-minute mark sit 90–290 s later, against device markers, than entries typed to the minute. Rounding up to the next 5 minutes fits every one of 11 markers better than rounding to the nearest or down. |
| Numeric delays are fixed within a case, different between cases | 2026-10-12 | current | With each numeric's algorithm held fixed, delays were fitted for every case and every 30-minute block. They do not drift within a case, but 40–70% of their variance lies between cases, so a single population delay is wrong by up to 2 s for HR and 1 s for the others. Each case gets its own delay label. |
| How the monitors compute their numbers | 2026-10-12 | current | Recomputing each monitor numeric from its own waveform finds a short, simple algorithm for every one (a median, an exponential average or a time mean over 3–30 s) and a delay of 2–9 s behind the newest data it uses. No value is stamped before its data exist. |
| 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. |
| Clock corrections in every file | 2026-10-11 | current | A scan of all 6,388 files for the jumps where the recorder re-synchronises a device's stamps. Each device type has its own correction signature; only SNUADC and BIS correct clearly enough to measure their drift. |
Tags: stub