(Expanded) BE limits, EMA-style [RSABE / ABEL]
❝ When we get a CVwr, how to get the BE limits?
The switching CVwR is 30% and hence, the regulatory constant k should be \(\log{(1.25)}/\sqrt{\log{(0.30^2+1)}} = 0.7601283\ldots \)
In R (CVs and BE limits in %):
CVwR <- seq(0.25, 0.55, 0.05)
swR <- sqrt(log(CVwR^2+1))
k <- log(1.25)/sqrt(log(0.3^2+1))
EL1 <- data.frame(CVwR=100*CVwR, swR=swR, L=100*exp(-k*swR), U=100*exp(+k*swR))
EL1$L[EL1$CV <= 30] <- 80 # conventional
EL1$U[EL1$CV <= 30] <- 125 # BE limits
EL1$L[EL1$CV >= 50] <- 100*exp(-k*sqrt(log(0.5^2+1))) # upper scaling
EL1$U[EL1$CV >= 50] <- 100*exp(+k*sqrt(log(0.5^2+1))) # cap at CV 50%
print(EL1, row.names=FALSE)
CVwR swR L U
25 0.2462207 80.00000 125.0000
30 0.2935604 80.00000 125.0000
35 0.3399387 77.22885 129.4853
40 0.3852532 74.61401 134.0231
45 0.4294214 72.15055 138.5991
50 0.4723807 69.83255 143.1997
55 0.5140870 69.83255 143.1997
In its eternal wisdom (preferring “nice” numbers) the EMA demands a rounded k 0.76 (which implies a switching CVwR of 30.0053%).*
EL2 <- data.frame(CVwR=100*CVwR, swR=swR, L=100*exp(-0.76*swR), U=100*exp(+0.76*swR))
EL2$L[EL2$CV <= 30] <- 80
EL2$U[EL2$CV <= 30] <- 125
EL2$L[EL2$CV >= 50] <- 100*exp(-0.76*sqrt(log(0.5^2+1)))
EL2$U[EL2$CV >= 50] <- 100*exp(+0.76*sqrt(log(0.5^2+1)))
print(EL2, row.names=FALSE)
CVwR swR L U
25 0.2462207 80.00000 125.0000
30 0.2935604 80.00000 125.0000
35 0.3399387 77.23222 129.4796
40 0.3852532 74.61770 134.0165
45 0.4294214 72.15452 138.5915
50 0.4723807 69.83678 143.1910
55 0.5140870 69.83678 143.1910
More convenient by the function
scABEL()
of the R-package PowerTOST
(by applying the default argument regulator="EMA"
). The function then uses k 0.76, returns the conventional ABE limits if CVwR ≤30%, and observes the upper cap of CVwR 50%:library(PowerTOST)
CVwR <- seq(0.25, 0.55, 0.05)
EL3 <- data.frame(CVwR=100*CVwR, swR=CV2se(CVwR),
L=100*scABEL(CV=CVwR)[, "lower"],
U=100*scABEL(CV=CVwR)[, "upper"])
print(EL3, row.names=FALSE)
CVwR swR L U
25 0.2462207 80.00000 125.0000
30 0.2935604 80.00000 125.0000
35 0.3399387 77.23222 129.4796
40 0.3852532 74.61770 134.0165
45 0.4294214 72.15452 138.5915
50 0.4723807 69.83678 143.1910
55 0.5140870 69.83678 143.1910
Don’t apply double rounding! Round the 90% CI in percent to two decimal places but compare it to the expanded limits in full precision.
- Karalis V, Symillides, Macheras P. On the leveling-off properties of the new bioequivalence limits for highly variable drugs of the EMA guideline. Eur J Pharm Sci. 2011;44:497–505. doi:10.1016/j.ejps.2011.09.008.
Edit: Hey Shuanghe, you were faster!
Dif-tor heh smusma 🖖🏼 Довге життя Україна!
![[image]](https://static.bebac.at/pics/Blue_and_yellow_ribbon_UA.png)
Helmut Schütz
![[image]](https://static.bebac.at/img/CC by.png)
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Complete thread:
- Calculate the BE limits for HVDPs based on EMA libaiyi 2018-06-08 11:41 [RSABE / ABEL]
- Calculate the BE limits for HVDPs based on EMA Shuanghe 2018-06-08 12:51
- (Expanded) BE limits, EMA-styleHelmut 2018-06-08 13:19
- (Expanded) BE limits, EMA-style libaiyi 2018-06-11 07:21
- CFDA: Yet another story? Helmut 2018-06-11 12:24
- CFDA: Yet another story? libaiyi 2018-06-12 11:09
- CFDA: Draft guidance? Helmut 2018-06-12 14:54
- CFDA: Draft guidance? libaiyi 2018-06-13 03:39
- Hypotheses generated “in face of the data” Helmut 2018-06-13 11:39
- Hypotheses generated “in face of the data” libaiyi 2018-06-14 03:46
- Hypotheses generated “in face of the data” Helmut 2018-06-13 11:39
- CFDA: Draft guidance? libaiyi 2018-06-13 03:39
- CFDA: Draft guidance? Helmut 2018-06-12 14:54
- CFDA: Yet another story? libaiyi 2018-06-12 11:09
- CFDA: Yet another story? Helmut 2018-06-11 12:24
- (Expanded) BE limits, EMA-style libaiyi 2018-06-11 07:21