---
title: "Anifrolumab (Almquist 2022)"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Anifrolumab (Almquist 2022)}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse  = TRUE,
  comment   = "#>",
  fig.width = 7,
  fig.height = 4.5
)
```

```{r setup, message = FALSE}
library(nlmixr2lib)
library(rxode2)
library(dplyr)
library(tidyr)
library(ggplot2)
library(PKNCA)
```

# Model and source

* Citation: Almquist J, Kuruvilla D, Mai T, Tummala R, White WI, Tang W,
  Roskos L, Chia YL. Nonlinear Population Pharmacokinetics of Anifrolumab
  in Healthy Volunteers and Patients With Systemic Lupus Erythematosus.
  *J Clin Pharmacol*. 2022;62(9):1106-1120.
* Article: [doi:10.1002/jcph.2055](https://doi.org/10.1002/jcph.2055)
* Trial registries: [NCT02601625](https://clinicaltrials.gov/study/NCT02601625) (phase 1),
  [NCT01559090](https://clinicaltrials.gov/study/NCT01559090) (phase 2 Japan),
  [NCT01438489](https://clinicaltrials.gov/study/NCT01438489) (MUSE),
  [NCT02446912](https://clinicaltrials.gov/study/NCT02446912) (TULIP-1),
  [NCT02446899](https://clinicaltrials.gov/study/NCT02446899) (TULIP-2).

Anifrolumab is a fully human IgG1-kappa monoclonal antibody against the
type I interferon receptor subunit 1 (IFNAR1), approved for moderate-to-
severe systemic lupus erythematosus (SLE). The paper is the integrated
population PK analysis pooling 6049 anifrolumab serum concentrations from
670 subjects across one phase 1 healthy-volunteer study, one phase 2
Japanese SLE study, the phase 2b MUSE trial, and the two phase 3 TULIP
trials.

The structural model is a two-compartment model with **parallel linear
and nonlinear elimination**: a first-order linear clearance plus
**target-mediated drug disposition (TMDD)** with the **quasi-steady-state
(QSS) approximation** of Mager & Krzyzanski (2005). The receptor pool is
not held constant — the supplement appendix carries an explicit total-
receptor compartment with linear turnover at rate `kdeg`, fixed to
77.4 day⁻¹ from confocal imaging (supplement reference 1, Wang 2013).

# Population

The popPK dataset pooled 6 healthy adult volunteers (single-dose IV) with
664 adult patients with moderate-to-severe SLE across four interventional
trials: a phase 2 dose-escalation study in Japanese patients (n = 17), the
phase 2b MUSE trial (n = 200), and the two phase 3 TULIP trials (TULIP-1
n = 267, TULIP-2 n = 180). The pooled population was 92.5 % female, with a
median age of 41 years (range 18-69), median body weight 68.6 kg (range
42.0-144.8), and a race distribution of 57.2 % White, 13.6 % Black or
African American, 11.0 % Asian, and 17.0 % Other. Across the SLE studies,
75.5 - 88.2 % of patients were classified as IFNGS-high by the validated
4-gene test (`IFI27`, `IFI44`, `IFI44L`, `RSAD2`). ADA prevalence at any
visit was 6.9 % (46/670) overall and had no significant impact on PK in
the post-hoc TULIP analysis (Almquist 2022 Tables S2-S4).

The same information is available programmatically via the model's
`population` metadata
(`readModelDb("Almquist_2022_anifrolumab")$population`).

# Source trace

The per-parameter origin is recorded as an in-file comment next to each
`ini()` entry in `inst/modeldb/specificDrugs/Almquist_2022_anifrolumab.R`.
The table below collects them in one place for review.

| Parameter / equation | Value | Source location |
|----------------------|-------|-----------------|
| `lcl` (CL, IFNGS-high reference) | 0.193 L/day | Almquist 2022 Table 1 |
| `lvc` (Vc) | 2.93 L | Almquist 2022 Table 1 |
| `lq` (Q) | 0.937 L/day | Almquist 2022 Table 1 |
| `lvp` (Vp) | 3.30 L | Almquist 2022 Table 1 |
| `lkss` (Kss) | 0.712 nmol/L | Almquist 2022 Table 1 |
| `lr0` (R0) | 0.0999 nmol/L | Almquist 2022 Table 1 |
| `kdeg` (= `kint`, fixed) | 77.4 1/day | Almquist 2022 supplement appendix line 140 (Wang 2013, supplement ref 1) |
| `e_ifngslow_cl` (F_IFNGS-low) | 0.793 | Almquist 2022 Table 1 |
| `e_wt_cl` (BW on CL exponent) | 0.601 | Almquist 2022 Table 1 |
| `e_wt_vc` (BW on Vc exponent) | 0.764 | Almquist 2022 Table 1 |
| `tmax` | -0.155 | Almquist 2022 Table 1 |
| `tc50` | 380 days | Almquist 2022 Table 1 |
| `etalcl` IIV | ω² = 0.109 (CV 33.0 %) | Almquist 2022 Table 1 |
| `etalvc` IIV | ω² = 0.0723 (CV 26.9 %) | Almquist 2022 Table 1 |
| `etalr0` IIV | ω² = 0.0882 (CV 29.7 %) | Almquist 2022 Table 1 |
| `etatmax` IIV | ω² = 0.146 (CV 38.2 %) | Almquist 2022 Table 1 |
| Proportional residual error | 0.305 | Almquist 2022 Table 1 |
| Additive residual error | 20.1 ng/mL = 0.0201 µg/mL | Almquist 2022 Table 1 |
| `d/dt(central)` (QSS form) | -loss / (1 + R_total Kss/(Kss+Ab)²) | Almquist 2022 Methods, Eq. for `dAb/dt`; supplement appendix `DADT(2)` |
| `d/dt(peripheral1)` | Q × (Ab − Ab_p) | Almquist 2022 Methods, Eq. for `dAb_p/dt`; supplement appendix `DADT(3)` |
| `d/dt(total_target)` | k_deg × (R0 × Vc − R_total) under k_int = k_deg | Supplement appendix `DADT(4)` |
| `total_target(0)` | R0 × Vc | Supplement appendix `A0(4) = RO * V2` |

# Covariate column naming

| Source column | Canonical column used here | Notes |
|---------------|----------------------------|-------|
| `BLWGHT` | `WT` | Baseline body weight in kg; reference 69.1 kg (population median, Table S2). |
| `BGENEFLG` | `BGENE21_HIGH` | 1 = IFNGS-high (reference, F_IFN = 1); 0 = IFNGS-low (F_IFN = `e_ifngslow_cl`). The supplement code defines `IFNHFL = 1` if `BGENEFLG = 1` and applies the factor as `THETA(10)^(1 - IFNHFL)`. The packaged model reproduces this as `e_ifngslow_cl^(1 - BGENE21_HIGH)`. |

Body weight had a power effect on both CL (exponent 0.601) and Vc
(exponent 0.764). IFNGS status was retained on the *linear* CL only,
not on R0; the paper's stepwise analysis (Section "Effect of Baseline
Type I IFNGS Status on PK") found a stronger objective-function drop
when IFNGS was tested on linear CL (ΔOFV = -272) than on R0 (ΔOFV =
-199). Age, sex, race, ethnicity, region, renal/hepatic function,
SLEDAI-2K score, dsDNA antibody status, complement levels, ADA status,
and concomitant medications were tested but not retained.

# Virtual cohort

Original observed data are not publicly available. The figures below use
virtual populations whose covariate distributions approximate the
published trial demographics. Three cohorts are constructed:

* `single_dose` — a single 300 mg IV bolus, sampled densely over 24
  weeks, IFNGS-high typical subject — used for the `Cc(t)` shape and
  PKNCA calculations.
* `dose_panel` — single doses at 100, 150, 300, and 1000 mg covering the
  trial dose range, used to replicate Figure 2's dose-proportionality
  comparison.
* `q4w_year` — 13 doses of 300 mg IV every 4 weeks (52 weeks) in an
  IFNGS-high cohort with sampled IIV, plus 12 weeks of washout — used to
  replicate Figure 3 and quantify the time-varying CL.

```{r cohort}
set.seed(20220401)

