Metrics for absorption [NCA / SHAM]

posted by Helmut Homepage – Vienna, Austria, 2019-04-15 17:31  – Posting: # 20169
Views: 1,029

Hi nobody,

» » If we have different metrics likely it would be better to chose one with high sensitivity.
»
» Not more than needed. Over-discriminatory testing is a pain. I like the idea of "problem -> solution", not the other way around.

OK. Define what is “needed”. Reminds me on mathematicians’ “sufficiently accurate”. There is an exact solution of the three-body problem but it converges so slow that one would need an infinite number of terms. ;-)

» » IMHO, the clinical relevance of the rate of absorption is doubtful. Ask a clinician about Cmax and he will tell you that is important for safety,
»
» Safety is part of clinics as well. If your patients die from toxicity or headache or bleeding or whatever you will learn the hard way.

Sure. I only meant that the relationship Cmax = safety is an oversimplification.

» » Remember that current regulatory thinking concentrates on the biopharmaceutical performance of the formulation in the first place. Mentioning clinical relevance outs you as a dinosaur of BE. :-D
»
» Yeah, but in the end you are not interested in differences in "biopharm. performance" not reflecting any meaningful (= clinically relevant) differences between two formulations, or?

Absolutely. However, that similarity of PK (in healthy subjects) can be extrapolated to the population of patients is based on an assumption. The days were BE was tested in settings closer to the clinical situation are long gone – which regret.I don’t like that but in this century biopharmaceutical performance is all what counts for regulators.

The more I think about this paper, the less I understand it. Not the first time with one the two Lászlós. ke in their simulations is a constant. Since we compare T/R I would assess the impact of a set of absorption constants (different Test) to the ka of R. Code at the end. I got

  kaR kaT_kaR     kaT  Cmax Cmax.r   pAUC pAUC.r Cmax_AUC Cmax_AUC.r
 1.39   12.00 16.6800 368.4 1.4620 414.40 1.6680   0.3248     1.4540
 1.39    8.00 11.1200 357.7 1.4190 406.50 1.6360   0.3154     1.4120
 1.39    4.00  5.5600 332.6 1.3190 381.70 1.5360   0.2934     1.3140
 1.39    2.00  2.7800 297.3 1.1790 330.60 1.3310   0.2626     1.1760
 1.39    1.00  1.3900 252.1 1.0000 248.50 1.0000   0.2233     1.0000
 1.39    0.50  0.6950 200.1 0.7939 160.40 0.6457   0.1791     0.8021
 1.39    0.25  0.3475 147.3 0.5842  92.62 0.3728   0.1389     0.6219

where kaR = ka(R), kaT_kaR = ka(T)/ka(R), kaT = ka(T), Cmax.r = Cmax(T)/Cmax(R), pAUC.r = pAUC(T)/pAUC(R), and Cmax_AUC.r = [Cmax(T)/AUC(T)]/Cmax(T)/AUC(T)]. Since F = 1 in all cases and ke is the same so is the AUC. I would say an ideal metric should reflect changes in ka in the T/R-ratio, or? Given my results all are lousy but Cmax the least. Either I screwed up the code or completely misunderstood the two Lászlós.


library("colorspace")
C.sd <- function(F=1, D, Vd, ka, ke, t) {
  if (!identical(ka, ke)) { # common case ka != ke
    C <- F*D/Vd*(ka/(ka - ke))*(exp(-ke*t) - exp(-ka*t))
  } else {                  # equal input & output
    C <- F*D/Vd*ke*t*exp(-ke*t)
  }
  return(C)
}
D        <- 400
ka       <- 1.39  # 1/h
Vd       <- 1     # L
CL       <- 0.347 # L/h
ke       <- CL/Vd
t        <- seq(0, 12, length.out=2000) # small step size to minimize the
                                        # intrinsic bias of the trapezoidal
# Reference
C        <- C.sd(D=D, Vd=Vd, ka=ka, ke=ke, t=t)
tmax     <- log((ka/ke)/(ka - ke)) # theoretical /not/ observed
Cmax     <- C.sd(D=D, Vd=Vd, ka=ka, ke=ke, t=tmax)
AUC.t    <- 0.5*sum(diff(t)*(C[-1]+C[-length(C)]))
t.1      <- t[which(t <= tmax)]
t.cut    <- max(t.1)
C.1      <- C[which(t <= t.cut)]
pAUC     <- 0.5*sum(diff(t.1)*(C.1[-1]+C.1[-length(C.1)]))
Cmax.AUC <- Cmax/AUC.t
dev.new(record=TRUE)
plot(t, C, type="n", las=1, lwd=5, col="red", ylim=c(0, 375),
     xlab="Time (h)", ylab="Concentration (mg/mL)")
