Estimate the time required to reach a target trough concentration (Cmin)
Estimate the time required to reach a target trough concentration (Cmin)
Estimates the time required to reach a target trough concentration (Cmin) given a population pharmacokinetic model, a set of individual parameters, a dose, and a target Cmin.
dat: Dataframe. An individual subject dataset following the structure of NONMEM/rxode2 event records.
prior_model: A posologyr prior population pharmacokinetics model, a list of six objects.
tdm: A boolean. If TRUE: computes the predicted time to reach the target trough concentration (Cmin) following the last event from dat, and using Maximum A Posteriori estimation. Setting tdm to TRUE causes the following to occur:
the simulation starts at the time of the last recorded dose (from the TDM data) plus from;
the simulation stops at the time of the last recorded dose (from the TDM data) plus last_time;
the arguments dose, duration, estim_method, p, greater_than, interdose_interval, add_dose, indiv_param and starting_time are ignored.
dose: Numeric. Dose administered. This argument is ignored if tdm is set to TRUE.
cmt_dose: Character or numeric. The compartment in which the dose is to be administered. Must match one of the compartments in the prior model. Defaults to 1.
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 indiv_param is provided, or if tdm is set to TRUE.
nocb: A boolean. For time-varying covariates: the next observation carried backward (nocb) interpolation style, similar to NONMEM. If FALSE, the last observation carried forward (locf) style will be used. Defaults to FALSE.
p: Numeric. The proportion of the distribution of Cmin to consider for the estimation. Mandatory for estim_method=sir. This argument is ignored if tdm is set to TRUE.
greater_than: A boolean. If TRUE: targets a time leading to a proportion p of the cmins to be greater than target_cmin. Respectively, lower if FALSE. This argument is ignored if tdm is set to TRUE.
from: Numeric. Starting time for the simulation of the individual time-concentration profile. The default value is 0.2. When tdm is set to TRUE the simulation starts at the time of the last recorded dose plus from.
last_time: Numeric. Ending time for the simulation of the individual time-concentration profile. The default value is 72. When tdm is set to TRUE the simulation stops at the time of the last recorded dose plus last_time.
add_dose: Numeric. Additional doses administered at inter-dose interval after the first dose. Optional. This argument is ignored if tdm is set to TRUE.
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 tdm is set to TRUE.
duration: Numeric. Duration of infusion, for zero-order administrations. This argument is ignored if tdm is set to TRUE.
indiv_param: Optional. A set of individual parameters : THETA, estimates of ETA, and covariates.
Returns
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# modelmod_run001 <-function(){ ini({ THETA_Cl <-4.0 THETA_Vc <-70.0 THETA_Ka <-1.0 ETA_Cl ~0.2 ETA_Vc ~0.2 ETA_Ka ~0.2 prop.sd <- sqrt(0.05)}) model({ 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
Cc ~ prop(prop.sd)})}# df_patient01: event table for Patient01, following a 30 minutes intravenous# infusiondf_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# infusionposo_time_cmin(dat=df_patient01,prior_model=mod_run001,dose=2500,duration=0.5,from=0.5,target_cmin=2.5)