Ifosfamide (Brain 2008)
Source:vignettes/articles/Brain_2008_ifosfamide.Rmd
Brain_2008_ifosfamide.RmdModel and source
- Citation: Brain EGC, Rezai K, Lokiec F, Gutierrez M, Urien S (2008). Population pharmacokinetics and exploratory pharmacodynamics of ifosfamide according to continuous or short infusion schedules: an n = 1 randomized study. Br J Clin Pharmacol 65(4):607-610. doi:10.1111/j.1365-2125.2007.03095.x. Autoinduction structure carried from Kerbusch T et al. (2000) Br J Clin Pharmacol 49(6):555-561 doi:10.1046/j.1365-2125.2000.00217.x; myelosuppression structure from Friberg LE et al. (2002) J Clin Oncol 20(24):4713-4721 doi:10.1200/JCO.2002.02.140.
- Description: Joint population PK / PD model for ifosfamide in adults with advanced solid tumours (Brain 2008, n=17, single-agent ifosfamide 9 g/m^2 per cycle by either 3 h x 3 daily or 72 h continuous infusion, n=1 randomised crossover, NONMEM VI FOCE INTERACTION). One-compartment ifosfamide PK with Kerbusch 2000-style autoinduction of clearance via a relative enzyme-pool state (drug inhibits enzyme degradation), three coupled apparent-volume metabolite states (4-hydroxy-ifosfamide, 3-dechloroethyl-ifosfamide, 2-dechloroethyl-ifosfamide), an indirect-response model for urinary beta-2-microglobulin (BMG, renal tubular toxicity) with linear stimulation of production by parent ifosfamide concentration, and a five-compartment Friberg-style myelosuppression chain for absolute neutrophil count (ANC) with linear inhibition of proliferation by parent ifosfamide concentration and (CIRC0 / circ)^gamma feedback. No covariates were retained in the final model (one outlier patient on carbamazepine was excluded prior to the final analysis).
- Article: https://doi.org/10.1111/j.1365-2125.2007.03095.x
The autoinduction structure is the same indirect-response enzyme-pool
model that Kerbusch 2000 (Br J Clin Pharmacol
49(6):555-561, doi:10.1046/j.1365-2125.2000.00217.x)
calibrated on the same drug – Brain 2008 reuses that mechanism with
their own population (n = 16 after the carbamazepine-coadministration
exclusion) and adds the metabolite and PD layers. The Friberg-style
myelosuppression chain is the standard Friberg 2002 form (doi:10.1200/JCO.2002.02.140).
Population
Brain 2008 enrolled 17 adults with advanced solid tumours into an n = 1 randomised crossover trial (3 g/m^2 per day for 3 days, 9 g/m^2 per cycle, delivered either as three successive 3-hour daily IV infusions or as a single 72-hour continuous IV infusion; the alternate schedule was given 3 weeks later). One subject receiving carbamazepine coadministration (eight-fold increase of CLINIT, OFV drop of 106 units when carbamazepine was tested as a covariate) was excluded from the final analysis, leaving n = 16 with 12 complete two-cycle PK evaluations. Cohort baseline characteristics are Brain 2008 Results paragraph (page 608, column 2): 9 male / 8 female, 35-68 years, height 1.39-1.89 m, total per-cycle dose 12.6-16.8 g.
No baseline-demographic covariates were retained in the final model. The auto-induction enzyme dynamics, metabolite apparent volumes, and BMG / ANC PD parameters are reported as population-typical values with only interindividual variability (no body-weight or BSA covariate in the published model).
The same population information is available programmatically via the
model’s population metadata
(readModelDb("Brain_2008_ifosfamide")$population after the
model is loaded).
Source trace
Per-parameter and per-equation origins are recorded as in-file
comments next to each ini() entry and model()
ODE in inst/modeldb/specificDrugs/Brain_2008_ifosfamide.R.
The table below collects them in one place.
| Equation / parameter | Value (typical) | Source location (Brain 2008) |
|---|---|---|
lvc – central volume of distribution
V
|
46 L | Results paragraph, page 608 column 2 |
lcl – baseline ifosfamide clearance
CLINIT
|
3.44 L/h | Results paragraph, page 608 column 2 |
lec50 – autoinduction half-effect concentration
EC50
|
22 umol/L | Results paragraph, page 608 column 2 |
lmtt_ind – auto-induction enzyme mean transit time
MTT
|
62 h | Results paragraph, page 608 column 2 |
lfovv_ohif – apparent f_m / V_m
(4-hydroxy-ifosfamide) |
0.0019 /L | Results paragraph, page 609 column 1 |
lkm_ohif – metabolite elimination rate K_m
(4-hydroxy) |
0.14 /h | Results paragraph, page 609 column 1 |
lfovv_decloro3 – apparent f_m / V_m
(3-DCE-IFO) |
0.0063 /L | Results paragraph, page 609 column 1 |
lkm_decloro3 – metabolite elimination rate
K_m (3-DCE) |
0.020 /h | Results paragraph, page 609 column 1 |
lfovv_decloro2 – apparent f_m / V_m
(2-DCE-IFO) |
0.0043 /L | Results paragraph, page 609 column 1 |
lkm_decloro2 – metabolite elimination rate
K_m (2-DCE) |
0.036 /h | Results paragraph, page 609 column 1 |
lslope_bmg – BMG drug-effect slope
SLOPEIF
|
0.32 L/mg | Results paragraph, page 609 column 2 |
lmtt_bmg – BMG mean transit time MTT
|
243 h | Results paragraph, page 609 column 2 |
lrbase_bmg – BMG baseline |
0.05 mg/L | Results paragraph, page 609 column 2 |
lslope_anc – ANC drug-effect slope
SLOPEIF
|
0.014 L/umol | Results paragraph, page 609 column 2 |
lmtt_anc – ANC chain mean transit time
MTT
|
150 h | Results paragraph, page 609 column 2 |
lrbase_anc – ANC baseline CIRC0
|
4490 cells/mm^3 | Results paragraph, page 609 column 2 |
lgamma – Friberg feedback exponent |
0.16 | Results paragraph, page 609 column 2 |
Auto-induction ODE:
dCL/dt = CLINIT * {K_TR - K_TR * (1 - Cif/(Cif+EC50))}
|
n/a | Equation on page 608 column 1 (printed form); structural form
follows Kerbusch 2000 BJCP Equation 4 with enzyme(0) = 1
and CL = CLINIT * enzyme
|
Metabolite ODE:
V_m * dC_m/dt = f_m * CL_IF * C_IF - CL_m * C_m
|
n/a | Equation on page 608 column 1 |
BMG ODE:
dR/dt = K_TR * (1 + CIF*SLOPEIF) - K_TR * R
|
n/a | Equation on page 608 column 1 |
ANC chain ODE (Friberg):
dR1/dt = K_TR*R1*(1 - SLOPEIF*CIF)*(CIRC0/CIRC)^gamma - K_TR*R1;
transit dRi/dt = K_TR*R(i-1) - K_TR*Ri for
i = 2..5, CIRC = R5
|
n/a | Equation set on page 608 column 1 |
Brain’s MTT convention: MTT = (n_state + 1) / K_TR (so
ktr_ind = 2/MTT_ind, ktr_bmg = 2/MTT_bmg,
ktr_anc = 6/MTT_anc) |
n/a | Page 608 column 1 (“MTT = 2/K_TR here”) and column 2 (“The MTT of the system is 6/K_TR”) |
IIV variances on log scale: etalvc ~ 0.14^2,
etalcl ~ 0.18^2, etalfovv_ohif ~ 0.42^2,
etalkm_ohif ~ 0.30^2,
etalfovv_decloro3 ~ 0.21^2,
etalfovv_decloro2 ~ 0.26^2,
etalslope_bmg ~ 3.4^2, etalrbase_bmg ~ 1.1^2,
etalmtt_anc ~ 0.30^2,
etalrbase_anc ~ 0.46^2
|
n/a | Results paragraphs, page 608 column 2 and page 609; convention from page 608 column 2 (“Variabilities were expressed as the square root of the variances”) |
Residual error (parent and metabolites: log-normal / exponential):
expSd = 0.22 (ifosfamide), expSd_ohif = 0.71,
expSd_decloro3 = 0.36,
expSd_decloro2 = 0.36
|
n/a | Results paragraphs, page 608 column 2 and page 609 column 1 |
Residual error (BMG, ANC: proportional + additive):
propSd_bmg = 0.73, addSd_bmg = 0.02 mg/L;
propSd_anc = 0.34,
addSd_anc = 650 cells/mm^3
|
n/a | Results paragraphs, page 609 column 2 |
Virtual cohort
The original observation-level dataset is not publicly available. The
simulations below use a single typical adult cohort (BSA = 1.8 m^2, body
weight 70 kg) under both scheduling regimens that Brain 2008 reports:
three successive 3-hour daily IV infusions (3 g/m^2 each, total 9 g/m^2)
and one 72-hour continuous IV infusion (also total 9 g/m^2). All
simulations are deterministic typical-value
(rxode2::zeroRe()); the visual predictive checks in Brain
2008 Figures 1 and 2 are stochastic simulations and would require the
published IIVs and residual variances which are reproduced in the model
file but not exercised in this vignette.
set.seed(2026)
mw_if <- 261.1 # ifosfamide molecular weight (g/mol)
bsa <- 1.8 # m^2 (Brain 2008 was BSA-dosed)
total_dose_g <- 9 * bsa # 9 g/m^2 per cycle
total_dose_umol <- total_dose_g * 1e6 / mw_if # 9 g/m^2 * 1.8 m^2 * 1e6 mg/g / (g/mol)
dose_per_inf_3h <- total_dose_g / 3 * 1e6 / mw_if # per 3-hour infusion
infusion_h_3h <- 3
infusion_h_72h <- 72
cycle_h <- 21 * 24 # 3 weeks per cycle
obs_times <- sort(unique(c(
seq(0, 6, by = 0.1),
seq(6, 24, by = 0.5),
seq(24, 72, by = 1),
seq(72, cycle_h, by = 6)
)))
make_subject <- function(id, schedule) {
if (schedule == "3 successive 3-h daily infusions") {
doses <- tibble::tibble(
id = id, time = c(0, 24, 48),
amt = dose_per_inf_3h, rate = dose_per_inf_3h / infusion_h_3h,
evid = 1L, cmt = "central", dvid = NA_integer_,
schedule = schedule
)
} else {
doses <- tibble::tibble(
id = id, time = 0,
amt = total_dose_umol, rate = total_dose_umol / infusion_h_72h,
evid = 1L, cmt = "central", dvid = NA_integer_,
schedule = schedule
)
}
# One observation row per output (DVID 1..6) at each sample time so that
# rxode2 can attach Cc / Cohif / Cdecloro3 / Cdecloro2 / BMG / ANC to the
# respective endpoints.
obs_template <- tibble::tibble(
id = id, time = obs_times, amt = 0, rate = 0, evid = 0L,
cmt = NA_character_, dvid = 1L, schedule = schedule
)
obs <- dplyr::bind_rows(
obs_template,
dplyr::mutate(obs_template, dvid = 2L),
dplyr::mutate(obs_template, dvid = 3L),
dplyr::mutate(obs_template, dvid = 4L),
dplyr::mutate(obs_template, dvid = 5L),
dplyr::mutate(obs_template, dvid = 6L)
)
dplyr::bind_rows(doses, obs) |>
dplyr::arrange(id, time, dplyr::desc(evid))
}
events <- dplyr::bind_rows(
make_subject(1L, "3 successive 3-h daily infusions"),
make_subject(2L, "72-h continuous infusion")
)
stopifnot(!anyDuplicated(unique(events[, c("id", "time", "evid")])))Simulation
mod <- rxode2::rxode(readModelDb("Brain_2008_ifosfamide"))
#> ℹ parameter labels from comments will be replaced by 'label()'
mod_typ <- rxode2::zeroRe(mod)
sim_typ <- rxode2::rxSolve(mod_typ, events, keep = "schedule") |>
as.data.frame()
#> ℹ omega/sigma items treated as zero: 'etalvc', 'etalcl', 'etalfovv_ohif', 'etalkm_ohif', 'etalfovv_decloro3', 'etalfovv_decloro2', 'etalslope_bmg', 'etalrbase_bmg', 'etalmtt_anc', 'etalrbase_anc'
#> Warning: multi-subject simulation without without 'omega'Replicate published figures
Brain 2008 displays visual predictive checks for BMG (Figure 1) and
ANC (Figure 2) under each of the two schedules. The typical-value
trajectories below reproduce the same model structure under the same
dosing; the VPC envelope around them (not drawn here) is determined by
the IIVs and residual variances embedded in ini().
# Time courses of ifosfamide concentration and the auto-induction enzyme
# pool. The enzyme state starts at 1 and increases during exposure (Kerbusch
# 2000 Figure 5), driving an apparent CL increase that flattens the
# concentration profile during prolonged infusion.
sim_typ |>
dplyr::filter(time <= 90) |>
ggplot(aes(time, Cc, colour = schedule)) +
geom_line(linewidth = 0.7) +
labs(x = "Time after start of cycle (h)",
y = "Ifosfamide concentration Cc (umol/L)",
title = "Typical-PK ifosfamide concentration time course",
caption = "9 g/m^2 per cycle (BSA = 1.8 m^2); two scheduling regimens from Brain 2008.") +
theme(legend.position = "bottom")
sim_typ |>
dplyr::filter(time <= 90) |>
ggplot(aes(time, enzyme, colour = schedule)) +
geom_line(linewidth = 0.7) +
geom_hline(yintercept = 1, linetype = "dashed", colour = "grey50") +
labs(x = "Time after start of cycle (h)",
y = "Relative enzyme amount A2 (unitless)",
title = "Auto-induction enzyme pool",
caption = paste(
"Replicates the Kerbusch 2000 Figure 5 \"average doubling of the",
"relative enzyme amount\" structure that Brain 2008 reuses.",
sep = " ")) +
theme(legend.position = "bottom")
sim_typ |>
dplyr::filter(time <= 90) |>
dplyr::select(time, schedule, Cohif, Cdecloro3, Cdecloro2) |>
tidyr::pivot_longer(c(Cohif, Cdecloro3, Cdecloro2),
names_to = "metabolite", values_to = "conc") |>
dplyr::mutate(metabolite = dplyr::recode(metabolite,
Cohif = "4-hydroxy-ifosfamide",
Cdecloro3 = "3-dechloroethyl-ifosfamide",
Cdecloro2 = "2-dechloroethyl-ifosfamide")) |>
ggplot(aes(time, conc, colour = schedule)) +
geom_line(linewidth = 0.6) +
facet_wrap(~ metabolite, scales = "free_y") +
labs(x = "Time after start of cycle (h)",
y = "Metabolite concentration (umol/L)",
title = "Typical-value ifosfamide metabolite time courses") +
theme(legend.position = "bottom")
# Replicates the structure of Brain 2008 Figure 1: BMG time course over a
# 25-30 day window following ifosfamide. The typical-value prediction below
# captures the elevation profile; the observed VPC envelope in Figure 1 is
# driven by the very large interindividual variability on SLOPEIF (SD = 3.4
# on log scale) and baseline (SD = 1.1) which spread predictions over
# several orders of magnitude (see Assumptions and deviations).
sim_typ |>
ggplot(aes(time / 24, BMG, colour = schedule)) +
geom_line(linewidth = 0.7) +
geom_hline(yintercept = 0.05, linetype = "dashed", colour = "grey50") +
labs(x = "Time after start of cycle (days)",
y = "Urinary beta-2-microglobulin (mg/L)",
title = "Replicates Figure 1 of Brain 2008",
caption = "Typical-value (zero IIV / RE) trajectory. Baseline 0.05 mg/L (dashed line).") +
theme(legend.position = "bottom")
# Replicates the structure of Brain 2008 Figure 2: ANC time course over a
# 25-30 day window. The Friberg chain with the published linear-inhibition
# parameters predicts a deep nadir; see Assumptions and deviations for the
# linear-inhibition saturation note (SLOPEIF * Cif > 1 at high peak Cc).
sim_typ |>
ggplot(aes(time / 24, ANC, colour = schedule)) +
geom_line(linewidth = 0.7) +
geom_hline(yintercept = 4490, linetype = "dashed", colour = "grey50") +
labs(x = "Time after start of cycle (days)",
y = "Absolute neutrophil count (cells/mm^3)",
title = "Replicates Figure 2 of Brain 2008",
caption = "Typical-value (zero IIV / RE) trajectory. Baseline CIRC0 = 4490 cells/mm^3 (dashed line).") +
theme(legend.position = "bottom")
PKNCA validation
Non-compartmental analysis of the typical-value ifosfamide concentration profile over the first cycle (0-360 h, well past the elimination phase of the auto-induced state). The two schedules deliver the same total dose (9 g/m^2) and should produce comparable AUC values per Brain 2008’s finding that “the auto-induction model described ifosfamide pharmacokinetics, whatever the infusion duration” (page 608).
sim_nca <- sim_typ |>
dplyr::filter(!is.na(Cc)) |>
dplyr::distinct(id, time, schedule, .keep_all = TRUE) |>
dplyr::select(id, time, Cc, schedule)
# Defensive: guarantee a time = 0 row per (id, schedule) so PKNCA can
# anchor AUC0-* without dropping the first interval.
sim_nca <- dplyr::bind_rows(
sim_nca,
sim_nca |>
dplyr::distinct(id, schedule) |>
dplyr::mutate(time = 0, Cc = 0)
) |>
dplyr::distinct(id, schedule, time, .keep_all = TRUE) |>
dplyr::arrange(id, schedule, time)
conc_obj <- PKNCA::PKNCAconc(sim_nca, Cc ~ time | schedule + id,
concu = "umol/L", timeu = "h")
dose_df <- events |>
dplyr::filter(evid == 1) |>
dplyr::select(id, time, amt, schedule)
dose_obj <- PKNCA::PKNCAdose(dose_df, amt ~ time | schedule + id,
doseu = "umol")
intervals <- data.frame(
start = 0,
end = Inf,
cmax = TRUE,
tmax = TRUE,
aucinf.obs = TRUE,
half.life = TRUE
)
nca_res <- PKNCA::pk.nca(PKNCA::PKNCAdata(conc_obj, dose_obj, intervals = intervals))
knitr::kable(
as.data.frame(nca_res$result) |>
dplyr::select(schedule, PPTESTCD, PPORRES),
caption = paste(
"Simulated typical-value NCA parameters for ifosfamide under each",
"scheduling regimen (BSA = 1.8 m^2, total dose 9 g/m^2 per cycle).",
sep = " ")
)| schedule | PPTESTCD | PPORRES |
|---|---|---|
| 3 successive 3-h daily infusions | cmax | 4.071176e+02 |
| 3 successive 3-h daily infusions | tmax | 2.700000e+01 |
| 3 successive 3-h daily infusions | tlast | 5.040000e+02 |
| 3 successive 3-h daily infusions | clast.obs | 0.000000e+00 |
| 3 successive 3-h daily infusions | lambda.z | 7.539500e-02 |
| 3 successive 3-h daily infusions | r.squared | 9.999061e-01 |
| 3 successive 3-h daily infusions | adj.r.squared | 9.999045e-01 |
| 3 successive 3-h daily infusions | lambda.z.time.first | 1.320000e+02 |
| 3 successive 3-h daily infusions | lambda.z.time.last | 5.040000e+02 |
| 3 successive 3-h daily infusions | lambda.z.n.points | 6.300000e+01 |
| 3 successive 3-h daily infusions | clast.pred | 0.000000e+00 |
| 3 successive 3-h daily infusions | half.life | 9.193548e+00 |
| 3 successive 3-h daily infusions | span.ratio | 4.046316e+01 |
| 3 successive 3-h daily infusions | aucinf.obs | 1.065506e+04 |
| 72-h continuous infusion | cmax | 1.623202e+02 |
| 72-h continuous infusion | tmax | 2.200000e+01 |
| 72-h continuous infusion | tlast | 5.040000e+02 |
| 72-h continuous infusion | clast.obs | 0.000000e+00 |
| 72-h continuous infusion | lambda.z | 7.541900e-02 |
| 72-h continuous infusion | r.squared | 9.999052e-01 |
| 72-h continuous infusion | adj.r.squared | 9.999036e-01 |
| 72-h continuous infusion | lambda.z.time.first | 1.500000e+02 |
| 72-h continuous infusion | lambda.z.time.last | 5.040000e+02 |
| 72-h continuous infusion | lambda.z.n.points | 6.000000e+01 |
| 72-h continuous infusion | clast.pred | 0.000000e+00 |
| 72-h continuous infusion | half.life | 9.190615e+00 |
| 72-h continuous infusion | span.ratio | 3.851755e+01 |
| 72-h continuous infusion | aucinf.obs | 9.477888e+03 |
Comparison against published behaviour
Brain 2008 does not tabulate NCA values, so the comparison is on AUC equivalence between schedules and on agreement with the Kerbusch 2000 ifosfamide AUC reference (page 559 Table 2: 10 g over 72 h gives AUC ~ 1.7 mMh; 20 g over 72 h gives 2.7 mMh, a 56 % rise for a 2x dose that reflects the auto-induction).
auc_sim <- as.data.frame(nca_res$result) |>
dplyr::filter(PPTESTCD == "aucinf.obs") |>
dplyr::select(schedule, PPORRES)
auc_3h <- auc_sim$PPORRES[auc_sim$schedule == "3 successive 3-h daily infusions"]
auc_72h <- auc_sim$PPORRES[auc_sim$schedule == "72-h continuous infusion"]
rel_diff <- 100 * (auc_3h - auc_72h) / auc_72h
knitr::kable(
tibble::tibble(
Metric = "AUC0-inf (umol*h/L)",
`Brain 2008 expectation` = "comparable across schedules (auto-induction blunts schedule effect)",
`3 successive 3-h infusions` = sprintf("%.0f", auc_3h),
`72-h continuous infusion` = sprintf("%.0f", auc_72h),
`3-h / 72-h relative difference` = sprintf("%.1f%%", rel_diff)
),
caption = paste(
"Total-dose AUC0-inf comparison between the two scheduling regimens",
"of the same 9 g/m^2 total cycle dose. Brain 2008 (page 608) reports",
"no schedule-dependent PK difference after fitting the auto-induction",
"model.",
sep = " ")
)| Metric | Brain 2008 expectation | 3 successive 3-h infusions | 72-h continuous infusion | 3-h / 72-h relative difference |
|---|---|---|---|---|
| AUC0-inf (umol*h/L) | comparable across schedules (auto-induction blunts schedule effect) | 10655 | 9478 | 12.4% |
Assumptions and deviations
Auto-induction equation interpretation. Brain 2008 page 608 column 1 prints the auto-induction ODE in the OCR-fragile form
dCL/dt = CLINIT * {K_TR - K_TR * (1 - CIF / (CIF + EC50))}. The cited source for the indirect-response auto-induction structure is Kerbusch 2000 (Br J Clin Pharmacol49(6):555-561), whose Equation 4 isdA2/dt = K_enz_out - K_enz_out * (1 - C_p/(C_p + IC50)) * A2withA2(0) = 1andCL = CL_initial * A2. The model file encodes the Kerbusch 2000 form directly (d/dt(enzyme) <- ktr_ind - ktr_ind * enzyme * (1 - Cc / (Cc + ec50)),enzyme(0) <- 1,cl_app <- cl * enzyme) and uses Brain 2008’s parameter values (CLINIT = 3.44 L/h,EC50 = 22 umol/L,MTT = 62 h, withK_TR = 2 / MTTunder Brain’sMTT = (n + 1) / K_TRconvention). Both forms produce the same enzyme-doubling-during-exposure dynamic illustrated in Kerbusch 2000 Figure 5; the Brain 2008 printed form is treated as a notational variant of the same underlying mechanism.-
Multiple-dose accumulation differs at very high doses. With the Brain 2008 typical-value parameters and a BSA-typical dose of
~ 16 g per cycle, the peak ifosfamide concentration during the 3-h infusion schedule reaches
~ 400 umol/L, well aboveEC50 = 22 umol/L, driving the enzyme pool above 2x baseline. The linear-inhibition Friberg myelosuppression term1 - SLOPEIF * Cif(withSLOPEIF = 0.014 L/umol) therefore becomes negative for several hours of each cycle (SLOPEIF * Cif > 1), producing a deeper ANC nadir than a saturable Emax-style inhibition would have produced. Brain 2008 reports the linear-Cif effect as the final model form (page 609 column 1 “BMG and myelosuppression effects were modelled as linear functions of concentration”); the deep nadir in Figure 2 above is therefore a faithful replication of the published parameterisation rather than an extrapolation. Users who want to evaluate the model far outside the 9 g/m^2 cycle dose Brain 2008 calibrated against should consider switching1 - SLOPEIF * Cifto a saturable form, recognising that this is a structural departure from the source paper. BMG observation magnitudes. The typical-value BMG peak from the published equation form
dR/dt = K_TR * (1 + SLOPEIF * Cif_mg) - K_TR * Rwithbaseline = 0.05 mg/L,SLOPEIF = 0.32 L/mg, and Cif converted to mg/L via the ifosfamide molecular weight is on the order of~ 0.3 mg/Lfor a 9 g/m^2 cycle. Brain 2008 Figure 1 shows observed BMG values reaching 60-100 mg/L, much higher than this typical-value prediction. The reconciliation, given the published parameter set, is the very large interindividual variability on SLOPEIF (SD = 3.4 on the log scale, equivalent to many orders of magnitude spread in individual sensitivity) and on baseline (SD = 1.1) plus a 73 % proportional residual error. A stochastic VPC of this model with the published omegas would span the observed envelope; the deterministic typical-value trajectory plotted above is the population-median path, not the upper 80 % bound.Brain MTT convention
MTT = (n_state + 1) / K_TR. Brain 2008 reports MTT for each of the three turnover sub-models (auto-induction ifosfamide enzyme pool, BMG indirect-response, ANC Friberg chain). Page 608 column 1 states “MTT = 2 / K_TR here” for the single-state BMG model and the single-state autoinduction model; page 608 column 2 states “The MTT of the system is 6 / K_TR” for the five-state ANC Friberg chain. The pattern fits aMTT = (n_state + 1) / K_TRconvention that the model file reproduces (ktr_ind = 2 / MTT_ind,ktr_bmg = 2 / MTT_bmg,ktr_anc = 6 / MTT_anc). The same numerical identification ofMTTandK_TRrecovers Brain 2008 page 609’s reported values.Variability interpretation. Brain 2008 page 608 column 2 records the convention as “Variabilities were expressed as the square root of the variances, w^2 or s^2.” The reported IIV magnitudes (
0.14,0.18,0.42, …) are therefore SDs on the natural-log scale, and the variance for the~omega entry inini()is(reported SD)^2. The trailing(NN%)in the paper is the relative standard error of the SD estimate, not the variability magnitude itself. Parameters without a reported ISV are not declared as etas (“When ISV was not given for a parameter, it meant that it was not statistically significant and its deletion did not alter the fit and OFV”).Carbamazepine outlier exclusion. Brain 2008 page 608 column 2 notes that one patient on carbamazepine showed an eight-fold increase of
CLINIT(OFV drop of 106 units when carbamazepine was tested as a covariate). The patient was excluded from the final analysis. The packaged model therefore does NOT carry a carbamazepine covariate; users modelling concomitant CYP3A4-induction drugs should rescaleCLINITexternally rather than adding a covariate to this file.Dose units inside
model(). Brain 2008 conducted the analysis in molar concentrations (page 608 column 2). The model file accepts dosing in umol of ifosfamide; the vignette converts the published mass dose (3 g/m^2 per infusion, 1.8 m^2 BSA) to umol using the ifosfamide molecular weight 261.1 g/mol. Users dosing in mg will need to apply the same conversion at the event-table level.Pharmacokinetics studied sequentially. Brain 2008 page 608 column 2 reports that “the pharmacokinetics of ifosfamide and its metabolites were studied sequentially using molar concentrations. Bayesian estimates (POSTHOC) of pharmacokinetic parameters were included in the metabolite and pharmacodynamic datasets and served to calculate ifosfamide concentrations.” The packaged model encodes the full joint structure (parent + 3 metabolites + BMG + ANC, all driven by the in-model
Cc) which is mathematically equivalent to the sequential-fit forward-simulation use case.