Skip to content

Draft

Worked through on a few cases; numbers may change.

Intraoperative fluid balance as a distribution

Fluids in minus fluids out, each a heaped charted volume, as a distribution per case: the recording alone makes a balance uncertain by about ±60 mL, and by ±190 mL when the blood loss was written as a round 500 mL.

Side value
Status draft
Variables Intraoperative crystalloid, Intraoperative colloid, Estimated blood loss, Intraoperative urine output
Studies Rounding and heaping of intraoperative crystalloid, Rounding and heaping of estimated blood loss, Rounding and heaping of intraoperative urine output, Colloid container rules

The question

What was this patient's net fluid balance at the end of the operation, and how precisely do the records say?

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
Intraoperative crystalloid mL Intraoperative crystalloid (clinical table).
Intraoperative colloid mL Intraoperative colloid (clinical table).
Estimated blood loss mL Estimated blood loss (clinical table).
Intraoperative urine output mL Intraoperative urine output (clinical table).

Why the atlas changes the answer

The balance adds and subtracts four charted volumes, each heaped on its own grid: crystalloid on 100 and 50 mL (Rounding and heaping of intraoperative crystalloid), blood loss on 50, 100 and 500 mL (Rounding and heaping of estimated blood loss), urine output on 50 and 100 mL (Rounding and heaping of intraoperative urine output), colloid on container sizes (Colloid container rules). Their rounding errors add up.

Data

The 2,639 cases with crystalloid, blood loss and urine output recorded and no blood products (the release gives products in units, and the volume of a unit is not recorded). A recorded 0 counts as exactly 0.

Steps

  1. For each case, draw 4,000 true values of each volume from the pinned vitaldb-resolution library (v0.6.0, model version 2, with each volume conditioned on the case's anaesthesia duration).
  2. Form crystalloid + colloid − blood loss − urine output for each draw.
  3. Summarise each case by its median and a 95% interval, and split the variance between the four terms.

Results

Three cases. case 6156 is a typical width: 170 to 291 mL. In case 4167 the recorded balance is −100 mL but the interval runs from −268 to +120 mL, so even its sign is uncertain. case 5253 is wide because its blood loss was written as 3,000 mL.

Three histograms of fluid balance; the first straddles zero, the second is centred near minus 900 mL with long tails, the third is between 150 and 300 mL.
Fluid balance as a distribution (blue) against the recorded numbers' balance (dashed) in case 4167, case 5253 and case 6156.

The cohort. The median 95% interval is 116 mL wide (78 to 142 mL, 10th to 90th percentile). Crystalloid contributes about 55% of the variance in the median case and blood loss 36%; urine output and colloid little. A separate group of 117 cases is about 380 mL wide: 97 of them have a blood loss recorded as exactly 500 mL, which the model reads as possibly rounded to the nearest 500. In 95 cases the interval spans zero. The medians of the distributions sit within 1 mL of the recorded balance, so the rounding adds spread, not bias.

A scatter with most points between 50 and 200 mL wide and a separate band near 380 mL, and a histogram with a main peak near 120 mL and a small one near 380 mL.
2,639 cases without blood products. Left: 95% interval width against the recorded balance. Right: the widths; the group near 380 mL has a blood loss written as a round 500 or 1,000 mL.

Population and individual

Random: cancels over a cohort.

The cohort The distributions' medians sit within 1 mL of the recorded balance: the rounding adds no bias to a cohort's mean.
Each patient Each balance is uncertain by about ±60 mL, by about ±190 mL with a round 500 mL blood loss; in 95 cases even its sign is unknown.

Takeaways

  • A computed fluid balance from charted volumes is uncertain by about ±60 mL from the recording alone, before any error in estimating blood loss itself.
  • Round blood losses (500, 1,000 mL) dominate the uncertainty where they occur.

Limitations

  • Measurement error beyond rounding (estimating blood loss by eye, for one) is not included; it is larger.
  • Cases with blood products are left out.

Open questions and future work

  • Blood products in millilitres (untestable assumption). The release gives red cells and plasma in units. A unit's volume (typically 250–350 mL for red cells) is not recorded, so the balance leaves these cases out; an assumed range would bring them in with a wider distribution.

Studies it relies on

Study Date Status Summary
Rounding and heaping of intraoperative crystalloid 2026-10-18 current Recorded intraoperative crystalloid is a mixture of 3 rounding modes (100 mL, 50 mL, 10 mL (base)); the model gives the true value's distribution for each record.
Rounding and heaping of estimated blood loss 2026-10-18 current Recorded estimated blood loss is a mixture of 5 rounding modes (preferred small values, 500 mL, 100 mL, 50 mL, 10 mL (base)); the model gives the true value's distribution for each record.
Rounding and heaping of intraoperative urine output 2026-10-18 current Recorded intraoperative urine output is a mixture of 4 rounding modes (100 mL, 50 mL, 10 mL, 5 mL (base)); the model gives the true value's distribution for each record.
Colloid container rules 2026-10-13 current Colloid is a mix of products given in whole containers that depend on the operation, so values are treated as container counts rather than rounded volumes.

Reproduce it

python examples/fluid_balance.py --resolution <vitaldb-resolution at the pinned commit> \
    --root <VitalDB release> --out out/fb --figure 6156 4167 5253