Package 'boinet'

Title: Conduct Simulation Study of Bayesian Optimal Interval Design with BOIN-ET Family
Description: Bayesian optimal interval based on both efficacy and toxicity outcomes (BOIN-ET) design is a model-assisted oncology phase I/II trial design, aiming to establish an optimal biological dose accounting for efficacy and toxicity in the framework of dose-finding. Some extensions of BOIN-ET design are also available to allow for time-to-event efficacy and toxicity outcomes based on cumulative and pending data (time-to-event BOIN-ET: TITE-BOIN-ET), ordinal graded efficacy and toxicity outcomes (generalized BOIN-ET: gBOIN-ET), and their combination (TITE-gBOIN-ET). 'boinet' is a package to implement the BOIN-ET design family and supports the conduct of simulation studies to assess operating characteristics of BOIN-ET, TITE-BOIN-ET, gBOIN-ET, and TITE-gBOIN-ET, where users can choose design parameters in flexible and straightforward ways depending on their own application.
Authors: Yusuke Yamaguchi [aut, cre], Kentaro Takeda [aut]
Maintainer: Yusuke Yamaguchi <[email protected]>
License: MIT + file LICENSE
Version: 1.1.0
Built: 2024-12-23 06:18:56 UTC
Source: CRAN

Help Index


Conducting simulation study of BOIN-ET design

Description

Bayesian optimal interval design for dose finding based on both efficacy and toxicity outcomes (BOIN-ET design) is implemented under a scenario specified. 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.

Usage

boinet(
  n.dose, start.dose, size.cohort, n.cohort,
  toxprob, effprob,
  phi=0.3, phi1=phi*0.1, phi2=phi*1.4, delta=0.6, delta1=delta*0.6,
  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",
  stopping.npts=size.cohort*n.cohort,
  stopping.prob.T=0.95, stopping.prob.E=0.99,
  estpt.method, obd.method,
  w1= 0.33, w2=1.09,
  plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta,
  psi00=40, psi11=60,
  n.sim=1000, seed.sim=100)

Arguments

n.dose

Number of dose.

start.dose

Starting dose. The lowest dose is generally recommended.

size.cohort

Cohort size.

n.cohort

Number of cohort.

toxprob

Vector of true toxicity probability.

effprob

Vector of true efficacy probability.

phi

Target toxicity probability. The default value is phi=0.3.

phi1

Highest toxicity probability that is deemed sub-therapeutic such that dose-escalation should be pursued. The default value is phi1=phi*0.1.

phi2

Lowest toxicity probability that is deemed overly toxic such that dose de-escalation is needed. The default value is phi2=phi*1.4.

delta

Target efficacy probability. The default value is delta=0.6.

delta1

Minimum probability deemed efficacious such that the dose levels with less than delta1 are considered sub-therapeutic. The default value is delta1=delta*0.6.

alpha.T1

Probability that toxicity event occurs in the late half of toxicity assessment window. The default value is alpha.T1=0.5.

alpha.E1

Probability that efficacy event occurs in the late half of assessment window. The default value is alpha.E1=0.5.

tau.T

Toxicity assessment windows (days).

tau.E

Efficacy assessment windows (days).

te.corr

Correlation between toxicity and efficacy probability, specified as Gaussian copula parameter. The default value is te.corr=0.2.

gen.event.time

Method to generate the time to first toxicity and efficacy outcome. Weibull distribution is used when gen.event.time="weibull". Uniform distribution is used when gen.event.time="uniform". The default value is gen.event.time="weibull".

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

gen.enroll.time

Method to generate enrollment time. Uniform distribution is used when gen.enroll.time="uniform". Exponential distribution is used when gen.enroll.time="exponential". The default value is gen.enroll.time="uniform".

stopping.npts

Early study termination criteria for the number of patients. If the number of patients at the current dose reaches this criteria, the study is terminated. The default value is stopping.npts=size.cohort*n.cohort.

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 (phi) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.T=0.95.

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 (delta1) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.E=0.99.

estpt.method

