Title: | Backfill Bayesian Optimal Interval Design Using Efficacy and Toxicity |
---|---|
Description: | The backfill Bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization (BF-BOIN-ET) design is a novel clinical trial design to allow patients to be backfilled at lower doses during a dose-finding trial while prioritizing the dose-escalation cohort to explore a higher dose. The advantages compared to the other designs in terms of the percentage of correct optimal dose (OD) selection, reducing the sample size, and shortening the duration of the trial, in various realistic setting. |
Authors: | Jing Zhu [cre, aut], Kentaro Takeda [aut] |
Maintainer: | Jing Zhu <[email protected]> |
License: | GPL-3 |
Version: | 0.2.0 |
Built: | 2025-03-12 05:47:12 UTC |
Source: | https://github.com/cran/bfboinet |
Obtain the operating characteristics of the backfill bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization within fixed scenarios
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.earlystop = 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 )
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.earlystop = 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 )
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.earlystop |
the early stopping parameter. 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
|
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.
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 |
n.bpatient |
Average number of back filled patients who were treated at each dose level |
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. |
BF-BOIN-ET: A backfill Bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization.
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) 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.earlystop=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)
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) 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.earlystop=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)
Obtain the operating characteristics of the backfill bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization within random scenarios
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.earlystop = 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 )
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.earlystop = 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 )
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.earlystop |
the early stopping parameter. 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
|
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.
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). |
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. |
BF-BOIN-ET: A backfill Bayesian optimal interval design using efficacy and toxicity outcomes for dose optimization.
target_T=0.3 target_E=0.25 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.earlystop=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)
target_T=0.3 target_E=0.25 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.earlystop=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)