grid()
abline(v=tmax, lty=3, col="grey50")
lines(t, C, lwd=6, col="red")
# Tests
ratio <- c(seq(12, 4, -4), 2, 1, 0.5, 0.25) # ratios of ka(T)/ka/R)
ka.t  <- ka*ratio                           # Tests' ka
res   <- data.frame(kaR=ka, kaT_kaR=ratio, kaT=signif(ka.t, 5),
                    Cmax=NA, Cmax.r=NA, pAUC=NA, pAUC.r=NA,
                    Cmax_AUC=NA, Cmax_AUC.r=NA)
clr   <- sequential_hcl(length(ratio), palette="Red-Blue")
for (j in seq_along(ratio)) {
  # full internal precision, 4 significant digits for output
  C.tmp    <- C.sd(D=D, Vd=Vd, ka=ka.t[j], ke=ke, t=t)
  if (!identical(ka.t[j], ke)) { # ka != ke
    tmax.tmp <- log(ka.t[j]/ke)/(ka.t[j] - ke)
  } else {                       # ka = ke
    tmax.tmp <- 1/ke
  }
  Cmax.tmp <- C.sd(D=D, Vd=Vd, ka=ka.t[j], ke=ke, t=tmax.tmp)
  res[j, "Cmax"]   <- signif(Cmax.tmp, 4)
  res[j, "Cmax.r"] <- signif(Cmax.tmp/Cmax, 4)
  AUC.t.tmp <- 0.5*sum(diff(t)*(C.tmp[-1]+C.tmp[-length(C.tmp)]))
  t.1.tmp   <- t[which(t <= t.cut)]
  C.1.tmp   <- C.tmp[which(t <= t.cut)] # cut at tmax of R!
  pAUC.tmp  <- 0.5*sum(diff(t.1.tmp)*(C.1.tmp[-1]+C.1.tmp[-length(C.1.tmp)]))
  res[j, "pAUC"]       <- signif(pAUC.tmp, 4)
  res[j, "pAUC.r"]     <- signif(pAUC.tmp/pAUC, 4)
  res[j, "Cmax_AUC"]   <- signif(Cmax.tmp/AUC.t.tmp, 4)
  res[j, "Cmax_AUC.r"] <- signif((Cmax.tmp/AUC.t.tmp)/Cmax.AUC, 4)
  lines(t, C.tmp, lwd=2, col=clr[j])
}
legend("topright", legend=res$kaT_kaR, bg="white", inset=0.02,
       title="ka(T) / ka(R)", lwd=2, col=clr)
plot(ratio, res$Cmax.r, type="n", log="xy", las=1, col="red",
     ylim=range(c(res$Cmax.r, res$pAUC.r, res$Cmax_AUC.r)),
     xlab="ka (T) / ka (R)", ylab="Metric ratio")
grid()
abline(v=1, lty=3, col="grey50")
abline(h=1, lty=3, col="grey50")
lines(ratio, res$Cmax.r, lwd=2, col="red")
lines(ratio, res$pAUC.r, lwd=2, col="blue")
lines(ratio, res$Cmax_AUC.r, lwd=2, col="magenta")
legend("bottomright", legend=c("Cmax", "pAUC", "Cmax/AUC"),
       bg="white", inset=0.02, title="T/R-ratio", lwd=2,
       col=c("red", "blue", "magenta"))
cat("x.r is the T/R-ratio of metric x\n");print(res, row.names=FALSE)


Cheers,
Helmut Schütz
[image]

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

Complete thread:

Activity
 Mix view
Bioequivalence and Bioavailability Forum |  Admin contact
19,537 posts in 4,144 threads, 1,338 registered users;
online 5 (0 registered, 5 guests [including 5 identified bots]).
Forum time (Europe/Vienna): 15:48 UTC

When puzzled, it never hurts to read the primary documents –
a rather simple and self-evident principle that has, nonetheless,
completely disappeared from large sectors
of the American experience.    Stephen Jay Gould

The BIOEQUIVALENCE / BIOAVAILABILITY FORUM is hosted by
BEBAC Ing. Helmut Schütz
HTML5