Method to estimate the efficacy probability. Fractional polynomial logistic regression is used when estpt.method="fp.logistic". Model averaging of multiple unimodal isotopic regression is used when estpt.method="multi.iso". Observed efficacy probability is used when estpt.method="obs.prob".

obd.method

Method to select the optimal biological dose. Utility defined by weighted function is used when obd.method="utility.weighted". Utility defined by truncated linear function is used when obd.method="utility.truncated.linear". Utility defined by scoring is used when obd.method="utility.scoring". Highest estimated efficacy probability is used when obd.method="max.effprob".

w1

Weight for toxicity-efficacy trade-off in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w1=0.33.

w2

Weight for penalty imposed on toxic doses in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w2=1.09.

plow.ast

Lower threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is plow.ast=phi1.

pupp.ast

Upper threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is pupp.ast=phi2.

qlow.ast

Lower threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qlow.ast=delta1/2.

qupp.ast

Upper threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qupp.ast=delta.

psi00

Score for toxicity=no and efficacy=no in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi00=40.

psi11

Score for toxicity=yes and efficacy=yes in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi11=60.

n.sim

Number of simulated trial. The default value is n.sim=1000.

seed.sim

Seed for random number generator. The default value is seed.sim=100.

Details

The boinet is a function which generates the operating characteristics of the Bayesian Optimal Interval design based on toxicity and efficacy (BOIN-ET design) by a simulation study. Users can specify a variety of study settings to simulate studies, and choose methods to estimate the efficacy probability and to select the optimal biological dose. 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 boinet 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 (days).

tau.E

Efficacy assessment windows (days).

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

estpt.method

Method to estimate the efficacy probability.

obd.method

Method to select the optimal biological dose.

n.patient

Average number of 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 and optimal biological dose was not selected.

duration

Expected study duration (days)

References

Takeda K, Taguri M, Morita S. BOIN-ET: Bayesian optimal interval design for dose finding based on both efficacy and toxicity outcomes. Pharmaceutical Statistics 2018; 17(4):383-395.

Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.

Examples

n.dose      <- 6
start.dose  <- 1
size.cohort <- 3
n.cohort    <- 12

toxprob <- c(0.01,0.03,0.06,0.12,0.18,0.30)
effprob <- c(0.06,0.08,0.15,0.25,0.40,0.80)

phi   <- 0.33
delta <- 0.70

tau.T   <- 30
tau.E   <- 45
accrual <- 10

estpt.method <- "obs.prob"
obd.method   <- "max.effprob"

n.sim <- 10

boinet(
  n.dose=n.dose, start.dose=start.dose,
  size.cohort=size.cohort, n.cohort=n.cohort,
  toxprob=toxprob, effprob=effprob,
  phi=phi, delta=delta,
  tau.T=tau.T, tau.E=tau.E, accrual=accrual,
  estpt.method=estpt.method, obd.method=obd.method,
  n.sim=n.sim)

Fractional polynomial logistic regression

Description

Fractional polynomial (FP) logistic regression with two degrees of freedom is performed to estimate the efficacy probabilities. The Best fitting FP model is chosen by not taking into account the closed testing procedure.

Usage

fp.logit(obs, n, dose)

Arguments

obs

Number of patients with events.

n

Number of patients.

dose

Dose levels to be investigated.

Value

The fp.logit returns a vector of estimated probabilities for each dose level.


Conducting simulation study of gBOIN-ET design

Description

Generalized Bayesian optimal interval design for optimal dose-finding accounting for ordinal graded efficacy and toxicity (gBOIN-ET design) is implemented under a scenario specified. 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.

Usage

gboinet(
  n.dose, start.dose, size.cohort, n.cohort,
  toxprob, effprob, sev.weight, res.weight,
  phi, phi1=phi*0.1, phi2=phi*1.4, delta, delta1=delta*0.6,
  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",
  stopping.npts=size.cohort*n.cohort,
  stopping.prob.T=0.95, stopping.prob.E=0.99,
  estpt.method, obd.method,
  w1=0.33, w2=1.09,
  plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta,
  psi00=40, psi11=60,
  n.sim=1000, seed.sim=100)

