Skip to content

Rounding and heaping of propofol bolus

Recorded propofol bolus is a mixture of 3 rounding modes (preferred values, 50 mg, 10 mg (base)); the model gives the true value's distribution for each record.

Date 2026-10-13
Status current
Methods Rounding, heaping and value resolution
Variables Propofol bolus

Background

  • Bolus drug totals are mostly sums of whole standard doses, so most are exact counts, not rounded estimates.
  • Propofol bolus (intraop_ppf) is the exception: it is a single weight-based induction dose, written as a preferred value.
  • The dose tracks weight (Spearman 0.54; median 1.8 mg/kg), but recorded values pile onto 100, 120 and 150 mg. 44% of patients weighing 50–60 kg got exactly 100 mg, while 57% of those over 80 kg got exactly 150 mg.
  • It is the first model whose latent depends on the patient.

Data

  • 2,335 non-zero values; 4 off the 10 mg grid (flagged) and 3 without age or weight, leaving 2,328 to fit.
  • Resolution 10 mg, no override.
  • The 3,719 zeros among 6,043 general anaesthetics are not fitted. Many of these probably had propofol by infusion (TIVA), recorded on the pump tracks.

Method

  • Latent: log intended dose as a regression on weight, age and sex, with a Student-t residual (new family log_student_t_regression).
  • Rounding: a preferred-value set, nearest 50 mg and nearest 10 mg.
  • Set members were chosen by BIC, adding and removing candidates from 50 to 200 mg. Open set ends were compared with closed ends.
  • A log-normal residual was compared with the Student-t, and a propensity that rises with weight was tested.
  • The engine's likelihood on its 0.25 mg grid was checked against the closed form.

Results

Spike histogram of recorded values with model predictions overlaid; spikes on round numbers.
Every recorded value (blue lines) against what the fitted model predicts (orange dots): its rounding rules applied to its true-value density. Heaps on round numbers are the rounding modes.
  • The dose rises with weight^0.6 rather than in proportion, falls about 4% per decade of age, and is about 10% higher in men of the same weight.
  • The residual is heavy-tailed (df 3.3). A log-normal residual is about 330 BIC points worse.
  • A weight-dependent propensity adds nothing (ΔBIC 1.2), because the latent already moves the heap from 100 to 150 mg.
  • Closing the set ends is worse (−log L 3,867–3,929 against 3,850).
  • The engine reproduces the likelihood (−3,847.5 against −3,850.2 in closed form).

Discussion

  • Doses below 60 mg or above 150 mg that are rounded to the set are written as 60 or 150, because the set ends are open.
  • Zeros return status zero_or_not_recorded with no distribution, since a 0 can mean none given or given by another route.
  • The API needs weight, age and sex for this variable.

Limitations

  • The main misfits are 90 mg (144 recorded, 267 expected) and 130 mg (64 against 29).
  • A recorded 150 mg in a light patient gets a long upper tail (95% up to 290 mg at 50 kg).

Open questions

  • Is 150 mg a ceiling? (unexplained phenomenon). Is 150 mg a ceiling people write for any large dose, or are larger doses usually given as a second bolus and summed? The upper tail is right only in the first case. Adding 200 mg to the set did not pass BIC.
  • Misfits at 90 mg and 130 mg (unexplained phenomenon). The misfits at 90 mg and 130 mg are unexplained.

Model

Model file: …/models/intraop_ppf.model.json. Read from the pinned snapshot of vitaldb-resolution at commit bb03ddfc8a (2026-10-18).

How a true value becomes the recorded one. The rules are tried in order: a record not taken by an earlier rule is taken by this one with the probability shown (where its condition holds); the last rule takes the rest. With no conditions, the shares follow directly.

Order Rule Rounds to Probability if reached Share of records
1 preferred values nearest 72.1 % 72.1 %
2 50 mg 50 mg (nearest) 52.6 % 14.7 %
3 10 mg (base) 10 mg (nearest) the rest 13.2 %
  • preferred values: nearest member of the set; values beyond the ends snap to 60 or 150
Recorded resolution 1 (modelled at 10)
True-value density log_student_t_regression
Covariates weight, age, sex
Fitted on 2,328 records (VitalDB clinical_data.csv (intraop_ppf), non-zero values on the 10 mg grid with weight, age and sex)
BIC 7,757
Fitted 2026-10-13
  • Only 4 of 2,335 non-zero values are off the 10 mg grid; flagged off_grid.

Worked examples

Example Side Status Summary
Charted propofol dose against the infusion pump value planned The charted propofol bolus total against the volume the Orchestra pump records, as a check of the propofol heaping model and as a dose in mg/kg with its uncertainty.

Code

Tags: generated, vitaldb-resolution