Enterohepatic circulation (EHC) occurs when drugs circulate from the liver to the bile in the gallbladder, followed by entry into the gut when the bile is released from the gallbladder, and reabsorption from the gut back to the systemic circulation. The presence of EHC results in longer apparent drug half-lives and the appearance of multiple secondary peaks. Various pharmacokinetic models have been used in the literature to describe EHC concentration-time data.

The reference below provides a basic review of the EHC process and modeling strategies implemented to represent EHC.

**Mlxtran structural model**

We present two examples of EHC models, based on a two-compartments model with iv bolus administration. Both models have been implemented with PK macros.

#### Example with switch function

In the first example, the gallbladder emptying is modelled with a switch function: the emptying rate constant follows a simple piece-wise function, implemented with if/else statements. Hence, gallbladder emptying occurs within time windows, where the rate constant outside these windows is assumed to be zero.

The Mlxtran code for the structural model reads:

[LONGITUDINAL] input = {V, Cl, Q, V2, kbile, kempt, ka_gut, Tfirst, Tsecond} PK: k=Cl/V k12=Q/V k21=Q/V2 duration=1 if t>Tfirst & t<Tfirst+duration kemptying = kempt elseif t>Tsecond & t<Tsecond+duration kemptying = kempt else kemptying = 0 end compartment(cmt=1, volume=V, concentration=Cc) iv(adm=1, cmt=1) elimination(cmt=1, k) peripheral(k12, k21) compartment(cmt=3) compartment(cmt=4) transfer(from=1, to=3, kt=kbile) transfer(from=3, to=4, kt=kemptying) transfer(from=4, to=1, kt=ka_gut) OUTPUT: output = {Cc}

The parameters `kbile`

, `kempt`

and `ka_gut`

describe respectively the transfer rate between the central compartment and the bile, between the bile and the gut, and between the gut and the central compartment.

The parameter `kemptying`

is the rate constant controlling the gallbladder emptying process, and its value changes with time as displayed below:

Here two windows of duration `duration=1`

have been defined starting at times `Tfirst`

and `Tsecond`

. It is of course possible to extend this model with additional emptying windows, if more than two secondary peaks are noticeable in the data, and to change the value of the parameter `duration`

.

#### Example with sine function

In the second example, gallbladder emptying is modeled with a sine function, assumed to equal zero outside the gallbladder emptying times. This model accounts for multiple cycles of gallbladder emptying.

The Mlxtran code for the structural model reads:

[LONGITUDINAL] input = {V, Cl, Q, V2, kbile, kempt, ka_gut, phase, period} PK: k=Cl/V k12=Q/V k21=Q/V2 kemptying = max(0, kempt * (cos(2*3.14*(t+phase)/period))) compartment(cmt=1, volume=V, concentration=Cc) iv(adm=1, cmt=1) elimination(cmt=1, k) peripheral(k12, k21) compartment(cmt=3) compartment(cmt=4) transfer(from=1, to=3, kt=kbile) transfer(from=3, to=1, kt=kemptying) transfer(from=4, to=1, kt=ka_gut) OUTPUT: output = {Cc}

This model assumes fixed intervals between gallbladder release times, with the parameter `period`

defining their frequency. The parameter `phase`

represents the time of the beginning of the first gallbladder release. The value of the parameter `kemptying`

ove time is then:

##### Variation with oral administration

If the drug administration is oral instead of a bolus, the model can be adapted by replacing the macro `iv(adm=1, cmt=1)`

with `absorption(adm=1, cmt=1, ka)`

, which defines a first-order absorption with a rate `ka`

. While `ka`

represents the absorption of the drug, `ka_gut`

represents its reabsorption after storage in the gallbladder. These two physiological processes are not strictly equivalent, as the bile stored in the gallbladder is released into the duodenum. Depending on the drug, `ka`

and `ka_gut`

can be set as separate or identical rate constants.

[LONGITUDINAL] input = {V, ka, Cl, Q, V2, kbile, kempt, ka_gut, phase, period} PK: k=Cl/V k12=Q/V k21=Q/V2 kemptying = max(0, kempt * (cos(2*3.14*(t+phase)/period))) compartment(cmt=1, volume=V, concentration=Cc) absorption(adm=1, cmt=1, ka) elimination(cmt=1, k) peripheral(k12, k21) compartment(cmt=3) compartment(cmt=4) transfer(from=1, to=3, kt=kbile) transfer(from=3, to=1, kt=kemptying) transfer(from=4, to=1, kt=ka_gut) OUTPUT: output = {Cc}

**Exploration with Mlxplore**

The Mlxplore script below permits to compare the two models with IV bolus, along with the two-compartments model with no EHC.

<MODEL> [LONGITUDINAL] input = {V, Cl, Q, V2, kbile, kempt, ka_gut, Tfirst,Tsecond, phase, period} PK: k=Cl/V k12=Q/V k21=Q/V2 ; --- Model with no EHC --- compartment(cmt=1, volume=V, concentration=Cc_no_EHC) iv(adm=1, cmt=1) elimination(cmt=1, k) peripheral(k12,k21) ; --- EHC model with two constant rate emptying windows --- if t>Tfirst & t<Tfirst+1 kemptying = kempt elseif t>Tsecond & t<Tsecond+1 kemptying = kempt else kemptying = 0 end compartment(cmt=3, volume=V, concentration=Cc_EHC_1) iv(adm=1, cmt=3) elimination(cmt=3, k) peripheral(k34=k12, k43=k21) compartment(cmt=5) compartment(cmt=6) transfer(from=3, to=5, kt=kbile) transfer(from=5, to=6, kt=kemptying) transfer(from=6, to=3, kt=ka_gut) ; --- EHC model with sine emptying rate --- kemptying_2 = max(0, kempt * (cos(2*3.14*(t+phase)/period))) compartment(cmt=7, volume=V, concentration=Cc_EHC_2) iv(adm=1, cmt=7) elimination(cmt=7, k) peripheral(k78=k12, k87=k21) compartment(cmt=9) compartment(cmt=10) transfer(from=7, to=9, kt=kbile) transfer(from=9, to=10, kt=kemptying_2) transfer(from=10, to=7, kt=ka_gut) EQUATION: odeType=stiff <PARAMETER> V=10 Cl=5 Q=2 V2=50 kbile=0.25 kempt=2 ka_gut=0.25 Tfirst = 3 Tsecond=15 phase=7 period=12 <DESIGN> [ADMINISTRATION] adm = {type=1, time=0, amount=1000} <OUTPUT> list={Cc_no_EHC, Cc_EHC_1, Cc_EHC_2, kemptying, kemptying_2} grid=0:0.001:70 <RESULTS> [GRAPHICS] p1 = {y={Cc_no_EHC, Cc_EHC_1, Cc_EHC_2}, ylabel='Concentration', xlabel='Time'} p2 = {y={kemptying, kemptying_2}, ylabel='Gallbladder emptying rate', xlabel='Time'} gridarrange(p1,p2,nb_cols=1)

We obtain the following profiles for the drug concentration in log scale on the top plot below, with no EHC (red), EHC with switch function (blue) and sine function (green). The bottom plot represents the gallbladder emptying rate.