Arguments

n.dose

Number of dose.

start.dose

Starting dose. The lowest dose is generally recommended.

size.cohort

Cohort size.

n.cohort

Number of cohort.

toxprob

Vector of true toxicity probability.

effprob

Vector of true efficacy probability.

sev.weight

Vector of weight for toxicity category.

res.weight

Vector of weight for efficacy category.

phi

Target toxicity probability.

phi1

Highest toxicity probability that is deemed sub-therapeutic such that dose-escalation should be pursued. The default value is phi1=phi*0.1.

phi2

Lowest toxicity probability that is deemed overly toxic such that dose de-escalation is needed. The default value is phi2=phi*1.4.

delta

Target efficacy probability.

delta1

Minimum probability deemed efficacious such that the dose levels with less than delta1 are considered sub-therapeutic. The default value is delta1=delta*0.6.

alpha.T1

Probability that toxicity event occurs in the late half of toxicity assessment window. The default value is alpha.T1=0.5.

alpha.E1

Probability that efficacy event occurs in the late half of assessment window. The default value is alpha.E1=0.5.

tau.T

Toxicity assessment windows (days).

tau.E

Efficacy assessment windows (days).

te.corr

Correlation between toxicity and efficacy probability, specified as Gaussian copula parameter. The default value is te.corr=0.2.

gen.event.time

Method to generate the time to first toxicity and efficacy outcome. Weibull distribution is used when gen.event.time="weibull". Uniform distribution is used when gen.event.time="uniform". The default value is gen.event.time="weibull".

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

gen.enroll.time

Method to generate enrollment time. Uniform distribution is used when gen.enroll.time="uniform". Exponential distribution is used when gen.enroll.time="exponential". The default value is gen.enroll.time="uniform".

stopping.npts

Early study termination criteria for the number of patients. If the number of patients at the current dose reaches this criteria, the study is terminated. The default value is stopping.npts=size.cohort*n.cohort.

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 (phi) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.T=0.95.

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 (delta1) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.E=0.99.

estpt.method

Method to estimate the efficacy probability. Fractional polynomial logistic regression is used when estpt.method="fp.logistic". Model averaging of multiple unimodal isotopic regression is used when estpt.method="multi.iso". Observed efficacy probability is used when estpt.method="obs.prob".

obd.method

Method to select the optimal biological dose. Utility defined by weighted function is used when obd.method="utility.weighted". Utility defined by truncated linear function is used when obd.method="utility.truncated.linear". Utility defined by scoring is used when obd.method="utility.scoring". Highest estimated efficacy probability is used when obd.method="max.effprob".

w1

Weight for toxicity-efficacy trade-off in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w1=0.33.

w2

Weight for penalty imposed on toxic doses in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w2=1.09.

plow.ast

Lower threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is plow.ast=phi1.

pupp.ast

Upper threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is pupp.ast=phi2.

qlow.ast

Lower threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qlow.ast=delta1/2.

qupp.ast

Upper threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qupp.ast=delta.

psi00

Score for toxicity=no and efficacy=no in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi00=40.

psi11

Score for toxicity=yes and efficacy=yes in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi11=60.

n.sim

Number of simulated trial. The default value is n.sim=1000.

seed.sim

Seed for random number generator. The default value is seed.sim=100.

Details

The gboinet is a function which generates the operating characteristics of the generalized Bayesian optimal interval design for optimal dose-finding accounting for ordinal graded efficacy and toxicity (gBOIN-ET design) by a simulation study. Users can specify a variety of study settings to simulate studies, and choose methods to estimate the efficacy probability and to select the optimal biological dose. 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 gboinet returns a list containing the following components:

toxprob

True toxicity probability.

effprob

True efficacy probability.

nETS

Normalized equivalent toxicity score.

nEES

Normalized equivalent efficacy score.

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 (days).

tau.E

Efficacy assessment windows (days).

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

estpt.method

Method to estimate the efficacy probability.

obd.method

Method to select the optimal biological dose.

n.patient

Average number of 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 and optimal biological dose was not selected.

duration

