Carreno & Goti Optimized Models

Overview

The published Goti (2018) and Carreno (2017) two-compartment vancomycin population models were each derived from their own small, specific study cohorts (Goti: general adult inpatients; Carreno: 12 severely obese, BMI≥40 patients). This page documents the step-by-step process used to test whether each model's total clearance (CL) relationship to creatinine clearance (CrCl) could be re-calibrated to better fit this institution's own patient population, using the app's Model Building & Improvement tool — and the statistical and clinical checks performed before adding the results as selectable Goti Optimized and Carreno Optimized options on the PK Fitting and Initial Dosing pages.

Nothing about the original, published Goti and Carreno models was changed. Both remain available exactly as before; the optimized variants are additional, separately selectable options.

Step 1 — Decide What Can Be Re-Estimated From the Available Data

As explained on the Two Compartment vs One Compartment With Trough Only Data and Two Compartment Modeling with Sparse Data pages, most of this institution's vancomycin levels are troughs. Trough-dominant data reliably identifies total clearance (CL) — since Css,avg = Dose / (CL × τ) — but cannot reliably separate the central volume (Vc), peripheral volume (Vp), and inter-compartmental clearance (Q) from one another.

Decision: hold Vc, Vp, and Q fixed at each model's published population values, and let only the CL-vs-CrCl relationship (slope and intercept) be re-estimated from local data.

Step 2 — Diagnose and Fix Boundary-Pinned Optimizer Results

The Model Building & Improvement optimizer enforces a min/max bound on every parameter. The first exploratory runs (peripheral parameters pinned, CL slope/intercept free) converged with the CL slope sitting exactly at the upper bound of its allowed range — a classic sign that the true, unconstrained optimum lies even higher, and the reported value is an artifact of the bound rather than a genuine answer.

Fix: the CL slope upper bound was widened substantially and the optimization re-run. Once the result converged to an interior value (not pinned against either bound), it was treated as trustworthy.

Step 3 — Check Whether Vc Should Also Change

As a sensitivity check, Vc was also freed (instead of pinned) in a separate run. For both models this immediately produced the same identifiability problem described in Step 1: Vc and CL (or Vc and Q, when Q was freed too) traded off against each other, with one parameter pegged at its lower bound while another pegged at its upper bound — the signature of collinear, non-identifiable parameters rather than a genuine population difference.

Decision: keep Vc (and Vp, Q) at each model's published value. Only the CL slope/intercept are updated. This is the more conservative, minimal-change choice, and avoids adopting a Vc estimate that the data cannot actually support.

Step 4 — Validate With an Independent, Larger Cohort

All tables on this page were generated using only each patient's first drug level (the "Only First Level" option on the Model Building & Improvement page), rather than requiring 2 or more levels per patient. This produces a substantially larger, less-selected validation cohort (383 patients for each model, versus roughly 107 when requiring 2+ levels) and serves as an independent robustness check on the smaller, richer-data cohort used during the exploratory bound-widening in Steps 2–3 — confirming the direction and approximate magnitude of the CL-slope change were not an artifact of a smaller, hand-picked subset of patients.

Step 5 — Correction: Goti's Published CL Equation is a Power Law, Not Linear

A unit error was subsequently found in how the published Goti clearance equation had been implemented: CL = 4.5 × (CrCl / 120)0.8 is a power-law relationship (exponent 0.8), but the code computed it as a plain linear multiple of CrCl (exponent 1, i.e. CL = 0.0375 × CrCl). This was corrected in twocompartmentcalculations.py (used by PK Fitting, Initial Dosing, and batch fitting) and in the Model Building & Improvement optimizer itself, which now fits a coefficient on CrCl0.8 rather than on raw CrCl.

