AnestheSIM
An open, extensible patient simulator for closed-loop anesthesia research and teaching, driven by VitalDB records (MATLAB/Simulink).
What AnestheSIM does
AnestheSIM lets real intraoperative records from the VitalDB open dataset, or designed dosing schedules, drive interchangeable pharmacokinetic/pharmacodynamic (PK/PD) models, and compares the simulated BIS, MAP and HR with what was measured. It is built for developing and benchmarking automated drug-delivery and depth-of-anesthesia control algorithms, and for teaching.
- Drugs: propofol, remifentanil and norepinephrine in pump units (mL/h); sevoflurane and desflurane as end-tidal vol%, with automatic agent resolution.
- PK: Schnider (propofol), Minto (remifentanil), Joachim covariate model (norepinephrine), first-order volatile effect sites with Mapleson age adjustment.
- PD: additive Minto, Bouillon and reduced Greco BIS surfaces in parallel, an intravenous–inhalational interaction model, and MAP/HR models.
- Validation on real data: replays a VitalDB cohort and reports Varvel performance metrics for BIS, MAP and HR.
- Database abstraction: the same simulation core runs on VitalDB, on synthetic patients, or on any other database once its loader exists.
- Fast: a 3-hour case simulates in under a second on a laptop.
Quick start
Requires MATLAB and Simulink (tested with R2025b).
setup_anesthesim % paths; regenerates the Simulink model if needed
main % simulate VitalDB case 2809 end to end
run_tests % unit tests, no internet needed
Cite AnestheSIM
Birs, I. (2026). AnestheSIM: an open, extensible patient simulator for closed-loop anesthesia driven by VitalDB records. Zenodo. https://doi.org/10.5281/zenodo.23338918