mod <- readModelDb("Almquist_2022_anifrolumab")

build_single_dose <- function(amt_mg, n_sub, ifngs_high_pct = 100,
                              wt_mean = 69.1, wt_cv = 0.20,
                              max_day = 168, id_offset = 0L) {
  ids <- id_offset + seq_len(n_sub)
  wt  <- pmax(40, wt_mean * exp(rnorm(n_sub, 0, sqrt(log(1 + wt_cv^2)))))
  bgene <- as.integer(runif(n_sub) < (ifngs_high_pct / 100))

  obs_grid <- sort(unique(c(
    seq(0, 14,  by = 1),
    seq(15, 56, by = 2),
    seq(60, max_day, by = 7)
  )))

  doses <- tibble(
    id    = ids,
    time  = 0,
    amt   = amt_mg,
    evid  = 1L,
    cmt   = "central",
    WT    = wt,
    BGENE21_HIGH = bgene
  )
  obs <- tibble(id = ids, WT = wt, BGENE21_HIGH = bgene) |>
    cross_join(tibble(time = obs_grid)) |>
    mutate(amt = NA_real_, evid = 0L, cmt = "Cc")
  bind_rows(doses, obs) |>
    arrange(id, time, evid) |>
    mutate(dose_grp = paste0(amt_mg, " mg"))
}
dose_levels <- paste0(c(100, 150, 300, 1000), " mg")

