Chorus

Chorus is a vancomycin simulator that fits 45 published population PK models at once, making it possible to compare model divergence and aggregate predictions.

For Educational and Research Use Only. Chorus is an experimental simulator and is not a validated clinical tool. Do not use it for patient care or clinical decision-making. See the Terms.

Sign in
vanc.app
Chorus analysis view: concentration–time curves from dozens of population PK models fitted to the same patient, with observed levels and the model-averaged prediction

Why Chorus

Model-informed precision-dosing (MIPD) tools typically bet on a single population model, chosen up front. Chorus explores a different question: what happens if you fit many published models at once and average them? It fits up to 45 models to the same patient data and shows where the models agree, where they diverge, and which ones the data supports.

Privacy

Chorus runs entirely in your browser. Patient files are read from and written to a folder you choose on your own disk — nothing is ever sent to a server.

Workspaces are de-identified by default, following HIPAA Safe Harbor, so the app can run with no protected health information on disk. See Privacy & security for the full policy.

What Chorus does

Given a patient's demographics, dosing history, measured vancomycin concentrations, and serum creatinine measurements, Chorus:

  1. Runs every selected population PK model (up to 45 active models) in parallel, producing a predicted concentration–time curve for each model.
  2. Fits each model to the patient using Bayesian maximum-a-posteriori (MAP) estimation against the observed drug levels.
  3. Combines the models into a single prediction by model averaging.
  4. Computes error metrics (RMSD, SSE, bias) for every model and for the aggregate.
  5. Detects acute kidney injury (AKI) from the creatinine time series using KDIGO-style criteria.
  6. Searches candidate regimens — evaluating dose/interval combinations against configurable targets (AUC/MIC, trough thresholds).

A separate machine-learning layer can predict, before any levels exist, which models are likely to fit a given patient best — useful for scenarios where there is nothing yet to fit against.

Simulation

45 active population PK models, run in parallel

One / two / three-compartment analytic solutions

Creatinine interpolated across the timeline

Optional steady-state initial conditions

Fitting

Bayesian MAP estimation, L-BFGS optimizer

Combined additive + proportional residual error model

Weighted observations, explicit below-limit-of-quantification handling

Averaging

Equal-weight, SSE-weighted, or SSE + overfitting penalty

RMSD / SSE / bias per model and aggregate

Regimen search

Dose / interval search against AUC/MIC and trough targets

Probability of target AUC, toxic trough, and effective trough

Or evaluate a specific regimen of your own directly

AKI detection

KDIGO-style detection from the serum-creatinine series

ML ranking

Predicts which models fit a patient best before any levels exist

Exact SHAP explanation for every prediction

Trainable on your own patients, entirely on your machine

Engine

Numerical core written in Rust, compiled to WebAssembly

Full 45-model fit in a fraction of a second

Privacy

Workspace files written to a folder you choose, via the File System Access API

Nothing sent to the server, under any configuration

De-identified by default — HIPAA Safe Harbor, as if every input were PHI

Relative dates, ages over 89 capped to "90+"

Workspace

Cooperative workspaces — a team can share one folder on a shared drive

Per-patient file locks with a heartbeat, so concurrent sessions never collide

Workspace-wide report of how each model performs across your patients

Models
Loading catalog…
Requirements

Chrome or Edge on desktop — requires the File System Access API

Author

Nate Van Veldhuizen, PharmD

hello@vanc.app