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.
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¶
- 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).
- Form crystalloid + colloid − blood loss − urine output for each draw.
- 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.
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.
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