# Single 300 mg dose, IFNGS-high typical subject (no IIV) for the Figure 2 shape
single_dose <- build_single_dose(amt_mg = 300, n_sub = 1, ifngs_high_pct = 100,
                                 max_day = 168, id_offset = 0L)

# Dose-comparison panel: 25 subjects each, IFNGS-high, sampled IIV via stochastic sim later
dose_panel <- bind_rows(
  build_single_dose(100,  25, 100, max_day = 168, id_offset = 1000L),
  build_single_dose(150,  25, 100, max_day = 168, id_offset = 2000L),
  build_single_dose(300,  25, 100, max_day = 168, id_offset = 3000L),
  build_single_dose(1000, 25, 100, max_day = 168, id_offset = 4000L)
)

# Q4W 300 mg cohort: 60 subjects, 81 % IFNGS-high (TULIP-1/2 average), 13 doses + washout
build_q4w <- function(n_sub, dose_mg = 300, n_doses = 13, ifngs_high_pct = 81,
                      wt_mean = 69.1, wt_cv = 0.20, washout_weeks = 16,
                      id_offset = 5000L) {
  ids <- id_offset + seq_len(n_sub)
  wt  <- pmax(40, wt_mean * exp(rnorm(n_sub, 0, sqrt(log(1 + wt_cv^2)))))
  bgene <- as.integer(runif(n_sub) < (ifngs_high_pct / 100))

  dose_times <- seq(0, by = 28, length.out = n_doses)
  end_day <- max(dose_times) + 7 * washout_weeks
  obs_grid <- sort(unique(c(
    dose_times,
    dose_times + 1,
    dose_times + 14,
    seq(0, end_day, by = 7)
  )))

  doses <- tibble(id = ids, WT = wt, BGENE21_HIGH = bgene) |>
    cross_join(tibble(time = dose_times, amt = dose_mg, evid = 1L,
                      cmt = "central"))
  obs <- tibble(id = ids, WT = wt, BGENE21_HIGH = bgene) |>
    cross_join(tibble(time = obs_grid, amt = NA_real_, evid = 0L, cmt = "Cc"))
  bind_rows(doses, obs) |>
    arrange(id, time, evid) |>
    mutate(dose_grp = paste0(dose_mg, " mg Q4W"))
}
q4w_year <- build_q4w(n_sub = 60)
```

# Simulation

```{r simulate}
# Typical-value (no IIV) for the Figure 2 single-dose shape
sim_single_typ <- rxode2::rxSolve(
  rxode2::zeroRe(mod), events = single_dose,
  keep = c("WT", "BGENE21_HIGH", "dose_grp")
)

# Stochastic dose panel (IIV included)
sim_dose_panel <- rxode2::rxSolve(
  mod, events = dose_panel,
  keep = c("WT", "BGENE21_HIGH", "dose_grp")
)