Expected study duration (days)

References

Takeda K, Morita S, Taguri M. gBOIN-ET: The generalized Bayesian optimal interval design for optimal dose-finding accounting for ordinal graded efficacy and toxicity in early clinical trials. Biometrical Journal 2022: 64(7):1178-1191.

Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.

Examples

n.dose      <- 6
start.dose  <- 1
size.cohort <- 3
n.cohort    <- 12

toxprob <- rbind(c(0.94,0.87,0.79,0.68,0.62,0.50),
                 c(0.05,0.10,0.15,0.20,0.20,0.20),
                 c(0.01,0.03,0.05,0.10,0.15,0.25),
                 c(0.00,0.00,0.01,0.02,0.03,0.05))
effprob <- rbind(c(0.64,0.52,0.45,0.35,0.20,0.05),
                 c(0.30,0.40,0.40,0.40,0.40,0.15),
                 c(0.05,0.05,0.10,0.15,0.20,0.35),
                 c(0.01,0.03,0.05,0.10,0.20,0.45))

sev.weight <- c(0.00,0.50,1.00,1.50)
res.weight <- c(0.00,0.25,1.00,3.00)

phi   <- 0.33
delta <- 0.70

tau.T   <- 30
tau.E   <- 45
accrual <- 10

estpt.method <- "obs.prob"
obd.method   <- "max.effprob"

n.sim <- 10

gboinet(
  n.dose=n.dose, start.dose=start.dose,
  size.cohort=size.cohort, n.cohort=n.cohort,
  toxprob=toxprob, effprob=effprob,
  sev.weight=sev.weight, res.weight=res.weight,
  phi=phi, delta=delta,
  tau.T=tau.T, tau.E=tau.E, accrual=accrual,
  estpt.method=estpt.method, obd.method=obd.method,
  n.sim=n.sim)

Grid search to find optimal threshold values of toxicity and efficacy interval

Description

Given non-informative prior probabilities of the six hypotheses, a grid search approach is used to find the optimal threshold values.

Usage

gridoptim(pi=rep(1/6,6), phi, phi1, phi2, delta, delta1, n=100)

Arguments

pi

Prior probability of 6 hypotheses. The default value is pi=rep(1/6,6).

phi

Target toxicity probability.

phi1

Lower bound of toxicity probability.

phi2

Upper bound of toxicity probability.

delta

Target efficacy probability.

delta1

Lower bound of efficacy probability.

n

Number of patients. The default value is n=100.

Value

The gridoptim returns optimal threshold values of upper and lower toxicity/efficacy boundaries used in dose-escalation procedure.

Examples

gridoptim(phi=0.33,phi1=0.033,phi2=0.462,delta=0.70,delta1=0.42);

Model averaging of multiple unimodal isotopic regression

Description

Given the location of the mode to be at each dose level, the unimodal isotonically transformed values are calculated. A frequentist model averaging approach is used to obtain the estimated efficacy probability.

Usage

multi.iso(obs, n)

Arguments

obs

Number of patients with events.

n

Number of patients.

Value

The multi.iso returns a vector of estimated probabilities for each dose level.


Optimal biological dose selection

Description

Optimal biological dose (OBD) is selected by a method specified.

Usage

obd.select(
  probt, probe, method,
  phi, phi1, phi2, delta, delta1,
  tterm, eterm, stopT, stopE,
  w1, w2,
  plow.ast, pupp.ast, qlow.ast, qupp.ast,
  psi00, psi11)

Arguments

probt

Estimated toxicity probability.

probe

Estimated efficacy probability.

method

Method used for OBD selection.

phi

Target toxicity probability.

phi1

Lower bound of toxicity probability.

phi2

Upper bound of toxicity probability.

delta

Target efficacy probability.

delta1

Lower bound of efficacy probability.

tterm

Probability of meeting toxicity stopping criteria.

eterm

Probability of meeting efficacy stopping criteria.

stopT

Toxicity stopping criteria.

stopE

Efficacy stopping criteria.

w1

Weight for toxicity-efficacy trade-off.

w2

Weight for penalty imposed on toxic doses.

