depot macro
Description
The macro depot is a multipurpose macro that can accommodate different types of administrations. It is used together with ODE systems to define how the administrations from the data set are linked with the model variables. It is the only macro that can be used with ODEs for administration without defining a compartment. With the macro depot, a bolus, an infusion (with INFUSION RATE or INFUSION duration defined in the data set), a zero order absorption, or a first order absorption (with or without transit process) can be defined.
As for other macros, depot must be used in a block PK:, while ODEs must be defined in a block EQUATION:.
https://www.youtube.com/watch?v=hcgI2NIXcFEArguments
The depot macro can be used for bolus doses, infusions (with INFUSION RATE or INFUSION duration defined in the data set), zero-order absorptions, and first-order absorptions. Some arguments are common for the three types of administrations, some are specific.
Arguments common to bolus, zero-order and first-order absorption:
adm: Administration identifier of doses to be read by the depot macro. Its default value is 1. Alias: type.
target: Name of the ODE variable on which the doses will be added. Mandatory.
Tlag: Lag time before the absorption. Its default value is 0.
p: Fraction of the absorbed amount. It can affect the effective rate of the absorption, not its duration. p can take any positive value (including > 1). Its default value is 1.
Specific arguments for bolus doses:
For bolus doses, no additional argument is needed.
The following code defines a bolus for doses of type 1 (e.g ADM=1 in the data set), applied to the ODE variable Ad, with a delay Tlag and a fraction absorbed F :
PK:
depot(type=1, target=Ad, Tlag, p=F)
Specific arguments for zero-order absorption:
To define a zero-order absorption, the following argument must be added:
Tk0: Duration of the zero order absorption. Mandatory to define zero-order absorption.
The following code defines a zero-order absorption process of duration Tk0, for doses of type adm=2, applied to the ODE variable Ac, without lag time (Tlag=0 when not specified) and with the entire dose being absorbed (p=1 when not defined). Note that the “target” is the variable corresponding to the compartment in which the dose arrives (i.e the central compartment). The depot compartment is implicit and does not need to be defined.
PK:
depot(type=2, target=Ac, Tk0)
Specific arguments for first-order absorption:
To define a first-order absorption, the following arguments can be added:
ka: Rate of the first order absorption. Mandatory to define first-order absorption.
Ktr: Transit rate.
Mtt: Mean transit compartments time for the absorption.
The following code defines a first-order absorption process with rate ka, for doses of type 1 (adm=1 when not specified), applied to the ODE variable Ac, with a lag-time Tlag of 2.1, and only 30% of the dose being absorbed. Note that the “target” is the variable corresponding to the compartment in which the dose arrives (i.e the central compartment). The depot compartment is implicit and does not need to be defined.
PK:
depot(target=Ac, ka, Tlag=2.1, p=0.3)
Note: In case of transit compartments and multiple doses, the amounts in the depot, transit and absorption compartments are reset at each new doses. Thus the implementation is valid only if the dose is fully absorbed before the next dose administration. The amount in the central (and possibly other compartments) is not reset and can accumulate.
Rules
The value after type= must be an integer.
The value after target= must be a string representing the ODE variable
The inputs after Tlag=, p=, Tk0=, ka=, Ktr=, Mtt= can be either a
Double
Input parameter
Variable
Calculations are not supported
The associated treatment or administration can be defined with a rate or an infusion timing from the data set (RATE and TINF column-types in the data set). The rules are the same as for the iv macro.