Draft
Not yet written up in full.
Gaps and unbroken segments in every waveform¶
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).
| Date | 2026-10-19 |
| Status | draft |
| Methods | Data continuity |
| Techniques | Cumulative duration curves, Null controls |
| Clocks | Recorder PC clock, SNUADC sample clock, BIS clock, Primus clock |
| Devices | Vital Recorder, SNUADC, Primus anaesthesia machine, BIS monitor, CardioQ |
| Variables | ECG lead II (SNUADC), Plethysmogram (SNUADC), Arterial pressure (SNUADC), Capnogram (Primus), Airway pressure (Primus), BIS EEG |
Background¶
Gaps that strike at random give a smooth distribution of gap lengths and of segment lengths. Any mechanism with a length of its own (a restart, a periodic break, a buffer) shows as a cliff or a step. Before choosing how to handle missing data, the question is which gaps are which.
Data¶
All 6,388 recordings; every waveform track (SNUADC ECG II, V5, PLETH, ART, CVP, FEM; Primus CO₂ and AWP; BIS EEG; CardioQ FLOW). A gap is any forward step in the stamps of more than 1.5 samples beyond the end of the previous record; a segment is a stretch with no gap.
Method¶
- Per recording and waveform, every gap (start, length) and every segment (start, length, and whether it ends
in a gap or at the edge of the recording) was cached (
signal_events.py) and collected into one table. - Cumulative counts (number longer than x) on log–log axes, for gaps and for segments; for segments, all, interior only (a gap at both ends), and a Kaplan–Meier estimate with edge segments censored.
- Each gap's length against the time since the previous gap in the same track (or since the start).
Results¶
- A cliff at about 18 s in every device (ECG II: 1,968 gaps of 15–25 s, median 17.9 s; the same in PLETH, ART, CVP, Primus and BIS). These are the recorder's pauses (Recording pauses of about 20 s), common to every device, not losses in any one signal. Above about 30 s the curve falls smoothly to gaps of hours.
- A step at 0.2 s in SNUADC: gaps of exactly one message.
- SNUADC segments stop at 5 hours. No interior segment is longer than 17,991 s (5 h minus about 9 s), and many are exactly that long, each followed by an 18 s gap. These are the recorder's pauses, which recur every 5 hours on a timer of their own (Recording pauses of about 20 s); most 5-hour segments start at an earlier pause.
- Primus and BIS segments stop at their correction cycles. Primus AWP segments never exceed about 7,980 s; most end at the AWP pause that recurs every 7,230 s (2.0 h; The Primus AWP stops for about 21 s every 7,230 s). BIS segments pile up at 7,500–8,500 s (2,584 of them), around its 8,192 s (2.3 h) correction timer (When each device's clock is corrected, in every recording).
- BIS's short gaps are clock resynchronisations. Sub-second BIS gaps grow in proportion to the time since the previous gap: a median 30 ppm of the elapsed time (interquartile range 20–48 ppm), the BIS clock's drift against the recorder (18–55 ppm by setup; Device clock drift depends on the setup). The stamps are stepped to catch up; no samples are lost.
- AWP has an arc of sub-second gaps whose length plus the segment before it is about 0.5 s: bursts on a 0.5 s cycle, one Primus message.
- CardioQ is fragmented throughout: about 76 gaps per hour, median coverage 80%, with no structure beyond a smooth curve.
- SNUADC has a band of millisecond gaps right after a 0.2 s segment: one record alone, then a small step.
- Most segments end with the recording, not with a gap, so the censored estimate stays high; the interior and all-segment curves bracket it.
Before and after synchronisation. Measured again at every record junction, on the stamps and on each device's fitted stamp clock (6,322–6,342 recordings per signal; up to 28 per signal with broken record streams left out, Eight recordings store whole messages twice, In some recordings two unrelated streams are interleaved in one track, In 34 files the SNUADC records overlap throughout):
| Signal | Gaps ≥ 10 ms, as recorded → synchronised | Overlaps ≥ 10 ms, as recorded → synchronised |
|---|---|---|
| SNUADC (ECG II) | 5,621 → 8,850 | 14,825 → 29 |
| BIS EEG | 10,545 → 3,322 | 1,306 → 1,338 |
| Primus AWP | 20,260 → 15,485 | 7,291 → 1,679 |
| Primus CO₂ | 3,799 → 3,798 | 1,675 → 67 |
Clock corrections look like gaps or overlaps on the stamps and vanish once the clock is fitted: the SNUADC's resets and the reordered records around them (overlaps), the BIS's forward corrections of about 0.17 s (gaps), and the Primus's small whole-sample steps. The SNUADC gains about 3,200 gaps, each the 17.7 ms its reset never samples (About 20 ms of signal lost at every SNUADC reset): signal really missing, which the stamps hide. Gaps of a second or more are the same before and after: they are real. About 1,300 short BIS overlaps run against its correction direction and are kept as breaks.
Discussion¶
Almost none of the structure is random. The largest groups of gaps are system events (pauses, periodic breaks, resynchronisations) with lengths of their own, and the remaining smooth tail is a small share. The forward gaps seen here are only part of the picture: the stamps also step backwards far more often (Message sizes and the steps between records).
Observations it supports¶
| Observation | Status | Summary |
|---|---|---|
| Recording pauses of about 20 s | established | In 29% of files every device jumps forward together, by a median 19.6 s: the recorder paused. Data are missing there, and the stamps show it honestly. The pauses run on a 5-hour timer: consecutive pauses in a recording are 5 h apart (plus the pause) in 86% of cases, and the first comes at any time after the recording starts. |
Limitations¶
- The gap rule looks forward only and ignores steps under 1.5 samples.
- The 5-hour and 2.2-hour breaks are inferred from the stamps; the recorder's own logs, if they exist, would name them.
Open questions¶
- Which gaps lose data? (next step). Answered per class in What each break in the stamps is: shared pauses and most SNUADC gaps beyond one message lose data; sub-message steps and BIS resynchronisations do not.