Unsurprisingly, the absorption of drugs is a complex process. Should you try a first-order input? Zero-order? Both?! Especially when a bias in the model fit of your absorption phase is visible, you should pay some attention on quantifying parallel absorption processes.
Multiple absorption processes in one model may be used to describe complex absorption profiles of drugs. Indeed, a drug may be simultaneously absorbed at different rates. Thus, by defining a parallel absorption structure in the model, the modeller has the flexibility to create fast and slow absorptions which both represent the input of a drug. For example, certain extended-release formulations provide dual delivery of a drug: a fast release and a slow release. This system allows continuous delivery of drugs into the blood stream, without necessitating frequent dosing.
The Osmotic-controlled release oral delivery system (OROS) is a good example of this dual absorption. The pill is separated into sections and drug release is governed by an osmotic push section. Each section is released at different rates.
Modelling Parallel Absorption in NONMEM
The simplest method to model an oral absorption is undoubtedly a first-order input of drugs into a central compartment. In that model, we assume that the absorption varies according to the absorption rate constant (ka) and the amount of drug at the site of absorption (depot compartment). It is also possible to delay the absorption process, with a lag time for example (Lag). Another simple absorption model is the zero-order input, where we assume that the drug is absorbed at a constant rate of mass per unit of time (k0) until the depot compartment is depleted.
An example of a first-order absorption profile, without a delay, can be seen below:
However, if the absorption profile shows a ‘non-typical’ shape or your model fit shows a bias in the absorption phase of the pharmacokinetic profile, it might be required to explore additional structural models. In this post, we will focus on the code required to model the first two model structures presented below, containing two parallel first-order absorption routes. However, this model can be expanded with zero-order absorption, transit compartments, non-linear absorption, lag times, etc.
When modeling parallel absorption with NONMEM, each absorption process is attributed a depot compartment which receives a fraction of the bioavailable amount of total drug administered (F1 and F2 for example which are each a fraction of F). Thus, the control file will be a user-written model (ADVAN 5, 6, 7, 8, 9, 13) and the dataset must be set up to reflect these depot compartments.
It is also worth noting that you should pay attention to the cumulative amount of the F. As it is most likely an extravascular administration, the bioavailability (F) will be smaller than 100%. In your model, do you fix F based on literature/intravenous information? In this case, F1 and F2 would represent real bioavailability (thus you must make sure that F1 + F2 do not become higher than F). Or do you assume an unknown F? In that case, F1 and F2 are rather fractions of an unknown F (thus you must make sure that F1 + F2 = 100%).
For the sake of simplicity, I will represent a parallel two first-order absorptions and one central compartment with first-order elimination. I will suppose an oral administration of 500mg with an unknown F.
According to our model, we must account for three compartments:
- Compartment 1: Depot for the first absorption (F1)
- Compartment 2: Depot for the second absorption (F2)
- Compartment 3: Central compartment (Plasma)
Of course, as the absorption model or the distribution model becomes more complex, the number of compartments will increase.
Each absorption compartment will receive a fraction (ex. F1 or F2) of the bioavailable dose (the total fraction between depot compartments must be 100% of the amount; F1 + F2 = 100%). If this fraction is known, the amount can be calculated and directly given in the dataset. For example, if the modeler fixes 100 mg to the first absorption and 400 mg to the second absorption, the dataset will look like this (F1 = 20% F2 = 80%):
However, it is more likely that we want NONMEM to estimate F1 or F2. Then, the total dose administered will be repeated in the dataset for each compartment and the fraction that will eventually reach a certain depot will be estimated in the control file. This might seem strange as the total AMT administered is now doubled. However, only the estimated fraction of the administered dose (F1 or F2) will reach the central compartment (maximum bioavailability of 100%; F2 = 1 – F1).
For example, let’s pretend that NONMEM outputs F1 = 35% and F2 = 65%. This would mean that 175mg (0.35*500mg) were deposited from the first absorption compartment into the central compartment and 325mg (0.65*500mg) from the second absorption compartment. The total dose which reached the central compartment equals 500mg, even though two dosing lines of 500mg were used as input.
The dataset to estimate the fractions will look like this:
2. Control File
The control file for NONMEM must be written as a user-written model. The specific sections are detailed below.
If every transfer between compartments is first-order, the use of ADVAN5 and ADVAN7 must be considered. Alternatively, ADVAN6, ADVAN8, ADVAN9 and ADVAN13 allow more flexibility and nonlinear transfers between compartments. For our model, I will use ADVAN6 to show the differential equations.
; Use the subroutine ADVAN6 for example with an appropriate TOL $SUBROUTINES ADVAN6 TOL=6
As seen in the dataset, there are three compartments. They must be defined in $MODEL
$MODEL NCOMP=3 COMP=(DEPOT1) ; Depot for the first depot compartment COMP=(DEPOT2) ; Depot for the second depot compartment COMP=(CENT) ; Central compartment where the DV is measured
In the PK block, we define the parameters of the model. It also contains ALAG1 and ALAG2, two lag time parameters used in NONMEM. If only 1 route should have a lag time, one of these parameters can be fixed to 0 (0 FIX). This provides a flexible model control file to explore different combinations of absorption structures without having to perform large changes in the file during model development.
$PK ;;;;;;;;; Parallel absorption rate constants TVKA1 = THETA(1) ; First-order absorption rate constant for the first depot compartment TVKA2 = THETA(2) ; First-order absorption rate constant for the second depot compartment ; Fraction of the total amount that will be deposited in the first depot compartment. ; If F1 is fixed by the modeler and the doses are already adjusted in the dataset, THETA(3) and F2 must be fixed to 1 TVF1 = THETA(3) ;;;;;;;;; LAG times (optional) TVALAG1 = THETA(4) ; Delay before starting the first absorption TVALAG2 = THETA(5) ; Delay before starting the second absorption ;;;;;;;;; Distribution and Elimination TVCL = THETA(6) ; Clearance TVV = THETA(7) ; Volume of Distribution ;;;;;;;;; Estimating the Interindividual variability KA1 = TVKA1 * EXP(ETA1) KA2 = TVKA2 * EXP(ETA2) F1 = TVF1 * EXP(ETA3) ALAG1 = TVALAG1 * EXP(ETA4) ALAG2 = TVALAG2 * EXP(ETA5) CL = TVCL * EXP(ETA6) V = TVV * EXP(ETA7) ;;;;;;;;; Estimating the Fraction of the Dose in the Second Compartment ; Fraction of the bioavailable amount that will be deposited in the second depot compartment. It is the difference between 1 and the amount already deposited in the first depot compartment F2 = 1 - F1 ; The elimination from the central compartment parametrized as a micro constant K30 = CL/V
The differential equations must show the rate of exchange between the depot compartments and the central compartment.
$DES DADT(1) = - KA1 * A(1) ; The first depot compartment is eliminating A(1) at rate KA1 DADT(2) = - KA2 * A(2) ; The second depot compartment is eliminating A(2) at rate KA2 DADT(3) = KA1 * A(1) + KA2 * A(2) - K30 * A(3) ; The central compartment is absorbing A(1) at rate KA1 and A(2) at rate KA2. It is eliminating A(3) at rate K30
Simulation of Pharmacokinetic Curves with Parallel Absorption
To visualize the impact of the parallel absorption from the previous code, we can simulate separately each absorption route (CMT = 1 or CMT = 2). Each absorption route is an input of drug into the central compartment (CMT = 3). Thus, the concentration in the central compartment is computed as the sum of both routes’ concentrations.
The PK parameters were chosen from DOI: 10.1089/cap.2018.0093. Using Ka1 = 0.182, Ka2 = 0.258, V = 816, and CL = 405, we get the simulations below.
It is important to note that the simulations presented for dual first-order absorptions without delay are not identifiable models as it is impossible to distinguish a resulting concentration-time profile in the plasma, back into 2 separate first-order absorption profiles. They are presented here solely as a visual mean to understand how the central compartment concentrations are a sum of each absorption’s input.
We can now start modifying our parameters to simulate different scenarios, in which lag times come into play, where only 50% of the dose was released immediately.
This can be further changed with different absorption rate constants to result in different profiles that you would not be able to fit with single first-order absorption kinetics.
Shiny application for simulations:
A Shiny application was developed in which you can alter these parameters and show how a profile with parallel first-order absorption would look like:
The code of the Shiny application is available at:
To read more about parallel absorption models, I suggest :
- Owen JS, Fiedler-Kelly J. Introduction to population pharmacokinetic/pharmacodynamic analysis with nonlinear mixed effects models. Hoboken, New Jersey: Wiley; 2014.
So why don’t we see these kind of model structures very often in (old) publications or as a required step during model development? There are two main components that come into play. First of all, we need the data. The absorption curve needs to be quantified with dense samples in order to correctly distinguish between the different absorption routes. Most of the time, this is not the case. Second, computation power. Back in the days, a ‘simple’ first-order absorption component in the model was already pushing the limits of our poor computers and a first-order absorption route might have already been fit for purpose. However, nowadays, this computational power is not an issue anymore and I am not surprised if we would see an increase in these models in the future.
Finally, this post gave information on how to build your dataset and code parallel absorption routes in NONMEM. It must be reiterated that model exploration should be driven by the data and by the purpose of the model. This post only gave an example of two first-order absorption routes, but can be changed to whatever structure seems appropriate, driven by physiological knowledge and/or dissolution profiles of the drug administered.