Anthropometric formulas
Body mass index (BMI)
$$ BMI = \frac{W_{kg}}{H_{m}^2} $$
Body surface area — Mosteller
$$ BSA = \sqrt{\frac{W_{kg} \times H_{cm}}{3600}} $$
Body surface area — Du Bois
$$ BSA = 0.007184 \times W_{kg}^{0.425} \times H_{cm}^{0.725} $$
Ideal body weight — Devine
Male
$$ IBW = 50.0 + 2.3 \times (H_{in} - 60) $$
Female
$$ IBW = 45.5 + 2.3 \times (H_{in} - 60) $$
$$ H_{in} = \frac{H_{cm}}{2.54} $$
Adjusted body weight
$$ ABW = IBW + 0.4 \times (W_{actual} - IBW) $$
Threshold-based weight selection
$$ W = \begin{cases}
ABW & W_{actual} > 1.2 \times IBW \\[1mm]
W_{actual} & W_{actual} < IBW \\[1mm]
IBW & \text{otherwise}
\end{cases} $$
Lean body weight / fat-free mass — Janmahasatian
Male
$$ LBW = \frac{9270 \times W_{kg}}{6680 + 216 \times BMI} $$
Female
$$ LBW = \frac{9270 \times W_{kg}}{8780 + 244 \times BMI} $$
Renal function
Creatinine clearance — Cockcroft-Gault
$$ CrCl = \min\!\left(\frac{(140 - Age) \times W_{kg} \times S_{sex}}{72 \times SCr},\; CrCl_{max}\right) $$
$$ S_{sex} = \begin{cases} 1.0 & \text{male} \\ 0.85 & \text{female} \end{cases} $$
SCr conversion — IDMS to conventional
$$ SCr_{conv} = 1.065 \times SCr_{IDMS} + 0.067 $$
Estimated GFR — CKD-EPI 2021 (race-free)
$$ eGFR = 142 \times \min\!\left(\frac{SCr}{\kappa}, 1\right)^{\!\alpha} \times \max\!\left(\frac{SCr}{\kappa}, 1\right)^{-1.200} \times 0.9938^{Age} \times S_{sex} $$
| Sex | $\kappa$ | $\alpha$ if $SCr \le \kappa$ | $\alpha$ if $SCr > \kappa$ | $S_{sex}$ |
|---|---|---|---|---|
| Female | $0.7$ | $-0.241$ | $-1.200$ | $1.012$ |
| Male | $0.9$ | $-0.302$ | $-1.200$ | $1.000$ |
De-indexed eGFR
$$ eGFR_{abs} = eGFR \times \frac{BSA}{1.73} $$
Creatinine interpolation
$$ SCr(t) = SCr_j + \frac{t - t_j}{t_{j+1} - t_j}\left(SCr_{j+1} - SCr_j\right), \qquad t_j \le t \le t_{j+1} $$
$$ SCr(t) = SCr_1 \;\; (t < t_1) \qquad SCr(t) = SCr_n \;\; (t > t_n) $$
Compartment pharmacokinetic models
One-compartment model
Micro-constant
$$ k_{10} = \frac{CL}{V_1} $$
Iterative update
$$ C(t) = C(t-1) \cdot \frac{V_1(t-1)}{V_1(t)} \cdot e^{-k_{10}\,\Delta t} + \frac{R_{inf}}{k_{10}\,V_1}\!\left(1 - e^{-k_{10}\,\Delta t}\right) $$
Steady-state initialization
$$ C_{ss} = \frac{D}{CL \cdot T_{inf}} \cdot \frac{(1 - e^{-k_{10} T_{inf}})}{(1 - e^{-k_{10} \tau})} \cdot e^{k_{10}(T_{inf} - \tau)} $$
Two-compartment model
Micro-constants
$$ k_{10} = \frac{CL}{V_1} \qquad k_{12} = \frac{Q_2}{V_1} \qquad k_{21} = \frac{Q_2}{V_2} $$
Hybrid rate constants ($\alpha$, $\beta$)
$$ \lambda^2 + a_1\lambda + a_0 = 0 $$
$$ a_0 = k_{10} k_{21} \qquad a_1 = -(k_{10} + k_{12} + k_{21}) $$
$$ \alpha,\, \beta = \frac{-a_1 \pm \sqrt{a_1^2 - 4a_0}}{2} \qquad (\alpha > \beta) $$
Biexponential coefficients ($A$, $B$)
$$ A = \frac{k_{21} - \alpha}{V_1\,(\beta - \alpha)} \qquad B = \frac{k_{21} - \beta}{V_1\,(\alpha - \beta)} $$
Iterative update
$$ C_A(t) = C_A(t-1)\cdot e^{-\alpha\,\Delta t} + \frac{R_{inf}\cdot A}{\alpha}\!\left(1 - e^{-\alpha\,\Delta t}\right) $$
$$ C_B(t) = C_B(t-1)\cdot e^{-\beta\,\Delta t} + \frac{R_{inf}\cdot B}{\beta}\!\left(1 - e^{-\beta\,\Delta t}\right) $$
$$ C_{total}(t) = C_A(t) + C_B(t) $$
Steady-state initialization
$$ C_{A,ss} = \frac{\dot{D}\cdot A}{\alpha} \cdot \frac{(1 - e^{-\alpha T_{inf}})}{(1 - e^{-\alpha\tau})} \cdot e^{\alpha(T_{inf}-\tau)} $$
$$ C_{B,ss} = \frac{\dot{D}\cdot B}{\beta} \cdot \frac{(1 - e^{-\beta T_{inf}})}{(1 - e^{-\beta\tau})} \cdot e^{\beta(T_{inf}-\tau)} $$
$$ \dot{D} = \frac{D}{T_{inf}} $$
Three-compartment model
Micro-constants
$$ k_{10} = \frac{CL}{V_1} \quad k_{12} = \frac{Q_2}{V_1} \quad k_{21} = \frac{Q_2}{V_2} \quad k_{13} = \frac{Q_3}{V_1} \quad k_{31} = \frac{Q_3}{V_3} $$
Characteristic polynomial coefficients
$$ \lambda^3 + a_2\lambda^2 + a_1\lambda + a_0 = 0 \qquad \{\alpha,\, \beta,\, \gamma\} = -\lambda $$
$$ a_0 = k_{10}\,k_{21}\,k_{31} $$
$$ a_1 = k_{10}k_{31} + k_{21}k_{31} + k_{21}k_{13} + k_{10}k_{21} + k_{31}k_{12} $$
$$ a_2 = k_{10} + k_{12} + k_{13} + k_{21} + k_{31} $$
Hybrid rate constants ($\alpha$, $\beta$, $\gamma$) — Cardano trigonometric method
$$ \lambda = t - \frac{a_2}{3} \quad \Longrightarrow \quad t^3 + pt + q = 0 $$
$$ p = a_1 - \frac{a_2^2}{3} \qquad q = \frac{2a_2^3}{27} - \frac{a_1 a_2}{3} + a_0 $$
$$ \varphi = \frac{1}{3}\arccos\!\left(\frac{-q/2}{\sqrt{-p^3/27}}\right) \qquad r = 2\sqrt{-p/3} $$
$$ \alpha = -\!\left(r\cos\varphi - \tfrac{a_2}{3}\right) $$
$$ \beta = -\!\left(r\cos\!\left(\varphi + \tfrac{2\pi}{3}\right) - \tfrac{a_2}{3}\right) $$
$$ \gamma = -\!\left(r\cos\!\left(\varphi + \tfrac{4\pi}{3}\right) - \tfrac{a_2}{3}\right) $$
Triexponential coefficients ($A$, $B$, $C$)
$$ A = \frac{1}{V_1} \cdot \frac{(k_{21}-\alpha)(k_{31}-\alpha)}{(\beta-\alpha)(\gamma-\alpha)} $$
$$ B = \frac{1}{V_1} \cdot \frac{(k_{21}-\beta)(k_{31}-\beta)}{(\alpha-\beta)(\gamma-\beta)} $$
$$ C = \frac{1}{V_1} \cdot \frac{(k_{21}-\gamma)(k_{31}-\gamma)}{(\alpha-\gamma)(\beta-\gamma)} $$
Iterative update
$$ C_A(t) = C_A(t-1)\cdot e^{-\alpha\,\Delta t} + \frac{R_{inf}\cdot A}{\alpha}\!\left(1 - e^{-\alpha\,\Delta t}\right) $$
$$ C_B(t) = C_B(t-1)\cdot e^{-\beta\,\Delta t} + \frac{R_{inf}\cdot B}{\beta}\!\left(1 - e^{-\beta\,\Delta t}\right) $$
$$ C_C(t) = C_C(t-1)\cdot e^{-\gamma\,\Delta t} + \frac{R_{inf}\cdot C}{\gamma}\!\left(1 - e^{-\gamma\,\Delta t}\right) $$
$$ C_{total}(t) = C_A(t) + C_B(t) + C_C(t) $$
Steady-state initialization
$$ C_{A,ss} = \frac{\dot{D}\cdot A}{\alpha} \cdot \frac{(1 - e^{-\alpha T_{inf}})}{(1 - e^{-\alpha\tau})} \cdot e^{\alpha(T_{inf}-\tau)} $$
$$ C_{B,ss} = \frac{\dot{D}\cdot B}{\beta} \cdot \frac{(1 - e^{-\beta T_{inf}})}{(1 - e^{-\beta\tau})} \cdot e^{\beta(T_{inf}-\tau)} $$
$$ C_{C,ss} = \frac{\dot{D}\cdot C}{\gamma} \cdot \frac{(1 - e^{-\gamma T_{inf}})}{(1 - e^{-\gamma\tau})} \cdot e^{\gamma(T_{inf}-\tau)} $$
Error metrics
Observation weights ($w_i$)
$$ u_i = \frac{t_i - t_{min}}{t_{max} - t_{min}} $$
$$ w_i^{equal} = 1 \qquad w_i^{linear} = 0.2 + 0.8\,u_i \qquad w_i^{exp} = e^{\alpha\,(u_i - 1)} $$
Normalized weights
$$ w'_i = w_i \cdot \frac{n}{\displaystyle\sum_{j=1}^n w_j} $$
Sum of squared errors (SSE)
$$ SSE = \sum_{i=1}^{n} w'_i\,(\hat{C}_i - C_{obs,i})^2 $$
Root mean squared deviation (RMSD)
$$ RMSD = \sqrt{\frac{SSE}{\displaystyle\sum_{i=1}^n w'_i}} $$
Bias (mean weighted error)
$$ Bias = \frac{\displaystyle\sum_{i=1}^n w'_i\,(\hat{C}_i - C_{obs,i})}{\displaystyle\sum_{i=1}^n w'_i} $$
Ensemble averaging
Simple average
$$ W_m = \frac{1}{M} $$
SSE-weighted (default)
$$ W_m = \frac{e^{-\tfrac{1}{2} SSE_m}}{\displaystyle\sum_{j} e^{-\tfrac{1}{2} SSE_j}} $$
SSE + shrinkage
$$ W_m = \frac{e^{-\tfrac{1}{2}\left(SSE_m + \alpha\,\eta_m^{\top}\Omega_m^{-1}\eta_m\right)}}
{\displaystyle\sum_{j} e^{-\tfrac{1}{2}\left(SSE_j + \alpha\,\eta_j^{\top}\Omega_j^{-1}\eta_j\right)}} $$
Minimum-weight filter
$$ W'_m = \frac{W_m}{\displaystyle\sum_{j\,:\,W_j > W_{min}} W_j}, \qquad W_m > W_{min} $$
Weighted-average concentration
$$ \bar{C}(t_k) = \sum_{m=1}^M W_m \cdot C_m(t_k) $$
Regimen search
AUC/MIC — linear-up/log-down trapezoidal
$$ AUC_{\tau} = \sum_{k} A_k, \qquad
A_k = \begin{cases}
\dfrac{C(t_k)+C(t_{k+1})}{2}\,\Delta t_k & C(t_{k+1}) \ge C(t_k) \\[2mm]
\dfrac{C(t_k)-C(t_{k+1})}{\ln\!\big(C(t_k)/C(t_{k+1})\big)}\,\Delta t_k & C(t_{k+1}) < C(t_k)
\end{cases} $$
$$ AUC_{24} = AUC_{\tau} \cdot \frac{24}{\tau} \qquad \frac{AUC}{MIC} = \frac{AUC_{24}}{MIC} $$