| poso_time_cmin {posologyr} | R Documentation | 
Predict time to a selected trough concentration
Description
Predicts the time needed to reach a selected trough concentration (Cmin) given a population pharmacokinetic model, a set of individual parameters, a dose, and a target Cmin.
Usage
poso_time_cmin(
  dat = NULL,
  prior_model = NULL,
  tdm = FALSE,
  target_cmin,
  dose = NULL,
  endpoint = "Cc",
  estim_method = "map",
  nocb = FALSE,
  p = NULL,
  greater_than = TRUE,
  from = 0.2,
  last_time = 72,
  add_dose = NULL,
  interdose_interval = NULL,
  duration = 0,
  indiv_param = NULL
)
Arguments
dat | 
 Dataframe. An individual subject dataset following the structure of NONMEM/rxode2 event records.  | 
prior_model | 
 A   | 
tdm | 
 A boolean. If  
  | 
target_cmin | 
 Numeric. Target trough concentration (Cmin).  | 
dose | 
 Numeric. Dose administered. This argument is ignored if   | 
endpoint | 
 Character. The endpoint of the prior model to be optimised for. The default is "Cc", which is the central concentration.  | 
estim_method | 
 A character string. An estimation method to be used for
the individual parameters. The default method "map" is the Maximum A
Posteriori estimation, the method "prior" simulates from the prior
population model, and "sir" uses the Sequential Importance Resampling
algorithm to estimate the a posteriori distribution of the individual
parameters. This argument is ignored if   | 
nocb | 
 A boolean. For time-varying covariates: the next observation
carried backward (nocb) interpolation style, similar to NONMEM. If
  | 
p | 
 Numeric. The proportion of the distribution of Cmin to consider for
the estimation. Mandatory for   | 
greater_than | 
 A boolean. If   | 
from | 
 Numeric. Starting time for the simulation of the individual
time-concentration profile. The default value is 0.2. When   | 
last_time | 
 Numeric. Ending time for the simulation of the individual
time-concentration profile. The default value is 72. When   | 
add_dose | 
 Numeric. Additional doses administered at inter-dose interval
after the first dose. Optional. This argument is ignored if   | 
interdose_interval | 
 Numeric. Time for the inter-dose interval for
multiple dose regimen. Must be provided when add_dose is used. This
argument is ignored if   | 
duration | 
 Numeric. Duration of infusion, for zero-order
administrations. This argument is ignored if   | 
indiv_param | 
 Optional. A set of individual parameters : THETA, estimates of ETA, and covariates.  | 
Value
A list containing the following components:
- time
 Numeric. Time needed to reach the selected Cmin.
- type_of_estimate
 Character string. The type of estimate of the individual parameters. Either a point estimate, or a distribution.
- cmin_estimate
 A vector of numeric estimates of the Cmin. Either a single value (for a point estimate of ETA), or a distribution.
- indiv_param
 A
data.frame. The set of individual parameters used for the determination of the time needed to reach a selected Cmin: THETA, estimates of ETA, and covariates
Examples
rxode2::setRxThreads(2L) # limit the number of threads
# model
mod_run001 <- list(
ppk_model = rxode2::rxode({
  centr(0) = 0;
  depot(0) = 0;
  TVCl = THETA_Cl;
  TVVc = THETA_Vc;
  TVKa = THETA_Ka;
  Cl = TVCl*exp(ETA_Cl);
  Vc = TVVc*exp(ETA_Vc);
  Ka = TVKa*exp(ETA_Ka);
  K20 = Cl/Vc;
  Cc = centr/Vc;
  d/dt(depot) = -Ka*depot;
  d/dt(centr) = Ka*depot - K20*centr;
  d/dt(AUC) = Cc;
}),
error_model = function(f,sigma) {
  dv <- cbind(f,1)
  g <- diag(dv%*%sigma%*%t(dv))
  return(sqrt(g))
},
theta = c(THETA_Cl=4.0, THETA_Vc=70.0, THETA_Ka=1.0),
omega = lotri::lotri({ETA_Cl + ETA_Vc + ETA_Ka ~
    c(0.2,
      0, 0.2,
      0, 0, 0.2)}),
sigma = lotri::lotri({prop + add ~ c(0.05,0.0,0.00)}))
# df_patient01: event table for Patient01, following a 30 minutes intravenous
# infusion
df_patient01 <- data.frame(ID=1,
                        TIME=c(0.0,1.0,14.0),
                        DV=c(NA,25.0,5.5),
                        AMT=c(2000,0,0),
                        EVID=c(1,0,0),
                        DUR=c(0.5,NA,NA))
# predict the time needed to reach a concentration of 2.5 mg/l
# after the administration of a 2500 mg dose over a 30 minutes
# infusion
poso_time_cmin(dat=df_patient01,prior_model=mod_run001,
dose=2500,duration=0.5,from=0.5,target_cmin=2.5)