Question raised by the PMDA [Design Issues]

posted by Helmut Homepage – Vienna, Austria, 2021-02-26 16:46 (1126 d 17:14 ago) – Posting: # 22236
Views: 2,250

Dear all,

I received a question from a member of the forum (he couldn’t post for some technical issues).

Parallel design, CV 36%, T/R-ratio 0.95, target power 90%, parallel design, anticipated dropout rate 10%, 20% of subjects (in each group) of Japanese origin. Easy so far.

library(PowerTOST)
balance <- function(n, groups) {
  # Round up to get balanced groups for potentially unbalanced case.
  return(as.integer(groups * (n %/% groups + as.logical(n %% groups))))
}
adjust.dropouts <- function(n, do.rate, groups = 2) {
  # To be dosed subjects which should result in n eligible subjects
  # based on the anticipated droput-rate.

  n <- as.integer(balance(n / (1 - do.rate), groups = groups))
  return(n)
}
##############
# data below #
##############

design  <- "parallel"
CV      <- 0.36 # total (pooled) for parallel design, intra-subject for Xovers
target  <- 0.90 # target (desired) power
theta0  <- 0.95 # assumed T/R-ratio
theta1  <- 0.80 # lower BE limit
theta2  <- 1.25 # upper BE limit
do.rate <- 0.10 # anticipated dropout-rate 10%
# estimate sample size & power

estim   <- sampleN.TOST(CV = CV, theta0 = theta0, theta1 = theta1,
                        theta2 = theta2, targetpower = target,
                        design = design, details = FALSE, print = FALSE)
# calculate to be dosed subjects based on the anticipated dropout-rate
n.adj   <- adjust.dropouts(estim[["Sample size"]], do.rate, 2)
# eligible subjects
n.elig  <- n.adj:estim[["Sample size"]]
info    <- paste0("\nDesign                  : ", design,
                  "\nAssumed CV              : ", sprintf("%.2g%%", 100*CV),
                  "\nAssumed T/R ratio       : ", sprintf("%.2g%%", 100*theta0),
                  "\nBE limits               : ", sprintf("%.2f\u2013%.2f%%",
                                                  100*theta1, 100*theta2),
                  "\nTarget (desired) power  : ", sprintf("%.2g%%", 100*target),
                  "\nAnticipated dropout-rate: ", sprintf("%.2g%%", 100*do.rate),
                  "\nEstimated sample size   : ", estim[["Sample size"]],
                  " (", estim[["Sample size"]]/2, "/group)",
                  "\nAchieved power          : ", sprintf("%.2f%%",
                                                  100*estim[["Achieved power"]]),
                  "\nAdjusted sample size    : ", n.adj,
                  " (",  n.adj/2, "/group)", "\n\n")
# explore possible outcome for increasing number of dropouts
results <- data.frame(dosed = n.adj, eligible = n.elig,
                      dropouts = n.adj - n.elig,
                      do.pct = sprintf("%.3f%%", 100*(n.adj - n.elig)/n.adj),
                      power.pct = NA, stringsAsFactors = FALSE)
for (j in 1:nrow(results)) {
  results$power.pct[j] <- sprintf("%.2f%%", 100*(
                            suppressMessages(
                              power.TOST(CV = CV, theta0 = theta0,
                                         theta1 = theta1, theta2 = theta2,
                                         design = design,
                                         n = results$eligible[j]))))
}
cat(info); print(results, row.names = FALSE)

Gives:

Design                  : parallel
Assumed CV              : 36%
Assumed T/R ratio       : 95%
BE limits               : 80.00–125.00%
Target (desired) power  : 90%
Anticipated dropout-rate: 10%
Estimated sample size   : 144 (72/group)
Achieved power          : 90.11%
Adjusted sample size    : 160 (80/group)

 dosed eligible dropouts  do.pct power.pct
   160      160        0  0.000%    92.67%
   160      159        1  0.625%    92.53%
   160      158        2  1.250%    92.39%
   160      157        3  1.875%    92.25%
   160      156        4  2.500%    92.10%
   160      155        5  3.125%    91.95%
   160      154        6  3.750%    91.80%
   160      153        7  4.375%    91.64%
   160      152        8  5.000%    91.49%
   160      151        9  5.625%    91.32%
   160      150       10  6.250%    91.16%
   160      149       11  6.875%    90.99%
   160      148       12  7.500%    90.82%
   160      147       13  8.125%    90.65%
   160      146       14  8.750%    90.48%
   160      145       15  9.375%    90.30%
   160      144       16 10.000%    90.11%


As usual in parallel designs – if the drug is subjected to polymorphic metabolism – the study should be performed in fast/extensive metabolizers.
When the proposal was submitted to the PMDA, this question was raised:

What is probability of getting point estimate for the ratio of GeoMean in this Bioequivalence Limit for Japanese population?

At least interesting. There are other examples in the Japanese guideline where the PE within 80.00–125.00% is sufficient to demonstrate BE if the CI fails (similar dissolution, sample size ≥24 in a crossover), Hence, such a question is not unexpected.
Problematic in the Japanese population is the (age-dependent) high percentage of achlorohydric subjects. IIRC, already at an age of 20 years it is about 10% and increases to more than 80% at 60+ years. Since in a parallel design the comparison of treatments is done between groups, one could only try to get the same age-distribution in both groups. Not so important for the other subjects but for the sub-group of Japanese subjects.
Is the PMDA asking for a prospective sub-group power estimation? If yes, my attempt:

sub.group <- unique(as.data.frame(cbind(dosed    = results[, 1]*0.2,
                                        eligible = floor(results[, 2]*0.2),
                                        p        = NA)))
# with alpha = 0.5 we assess the probability that the PE lies within the BE limits
for (j in 1:nrow(sub.group)) {
  sub.group$p[j] <- suppressMessages(
                      power.TOST(alpha = 0.5, CV = CV, theta0 = theta0,
                                 theta1 = theta1, theta2 = theta2,
                                 design = design, n = sub.group$eligible[j]))
}
print(signif(sub.group, 4), row.names = FALSE)

Gives:

 dosed eligible      p
    32       32 0.9050
    32       31 0.9003
    32       30 0.8955
    32       29 0.8902
    32       28 0.8849

Hence, I guess one has not worry if (if!) the age-distribution is similar, and hence, the distribution of achlorohydric subjects across groups. Tricky: What if we face – by change – say, 2 young dropouts in one group and 2 old dropouts in the other? Can get nasty (biased T/R-ratio) if the drug exhibits pH-dependent release/absorption characteristics…

Does this make sense?

Based on the agency’s question, what do they require in such a study?The PMDA doesn’t give a damn about multiplicity issues (still recommend Add-On designs with an unadjusted α and the approach of assessing the PE if the CI fails inflates the Type I Error as well). Therefore, I guess they don’t care.

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,636 registered users;
119 visitors (0 registered, 119 guests [including 6 identified bots]).
Forum time: 10:00 CET (Europe/Vienna)

With four parameters I can fit an elephant,
and with five I can make him wiggle his trunk.    John von Neumann

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