plow.ast

Lower threshold of toxicity linear truncated function.

pupp.ast

Upper threshold of toxicity linear truncated function.

qlow.ast

Lower threshold of efficacy linear truncated function.

qupp.ast

Upper threshold of efficacy linear truncated function.

psi00

Score for toxicity=no and efficacy=no.

psi11

Score for toxicity=yes and efficacy=yes.

Value

The obd.select returns an optimal biological dose.


Print boinet

Description

Display key summary results from boinet.

Usage

## S3 method for class 'boinet'
print(x, ...)

Arguments

x

Object from boinet.

...

More options to pass to print.

Value

No return values. Key summary results from boinet are displayed with trial design settings.

See Also

boinet


Print gboinet

Description

Display key summary results from gboinet.

Usage

## S3 method for class 'gboinet'
print(x, ...)

Arguments

x

Object from gboinet.

...

More options to pass to print.

Value

No return values. Key summary results from gboinet are displayed with trial design settings.

See Also

gboinet


Print tite.boinet

Description

Display key summary results from tite.boinet.

Usage

## S3 method for class 'tite.boinet'
print(x, ...)

Arguments

x

Object from tite.boinet.

...

More options to pass to print.

Value

No return values. Key summary results from tite.boinet are displayed with trial design settings.

See Also

tite.boinet


Print tite.gboinet

Description

Display key summary results from tite.gboinet.

Usage

## S3 method for class 'tite.gboinet'
print(x, ...)

Arguments

x

Object from tite.gboinet.

...

More options to pass to print.

Value

No return values. Key summary results from tite.gboinet are displayed with trial design settings.

See Also

tite.gboinet


Conducting simulation study of TITE-BOIN-ET design

Description

Time-to-event Bayesian optimal interval design to accelerate dose-finding based on both efficacy and toxicity outcomes (TITE-BOIN-ET design) is implemented under a scenario specified. 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.

Usage

tite.boinet(
  n.dose, start.dose, size.cohort, n.cohort,
  toxprob, effprob,
  phi=0.3, phi1=phi*0.1, phi2=phi*1.4, delta=0.6, delta1=delta*0.6,
  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",
  stopping.npts=size.cohort*n.cohort,
  stopping.prob.T=0.95, stopping.prob.E=0.99,
  estpt.method, obd.method,
  w1= 0.33, w2=1.09,
  plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta,
  psi00=40, psi11=60,
  n.sim=1000, seed.sim=100)

Arguments

n.dose

Number of dose.

start.dose

Starting dose. The lowest dose is generally recommended.

size.cohort

Cohort size.

n.cohort

Number of cohort.

toxprob

Vector of true toxicity probability.

effprob

Vector of true efficacy probability.

phi

Target toxicity probability. The default value is phi=0.3.

phi1

Highest toxicity probability that is deemed sub-therapeutic such that dose-escalation should be pursued. The default value is phi1=phi*0.1.

phi2

Lowest toxicity probability that is deemed overly toxic such that dose de-escalation is needed. The default value is phi2=phi*1.4.

delta

Target efficacy probability. The default value is delta=0.6.

delta1

Minimum probability deemed efficacious such that the dose levels with less than delta1 are considered sub-therapeutic. The default value is delta1=delta*0.6.

alpha.T1

Probability that toxicity event occurs in the late half of toxicity assessment window. The default value is alpha.T1=0.5.

alpha.E1

Probability that efficacy event occurs in the late half of assessment window. The default value is alpha.E1=0.5.

tau.T

Toxicity assessment windows (days).

tau.E

Efficacy assessment windows (days).

te.corr

Correlation between toxicity and efficacy probability, specified as Gaussian copula parameter. The default value is te.corr=0.2.

gen.event.time

Method to generate the time to first toxicity and efficacy outcome. Weibull distribution is used when gen.event.time="weibull". Uniform distribution is used when gen.event.time="uniform". The default value is gen.event.time="weibull".

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

gen.enroll.time

Method to generate enrollment time. Uniform distribution is used when gen.enroll.time="uniform". Exponential distribution is used when gen.enroll.time="exponential". The default value is gen.enroll.time="uniform".

