# Regimen

Regimens are defined using the `new_regimen()` function. You should provide information on the dose amount, how many doses, and the dosing interval. However, how you provide that information is very flexible. You can e.g. specify:

    reg1 <- new_regimen(
      amt = 100,
      interval = 12,
      n = 5
    )

which will administer 5 doses of 100 mg (or whatever the unit is), at an interval of 12 hours. The same can however also be specified as:

    reg1 <- new_regimen(
      amt = 100,
      times = c(0, 12, 24, 36, 48)
    )

or:

    reg1 <- new_regimen(
      amt = c(100, 100, 100, 100, 100),
      times = c(0, 12, 24, 36, 48)
    )

Be careful: if the length of the `amt` vector is not the same as the length in `times`, the function will repeat the first `amt` specified. The same goes for the arguments `type`, `cmt`, and `t_inf`.

By default, the `new_regimen()` function assumes the dose is given as bolus. If you want to specify that these should be given as infusion, specify the `type` and `t_inf` arguments:

    reg1 <- new_regimen(
      amt = 100,
      times = c(0, 12, 24, 36, 48),
      type = "infusion",
      t_inf = c(1, 1, 1.5, 1.5, 1)
    )

When you created the model using `new_ode_model`, you also specified a default dosing compartment. If you didn’t specify the `dose` argument, the default dosing compartment is 1. Now, should you want to administer the dose into a different compartment, you can override it with the `cmt` argument:

    reg1 <- new_regimen(
      amt = 100,
      times = c(0, 12, 24, 36, 48),
      cmt = c(1, 1, 2, 2, 3)
    )

Which will administer the doses to compartments 1, 1, 2, 2, and 3, respectively (of course this is a hypothetical example).

Note: `PKPDsim` doesn’t care about what unit the dose is in, you have to define this yourself in conjunction with the model code and observation scale.

# Steady state

Instead of simulating the full concentration time course for a given model, if you want to simulate the PK(PD) at steady state, you can also specify the `ss = TRUE` argument to `new_regimen()`, which will then simulate the regimen at steady state. By default, steady state is assumed to occur after 5 days (PKPDsim doesn’t check if steady state is reached!), but if you want to decrease or increase this you can do so by specifying the `n_ss` argument, which takes the number of doses to simulate before assuming steady state.

    reg_ss <- new_regimen(
      amt = 100,
      interval = 12,
      n = 5,
      ss = TRUE,
      n_ss = 10
    )
    reg_ss

    ## Note: Steady state regimen, steady state assumed to be reached at t = 0.

    ##    t  type amt t_inf
    ## 1  0 bolus 100     0
    ## 2 12 bolus 100     0
    ## 3 24 bolus 100     0
    ## 4 36 bolus 100     0
    ## 5 48 bolus 100     0