Skip to contents

Create a dosing regimen for use with sim_ode

Usage

new_regimen(
  amt = 100,
  interval = NULL,
  n = 3,
  times = NULL,
  type = NULL,
  t_inf = NULL,
  rate = NULL,
  t_lag = NULL,
  cmt = NULL,
  checks = TRUE,
  ss = FALSE,
  n_ss = NULL,
  first_dose_time = now_utc()
)

Arguments

amt

dosing amount, either a single value (which will repeated for multiple doses), or a vector with doses for each administration

interval

dosing interval (requires n as argument)

n

number of doses (requires interval as argument)

times

vector describing dosing times. Overrides specified times using interval and n arguments

type

either "infusion", "bolus", "oral", "sc" (subcutaneous), or "im" (intramuscular).

t_inf

infusion time (if `type`==`infusion`)

rate

infusion rate (if `type`==`infusion`). `NULL` by default. If specified, overrides `t_inf`

t_lag

lag time (can be applied to any dose type, not only oral). Will just be added to `times`

cmt

vector of dosing compartments (optional, if NULL will dosing compartment defined in model will be used)

checks

input checks. Remove to increase speed (e.g. for population-level estimation or optimal design)

ss

steady state? boolean value whether to simulate out to steady state first (steady state will be based on specified `amt` and `interval`, `times` will be ignored).

n_ss

how many doses to simulate before assumed steady state. Default is 4 * 24 / `interval`.

first_dose_time

datetime stamp of first dose (of class `POSIXct`). Default is current date time.

Value

a list containing calculated VPC information, and a ggplot2 object

See also

Examples


r1 <- new_regimen(amt=50, interval=12, n=20) # dose 50mg, q12hrs for 10 days
r2 <- new_regimen(amt=50, times=c(0:19)*12)  # same, but using explicit times
r3 <- new_regimen(amt=c(rep(100,4), rep(50,16)), times=c(0:19)*12)  # first 4 doses higher dose