Synthetic data validation · CLIF 2.1
A full audit of the fully-synthetic CLIF datasets against real CLIF — the ICU cohort (85,248 stays) and the whole-hospital population (365,000 stays) — across missingness, length-of-stay, life support, death, patient flow, lab-value shape, the longitudinal course of illness, and privacy.
The ICU dataset's length-of-stay, organ support, and measurement density were fit to reproduce real CLIF ICU statistics. They do.
| Metric | Synthetic | Real | Verdict |
|---|---|---|---|
| Hospital LOS — median | 167 h | 164 h | matched |
| Hospital LOS — p10 / p90 (tails) | 45 / 497 h | 51 / 513 h | matched |
| Invasive ventilation (IMV) | 0.402 | 0.412 | matched |
| Non-invasive ventilation (NIPPV) | 0.058 | 0.064 | matched |
| High-flow nasal cannula | 0.061 | 0.069 | matched |
| CRRT (renal replacement) | 0.041 | 0.040 | exact |
| Core chemistry present (creatinine, Na, Hgb) | 0.985 | 0.986 | exact |
| Lactate present (per stay) | 0.674 | 0.692 | matched |
| Arterial blood gas present (per stay) | 0.690 | 0.695 | matched |
Each lab is drawn through an empirical inverse-CDF fit to the real distribution, so skewed and long-tailed shapes are reproduced — a single log-normal would flatten creatinine's kidney-disease tail or lactate's skew. Values shown are the 10th / 50th / 90th percentiles.
| Lab | Synthetic p10 / p50 / p90 | Real p10 / p50 / p90 | Verdict |
|---|---|---|---|
| Creatinine (mg/dL) | 0.53 / 1.0 / 2.86 | 0.5 / 1.0 / 3.2 | tail matched |
| Lactate (mmol/L) | 0.9 / 1.7 / 4.41 | 0.9 / 1.8 / 4.8 | matched |
| Sodium (mmol/L) | 132 / 138 / 144 | 132 / 138 / 145 | exact |
| BUN (mg/dL) | 8 / 19 / 55 | 9 / 22 / 63 | matched |
| Platelets (10⁹/L) | 74 / 205 / 384 | 64 / 193 / 393 | matched |
The hardest test: does a dying synthetic patient get sicker the way a real one does? Aligned to the last 48 hours before death or discharge, decedents should diverge from survivors — and they do, in both datasets.
The dataset is deliberately a Chicago-representative, network-median cohort — statistically distinct from its source cohort so no one dataset can be mistaken for the other. CI also locks those network-median rates (LOS, IMV, vaso, CRRT, ABG co-occurrence) against the shareable base_pack on every PR — no DUA required to run the gate.
| Characteristic | Synthetic | Real CLIF | Rationale |
|---|---|---|---|
| Race — White / Black | 42% / 30% | 67% / 9% | Chicago, not Boston |
| Age — median | 63 | 67 | shifted younger |
| In-hospital mortality | 0.095 | 0.115 | CLIF network median |
| Female | 53% | 43% | cohort shift |
The second dataset is a full hospital population (365,000 stays): most patients never leave the ward, ~15% reach the ICU, and they arrive through a realistic mix of front doors. The population statistics match real; the flow is a deliberately cleaner design (more planned ICU access, fewer floor deteriorations) than the raw source cohort.
| Metric | Synthetic | Real full pop. | Verdict |
|---|---|---|---|
| Reach the ICU | 0.150 | 0.156 | matched |
| Hospital LOS — median | 64 h | 67 h | matched |
| Hospital LOS — p10 / p90 | 13 / 226 h | 13 / 243 h | matched |
| In-hospital mortality | 0.022 | 0.021 | matched |
| Direct admissions | 0.20 | 0.06 | by design |
| Arrive via ER / OR | 0.55 / 0.18 | 0.84 / 0.10 | by design |
| Transferred into ICU (deteriorate) | 0.093 | 0.139 | by design <10% |
| Direct / planned ICU admit | 0.057 | 0.017 | by design |
Front-door mix (synthetic): ED 57% · direct-to-ward 21% · OR/procedural 11% · direct-ICU 6% · stepdown 6%.
The generator samples from aggregate parameters and never copies a real record. Three standard privacy measures (synthetic vs real, 4,000 each) confirm no synthetic patient is a stand-in for a real one.
| Measure | Value | Reading |
|---|---|---|
| Distance to closest real record — median (p5) | 3.49 (1.89) | no copies even the closest 5% sit ~1.9σ from any real record |
| Nearest-neighbour distance ratio — median | 0.97 | no unique linkage ≈1 means not singled-out to one real record |
| Identifiability | 0.25 | moderate the fidelity/privacy trade-off of matching real value shapes |
Arterial-gas panel union runs slightly high — 0.76 vs 0.70. Real blood gases are co-ordered as a panel, and presence is drawn through a fitted Gaussian copula so co-ordered labs appear together (this corrected an earlier several-fold inflation). One residual remains: SₐO₂, measured less consistently (0.36), still contributes semi-independently, so "any arterial gas present" sits a few points above real.
White-cell counts skew a touch low. WBC p90 is 14 vs 18 real — the empirical marginal reproduces most of the distribution but slightly under-weights the high-count (leukocytosis) tail. Every other lab's value distribution tracks real, including the tails.
Both datasets reproduce real CLIF where it counts — missingness, length-of-stay distributions, life support, death, lab-value shapes, and the death-and-recovery trajectory — the ICU cohort against the real ICU population and the full-hospital dataset against the real whole-hospital population. They are intentionally distinct where designed to be: Chicago demographics, network-median mortality, and a cleaner patient flow. And they carry no traceable records. Statistically similar, believably real, but different and safe to share.