Does the waveform run on?¶
Test whether a waveform continues smoothly across a boundary (a record junction, a reset, a gap) to tell lost samples from lost time, and to find samples written out of order.
| Techniques | Junction scores, Null controls |
Studies¶
| Study | Date | Status | Summary |
|---|---|---|---|
| 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. |
| Records out of order at SNUADC resets, and where the lost time goes | 2026-10-17 | current | At every SNUADC reset the five records after it are written out of order: two continue the old timing and three start the new. Put back in order, the waveform runs on with no samples missing; the 18–20 ms lost at each reset goes missing inside the last old-timing record, and an extra zero sample follows. |
| Arterial line accesses in the pressure waveform | 2026-10-11 | current | Flushes, zeroing and blood draws leave clear signatures in the arterial pressure. A detector finds them in the waveform alone (about one access per hour) and matches 77% of lab draws to an access within 15 minutes, against 26% for random times. |
| 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. |
Observations from these studies¶
| Observation | Status | Summary |
|---|---|---|
| About 20 ms of signal lost at every SNUADC reset | established | At each step-mode reset the acquisition pauses for about 20 ms inside the last record before the new timing, and that time is never sampled: 17.7 ms on the sample count (Signal lost at a SNUADC step-mode correction), once the filler sample is counted. Every record still holds 100 samples, so nothing in the file shows it. |
| All SNUADC channels share one clock | established | Every SNUADC waveform track of a case (ECG leads, ART, PLETH, CVP) has the same first stamp, the same record timing and the same corrections. They are stamped together. |
| An extra zero sample after most resets | established | Most SNUADC resets (335 of 392) contain one sample that reads 0 in every channel at once, a little after the reset. It carries no time of its own: the signal either side runs on as if it were not there. |
| Arterial timing steps cluster at line events | established | About a quarter of the steps in ECG→arterial-pressure timing fall within a minute of a line access or a cuff occlusion, against 4.5% at random times. |
| Device clock drift depends on the setup | established | The drift of the SNUADC's and the BIS's timestamps against the recorder PC is largely set by the setup: knowing a recording's PC key (the serial ports of its four core devices) puts the SNUADC's drift within 3 ppm of its setup's median in 97% of cases and the BIS's in 83%, against 34% and 17% for the release's median. On the whole release's correction intervals the same test gives 71% and 60% (Identifying the recording setup of every case). |
| Five records out of order at every SNUADC reset | established | At each step-mode reset the five records after it are written in the wrong order: two continue the old timing and three start the new, interleaved. Read in file order, or sorted by stamp, one second of signal is scrambled. |
| SNUADC sends no time; the recorder stamps by count | established | The SNUADC board streams samples with no time stamps. Every SNUADC time in VitalDB is the recorder's model of the board's clock: the sample count at the nominal rate, pulled back when it drifts too far. |
| Small positive SNUADC gaps are real data loss | established | Forward jumps of under a second in SNUADC stamps are missing data, not clock corrections: the beat interval across them fits the gap better than the samples butted together. |
| 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 blood pressure cuff often sits on the arterial line's arm | established | Many "lost pulse" events in the arterial pressure are an NIBP cuff inflating on the same arm: the pulse fades and pressure decays to 35–50 mmHg, then returns as the cuff cycle ends. |
| The lab time is neither the draw nor the result | established | VitalDB's lab timestamp marks the specimen (logged at the lab, or entered from a theatre analyser): minutes after the draw and before the result, whose time is not recorded. |
| Stamp-based loaders lose samples at overlaps | likely | Loaders that place samples by their stamps onto a grid overwrite samples where stamps overlap: about 0.48 s at every SNUADC reset, and one sample about every 35 minutes from the stamp arithmetic. |
| In 34 files the SNUADC records overlap throughout | open | In 34 files the SNUADC records step back over their neighbours far more often than resets explain: in 20 of them 4–95% of all record junctions overlap, by up to about 100 ms. The reset-order rule matches there by coincidence. |
| Long SNUADC recordings with no correction at all | open | 1,066 cases of 2.5 h or longer show no SNUADC correction, although at the step-mode median of −63 ppm a 0.49 s step falls due within about 2.2 h. Slower units, a third recorder mode, or both; shared bursts point to slower units (about −36 ppm where the BIS rate is known, The stamp sawtooth model for SNUADC and BIS, due only after about 3.8 h). The Solar8000 route cannot settle it: its rates shrink toward zero in recordings under about 4 h (The SNUADC clock through the Solar8000 numerics, whole release). |
The approach¶
The idea. A sampled physiological waveform is smooth over a few samples. Where two records are joined, the step from the last sample of one to the first of the next should look like any other step. A step too large for the local slope means samples are missing or out of place; a slope that needs a gap of m samples to fit means time passed with nothing sampled.
What it gives. Which boundaries hide data loss, which records are out of order (and the order that repairs them), where unsampled time sits and how long it is, and spurious samples that carry no time.
How. Score each junction against an extrapolation of the samples before it, scaled by the signal's ordinary sample-to-sample steps; try alternative orders; fit lines or quadratics either side of each sample boundary with a time gap of 0 to m samples and keep the gap that fits best; compare with the same scores far from any boundary.
Pitfalls. Sensitivity depends on slope: a gap on the flat part of a pulse is invisible, so only a fraction of events can be located. Use several channels and steep signals (arterial upstrokes, the plethysmogram).
Techniques¶
- Junction scores: Score the step across a record junction against a linear extrapolation of the samples before it, scaled by the signal's ordinary sample-to-sample steps.
- Null controls: Repeat each test where the effect cannot be: at random times, at the same interval later, sign-flipped, or between two channels of one device. The effect is real only where it beats its control.