LLOQ based on ‘worst case’ Cmax [Bioanalytics]

posted by Helmut Homepage – Vienna, Austria, 2021-12-21 14:31 (1084 d 13:21 ago) – Posting: # 22707
Views: 3,501

Hi Farmacevt,

❝ Please advise what if the Lower limit of quantification for some of the subjects in the BE study is greater than 5% of Cmax (not for the pre-dose concentrations).


I agree with ElMaestro and dshah.

The LLOQ is fixed in a validated method based on an assumed Cmax. It is not a good idea rely on a mean Cmax (say, from the literature). You have to take the within- and between-subject variability into account. The former is esp. important for Highly Variable Drugs / Drug Products and the latter for drugs with polymorphic metabolism. For these drugs \(\small{CV_\textrm{inter}\gg CV_\textrm{intra}}\).
A stupid example (normal distribution for simplicity) of Cmax with a mean of 100 and a standard deviation of 20. You plan the study with the Babylonian number of 24 subjects. If you set the LLOQ to 5 and, since \(\small{\mu\pm\sigma}\) covers \(\small{\approx 68.27\%}\) you can expect at least three subjects (\(\small{1-0.6827/2\times 24\approx 3.81}\)) with a concentration > LLOQ. Hence, aim lower.

However, concentrations follow a lognormal distribution. Therefore, it is more likely to see higher values than lower ones. A small simulation:

set.seed(123456)
n        <- 24
Cmax     <- setNames(c(100, 0.2), c("mu", "CV"))
pct.Cmax <- 5
LLOQ     <- pct.Cmax * Cmax[["mu"]] / 100
nsims    <- 1E6L
Cmax.sim <- rlnorm(n = nsims,
                   meanlog = log(Cmax[["mu"]]) - 0.5 * log(Cmax[["CV"]]^2 + 1),
                   sdlog = sqrt(log(Cmax[["CV"]]^2 + 1)))
pd       <- 0.05 * Cmax.sim
p.above  <- sum(pd > LLOQ) / nsims
cat(paste0("Assumed Cmax = ", Cmax[["mu"]], " (CV = ",
    sprintf("%.f%%),", 100 * Cmax[["CV"]])),
    "LLOQ set to", sprintf("%.f%%", pct.Cmax), "of Cmax.",
    paste0("\n", prettyNum(nsims, format = "i", big.mark = ",")),
    "simulations,", sprintf("mean of Cmax = %.2f (CV = %.2f%%).",
    mean(Cmax.sim), 100 * sd(Cmax.sim) / mean(Cmax.sim)),
    "\nProbability that pre-dose concentrations are > LLOQ =",
    sprintf("%.1f%%.", 100 * p.above),
    "\nIn a study with", n, "subjects expected for at least",
    sprintf("%i subjects.", floor(p.above * n)), "\n")

Assumed Cmax = 100 (CV = 20%), LLOQ set to 5% of Cmax.
1,000,000 simulations, mean of Cmax = 99.99 (CV = 20.00%).
Probability that pre-dose concentrations are > LLOQ = 46.0%.
In a study with 24 subjects expected for at least 11 subjects.


Dif-tor heh smusma 🖖🏼 Довге життя Україна! [image]
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes

Complete thread:

UA Flag
Activity
 Admin contact
23,335 posts in 4,901 threads, 1,665 registered users;
42 visitors (0 registered, 42 guests [including 11 identified bots]).
Forum time: 03:52 CET (Europe/Vienna)

Every man is fully satisfied that there is such a thing as truth,
or he would not ask any question.    Charles Sanders Peirce

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5