Following info:

Structural model - One compartment linear elimination with zero-order absorption

Route of administration - Oral

Dosage Regimen - 20 mg Oral

Number of Subjects - 1

In this model, collection of plasma concentration data, will help you to derive/estimate the parameters: Clearance, Volume of Distribution, Duration of zero-order input.

In this tutorial, you will learn how to build one compartment model for zero-order input and simulate the model for a single subject.

call the "necessary" libraries to get started.

using Random using Pumas using PumasUtilities using CairoMakie

In this one compartment model, we administer dose in Central compartment as a zero-order input and estimate the rate of input.

pk_03 = @model begin @metadata begin desc = "One Compartment Model with zero-order input" timeu = u"hr" end @param begin "Clearance (L/hr)" tvcl ∈ RealDomain(lower=0) "Volume (L)" tvvc ∈ RealDomain(lower=0) "Assumed Duration of Zero-order (hr)" tvTabs ∈ RealDomain(lower=0) Ω ∈ PDiagDomain(3) "Proportional RUV" σ²_prop ∈ RealDomain(lower=0) end @random begin η ~ MvNormal(Ω) end @pre begin Cl = tvcl * exp(η[1]) Vc = tvvc * exp(η[2]) end @dosecontrol begin duration = (Central = tvTabs * exp(η[3]),) end @dynamics begin Central' = - (Cl/Vc)*Central end @derived begin """ PK03 Concentration (mcg/L) """ cp = @. 1000*(Central/Vc) """ PK03 Concentration (mcg/L) """ dv ~ @. Normal(cp, sqrt(cp^2*σ²_prop)) end end

PumasModel Parameters: tvcl, tvvc, tvTabs, Ω, σ²_prop Random effects: η Covariates: Dynamical variables: Central Derived: cp, dv Observed: cp, dv

$Cl$ - Clearance (L/hr)

$Vc$ - Volume of Central Compartment (L)

$Tabs$ - Assumed duration of zero-order input (hrs)

$Ω$ - Between Subject Variability

$σ$ - Residual error

param = ( tvcl = 45.12, tvvc = 96, tvTabs = 4.54, Ω = Diagonal([0.0,0.0,0.0]), σ²_prop = 0.015)

(tvcl = 45.12, tvvc = 96, tvTabs = 4.54, Ω = [0.0 0.0 0.0; 0.0 0.0 0.0; 0.0 0.0 0.0], σ²_prop = 0.015)

Single **20 mg or 20000μg** Oral dose given to a subject.

**Note:-** In this the dose administered is on mg and conc are in μg/L, hence a scaling factor of 1000 is used in the @derived block in the model.

ev1 = DosageRegimen(20, rate = -2) sub = Subject(id = 1, events = ev1, observations = (cp = nothing,))

Subject ID: 1 Events: 2 Observations: cp: (nothing)

Lets simulate for plasma concentration with the specific observation time points after oral administration.

Random.seed!(123) sim = simobs(pk_03, sub, param, obstimes = 0:0.1:10)

f, a, p = sim_plot(pk_03, [sim], observations=:cp, linewidth = 4, axis = (ylabel = "PK03 Concentration (mcg/L)", xticks = 0:1:10,) ) axislegend(a) f