opendose_poppk.CovariateModel

class opendose_poppk.CovariateModel(pk: PKModel, omega: dict | None = None, betas: dict | None = None, references: dict | None = None)

Apply covariates to PK parameters via Power Model.

Formula

θᵢ = θ_pop · ∏ (COVₖ / refₖ)^βₖ · exp(ηᵢ)

Where:

θ_pop → typical population parameter COVₖ → patient’s covariate value refₖ → reference value (median) βₖ → effect coefficient (beta) ηᵢ → random deviation ~ N(0, ω²)

Example

>>> pk  = PKModel(F=0.8, ka=1.8, ke=0.28, Vd=65)
>>> cov = CovariateModel(pk)
>>> p   = cov.individualize({"weight": 90, "crcl": 50}, sex="M")
>>> print(p)  # {"F": ..., "ka": ..., "ke": ..., "Vd": ...}
__init__(pk: PKModel, omega: dict | None = None, betas: dict | None = None, references: dict | None = None)

Methods

__init__(pk[, omega, betas, references])

add_covariate(name, reference, betas)

Register a new covariate.

individualize(covariates[, sex, rng])

Generate individual PK parameters with covariates + IIV.

set_beta(covariate, param, beta)

Update the beta coefficient of a covariate.