Module 6: Absorption Models

Author

Jessica Wojciechowski

1 Module Introduction and Objectives

The target audience are pharmacometricians with experience in NONMEM or other equivalent non-linear modeling software commonly used in the field pharmacometrics. The Module makes reference to similarities and differences to NONMEM and builds on the concepts described in Learning Path 2: Introduction to Pumas and Learning Path 3: Module 5: Structural Model Building.

A Note on Dataset Specifications for Absorption Models

Analysis datasets for population pharmacokinetic (PK) and pharmacodynamic (PD) modeling have commonly embedded sets of instructions associated with dosing information for non-linear mixed effect modeling software. These instructions are often independent dose events represented by rows in a data frame for each individual in the analysis population.

Model parameters and differential equations typically describe the movement of drug between model compartments, however, do not describe instantaneous changes in the state of the system that occur due to dose administration (for example, the addition of drug to the Depot compartment for first-order absorption). Additionally, different absorption models require different instructions to tell the software where, when, how fast, and how much needs to be added to model compartments.

For each absorption model presented in this Module, a corresponding example of the dataset will be presented in context of Pumas, as well as the relevant Pumas model code blocks.

The absorption models presented in this Module are:

  • Bioavailability (absolute and relative)
  • First-order absorption
  • Zero-order absorption (parameterized as estimation of rate or duration of input)
  • Delayed absorption
  • Combined first- and zero-order absorption (parallel and sequential)

1.1 Objectives

The objectives of Module 6: Absorption Models are to:

  1. Explain dataset requirements for handling different absorption models
  2. Present example code for describing different absorption processes in Pumas

2 Bioavailability

Bioavailability following extravascular administration is predominantly handled by the Pumas model code. Relative and absolute bioavailability can both be handled (the latter depending on availability of data following intravenous [IV] administration).

In @dosecontrol, the amount of drug going into a designated compartment can be specified by supplying a NamedTuple to bioav.

2.1 Absolute

Absolute bioavailability is the proportion of the dose administered that reaches the systemic circulation (after accounting for drug lost due to not being dissolved, gut metabolism, and/or first-pass metabolism). Absolute bioavailability estimates are the fraction of the whole dose administered and must be constrained between 0 and 1.

Estimating the parameter θF in the logit domain can help with parameter estimation and prevent confidence intervals from including boundary points (i.e., 0 and 1).

# Pumas model description for absolute bioavailability
@param begin
    # Population-typical value for absolute bioavailability
    θF  RealDomain(; init = 0.01)
end
@dosecontrol begin
    # The estimate for θF is from -∞ to ∞ to assist with estimation
    # Need to constrain the value between 0 and 1
    fdepot = logistic(θF)
    # Specify absolute bioavailability for the dosing compartments
    bioav = (; Depot = fdepot)
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with first-order absorption, this is commonly referred to as the Depot compartment.

The first 6 individuals’ dosing records are presented:

2.2 Relative

Relative bioavailability is a multiplicative scalar of the dose administered that reaches the systemic circulation. Relative bioavailability estimates must be greater than zero, but can be greater than 1 indicating that a specific condition results in more drug bioavailable to the system than the reference scenario.

The estimated parameter, θFrel, requires a lower boundary of zero but is not constrained by an upper boundary:

# Pumas model description for relative bioavailability
@param begin
    # Population-typical value for relative bioavailability
    θFrel  RealDomain(lower = 0.0, init = 1.0)
end
@dosecontrol begin
    # Specify relative bioavailability for the dosing compartments
    bioav = (; Depot = θFrel)
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with first-order absorption, this is commonly referred to as the Depot compartment.

The first 6 individuals’ dosing records are presented:

3 First-Order Absorption

First-order absorption models describe the passive processes driven by the concentration gradient between the absorption site and systemic circulation. The estimate for the first-order absorption rate constant, ka, is typically in the units of hr-1. The absorption rate at a given time is dependent on the amount remaining in the Depot compartment.

In Pumas, this absorption process is described in @dynamics.

# Pumas model description for first-order absorption
@param begin
    # Population-typical value for first-order absorption rate constant
    θKA  RealDomain(lower = 0.0, init = 1.0)