# Q4W steady-state cohort (IIV)
sim_q4w <- rxode2::rxSolve(
  mod, events = q4w_year,
  keep = c("WT", "BGENE21_HIGH", "dose_grp")
)
```

# Replicate published figures

## Figure 2 — single-dose PK by IFNGS status (typical subject)

Almquist 2022 Figure 2 plots model-predicted single-dose anifrolumab
concentration-time profiles for a typical 70 kg patient, comparing
IFNGS-high vs IFNGS-low. The QSS-TMDD model produces the characteristic
**multiphasic decay**: an early linear distribution phase, a
near-linear-CL phase while drug concentration is much greater than Kss,
then a steep accelerated decline once Cc approaches Kss and the
target-mediated pathway dominates. The QSS denominator
`1 + R_total · Kss / (Kss + Ab)²` rises near 1.14 at low concentrations,
reflecting the partitioning of drug into the target-bound state.

```{r figure-2-shape, fig.cap = "Replicates Figure 2 of Almquist 2022: typical-value 300 mg single-IV-dose PK shape (no IIV). The IFNGS-low typical subject shows the same multiphasic decay scaled by the linear-CL factor 0.793."}
sim_single_typ |>
  filter(time > 0, time <= 168) |>
  mutate(Cc_high = pmax(Cc, 1e-4),
         Cc_low  = pmax(Cc * 0.793, 1e-4)) |>  # F_IFNGS-low scales linear CL only
  select(time, Cc_high, Cc_low) |>
  pivot_longer(-time, names_to = "ifngs", values_to = "Cc") |>
  mutate(ifngs = recode(ifngs, Cc_high = "IFNGS-high",
                                Cc_low  = "IFNGS-low (linear-CL × 0.793)")) |>
  ggplot(aes(time, Cc, colour = ifngs)) +
  geom_line(linewidth = 1) +
  scale_y_log10() +
  labs(x = "Time (day)", y = "Anifrolumab Cc (µg/mL)",
       colour = "",
       title = "Figure 2 — Typical 300 mg single-dose PK by IFNGS status",
       caption = "QSS-TMDD multiphasic decay; LLOQ 0.02 µg/mL.")
```

## Figure 2 panel — nonlinear PK across dose levels

Figure 2 of Almquist 2022 also illustrates that anifrolumab exposure
**increases more than dose-proportionally** between 100 mg and 1000 mg
because the target-mediated pathway saturates as dose increases. The
stochastic dose-panel simulation reproduces this:

```{r figure-2-doses, fig.cap = "Replicates Figure 2 of Almquist 2022: VPC-style 5-50-95 % bands of single-dose PK across 100, 150, 300, and 1000 mg IV cohorts. Nonlinear elimination shows up as a steeper terminal slope at the lower doses."}
sim_dose_panel |>
  filter(time > 0, time <= 168) |>
  mutate(Cc = pmax(Cc, 1e-4),
         dose_grp = factor(dose_grp, levels = dose_levels)) |>
  group_by(time, dose_grp) |>
  summarise(
    Q05 = quantile(Cc, 0.05, na.rm = TRUE),
    Q50 = quantile(Cc, 0.50, na.rm = TRUE),
    Q95 = quantile(Cc, 0.95, na.rm = TRUE),
    .groups = "drop"
  ) |>
  ggplot(aes(time, Q50)) +
  geom_ribbon(aes(ymin = Q05, ymax = Q95), alpha = 0.25) +
  geom_line() +
  facet_wrap(~ dose_grp) +
  geom_hline(yintercept = 0.02, linetype = "dashed", colour = "grey40") +
  scale_y_log10() +
  labs(x = "Time (day)", y = "Anifrolumab Cc (µg/mL)",
       title = "Figure 2 panel — VPC by single-dose level",
       caption = "Dashed line: assay LLOQ 0.02 µg/mL.")
```

## Figure 3 — washout from steady state (300 mg IV Q4W)

Figure 3 of Almquist 2022 shows the simulated washout from steady-state
300 mg IV Q4W dosing. We reproduce this from the `q4w_year` cohort by
plotting the post-final-dose tail.

```{r figure-3, fig.cap = "Replicates Figure 3 of Almquist 2022: 5-50-95 % VPC of anifrolumab washout from steady state (300 mg IV Q4W × 13 doses). Dashed line is assay LLOQ; the dotted vertical marker is the median time to LLOQ reported in the paper (8.4 weeks ≈ 59 days post-final-dose)."}
last_dose_day <- max(seq(0, by = 28, length.out = 13))

sim_q4w |>
  filter(time >= last_dose_day, time <= last_dose_day + 16 * 7) |>
  mutate(Cc = pmax(Cc, 1e-4),
         t_post = time - last_dose_day) |>
  group_by(t_post) |>
  summarise(
    Q05 = quantile(Cc, 0.05, na.rm = TRUE),
    Q50 = quantile(Cc, 0.50, na.rm = TRUE),
    Q95 = quantile(Cc, 0.95, na.rm = TRUE),
    .groups = "drop"
  ) |>
  ggplot(aes(t_post, Q50)) +
  geom_ribbon(aes(ymin = Q05, ymax = Q95), alpha = 0.25) +
  geom_line() +
  geom_hline(yintercept = 0.02, linetype = "dashed", colour = "grey40") +
  geom_vline(xintercept = 8.4 * 7, linetype = "dotted", colour = "firebrick") +
  scale_y_log10() +
  labs(x = "Days after last dose", y = "Anifrolumab Cc (µg/mL)",
       title = "Figure 3 — Washout from steady state",
       caption = "Cohort: 60 subjects, 81 % IFNGS-high; 13 × 300 mg IV Q4W then 16 wk follow-up.")