stopping.npts

Early study termination criteria for the number of patients. If the number of patients at the current dose reaches this criteria, the study is terminated. The default value is stopping.npts=size.cohort*n.cohort.

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 (phi) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.T=0.95.

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 (delta1) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.E=0.99.

estpt.method

Method to estimate the efficacy probability. Fractional polynomial logistic regression is used when estpt.method="fp.logistic". Model averaging of multiple unimodal isotopic regression is used when estpt.method="multi.iso". Observed efficacy probability is used when estpt.method="obs.prob".

obd.method

Method to select the optimal biological dose. Utility defined by weighted function is used when obd.method="utility.weighted". Utility defined by truncated linear function is used when obd.method="utility.truncated.linear". Utility defined by scoring is used when obd.method="utility.scoring". Highest estimated efficacy probability is used when obd.method="max.effprob".

w1

Weight for toxicity-efficacy trade-off in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w1=0.33.

w2

Weight for penalty imposed on toxic doses in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w2=1.09.

plow.ast

Lower threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is plow.ast=phi1.

pupp.ast

Upper threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is pupp.ast=phi2.

qlow.ast

Lower threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qlow.ast=delta1/2.

qupp.ast

Upper threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qupp.ast=delta.

psi00

Score for toxicity=no and efficacy=no in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi00=40.

psi11

Score for toxicity=yes and efficacy=yes in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi11=60.

n.sim

Number of simulated trial. The default value is n.sim=1000.

seed.sim

Seed for random number generator. The default value is seed.sim=100.

Details

The tite.boinet is a function which generates the operating characteristics of the time-to-event Bayesian optimal interval design to accelerate dose-finding based on both efficacy and toxicity outcomes (TITE-BOIN-ET design) by a simulation study. Users can specify a variety of study settings to simulate studies, and choose methods to estimate the efficacy probability and to select the optimal biological dose. 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 tite.boinet 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 (days).

tau.E

Efficacy assessment windows (days).

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

estpt.method

Method to estimate the efficacy probability.

obd.method

Method to select the optimal biological dose.

n.patient

Average number of 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 and optimal biological dose was not selected.

duration

Expected study duration (days)

References

Takeda K, Morita S, Taguri M. TITE-BOIN-ET: Time-to-event Bayesian optimal interval design to accelerate dose-finding based on both efficacy and toxicity outcomes. Pharmaceutical Statistics 2020; 19(3):335-349.

Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.

Examples

n.dose      <- 6
start.dose  <- 1
size.cohort <- 3
n.cohort    <- 12

toxprob <- c(0.01,0.03,0.06,0.12,0.18,0.30)
effprob <- c(0.06,0.08,0.15,0.25,0.40,0.80)

phi   <- 0.33
delta <- 0.70

tau.T   <- 30
tau.E   <- 45
accrual <- 10

estpt.method <- "obs.prob"
obd.method   <- "max.effprob"

n.sim <- 10

tite.boinet(
  n.dose=n.dose, start.dose=start.dose,
  size.cohort=size.cohort, n.cohort=n.cohort,
  toxprob=toxprob, effprob=effprob,
  phi=phi, delta=delta,
  tau.T=tau.T, tau.E=tau.E, accrual=accrual,
  estpt.method=estpt.method, obd.method=obd.method,
  n.sim=n.sim)

Conducting simulation study of TITE-gBOIN-ET design

Description

Time-to-event generalized Bayesian optimal interval design to accelerate dose-finding accounting for ordinal graded efficacy and toxicity outcomes (TITE-gBOIN-ET design) is implemented under a scenario specified. 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.

Usage

tite.gboinet(
  n.dose, start.dose, size.cohort, n.cohort,
  toxprob, effprob, sev.weight, res.weight,
  phi, phi1=phi*0.1, phi2=phi*1.4, delta, delta1=delta*0.6,
  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",
  stopping.npts=size.cohort*n.cohort,
  stopping.prob.T=0.95, stopping.prob.E=0.99,
  estpt.method, obd.method,
  w1=0.33, w2=1.09,
  plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta,
  psi00=40, psi11=60,
  n.sim=1000, seed.sim=100)