end
@pre begin
    # Individual PK parameters
    Ka = θKA
end
@dynamics begin
    Depot' = -Ka * Depot
    Central' = Ka * Depot - CL / VC * Central
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with first-order absorption, this is commonly referred to as the Depot compartment.

Setting the rate variable in the analysis dataset to 0 informs the system to add the dose amount instantaneously added to the target compartment (this is set by default).

The first 6 individuals’ dosing records are presented:

4 Zero-Order Absorption

Zero-order absorption models describe processes where drug is absorbed at a constant rate independent of the concentration gradient between the absorption site and systemic circulation and independent of the amount of drug still yet to be absorbed. Depending on the application, either the rate or duration of zero-order absorption can be estimated.

4.1 Rate

The estimate for the zero-order absorption rate, k0, is typically in the units of mg/hr. Therefore, for analysis datasets with a range of dose amounts, the duration of absorption will differ between doses when the rate is the same:

# Pumas model description for zero-order absorption rate
@param begin
    # Population-typical value for zero-order absorption rate
    θK0  RealDomain(lower = 0.0, init = 100.0)
end
@dosecontrol begin
    rate = (; Central = θK0)
end
@dynamics begin
    Central' = -Central / Vc
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with zero-order absorption, dose is administered to the Central compartment.

Setting the rate variable in the analysis dataset to -1 informs the system that the zero-order absorption rate is defined as part of the Pumas model.

The first 6 individuals’ dosing records are presented:

4.2 Duration

The estimate for the zero-order duration, dur0, is typically in the units of hr. Therefore, for analysis datasets with a range of dose amounts, the rate of absorption will differ between doses when the duration is the same:

# Pumas model description for zero-order absorption duration
@param begin
    # Population-typical value for zero-order absorption duration
    θDUR0  RealDomain(lower = 0.0, init = 1.0)
end
@dosecontrol begin
    duration = (; Central = θDUR0)
end
@dynamics begin
    Central' = -Central / Vc
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with zero-order absorption, dose is administered to the Central compartment.

Setting the rate variable in the analysis dataset to -2 informs the system that the zero-order absorption duration is defined as part of the Pumas model and that the rate should be calculated based on the amt variable and duration estimate.

The first 6 individuals’ dosing records are presented:

5 Delayed Absorption

Delayed absorption processes can represent a diverse phenomena from disintegrating and dissolution of solid dosage formulations, to gastric emptying (via the oral administration route), to diffusion delays (for intra-nasal administration).

5.1 Lag

Absorption lags allow for delays in the initiation of a first- or zero-order absorption process. The time that the dose amount is added to the target compartment is the sum of the time variable in the analysis dataset and lags specified in the Pumas model.

The estimate for the absorption lag, θALAG, is typically in the units of hr. The example of Pumas code and dataset specification assumes that a first-order absorption processes starts after an initial delay (or lag):

# Pumas model description for absorption lag
@param begin
    # Population-typical value for first-order absorption rate constant
    θKA  RealDomain(lower = 0.0, init = 1.0)
    # Population-typical value for first-order absorption lag
    θALAG  RealDomain(lower = 0.0, init = 0.5)
end
@pre begin
    # Individual PK parameters
    Ka = θKA
end
@dosecontrol begin
    lags = (; Depot = θALAG)
end
@dynamics begin
    Depot' = -Ka * Depot
    Central' = Ka * Depot - Central / Vc
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with first-order absorption, this is commonly referred to as the Depot compartment.

Setting the rate variable in the analysis dataset to 0 informs the system to add the dose amount instantaneously added to the target compartment (this is set by default).

The first 6 individuals’ dosing records are presented:

5.2 Transit Compartments

Implementation of estimated lag parameters often results in numerical instability as they are a discontinuous representation relative to the administration time specified in the analysis dataset.

Transit compartment absorption models accommodate a sequence of compartments with transfer rates that account for the delay between administration in the Depot compartment to entry into the systemic circulation (i.e., Central compartment).