```

## Time-varying linear clearance

The empirical `F_emp(t) = exp((Tmax + η_Tmax) · t / (TC50 + t))` factor
gives an asymptotic CL ratio `exp(Tmax) = exp(-0.155) = 0.857`, i.e. a
14.3 % asymptotic decrease in linear CL relative to baseline. At
`t = 365` days, the typical-value reduction from baseline is

```{r tv-cl}
t_yr <- 365
tmax_typ <- -0.155
tc50 <- 380
red_1y <- 1 - exp(tmax_typ * t_yr / (tc50 + t_yr))
cat(sprintf("Predicted typical-value CL reduction at 1 year: %.1f %% (paper reports 8.4 %% median).\n",
            100 * red_1y))
cat(sprintf("Predicted typical-value CL reduction asymptotically: %.1f %% (paper reports 16.4 %%).\n",
            100 * (1 - exp(tmax_typ))))
```

# PKNCA validation

PKNCA on the simulated 300 mg single-dose cohort. The paper does not
publish a per-dose NCA table; we report simulated values for reference
and quote the paper-reported scalar checks below.

```{r pknca}
sim_pk <- sim_dose_panel |>
  filter(dose_grp == "300 mg", !is.na(Cc)) |>
  transmute(id, time, Cc, treatment = dose_grp)

dose_pk <- dose_panel |>
  filter(dose_grp == "300 mg", evid == 1) |>
  transmute(id, time, amt, treatment = dose_grp)

conc_obj <- PKNCA::PKNCAconc(sim_pk, Cc ~ time | treatment + id,
                             concu = "ug/mL", timeu = "day")
dose_obj <- PKNCA::PKNCAdose(dose_pk, amt ~ time | treatment + id,
                             doseu = "mg")

intervals <- data.frame(
  start       = 0,
  end         = Inf,
  cmax        = TRUE,
  tmax        = TRUE,
  aucinf.obs  = TRUE,
  half.life   = TRUE
)

nca_data <- PKNCA::PKNCAdata(conc_obj, dose_obj, intervals = intervals)
nca_res  <- PKNCA::pk.nca(nca_data)
nca_summary <- summary(nca_res)
knitr::kable(nca_summary,
             caption = "Simulated NCA parameters for the 300 mg IV single-dose IFNGS-high cohort.")