Arguments

n.dose

Number of dose.

start.dose

Starting dose. The lowest dose is generally recommended.

size.cohort

Cohort size.

n.cohort

Number of cohort.

toxprob

Vector of true toxicity probability.

effprob

Vector of true efficacy probability.

sev.weight

Vector of weight for toxicity category.

res.weight

Vector of weight for efficacy category.

phi

Target toxicity probability.

phi1

Highest toxicity probability that is deemed sub-therapeutic such that dose-escalation should be pursued. The default value is phi1=phi*0.1.

phi2

Lowest toxicity probability that is deemed overly toxic such that dose de-escalation is needed. The default value is phi2=phi*1.4.

delta

Target efficacy probability.

delta1

Minimum probability deemed efficacious such that the dose levels with less than delta1 are considered sub-therapeutic. The default value is delta1=delta*0.6.

alpha.T1

Probability that toxicity event occurs in the late half of toxicity assessment window. The default value is alpha.T1=0.5.

alpha.E1

Probability that efficacy event occurs in the late half of assessment window. The default value is alpha.E1=0.5.

tau.T

Toxicity assessment windows (days).

tau.E

Efficacy assessment windows (days).

te.corr

Correlation between toxicity and efficacy probability, specified as Gaussian copula parameter. The default value is te.corr=0.2.

gen.event.time

Method to generate the time to first toxicity and efficacy outcome. Weibull distribution is used when gen.event.time="weibull". Uniform distribution is used when gen.event.time="uniform". The default value is gen.event.time="weibull".

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

gen.enroll.time

Method to generate enrollment time. Uniform distribution is used when gen.enroll.time="uniform". Exponential distribution is used when gen.enroll.time="exponential". The default value is gen.enroll.time="uniform".

stopping.npts

Early study termination criteria for the number of patients. If the number of patients at the current dose reaches this criteria, the study is terminated. The default value is stopping.npts=size.cohort*n.cohort.

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 (phi) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.T=0.95.

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 (delta1) is larger than this criteria, the dose levels are eliminated from the study. The default value is stopping.prob.E=0.99.

estpt.method

Method to estimate the efficacy probability. Fractional polynomial logistic regression is used when estpt.method="fp.logistic". Model averaging of multiple unimodal isotopic regression is used when estpt.method="multi.iso". Observed efficacy probability is used when estpt.method="obs.prob".

obd.method

Method to select the optimal biological dose. Utility defined by weighted function is used when obd.method="utility.weighted". Utility defined by truncated linear function is used when obd.method="utility.truncated.linear". Utility defined by scoring is used when obd.method="utility.scoring". Highest estimated efficacy probability is used when obd.method="max.effprob".

w1

Weight for toxicity-efficacy trade-off in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w1=0.33.

w2

Weight for penalty imposed on toxic doses in utility defined by weighted function. This must be specified when using obd.method="utility.weighted". The default value is w2=1.09.

plow.ast

Lower threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is plow.ast=phi1.

pupp.ast

Upper threshold of toxicity linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is pupp.ast=phi2.

qlow.ast

Lower threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qlow.ast=delta1/2.

qupp.ast

Upper threshold of efficacy linear truncated function. This must be specified when using obd.method="utility.truncated.linear". The default value is qupp.ast=delta.

psi00

Score for toxicity=no and efficacy=no in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi00=40.

psi11

Score for toxicity=yes and efficacy=yes in utility defined by scoring. This must be specified when using obd.method="utility.scoring". The default value is psi11=60.

n.sim

Number of simulated trial. The default value is n.sim=1000.

seed.sim

Seed for random number generator. The default value is seed.sim=100.

Details

The tite.gboinet is a function which generates the operating characteristics of the time-to-event generalized Bayesian optimal interval design to accelerate dose-finding accounting for ordinal graded efficacy and toxicity outcomes (TITE-gBOIN-ET design) by a simulation study. Users can specify a variety of study settings to simulate studies, and choose methods to estimate the efficacy probability and to select the optimal biological dose. 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 tite.gboinet returns a list containing the following components:

