Structural model - Two compartment linear elimination and first order absorption with lagtime

Route of administration - Oral

Dosage regimens - 23,158 μg single dose

Subject - 1

In this model, we will simulate an oral dose to understand the disposition of drug following lag time in absorption

In this tutorial, you will learn how to build two compartment model with lagtime in oral absorption and to simulate the model for a single subject.

Call the "necessary" libraries to get start.

using Random using Pumas using PumasUtilities using CairoMakie

In this two compartment model, we administer dose to Depot and Central compartment.

pk_14 = @model begin @metadata begin desc = "Two Compartment Model" timeu = u"hr" end @param begin "Absorption Rate Constant (hr⁻¹)" tvka ∈ RealDomain(lower=0) "Volume of Central Compartment (L)" tvvc ∈ RealDomain(lower=0) "Volume of Peripheral Compartment (L)" tvvp ∈ RealDomain(lower=0) "Clearance (L/hr)" tvcl ∈ RealDomain(lower=0) "Intercompartmental Clearance (L/hr)" tvq ∈ RealDomain(lower=0) "Lagtime (hr)" tvlag ∈ RealDomain(lower=0) Ω ∈ PDiagDomain(4) "Proportional RUV" σ²_prop ∈ RealDomain(lower=0) end @random begin η ~ MvNormal(Ω) end @pre begin Ka = tvka * exp(η[1]) Vc = tvvc * exp(η[2]) Vp = tvvp * exp(η[3]) CL = tvcl * exp(η[4]) Q = tvq end @dosecontrol begin lags = (Depot = tvlag,) end @dynamics Depots1Central1Periph1 @derived begin cp = @. Central/Vc """ Observed Concentrations (ug/L) """ dv ~ @. Normal(cp, sqrt(cp^2*σ²_prop)) end end

PumasModel Parameters: tvka, tvvc, tvvp, tvcl, tvq, tvlag, Ω, σ²_prop Random effects: η Covariates: Dynamical variables: Depot, Central, Peripheral Derived: cp, dv Observed: cp, dv

Parameters provided for simulation. tv represents the typical value for parameters.

$Ka$ - Absorption rate constant (hr⁻¹)

$Vc$ - Volume of central compartment (L)

$Vp$ - Volume of peripheral Compartmental (L)

$CL$ - Clearance (L/hr)

$Q$ - Intercompartmental clearance (L/hr)

$lag$ - Absorption lagtime (hr)

param = ( tvka = 10, tvvc = 82.95, tvcl = 54.87, tvq = 10.55, tvlag = 0.078, tvvp = 107.9, Ω = Diagonal([0.0,0.0,0.0,0.0]), σ²_prop = 0.0125)

(tvka = 10, tvvc = 82.95, tvcl = 54.87, tvq = 10.55, tvlag = 0.078, tvvp = 107.9, Ω = [0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0], σ²_prop = 0.0125)

Single Subject receives an `oral`

dose of **23158 μg** at `time=0`

ev1 = DosageRegimen(23158, time = 0, cmt = 1) sub1 = Subject(id = 1, events = ev1)

Subject ID: 1 Events: 1

Lets simulate plasma concentration after oral dosing.

Random.seed!(123) sim_sub1 = simobs(pk_14, sub1, param, obstimes=0.08:0.01:25)

sim_plot(pk_14, [sim_sub1], observations = :cp, linewidth = 4, color = :maroon, axis = (xlabel = "Time (hr)", ylabel="Concentration (ug/L)", yscale = log10, xticks = 0:5:25))