Exclusion for the FDA? [Regulatives / Guidelines]

posted by Helmut Homepage – Vienna, Austria, 2022-05-23 13:43 (675 d 04:38 ago) – Posting: # 23011
Views: 1,157

Hi Sereng,

❝ […] if […] one or more subjects contributes a large extrapolated AUC (>20%) in a BE study, how should we deal with it?


Since you posted in the Regulatives / Guidelines-category: Contrary to the EMA* (and most other jurisdictions), in none of the FDA’s guidances a ‘rule’ like AUC0–t ≥ 80% of AUC0– is mentioned. Only that

[…] sampling should continue for at least three or more terminal elimination half-lives of the drug.
(e.g., ANDA draft, August 2021)


If you decide to follow the ‘80% rule’, state in the protocol that the respective subject(s) will be excluded from the comparison of AUCs but kept for the comparison of Cmax. Since Cmax is in general more variable than the AUCs, likely you based your sample size on it. Hence, excluding subjects from the comparison of AUCs is expected to have a limited effect on power.

An example for a 2×2×2 design, target power 80%, different CVs (Cmax > AUC0– > AUC0–t) and T/R-ratios in [image]:

library(PowerTOST)
metrics <- c("Cmax", "AUCt", "AUCinf")
CV      <- c(0.25, 0.19, 0.20)
theta0  <- c(0.95, 1.04, 1.06)
x       <- data.frame(metric = metrics, CV = CV, theta0 = theta0,
                      n = NA_integer_, power = NA_real_)
# estimate sample size for all metrics
for (j in seq_along(metrics)) {
  x[j, 4:5] <- sampleN.TOST(CV = CV[j], theta0 = theta0[j], print = FALSE)[7:8]
}
# the nasty one
txt     <- paste0("Sample size based on ", x$metric[x$n == max(x$n)], ".")
# the easy ones (not leading the sample size)
easy    <- data.frame(metric = x$metric[!x$n == max(x$n)],
                      CV = x$CV[!x$n == max(x$n)],
                      theta0 = x$theta0[!x$n == max(x$n)])
# power for the required sample size
for (j in 1:nrow(easy)) {
  easy$power[j] <- power.TOST(CV = easy$CV[j], theta0 = easy$theta0[j], n = max(x$n))
}
txt <- paste0(txt,
              sprintf("\nPower for %6s with n = %.0f: %.7f",
                      easy$metric[1], max(x$n), easy$power[1]),
              sprintf("\nPower for %6s with n = %.0f: %.7f",
                      easy$metric[2], max(x$n), easy$power[2]),
              "\n\n")
# assess the impact on power if subjects are excluded
y       <- data.frame(metric = easy$metric[1], n = max(x$n):min(x$n))
for (j in 1:nrow(y)) {
  y$power[j] <- suppressMessages(
                  power.TOST(CV = easy$CV[1], theta0 = easy$theta0[1], n = y$n[j]))
}
z       <- data.frame(metric =easy$metric[2], n = max(x$n):min(x$n))
for (j in 1:nrow(z)) {
  z$power[j] <- suppressMessages(
                  power.TOST(CV = easy$CV[2], theta0 = easy$theta0[2], n = y$n[j]))
}
res     <- merge(y, z, by = "n", all = TRUE)
res     <- res[with(res, order(-n)), ]
names(res)[2:5] <- c(rep(c("metric", "power"), 2))
# the EMA’s 20% limit triggering a ‘discussion’
res$EMA.warning <- 1 - res$n / max(res$n) > 0.2
print(x, row.names = FALSE); cat(txt); print(res, row.names = FALSE)

 metric   CV theta0  n     power
   Cmax 0.25   0.95 28 0.8074395
   AUCt 0.19   1.04 16 0.8184951
 AUCinf 0.20   1.06 20 0.8086483
Sample size based on Cmax.
Power for   AUCt with n = 28: 0.9717571
Power for AUCinf with n = 28: 0.9171503

  n metric     power metric     power EMA.warning
 28   AUCt 0.9717571 AUCinf 0.9171503       FALSE
 27   AUCt 0.9667985 AUCinf 0.9075365       FALSE
 26   AUCt 0.9614130 AUCinf 0.8976208       FALSE
 25   AUCt 0.9546702 AUCinf 0.8858332       FALSE
 24   AUCt 0.9473859 AUCinf 0.8737402       FALSE
 23   AUCt 0.9382131 AUCinf 0.8592798       FALSE
 22   AUCt 0.9283563 AUCinf 0.8445203        TRUE
 21   AUCt 0.9158496 AUCinf 0.8267281        TRUE
 20   AUCt 0.9024811 AUCinf 0.8086483        TRUE
 19   AUCt 0.8853501 AUCinf 0.7866063        TRUE
 18   AUCt 0.8671347 AUCinf 0.7642807        TRUE
 17   AUCt 0.8434943 AUCinf 0.7366346        TRUE
 16   AUCt 0.8184951 AUCinf 0.7086779        TRUE

That means, you can exclude up to twelve subjects from the comparison of AUC0–t and up to eight from the comparison of AUC0– and still have > 80% power.



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
22,957 posts in 4,819 threads, 1,638 registered users;
77 visitors (0 registered, 77 guests [including 11 identified bots]).
Forum time: 17:21 CET (Europe/Vienna)

Nothing shows a lack of mathematical education more
than an overly precise calculation.    Carl Friedrich Gauß

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