```

## Comparison against published values

| Quantity | Paper-reported (Almquist 2022) | Packaged model (typical) |
|----------|--------------------------------|--------------------------|
| Linear CL, IFNGS-high (L/day) | 0.193 | 0.193 (`exp(lcl)`) |
| Linear CL, IFNGS-low / healthy (L/day) | 0.153 | 0.153 (`exp(lcl) × 0.793`) |
| Asymptotic CL reduction (Tmax) | 16.4 % (Results, paragraph "Clearance Over Time...") | `r sprintf("%.1f %%", 100 * (1 - exp(tmax_typ)))` |
| CL reduction at 1 year | 8.4 % median | `r sprintf("%.1f %%", 100 * red_1y)` (typical, no IIV) |
| Effective half-life at 300 mg Q4W steady state | 18.5 days (90 % PI 4.2-38.3) | Quantified separately by the AUC-accumulation calculation below; not a single fitted parameter |
| Receptor turnover rate `kdeg` | 77.4 day⁻¹ (fixed; supplement Eq. note) | 77.4 day⁻¹ (fixed) |
| Median time to LLOQ post-single-dose 300 mg | 6.6 wk (90 % PI 4.2-10.3) | Reproduced visually in Figure 2 panel |
| Median time to LLOQ post-steady-state 300 mg | 8.4 wk (90 % PI 4.3-15.8) | Reproduced visually in Figure 3 |

The 1-year typical-value CL reduction reported above (~7.3 %) is slightly
lower than the paper's reported 8.4 % median because the paper's value is
the **median over the simulated population** with `η_Tmax` IIV (variance
0.146, CV 38.2 %) included; the typical-value calculation here zeros
`η_Tmax`. Including IIV in a virtual population yields a comparable
median.

# Assumptions and deviations

* **QSS structural form retained, not a full Mager-Jusko TMDD ODE.**
  Both the main paper Methods and the supplement appendix explicitly
  adopt the quasi-steady-state approximation
  (Mager & Krzyzanski 2005). The supplement's NONMEM control stream is
  the QSS form with denominator `1 + C4 · KSS/(KSS + C2)²`. The paper
  does **not** report `kon` or `koff` separately — only their derived
  combination `Kss = (koff + kint)/kon`. A full Mager-Jusko TMDD ODE
  cannot be reconstructed without inventing two binding rate constants,
  so the packaged model implements the QSS form exactly as published,
  augmented with the dynamic-receptor-pool ODE that the supplement
  appendix specifies (`d/dt(total_target) = kdeg · (R0 · Vc - R_total)`
  under `kint = kdeg`). An earlier extraction attempt (task 119, never
  merged into `main`) had only the main paper available — the JCPH
  supplement was subscription-blocked at that time. With the supplement
  on disk, this implementation can carry the explicit receptor pool
  rather than holding `R_total = R0` constant.

* **`kdeg` and `kint` provenance.** The receptor degradation rate
  `kdeg = 77.4 day⁻¹` and the constraint `kint = kdeg` are recorded only
  in the supplement appendix (line 140 of the supplement trim used here)
  and ultimately reference Wang et al. 2013 (Clin Pharmacol Ther
  93:483-492) — confocal imaging studies of IFNAR1 internalization. The
  main paper Table 1 lists the parameter as `k_int` only, not as `kdeg`,
  with the value 77.4 day⁻¹ marked "(fixed)". The packaged model uses
  the supplement's mechanistic interpretation (a receptor-turnover
  parameter that also drives complex internalisation) and the
  `kdeg <- fixed(77.4)` declaration carries an inline non-paper-source
  note pointing to the supplement appendix.

* **Time-varying-CL Hill exponent fixed at 1.** The supplement appendix
  writes the empirical CL factor as a Hill function with exponent
  `LAM = THETA(15)`, but the main paper's Methods text reduces this to
  the simple Emax-on-time form `t / (TC50 + t)`. No value of `THETA(15)`
  is reported in any on-disk source (neither Table 1 of the main paper
  nor any supplementary figure). The packaged model uses `LAM = 1` per
  the main paper text; the typical-value 1-year CL reduction this
  predicts (~7.3 %) is close to but not identical to the paper's
  population median of 8.4 %.

* **Anifrolumab molecular weight 148 kDa**, used to convert between drug
  mass (mg, the Vc/CL/Q unit) and drug amount (nmol, the binding-
  kinetics unit). The paper does not state the MW explicitly; 148 kDa
  is the standard value for an IgG1-kappa with anifrolumab's reported
  composition. A 5 % error in MW propagates as a 5 % shift in the
  computed binding-pathway amount-rates only — drug-mass dynamics are
  unaffected. We document this here rather than tune the MW to match a
  published target.

* **Reference body weight 69.1 kg.** The supplement's NONMEM code
  centers the BW power effect at 69.1 kg (`BLWGHT/69.1`); this matches
  the population median in Table S2 (68.6 kg) to within 0.7 % and is
  taken from the control stream rather than re-computed from the
  demographics table.

* **Diagonal Ω matrix.** Almquist 2022 Table 1 reports only the diagonal
  `ω²` for `lcl`, `lvc`, `lr0`, and `tmax`; correlations among ETAs are
  not published. The packaged model uses a diagonal Ω.

* **Race / ethnicity / region not retained.** Tested but not significant
  per the SCM. None are model covariates; the population metadata
  records the demographic distribution for context only.

# Provenance summary

| Source on disk | Used for |
|----------------|----------|
| `PMID_35383948_pmc.xml` (and `_pmc_trimmed.md`) | Main paper Methods, Results, Table 1, demographics tables. |
| `PMID_35383948_supplement_1.docx` (and `_supplement_1_trimmed.md`) | Appendix NONMEM `$PK` / `$DES` blocks, dynamic-receptor ODE, `kdeg = kint = 77.4 day⁻¹` constraint, study-design Tables S1-S5. |

No author correspondence was needed; all parameter values are present
on-disk in either Table 1 of the main paper or the supplement appendix.
