The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

AUC-based dose selection

library(posologyr)

Introduction

AUC-based dosage adjustment for a patient treated with vancomycin for methicillin-resistant Staphylococcus aureus blood stream infection, using the population pharmacokinetic (ppk) model of Goti et al. 2018, using the data from therapeutic drug monitoring (TDM).

mod_vancomycin_Goti2018 <- list(
  ppk_model   = rxode2::rxode({
    centr(0) = 0;
    TVCl  = THETA_Cl*(CLCREAT/120)^0.8*(0.7^DIAL);
    TVVc  = THETA_Vc*(WT/70)          *(0.5^DIAL);
    TVVp  = THETA_Vp;
    TVQ   = THETA_Q;
    Cl    = TVCl*exp(ETA_Cl);
    Vc    = TVVc*exp(ETA_Vc);
    Vp    = TVVp*exp(ETA_Vp);
    Q     = TVQ;
    ke    = Cl/Vc;
    k12   = Q/Vc;
    k21   = Q/Vp;
    Cc    = centr/Vc;
    d/dt(centr)  = - ke*centr - k12*centr + k21*periph;
    d/dt(periph) =            + k12*centr - k21*periph;
    d/dt(AUC)    =   Cc;
  }),
  error_model = function(f,sigma){
    g <- sigma[1] + sigma[2]*f
    return(g)
  },
  theta = c(THETA_Cl=4.5, THETA_Vc=58.4, THETA_Vp=38.4,THETA_Q=6.5),
  omega = lotri::lotri({ETA_Cl + ETA_Vc + ETA_Vp + ETA_Q ~
      c(0.147,
        0     ,   0.510,
        0     ,       0,   0.282,
        0     ,       0,       0,    0)}),
  covariates  = c("CLCREAT","WT","DIAL"),
  sigma       = c(additive_a = 3.4, proportional_b = 0.227))

Discontinuous intravenous infusion

Patient record with TDM data

The dosage selection can be informed using the results of TDM. See vignette("patient_data_input") for more details regarding the patient records.

df_patientB <- data.frame(ID=1,TIME=c(0.0,13.0,24.2,48),
                          DV=c(NA,12,NA,9.5),
                          AMT=c(2000,0,1000,0),
                          DUR=c(2,NA,2,NA),
                          EVID=c(1,0,1,0),
                          CLCREAT=65,WT=70,DIAL=0)
df_patientB
#>   ID TIME   DV  AMT DUR EVID CLCREAT WT DIAL
#> 1  1  0.0   NA 2000   2    1      65 70    0
#> 2  1 13.0 12.0    0  NA    0      65 70    0
#> 3  1 24.2   NA 1000   2    1      65 70    0
#> 4  1 48.0  9.5    0  NA    0      65 70    0

Estimate the MAP individual parameters

patB_map <- poso_estim_map(dat=df_patientB,
                           prior_model=mod_vancomycin_Goti2018)

Plot the individual pharmacokinetic profile

The individual pharmacokinetic profile can be plotted using the rxode2 model provided by the poso_estim_map() function.

plot(patB_map$model,Cc)

Using ggplot2 the observed data points can be added to the plot

#Get the observations from the patient record
indiv_obs             <- df_patientB[,c("DV","TIME")]
names(indiv_obs)      <- c("value","time")

#Overlay the MAP profile and the observations
plot(patB_map$model,Cc) +
  ggplot2::ylab("Central concentration") +
  ggplot2::geom_point(data=indiv_obs, size= 3, na.rm=TRUE)

The MAP profile matches the observations.

Get the AUC24 from the MAP model

Considering a MIC of 1 mg/L, the target AUC over 24 hours (AUC24) is 400 mg.h/L. The AUC can be retrieved from the rxode2 model using the usual R data.frame syntax.

#AUC 0_24
AUC_map_first_dose <- patB_map$model$AUC[which(patB_map$model$time == 24)]
AUC_map_first_dose
#> [1] 337.8965

#AUC 24_48
AUC_map_second_dose <- patB_map$model$AUC[which(patB_map$model$time == 48)] - AUC_map_first_dose
AUC_map_second_dose
#> [1] 325.3072

The current dosage does not meet the target AUC.

Optimal dose selection a posteriori

The next dose needed to achieve an AUC24 of 400 mg.h/L can be estimated using TDM data.

poso_dose_auc(dat=df_patientB,
              prior_model=mod_vancomycin_Goti2018,
              tdm=TRUE,
              time_auc=24,            #AUC24
              time_dose = 48,         #48 h: immediately following the last observation
              duration=2,             #infused over 2 h
              target_auc=400)
#> $dose
#> [1] 1411.593
#> 
#> $type_of_estimate
#> [1] "point estimate"
#> 
#> $auc_estimate
#> [1] 400
#> 
#> $indiv_param
#>   THETA_Cl THETA_Vc THETA_Vp THETA_Q     ETA_Cl     ETA_Vc     ETA_Vp CLCREAT
#> 4      4.5     58.4     38.4     6.5 0.08208203 0.06122374 0.06285943      65
#>   WT DIAL
#> 4 70    0

The optimal dose estimated for the next infusion is 1411 mg.

Optimal maintenance dose selection a posteriori

The maintenance dose needed to reliably achieve an AUC24 of 400 mg.h/L can be estimated by simulating a multiple dose regimen over enough administrations (e.g. 11 consecutive administrations, with add_dose=10) to approximate the steady-state.

poso_dose_auc(dat=df_patientB,
              prior_model=mod_vancomycin_Goti2018,
              time_auc=24,
              starting_time=24*9,
              interdose_interval=24,
              add_dose=10,
              duration=2,
              target_auc=400)
#> $dose
#> [1] 1198.266
#> 
#> $type_of_estimate
#> [1] "point estimate"
#> 
#> $auc_estimate
#> [1] 400
#> 
#> $indiv_param
#>   THETA_Cl THETA_Vc THETA_Vp THETA_Q     ETA_Cl     ETA_Vc    ETA_Vp CLCREAT WT
#> 1      4.5     58.4     38.4     6.5 0.08208199 0.06122337 0.0628591      65 70
#>   DIAL
#> 1    0

The optimal maintenance dose is 1200 mg.

Continuous intravenous infusion

The maintenance dose for a continuous intravenous infusion can be easily determined by setting the duration of the infusion equal to the interdose_interval.

poso_dose_auc(dat=df_patientB,
              prior_model=mod_vancomycin_Goti2018,
              time_auc=24,
              starting_time=24*9,
              interdose_interval=24,
              add_dose=10,
              duration=24,
              target_auc=400)
#> $dose
#> [1] 1198.923
#> 
#> $type_of_estimate
#> [1] "point estimate"
#> 
#> $auc_estimate
#> [1] 400
#> 
#> $indiv_param
#>   THETA_Cl THETA_Vc THETA_Vp THETA_Q     ETA_Cl     ETA_Vc     ETA_Vp CLCREAT
#> 1      4.5     58.4     38.4     6.5 0.08208202 0.06122453 0.06285936      65
#>   WT DIAL
#> 1 70    0

The optimal maintenance dose is also 1200 mg / 24 h for a continuous intravenous infusion.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.