| Type: | Package |
| Title: | Backfill Bayesian Optimal Interval Design Using Efficacy and Toxicity |
| Version: | 1.0.0 |
| Description: | Implements the Backfill Bayesian Optimal Interval Design (BF-BOIN-ET), a novel clinical trial methodology for dose optimization that simultaneously consider both efficacy and toxicity outcome as described in (Takeda et al (2025) <doi:10.1002/pst.2470>). The package has been extended to include a seamless two-stage phase I/II trial design with backfill and joint efficacy and toxicity monitoring as described in (Takeda et al (2026) <doi:10.1002/pst.70092>). |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| Imports: | Iso, copula, dplyr, tidyselect, magrittr, BOP2FE, boinet, BOIN |
| NeedsCompilation: | no |
| Packaged: | 2026-04-13 02:42:34 UTC; A4021579 |
| Author: | Jing Zhu [cre, aut], Kentaro Takeda [aut], Yimer Belay Birlie [aut] |
| Maintainer: | Jing Zhu <zhujing716@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-04-14 09:10:09 UTC |
backboinet
Description
Obtain the operating characteristics of the backfill bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization within fixed scenarios
Usage
get.oc.backboinet(
target_T = 0.3,
toxprob,
target_E = 0.25,
effprob,
n.dose,
startdose,
ncohort,
cohortsize,
pT.saf = 0.6 * target_T,
pT.tox = 1.4 * target_T,
pE.saf = 0.6 * target_E,
alpha.T1 = 0.5,
alpha.E1 = 0.5,
tau.T,
tau.E,
te.corr = 0.2,
gen.event.time = "weibull",
accrual,
gen.enroll.time = "uniform",
n.elimination = 6,
stopping.npts = 12,
suspend = 0,
stopping.prob.T = 0.95,
stopping.prob.E = 0.9,
ppsi01 = 0,
ppsi00 = 40,
ppsi11 = 60,
ppsi10 = 100,
n.sim = 1000,
seed.sim = 100
)
Arguments
target_T |
Target toxicity probability. The default value is
|
toxprob |
Vector of true toxicity probability. |
target_E |
The minimum required efficacy probability. The default value
is |
effprob |
Vector of true efficacy probability. |
n.dose |
Number of dose. |
startdose |
Starting dose. The lowest dose is generally recommended. |
ncohort |
Number of cohort. |
cohortsize |
Cohort size. |
pT.saf |
Highest toxicity probability that is deemed sub-therapeutic
such that dose-escalation should be pursued. The default value is
|
pT.tox |
Lowest toxicity probability that is deemed overly toxic such
that dose de-escalation is needed. The default value is
|
pE.saf |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (months). |
tau.E |
Efficacy assessment windows (months). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (months) (patient accrual rate per month). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when
|
n.elimination |
a minimum sample size for dose elimination. If the number
of patients treated at the current dose reaches |
stopping.npts |
Early study termination criteria for the number of
patients in the dose-escalation and backfill cohorts. If the number of
patients at the current dose reaches this criteria and the same dose level
is recommended as the next dose level, the study is terminated.
The default value is |
suspend |
The suspension rule that holds off the decision on dose
allocation for the dose-escalation cohort until sufficient toxicity
information is available. For example, setting as 0.33 which means one-third
of the patients had not completed the toxicity evaluation at the current dose
level in the dose escalation cohort. The default value |
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
ppsi01 |
Score for toxicity=yes and efficacy=no in utility defined by
scoring.The default value is |
ppsi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. The default value is |
ppsi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. The default value is |
ppsi10 |
Score for toxicity=no and efficacy=yes in utility defined by
scoring. The default value is |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
Details
The backboinet is a function which generates the operating
characteristics of the backfill bayesian optimal interval design using
efficacy and toxicity outcomes for dose optimization by a simulation study.
Users can specify a variety of study settings to simulate studies. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
Value
The backboinet returns a list containing the following components:
toxprob |
True toxicity probability. |
effprob |
True efficacy probability. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (months). |
tau.E |
Efficacy assessment windows (months). |
suspend |
The suspension rule that holds off the decision on dose allocation for the dose-escalation cohort until sufficient toxicity information is available. |
accrual |
Accrual rate (months) (patient accrual rate per month). |
n.patient |
Average number of patients who were treated at each dose level in dose-esclation and backfill cohorts |
n.bpatient |
Average number of back filled patients who were treated at each dose level |
n.tox.patient |
Average number of patients who experienced toxicity at each dose level in dose-esclation and backfill cohorts |
n.eff.patient |
Average number of patients who experienced efficacy at each dose level in dose-esclation and backfill cohorts |
n.tox.bpatient |
Average number of patients who experienced toxicity at each dose level in backfill cohort |
n.eff.bpatient |
Average number of patients who experienced efficacy at each dose level in backfill cohort |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose. |
prop.stop |
Percentage of times that the study was terminated. |
duration |
Expected study duration (months) |
totaln |
Total patients |
data.obs.n |
Record the number of patients in each dose level within the simulations during the trial |
obd |
Record the optimal dose in each simulation during the trial |
backfilltimes |
Record how may times we back-filled during the trial |
backfillcount |
Record the number of back-filled patients in dose level within the simulations during the trial |
PCS |
The percentage of trials that the optimal dose was correctly selected. |
PCA |
The percentage of patients that were correctly allocated to the optimal dose. |
PTS |
The percentage of toxic doses selection. |
PTA |
The percentage of patients who were allocated to toxic doses. |
References
Takeda, K., Zhu, J. and Hirakawa, A. (2025), BF-BOIN-ET: A Backfill Bayesian Optimal Interval Design Using Efficacy and Toxicity Outcomes for Dose Optimization. Pharmaceutical Statistics, 24: e2470. https://doi.org/10.1002/pst.2470
Examples
target_T=0.3
target_E=0.25
toxprob=c(0.03,0.05,0.2,0.22,0.45)
effprob=c(0.05,0.1,0.5,0.68,0.7)
## Not run:
get.oc.backboinet(target_T=target_T, toxprob=toxprob,target_E=target_E,
effprob=effprob,n.dose=5,startdose=1,ncohort=10,cohortsize=3,
pT.saf=0.6 * target_T,pT.tox = 1.4 * target_T,pE.saf = 0.6 * target_E,
alpha.T1=0.5,alpha.E1=0.5,tau.T=1,tau.E=1,te.corr=0.2,
gen.event.time="weibull",accrual=3,gen.enroll.time="uniform",n.elimination=6,
stopping.npts=12,suspend=0,stopping.prob.T=0.95,stopping.prob.E=0.90,
ppsi01=0,ppsi00=40,ppsi11=60,ppsi10=100,n.sim=2,seed.sim=100)
## End(Not run)
bfboinet_rp2
Description
Obtain the operating characteristics of a seamless two-stage phase I/II trial design with backfill and joint monitoring for dose optimization within fixed scenarios
Usage
get.oc.backboinet_rp2(
target_T = 0.3,
toxprob,
target_E = 0.25,
effprob,
n.dose,
startdose,
ncohort,
cohortsize,
pT.saf = 0.6 * target_T,
pT.tox = 1.4 * target_T,
pE.saf = 0.6 * target_E,
alpha.T1 = 0.5,
alpha.E1 = 0.5,
tau.T,
tau.E,
te.corr = 0.2,
gen.event.time = "weibull",
accrual,
gen.enroll.time = "uniform",
n.elimination = 6,
stopping.npts = 12,
suspend = 0,
stopping.prob.T = 0.95,
stopping.prob.E = 0.9,
Nesc = 36,
boundMTD = FALSE,
estpt.method,
obd.method,
w1 = 0.33,
w2 = 1.09,
plow.ast = pT.saf,
pupp.ast = pT.tox,
qlow.ast = pE.saf/2,
qupp.ast = target_E,
stage1.method,
H0,
H1,
nIA.sample,
nIA = length(nIA.sample),
method = "power",
t1e_optimal_pars,
lambda1_optimal_pars,
lambda2_optimal_pars,
grid1_optimal_pars,
gamma1_optimal_pars,
gamma2_optimal_pars,
grid2_optimal_pars,
eta1_optimal_pars,
eta2_optimal_pars,
grid3_optimal_pars,
ppsi01 = 0,
ppsi00 = 40,
ppsi11 = 60,
ppsi10 = 100,
n.sim = 1000,
seed.sim = 100
)
Arguments
target_T |
Target toxicity probability. The default value is
|
toxprob |
Vector of true toxicity probability. |
target_E |
The minimum required efficacy probability. The default value
is |
effprob |
Vector of true efficacy probability. |
n.dose |
Number of dose for stage 1. |
startdose |
Starting dose. The lowest dose is generally recommended. |
ncohort |
Number of cohort for stage 1. |
cohortsize |
Cohort size for stage 1. |
pT.saf |
Highest toxicity probability that is deemed sub-therapeutic
such that dose-escalation should be pursued. The default value is
|
pT.tox |
Lowest toxicity probability that is deemed overly toxic such
that dose de-escalation is needed. The default value is
|
pE.saf |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (months). |
tau.E |
Efficacy assessment windows (months). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (months) (patient accrual rate per month). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when
|
n.elimination |
to avoid allocating patients to severely toxic doses,
dose elimination criteria are applied before the dose allocation decision when
n treated at the current dose reaches |
stopping.npts |
Early study termination criteria for the number of
patients in the dose-escalation and backfill cohorts. If the number of
patients at the current dose reaches this criteria and the same dose level
is recommended as the next dose level, the study is terminated.
The default value is |
suspend |
The suspension rule that holds off the decision on dose
allocation for the dose-escalation cohort until sufficient toxicity
information is available. For example, setting as 0.33 which means one-third
of the patients had not completed the toxicity evaluation at the current dose
level in the dose escalation cohort. The default value |
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
Nesc |
the total number of patients () in the dose-escalation cohort (Stage 1) reaches
the maximum total number of patients in the dose-escalation cohort ( |
boundMTD |
set |
estpt.method |
Method to estimate the efficacy probability. Fractional
polynomial logistic regression is used when |
obd.method |
Method to select the optimal biological dose. Utility
defined by weighted function is used when |
w1 |
Weight for toxicity-efficacy trade-off in utility defined by
weighted function. This must be specified when using
|
w2 |
Weight for penalty imposed on toxic doses in utility defined by
weighted function. This must be specified when using
|
plow.ast |
Lower threshold of toxicity linear truncated function. This
must be specified when using |
pupp.ast |
Upper threshold of toxicity linear truncated function. This
must be specified when using |
qlow.ast |
Lower threshold of efficacy linear truncated function. This
must be specified when using |
qupp.ast |
Upper threshold of efficacy linear truncated function. This
must be specified when using |
stage1.method |
Method to patient assignment for backfilling patients.
Pick-the-winner is used when |
H0 |
Stage 2: A numeric value for the response rate under the null hypothesis (toxicity - OR, no toxicity - OR, toxicity - no OR, no toxicity - No OR). |
H1 |
Stage 2: A numeric value for the response rate under the alternative hypothesis. |
nIA.sample |
Stage 2: A numeric vector representing the additional patients enrolled at each interim analysis. The value at index 'i' indicates the number of patients at interim analysis 'i'. For example, for four interim analyses with total sample sizes of 10, 15, 20, and 30, the vector would be represented as 'n = c(10, 15, 20, 30)'. |
nIA |
Stage 2: A numeric value for the number of interim analysis. The default value is |
method |
Stage 2: A character string specifying the method to use for calculating cutoff values for the efficacy stopping. Options are "power" (default) or "OF" for "O'Brien-Fleming". |
t1e_optimal_pars |
Stage 2: Desired Type - I error rate. If specified it will only return results with type I error rate less the specified value. |
lambda1_optimal_pars |
Stage 2: Starting value for 'lambda' values to search. |
lambda2_optimal_pars |
Stage 2: Ending value for 'lambda' values to search. |
grid1_optimal_pars |
Stage 2: Number of 'lambda' values to consider between lambda1 and lambda2. A fine grid by 0.01 is recommended. |
gamma1_optimal_pars |
Stage 2: Starting value for 'gamma' values to search. |
gamma2_optimal_pars |
Stage 2: Ending value for 'gamma' values to search. |
grid2_optimal_pars |
Stage 2: Number of 'gamma' values to consider between gamma1 and gamma2. A fine grid by 0.01 is recommended. |
eta1_optimal_pars |
Stage 2: Starting value for 'eta' values to search. |
eta2_optimal_pars |
Stage 2: Ending value for 'eta' values to search. |
grid3_optimal_pars |
Stage 2: Number of eta values to consider between eta1 and eta2. A fine grid by 0.01 is recommended. |
ppsi01 |
Score for toxicity=yes and efficacy=no in utility defined by
scoring.The default value is |
ppsi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. The default value is |
ppsi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. The default value is |
ppsi10 |
Score for toxicity=no and efficacy=yes in utility defined by
scoring. The default value is |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
Details
The bfboinet_rp2 is a function which generates the operating
characteristics of the seamless two-stage Phase I/II trial design integrating
dose optimization with efficacy evaluation by a simulation study.
Users can specify a variety of study settings to simulate studies. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
Value
The get.oc.backboinet_rp2 returns a list containing the following components:
toxprob |
True toxicity probability. |
effprob |
True efficacy probability. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (months). |
tau.E |
Efficacy assessment windows (months). |
suspend |
The suspension rule that holds off the decision on dose allocation for the dose-escalation cohort until sufficient toxicity information is available. |
accrual |
Accrual rate (months) (patient accrual rate per month). |
n.patient.all |
Average number of patients who were treated at each dose level at stage 1 and stage 2. |
nptsdosepct.all |
The percentage of patients who were treated at each dose level at stage 1 and stage 2. |
n.tox.patient.all |
Average number of patients who experienced toxicity at each dose level at stage 1 and stage 2. |
n.eff.patient.all |
Average number of patients who experienced efficacy at each dose level at stage 1 and stage 2. |
n.patient.stage2 |
Average number of patients who were treated at each dose level at stage 2. |
n.bpatient |
Average number of back filled patients who were treated at each dose level at stage 1. |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose at stage 1 and stage 2. |
MTD.select |
Percentage of times that each dose level was selected as maximum tolerated dose at stage 1 and stage 2. |
claim.select |
Percentage of times that each dose level was claimed efficacy at stage 1 and stage 2. |
prop.stop |
Percentage of times that the study was terminated at stage 1. |
duration |
Expected study duration (months) at stage 1 and stage 2. |
duration1 |
Expected study duration (months) at stage 1. |
duration2 |
Expected study duration (months) at stage 2. |
totaln |
Total patients at stage 1 and stage 2. |
data.obs.n |
Record the number of patients in each dose level within the simulations during the trial at stage 1 and stage 2. |
data.obs.n.stage2 |
Record the number of patients in each dose level within the simulations during the trial at stage 2. |
data.obs.n.stage1 |
Record the number of patients in each dose level within the simulations during the trial at stage 1. |
obd |
Record the optimal dose in each simulation during the trial at stage 1 and stage 2. |
claim |
Record the optimal dose with efficacy in each simulation during the trial at stage 1 and stage 2. |
PCS |
The percentage of trials that the optimal dose was correctly selected at stage 1 and stage 2. |
PCC |
The percentage of patients that efficacy were correctly allocated to the optimal dose at stage 1 and stage 2. |
PTS |
The percentage of toxic doses selection at stage 1 and stage 2. |
PTA |
The percentage of patients who were allocated to toxic doses at stage 1 and stage 2. |
boundary_tab.all.out |
Futility and efficacy stopping boundaries at stage 2. |
lambda |
Lambda values for cut-off probabilitys at stage 2. |
gamma |
Gamma values for cut-off probability at stage 2. |
eta |
Eta values for cut-off probability at stage 2. |
References
A seamless two-stage phase I/II trial design with backfill and joint efficacy and toxicity monitoring as described in (Takeda et al (2026) <doi:10.1002/pst.70092>.
Examples
target_T=0.3
target_E=0.25
pttt=c(0.02, 0.05, 0.07, 0.10, 0.15)
pee=c(0.05, 0.08, 0.15, 0.30, 0.45)
#####Stage 2####;
H0=c(0.10, 0.15, 0.30, 0.45)
H1=c(0.05, 0.45, 0.15, 0.35)
nIA.sample=c(24,30,36,42,48)
nIA=length(nIA.sample)
t1e_optimal_pars=0.1
lambda1_optimal_pars=0
lambda2_optimal_pars=1
grid1_optimal_pars=101
gamma1_optimal_pars=0
gamma2_optimal_pars=1
grid2_optimal_pars=101
eta1_optimal_pars=0
eta2_optimal_pars=3
grid3_optimal_pars=301
## Not run:
get.oc.backboinet_rp2(target_T=target_T, toxprob=pttt,target_E=target_E,effprob=pee,n.dose=5,
startdose=1,ncohort=40,cohortsize=3,pT.saf=0.6 * target_T,pT.tox = 1.4 * target_T,
pE.saf = 0.6 * target_E,alpha.T1=0.5,alpha.E1=0.5,tau.T=1,tau.E=1,te.corr=0.2,
gen.event.time="weibull",accrual=3,gen.enroll.time="uniform",n.elimination=6,
stopping.npts=12,suspend=0,stopping.prob.T=0.95,stopping.prob.E=0.90,Nesc=36,
boundMTD = FALSE,estpt.method="obs.prob", obd.method="utility.scoring",
w1= 0.33, w2=1.09,plow.ast=pT.saf, pupp.ast=pT.tox, qlow.ast=pE.saf/2, qupp.ast=target_E,
stage1.method="ER",H0=H0,H1=H1,nIA.sample=nIA.sample,nIA=length(nIA.sample),
t1e_optimal_pars=t1e_optimal_pars,lambda1_optimal_pars=lambda1_optimal_pars,
lambda2_optimal_pars=lambda2_optimal_pars,grid1_optimal_pars=grid1_optimal_pars,
gamma1_optimal_pars=gamma1_optimal_pars,gamma2_optimal_pars=gamma2_optimal_pars,
grid2_optimal_pars=grid2_optimal_pars,eta1_optimal_pars=eta1_optimal_pars,
eta2_optimal_pars=eta2_optimal_pars,grid3_optimal_pars=grid3_optimal_pars,
ppsi01=0,ppsi00=40,ppsi11=60, ppsi10=100,n.sim=1,seed.sim=100)
## End(Not run)
backboinetr
Description
Obtain the operating characteristics of the backfill bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization within random scenarios
Usage
get.oc.backboinetr(
target_T = 0.3,
target_Tr = 0.359,
target_E = 0.25,
target_Er = 0.197,
n.dose,
startdose,
ncohort,
cohortsize,
pT.saf = 0.6 * target_T,
pT.tox = 1.4 * target_T,
pE.saf = 0.6 * target_E,
alpha.T1 = 0.5,
alpha.E1 = 0.5,
tau.T,
tau.E,
te.corr = 0.2,
gen.event.time = "weibull",
accrual,
gen.enroll.time = "uniform",
n.elimination = 6,
stopping.npts = 12,
suspend = 0,
stopping.prob.T = 0.95,
stopping.prob.E = 0.9,
ppsi01 = 0,
ppsi00 = 40,
ppsi11 = 60,
ppsi10 = 100,
n.sim = 10000,
seed.sim = 30
)
Arguments
target_T |
Target toxicity probability. The default value is
|
target_Tr |
The upper boundary for the toxicity when generating the
random scenarios. The default value is |
target_E |
The minimum required efficacy probability. The default value
is |
target_Er |
The lower boundary for the efficacy when generating the
random scenarios. The default value is |
n.dose |
Number of dose. |
startdose |
Starting dose. The lowest dose is generally recommended. |
ncohort |
Number of cohort. |
cohortsize |
Cohort size. |
pT.saf |
Highest toxicity probability that is deemed sub-therapeutic
such that dose-escalation should be pursued. The default value is
|
pT.tox |
Lowest toxicity probability that is deemed overly toxic such
that dose de-escalation is needed. The default value is
|
pE.saf |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (months). |
tau.E |
Efficacy assessment windows (months). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (months) (patient accrual rate per month). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when
|
n.elimination |
a minimum sample size for dose elimination. If the number
of patients treated at the current dose reaches |
stopping.npts |
Early study termination criteria for the number of
patients in the dose-escalation and backfill cohorts. If the number of
patients at the current dose reaches this criteria and the same dose level
is recommended as the next dose level, the study is terminated.
The default value is |
suspend |
the suspension rule that holds off the decision on dose
allocation for the dose-escalation cohort until sufficient toxicity
information is available. For example, setting as 0.33 which means one-third
of the patients had not completed the toxicity evaluation at the current dose
level in the dose escalation cohort. The default value |
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
ppsi01 |
Score for toxicity=yes and efficacy=no in utility defined by
scoring.The default value is |
ppsi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. The default value is |
ppsi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. The default value is |
ppsi10 |
Score for toxicity=no and efficacy=yes in utility defined by
scoring. The default value is |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
Details
The backboinetr is a function which generates the operating
characteristics of the backfill bayesian optimal interval design using
efficacy and toxicity outcomes for dose optimization by a simulation study.
Users can specify a variety of study settings to simulate studies. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
Value
The backboinetr returns a list containing the following components:
toxprob |
The random true toxicity probability. |
effprob |
The random true efficacy probability. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
target_Tr |
The upper boundary for the toxicity when generating the random scenarios. |
target_Er |
The lower boundary for the efficacy when generating the random scenarios. |
bd.true |
The target optimal dose (OD) level when generating the random scenarios. |
mtd.true |
The maximum tolerated dose (MTD) level when generating the random scenarios. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (months). |
tau.E |
Efficacy assessment windows (months). |
suspend |
The suspension rule that holds off the decision on dose allocation for the dose-escalation cohort until sufficient toxicity information is available. |
accrual |
Accrual rate (months) (patient accrual rate per month). |
n.patient |
Average number of patients who were treated at each dose level in dose-esclation and backfill cohorts |
n.bpatient |
Average number of back filled patients who were treated at each dose level |
n.tox.patient |
Average number of patients who experienced toxicity at each dose level in dose-esclation and backfill cohorts |
n.eff.patient |
Average number of patients who experienced efficacy at each dose level in dose-esclation and backfill cohorts |
n.tox.bpatient |
Average number of patients who experienced toxicity at each dose level in backfill cohort |
n.eff.bpatient |
Average number of patients who experienced efficacy at each dose level in backfill cohort |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose. |
prop.stop |
Percentage of times that the study was terminated. |
duration |
Expected study duration (months) |
totaln |
Total patients |
data.obs.n |
Record the number of patients in each dose level within the simulations during the trial |
obd |
Record the optimal dose in each simulation during the trial |
backfilltimes |
Record how may times we back-filled during the trial |
backfillcount |
Record the number of back-filled patients in dose level within the simulations during the trial |
PCS |
The percentage of trials that the optimal dose was correctly selected. |
PCA |
The percentage of patients that were correctly allocated to the optimal dose. |
PTS |
The percentage of toxic doses selection. |
PTA |
The percentage of patients who were allocated to toxic doses. |
References
Takeda, K., Zhu, J. and Hirakawa, A. (2025), BF-BOIN-ET: A Backfill Bayesian Optimal Interval Design Using Efficacy and Toxicity Outcomes for Dose Optimization. Pharmaceutical Statistics, 24: e2470. https://doi.org/10.1002/pst.2470
Examples
target_T=0.3
target_E=0.25
## Not run:
get.oc.backboinetr(target_T=target_T,target_Tr=0.359,target_E=target_E,
target_Er=0.197,n.dose=5,startdose=1,ncohort=10,cohortsize=3,
pT.saf=0.6 * target_T,pT.tox = 1.4 * target_T,pE.saf = 0.6 * target_E,
alpha.T1=0.5,alpha.E1=0.5,tau.T=1,tau.E=1,te.corr=0.2,
gen.event.time="weibull",accrual=3,gen.enroll.time="uniform",n.elimination=6,
stopping.npts=12,suspend=0,stopping.prob.T=0.95,stopping.prob.E=0.90,
ppsi01=0,ppsi00=40,ppsi11=60,ppsi10=100,n.sim=2,seed.sim=30)
## End(Not run)
select_mtd
Description
Obtain the maximum tolerated dose (MTD) of the backfill bayesian optimal interval design using efficacy and toxicity outcomes.
Usage
select_mtd(
target = 0.3,
npts,
ntox,
cutoff.eli = 0.95,
extrasafe = FALSE,
offset = 0.05,
p.tox = 1.4 * target,
boundMTD = FALSE,
n.elimination = 3
)
Arguments
target |
Target toxicity probability. The default value is |
npts |
The number of patients enrolled at each dose level. |
ntox |
Number of patients with dose limiting toxicity (DLT). |
cutoff.eli |
The cutoff to eliminate an overly toxic dose for safety.
We recommend the default value of ( |
extrasafe |
Set |
offset |
A small positive number (between 0 and 0.5) to control how strict the
stopping rule is when |
p.tox |
the lowest toxicity probability that is deemed overly toxic such
that deescalation is required. The default value is |
boundMTD |
set |
n.elimination |
The sample size cutoff for elimination.
The default is |
Value
select_mtd() returns the selected dose.
References
1. Liu S. and Yuan, Y. (2015). Bayesian optimal interval designs for phase I clinical trials, Journal of the Royal Statistical Society: Series C , 64, 507-523. 2. Yuan, Y., Hess, K. R., Hilsenbeck, S. G., & Gilbert, M. R. (2016). Bayesian optimal interval design: a simple and well-performing design for phase I oncology trials. Clinical Cancer Research, 22(17), 4291-4301. 3. Zhou, H., Yuan, Y., & Nie, L. (2018). Accuracy, safety, and reliability of novel phase I trial designs. Clinical Cancer Research, 24(18), 4357-4364. 4. Zhou, Y., Lin, R., Kuo, Y. W., Lee, J. J., & Yuan, Y. (2021). BOIN Suite: A Software Platform to Design and Implement Novel Early-Phase Clinical Trials. JCO Clinical Cancer Informatics, 5, 91-101. 5. Takeda K, Xia Q, Liu S, Rong A. TITE-gBOIN: Time-to-event Bayesian optimal interval design to accelerate dose-finding accounting for toxicity grades. Pharm Stat. 2022 Mar;21(2):496-506. doi: 10.1002/pst.2182. Epub 2021 Dec 3. PMID: 34862715. 6. Yuan, Y., Lin, R., Li, D., Nie, L. and Warren, K.E. (2018). Time-to-event Bayesian Optimal Interval Design to Accelerate Phase I Trials. Clinical Cancer Research, 24(20): 4921-4930. 7. Rongji Mu, Ying Yuan, Jin Xu, Sumithra J. Mandrekar, Jun Yin, gBOIN: A Unified Model-Assisted Phase I Trial Design Accounting for Toxicity Grades, and Binary or Continuous End Points, Journal of the Royal Statistical Society Series C: Applied Statistics, Volume 68, Issue 2, February 2019, Pages 289–308, https://doi.org/10.1111/rssc.12263. 8. Lin R, Yuan Y. Time-to-event model-assisted designs for dose-finding trials with delayed toxicity. Biostatistics. 2020 Oct 1;21(4):807-824. doi: 10.1093/biostatistics/kxz007. PMID: 30984972; PMCID: PMC8559898. 9. Hsu C, Pan H, Mu R (2022). _UnifiedDoseFinding: Dose-Finding Methods for Non-Binary Outcomes_. R package version 0.1.9, <https://CRAN.R-project.org/package=UnifiedDoseFinding>.
Examples
target<-0.3
y<-c(0,0,1,2,3,0)
n<-c(3,3,6,9,9,0)
select_mtd(target=target,npts=n,ntox=y)