toxprob

True toxicity probability.

effprob

True efficacy probability.

nETS

Normalized equivalent toxicity score.

nEES

Normalized equivalent efficacy score.

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 (days).

tau.E

Efficacy assessment windows (days).

accrual

Accrual rate (days) (average number of days necessary to enroll one patient).

estpt.method

Method to estimate the efficacy probability.

obd.method

Method to select the optimal biological dose.

n.patient

Average number of 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 and optimal biological dose was not selected.

duration

Expected study duration (days)

References

Takeda K, Yamaguchi Y, Taguri M, Morita S. TITE-gBOIN-ET: Time-to-event generalized Bayesian optimal interval design to accelerate dose-finding accounting for ordinal graded efficacy and toxicity outcomes. Biometrical Journal 2023 (in press).

Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.

Examples

n.dose      <- 6
start.dose  <- 1
size.cohort <- 3
n.cohort    <- 12

toxprob <- rbind(c(0.94,0.87,0.79,0.68,0.62,0.50),
                 c(0.05,0.10,0.15,0.20,0.20,0.20),
                 c(0.01,0.03,0.05,0.10,0.15,0.25),
                 c(0.00,0.00,0.01,0.02,0.03,0.05))
effprob <- rbind(c(0.64,0.52,0.45,0.35,0.20,0.05),
                 c(0.30,0.40,0.40,0.40,0.40,0.15),
                 c(0.05,0.05,0.10,0.15,0.20,0.35),
                 c(0.01,0.03,0.05,0.10,0.20,0.45))

sev.weight <- c(0.00,0.50,1.00,1.50)
res.weight <- c(0.00,0.25,1.00,3.00)

phi   <- 0.33
delta <- 0.70

tau.T   <- 30
tau.E   <- 45
accrual <- 10

estpt.method <- "obs.prob"
obd.method   <- "max.effprob"

n.sim <- 10

tite.gboinet(
  n.dose=n.dose, start.dose=start.dose,
  size.cohort=size.cohort, n.cohort=n.cohort,
  toxprob=toxprob, effprob=effprob,
  sev.weight=sev.weight, res.weight=res.weight,
  phi=phi, delta=delta,
  tau.T=tau.T, tau.E=tau.E, accrual=accrual,
  estpt.method=estpt.method, obd.method=obd.method,
  n.sim=n.sim)

Utility defined by scoring

Description

Given estimated toxicity and efficacy probabilities, the utility which is defined by scoring is calculated.

Usage

utility.scoring(probt, probe, psi00, psi11)

Arguments

probt

Estimated toxicity probability.

probe

Estimated efficacy probability.

psi00

Score for toxicity=no and efficacy=no.

psi11

Score for toxicity=yes and efficacy=yes.

Value

The utility.scoring returns a utility value defined by the scoring.


Utility defined by truncated linear function

Description

Given estimated toxicity and efficacy probabilities, the utility which is defined by truncated linear functions is Calculated.

Usage

utility.truncated.linear(probt, probe, tlow, tupp, elow, eupp)

Arguments

probt

Estimated toxicity probability

probe

Estimated efficacy probability

tlow

Lower threshold of toxicity linear truncated function.

tupp

Upper threshold of toxicity linear truncated function.

elow

Lower threshold of efficacy linear truncated function.

eupp

Upper threshold of efficacy linear truncated function.

Value

The utility.truncated.linear returns a utility value defined by the truncated linear functions.


Utility defined by weighted function

Description

Given estimated toxicity and efficacy probabilities, the utility which is defined by a weighted function is Calculated.

Usage

utility.weighted(probt, probe, w1, w2, tox.upper)

Arguments

probt

Estimated toxicity probability.

probe

Estimated efficacy probability.

w1

Weight for toxicity-efficacy trade-off.

w2

Weight for penalty imposed on toxic doses.

tox.upper

Upper bound of toxicity probability.

Value

The utility.weighted returns a utility value defined by the weighted function.