This changes the Goti-related numbers on this page. Every Goti table below was regenerated after the fix, using the same methodology as before (Vc/Vp/Q pinned at Goti's published values, "Only First Level" cohort, CL slope bounded to [0, 0.4] and CL intercept to [0, 1]). The published Carreno equation was already linear in CrCl and is unaffected — Carreno's tables below are unchanged.

Published vs. Optimized Parameters
Model Parameter Published Value Optimized Value (First-Level-Only Cohort) Change
GotiVc coefficient (L/kg)0.83430.8343 (fixed)—
Vp (L)38.438.4 (fixed)—
Q (L/hr)6.56.5 (fixed)—
CL coefficient (× CrCl0.8)0.09780.1835+87.8%
CL intercept (L/hr)0.0≈0.0—
CarrenoVc (L, fixed)25.7625.76 (fixed)—
Vp (L)40.9640.96 (fixed)—
Q (L/hr)58.9958.99 (fixed)—
CL slope (per mL/min CrCl)0.03600.0708+96.7%
CL intercept (L/hr)0.180.1948+0.0148

Note: the GotiOptimized option implemented in the app uses CL = 0.17733 × CrCl0.8 (intercept fixed at 0) — derived from a dedicated run with Vc/Vp/Q pinned at Goti's published means and CL slope/intercept bounded to [0, 0.4] / [0, 1]. The first-level-only validation rerun on this page (383 patients, same bounds) converged to a very similar coefficient (0.1835, ≈3% higher) — a modest run-to-run difference typical of Nelder-Mead optimization on a large cohort, and itself a useful corroboration rather than a discrepancy to resolve. The CarrenoOptimized option (CL = 0.074 × CrCl, intercept fixed at 0) is unaffected by the Goti exponent correction, since Carreno's published equation was already linear in CrCl.

Statistical Significance (First-Level-Only Cohort, n=383 per model)
Metric Goti → Goti Optimized Carreno → Carreno Optimized
Mean per-patient RMSE (published → optimized)6.41 → 4.52 mg/L10.14 → 4.21 mg/L
Paired t-testt=5.59, df=382, p<0.001t=14.82, df=382, p<0.001
Wilcoxon signed-rank testp<0.001p<0.001
Cohen's d (effect size)0.45 (Small)1.22 (Large)
Patients improved / worsened / unchanged225 / 158 / 0 (58.7% improved)293 / 90 / 0 (76.5% improved)
Vancomycin AUC24 Target Attainment (400–600 mg·hr/L)
Category Goti (published → optimized) Carreno (published → optimized)
Therapeutic (400–600)83.0% → 97.4%78.3% → 94.3%
Sub-therapeutic (<400)8.6% → 1.6%8.9% → 2.9%
Supra-therapeutic (>600)8.4% → 1.0%12.8% → 2.9%
Mean AUC24 (mg·hr/L)507.1 → 501.1514.0 → 501.3

Computed by having each model (published vs. optimized) recommend its own AUC-targeted dose (rounded to the nearest 250 mg vial size) and checking the resulting AUC — this isolates the effect of the CL formula itself and is not a comparison against historically-prescribed doses.

Dosing Impact

Because the optimized CL formulas predict substantially higher clearance at a given CrCl, the AUC-targeted dose recommended by each optimized model is correspondingly larger — roughly double, on average, under the published Goti/Carreno formulas.

Metric Goti → Goti Optimized Carreno → Carreno Optimized
Mean recommended dose632.5 → 1182.8 mg (+91.2%)587.5 → 1108.4 mg (+89.8%)
Patients with >30% dose change96.9%93.5%
Direction of change371 increase / 0 decrease / 12 unchanged358 increase / 0 decrease / 25 unchanged

This is the single most important caveat on this page. A change of this magnitude, affecting nearly every patient in the same direction, should be corroborated against real, recently-prescribed doses at this institution before being treated as a universal recommendation — see Step 4 and the Limitations card below.

Subgroup (Stratified) Performance

RMSE improvement (published → optimized model) stratified by renal function (KDIGO CKD stage), body-mass index category, and age group.

Carreno Optimized improves every subgroup in this larger, independent first-level-only cohort, including Normal BMI — this finding is unchanged by Step 5 (Carreno's equation was already linear) and supports the earlier conclusion that Carreno's one negative subgroup result in the smaller (2+ level) exploratory cohort was most likely a small-sample artifact (n=27), not a persistent weakness.

Goti Optimized, after the CrCl0.8 correction in Step 5, no longer improves every subgroup uniformly: CKD 4, Underweight, and Normal BMI patients show a small RMSE worsening (−1% to −18%), while every other subgroup still improves substantially (up to +61%). This is a genuinely new finding from the corrected formula, not a reproduction artifact — worth keeping in mind if Goti Optimized is used for underweight or normal-weight patients with advanced CKD.

Goti → Goti Optimized
SubgroupNRMSE (published)RMSE (optimized)Improvement
By CKD Stage
CKD 1-2 (≥60 mL/min)1357.514.67+37.8%
CKD 3a (45–59)707.304.80+34.3%
CKD 3b (30–44)835.893.73+36.7%
CKD 4 (15–29)784.684.90−4.7%
CKD 5 (<15)174.364.30+1.4%
By BMI Category
Underweight (<18.5)283.243.83−18.0%
Normal (18.5–24.9)1094.764.89−2.8%
Overweight (25–29.9)1095.694.76+16.2%
Obese I (30–34.9)628.353.22+61.4%
Obese II (35–39.9)398.324.38+47.3%
Obese III (≥40)3610.615.57+47.5%
By Age Group
18–39 years289.924.98+49.8%
40–59 years978.054.44+44.8%
60–79 years1716.014.78+20.4%
≥80 years874.243.93+7.1%
Carreno → Carreno Optimized
SubgroupNRMSE (published)RMSE (optimized)Improvement
By CKD Stage
CKD 1-2 (≥60 mL/min)1359.774.96+49.2%
CKD 3a (45–59)7011.264.47+60.3%
CKD 3b (30–44)8310.453.42+67.2%
CKD 4 (15–29)789.433.88+58.9%
CKD 5 (<15)1710.232.49+75.7%
By BMI Category
Underweight (<18.5)286.062.89+52.3%
Normal (18.5–24.9)1097.384.58+38.0%
Overweight (25–29.9)1099.174.40+52.0%
Obese I (30–34.9)6212.413.05+75.4%
Obese II (35–39.9)3912.874.09+68.3%
Obese III (≥40)3617.735.68+68.0%
By Age Group
18–39 years2812.675.23+58.7%
40–59 years9711.064.28+61.3%
60–79 years17110.104.58+54.7%
≥80 years878.373.08+63.2%
Limitations & Caveats
  • These are institution-specific recalibrations, not a claim that the published Goti/Carreno formulas are wrong in general — a different patient population at a different site could show a different result.
  • The CL-only fitting approach (Vc/Vp/Q fixed) is itself a deliberate simplification chosen because trough-dominant data cannot reliably support a full 4-parameter re-fit; see Step 1 and the related educational pages for why.
  • The implied ~90–116% average dose increase is large enough that it should be corroborated against real, recently-prescribed doses before being adopted as a default — not assumed correct purely because the statistics are significant.
  • All patient-level dosing-impact and target-attainment figures are theoretical (each model recommending its own AUC-targeted, 250 mg-rounded dose) rather than a comparison against what was historically, actually prescribed.
  • Both the GotiOptimized and CarrenoOptimized options are additive, selectable choices on the PK Fitting and Initial Dosing pages — the original published Goti and Carreno models remain fully available and unchanged.
References
  1. Goti V, Chaturvedula A, Fossler MJ, Mok S, Jacob JT. Hospitalized Patients With and Without Hemodialysis Have Markedly Different Vancomycin Pharmacokinetics: A Population Pharmacokinetic Model-Based Analysis. Ther Drug Monit. 2018. PMID: 29095809, doi: 10.1097/FTD.0000000000000490.
  2. Carreno JJ, Lomaestro B, Tietjan J, Lodise TP. Pilot Study of a Bayesian Approach to Estimate Vancomycin Exposure in Obese Patients with Limited Pharmacokinetic Sampling. Antimicrob Agents Chemother. 2017;61(5):e02478-16. PMID: 28115349, doi: 10.1128/AAC.02478-16.
  3. Rybak MJ, et al. Therapeutic Monitoring of Vancomycin for Serious Methicillin-Resistant Staphylococcus aureus Infections: A Revised Consensus Guideline and Review (2020 ASHP/IDSA/PIDS/SIDP). Am J Health Syst Pharm. 2020. PMID: 32191793.