Session

Simulating a Million Patients: Realistic Health Data Generation in Rust

Healthcare researchers desperately need realistic synthetic patient data: for teaching, for testing analysis pipelines, and for sharing results without compromising real patients' privacy. But generating data that's actually realistic is surprisingly hard. Naïve approaches produce patients who are statistically implausible: twenty-year-olds with dementia, smokers whose blood pressure is unaffected by their habit, populations where diabetes and hypertension never co-occur
.
This talk presents a graph-based approach to synthetic patient generation, built in Rust, that models how diseases actually progress through a human life. Using directed acyclic graphs with age-banded transition probabilities, the system walks each simulated patient through decades of accumulating risk factors, diagnoses, and complications, producing population-level data that preserves the statistical relationships epidemiologists rely on.

We'll trace a concrete clinical scenario, elderly patients developing diabetes, then hypertension, then suffering a transient ischaemic attack, from its representation as a DAG, through its implementation in Rust, to its output as a million-row dataset. Along the way, we'll cover the Rust design decisions that made this tractable: strong types that prevent impossible patient states, seeded RNG for scientific reproducibility, and the adaptor pattern that lets the same patient model emit records in different clinical formats.

You don't need a medical background to follow this talk. You'll leave with transferable patterns for modelling complex real-world processes as graphs, and a new appreciation for why Rust's type system is a gift to scientific computing

Caroline Morton

Medical doctor, epidemiologist, and systems engineer using Rust to make scientific software safer and more open.

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top