In a transit absorption model, the delay is dictated by movement through transit compartments with a first-order transit rate constant, ktr. Movement from the nth transit compartment to the Central compartment is dictated by the first-order absorption rate constant, ka.

The mean transit time (MTT) can be estimated to assist with estimation and interpretation of the time delay, such that: k_{tr} = \frac{n+1}{MTT} Where n is the number of transit compartments in the model.

Additionally, it may be difficult to identify unique values for both ktr and ka. Therefore, models where ka = ktr can be explored.

The estimates for the mean transit time (MTT), first-order transit rate constant (ktr), first-order absorption rate constant (ka) are typically in the units of hr, hr-1, and hr-1, respectively.

# Pumas model description for transit absorption model
@param begin
    # Population-typical value for mean transit time
    θMTT  RealDomain(lower = 0.0, init = 0.5)
    # Population-typical value for first-order absorption rate constant
    θKA  RealDomain(lower = 0.0, init = 1.0)
end
@pre begin
    # Individual PK parameters
    MTT = θMTT
    ntransits = 4
    KTR = (ntransits + 1) / MTT
    Ka = θKA
end
@dynamics begin
    Depot' = -KTR * Depot
    transit1' = KTR * Depot - KTR * transit1
    transit2' = KTR * transit1 - KTR * transit2
    transit3' = KTR * transit2 - Ka * transit3
    Central' = Ka * transit3 - Central / Vc
end

The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with first-order absorption, this is commonly referred to as the Depot compartment.

Setting the rate variable in the analysis dataset to 0 informs the system to add the dose amount instantaneously added to the target compartment (this is set by default).

The first 6 individuals’ dosing records are presented:

Additional Information for Delayed Absorption Models

6 Combined First- and Zero-Order Absorption

A combination of first- and zero-order absorption processes may arise when drug at higher doses exceeds its solubility in the gut resulting in slower dissolution, or by design for modified/controlled/sustained release formulations that may have an immediate release component followed by a slow release component.

The combination of first- and zero-order absorption processes can occur in parallel or sequentially (i.e., first-order process then zero-order, or zero-order process then first-order). For either approach, the fraction or amount of a dose being absorbed via one of the processes is estimated.

The example code and analysis dataset below illustrate a scenario where:

  • First- and zero-order absorption processes are occurring in parallel each with their own absorption lags
  • The fraction of the dose being absorbed by first-order processes is estimated and the remaining fraction is absorbed by zero-order processes
  • The rate of the zero-order process is estimated
# Pumas model description for transit absorption model
@param begin
    # Population-typical value for first-order absorption lag
    θALAG1  RealDomain(lower = 0.0, init = 1.0)
    # Population-typical value for first-order absorption rate constant
    θKA  RealDomain(lower = 0.0, init = 1.0)
    # Population-typical value for zero-order absorption lag
    θALAG0  RealDomain(lower = 0.0, init = 1.0)
    # Population-typical value for zero-order absorption rate
    θK0  RealDomain(lower = 0.0, init = 100.0)
    # Population-typical value for fraction being absorbed by
    # first-order processes
    θFK1  RealDomain()
end
@pre begin
    # Individual PK parameters
    Ka = θKA
    K0 = θK0
end
@dosecontrol begin
    # The estimate for θFK1 is from -∞ to ∞ to assist with estimation
    # Need to constrain the value between 0 and 1
    fdepot = logistic(θFK1)
    # Specify fraction of dose going to each compartment
    bioav = (; Depot = fdepot, Central = 1 - fdepot)
    # Specify the absorption lag
    lags = (; Depot = θALAG1, Central = θALAG0)
    # Specify zero-order absorption rate
    rate = (; Central = K0)
end
@dynamics begin
    Depot' = -Ka * Depot
    Central' = Ka * Depot - Central / Vc
end

Each Dosing Event Requires 2 Dosing Records: The analysis dataset requires 2 records associated with each dosing event - one record provides a set of instructions for the first-order process, and the other provides the set of instructions for the zero-order process. Remember: It is the analysis dataset that provides the set of instructions of how (i.e., instantaneous bolus versus zero-order rate) and where (i.e., Depot versus Central) to add dose amounts.

Compartment Variable Specification: The analysis dataset is required to have an accurate representation of the dosing records where the cmt column is correctly specified to be the compartment where doses should be administered. In the case of a model with first- and zero-order absorption, the fraction of dose being absorbed by first-order processes will be added to the Depot compartment and the remaining fraction of dose absorbed by zero-order processes will be added to the Central compartment.

Rate Variable Specification: Therate variable in the analysis dataset also need to be defined appropriately for each absorption process. Here, it is 0 for first-order absorption, and -1 for zero-order absorption indicating that rate will be estimated and defined in the Pumas model.

Note: The amt column should contain the value of the total dose that was administered. For example, if 100 mg was administered to the individual, then both dosing records require amt to be equal to 100. The fraction of the dose going to either first- or zero-order processes is handled by the Pumas model code.

Example Julia code for duplicating dosing records and making necessary modification is described below:

# Demonstrate how additional rows can be added to the DataFrame for each dosing event
fozopara_examp_df = @chain examp_df begin
    # Bind another set of dosing records to the DataFrame where rate is set to -1
    # to specify that zero-order absorption rate will be estimated, and where
    # cmt is set to "Central"
    vcat(_, @chain examp_df begin
        @rsubset :evid == 1
        @rtransform :rate = -1
        @rtransform :cmt = "Central"
    end)
    # Arrange by id, time, and evid
    @orderby :id :time :evid
end

As an example, 6 individuals’ dosing records are presented:

The combined first- and zero-order absorption model can take many forms. Some other parameterizations include:

  • Ensure dose is a variable included in the analysis dataset and specified as a covariate in the Pumas model
  • Estimate the amount absorbed by first-order processes (AK1) instead of estimating the fraction absorbed by first-order processes (FK1) in the Pumas model. The lower bound of AK1 will be 0.0
  • Calculate the fraction of the dose absorbed by first-order processes (FK1) in the Pumas model. Doses less than AK1 will be all absorbed by first-order processes, and doses greater than AK1 will exhibit increasing fractions being absorbed by zero-order processes: \text{FK1} = \begin{cases} \frac{\text{AK1}}{\text{dose}} & \text{for dose }\geq\text{ AK1} \\ 1 & \text{for dose }\lt\text{ AK1} \end{cases}
  • Assign FK1 to the Depot compartment and 1-FK1 to the Central compartment of the bioav argument in @dosecontrol in the Pumas model
  • Set rate to -2 for dosing records associated with the zero-order process in the analysis dataset (i.e., where cmt = Central)
  • Estimate the duration of the zero-order process (DUR0) instead of estimating the rate of the zero-order process (k0) in the Pumas model
  • Assign DUR0 to the Central compartment of the duration argument in @dosecontrol in the Pumas model
  • Estimate lags for zero- and first-order absorption processes, ALAG0 and ALAG1, respectively, in the Pumas model
  • Assign ALAG0 to the Central compartment of the lags argument in @dosecontrol in the Pumas model
  • Assign the sum of the zero-order absorption lag, zero-order absorption duration, and the first-order absorption lag (i.e., ALAG0+DUR0+ALAG1) to the Depot compartment of the lags argument in @dosecontrol in the Pumas model
  • Note: DUR0 may already estimated as part of the model. However, if the rate of the zero-order absorption process is estimated, the duration will need to be derived from dose and rate
  • Note: It is difficult to define the end of the first-order absorption process. However, it can be defined that the zero-order process is initiated after the first-order process
  • Estimate lags for zero- and first-order absorption processes, ALAG0 and ALAG1, respectively, in the Pumas model
  • Assign ALAG1 to the Depot compartment of the lags argument in @dosecontrol in the Pumas model
  • Assign the sum of the first-order absorption lag and the zero-order absorption lag (i.e., ALAG1+ALAG0) to the Central compartment of the lags argument in @dosecontrol in the Pumas model

7 Summary

Pumas models handle absorption processes similarly to other non-linear mixed effect modeling software such as NONMEM. Both analysis datasets and model code have specific requirements for handling different absorption models. It is important to remember that both components may need to be changed when exploring different absorption processes during model building.