get.oc.obd.kb: Generate Operating Characteristics for OBD Finding

Description Usage Arguments Details Value References See Also Examples

View source: R/get.oc.obd.kb.R

Description

Generate operating characteristics for optimal biological dose (OBD) finding

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
get.oc.obd.kb(
  toxicity.low,
  toxicity.moderate,
  toxicity.high,
  efficacy.low,
  efficacy.moderate,
  efficacy.high,
  target.toxicity,
  target.efficacy,
  ncohort = 10,
  cohortsize = 3,
  n.early = 100,
  startdose = 1,
  p.true,
  q.true,
  ntrial = 1000,
  seed = 6,
  p1 = 0.15,
  p2 = 0.4,
  q1 = 0.3,
  q2 = 0.6,
  cutoff.eli.toxicity = 0.95,
  cutoff.eli.efficacy = 0.3,
  w1.toxicity = 0.33,
  w2.toxicity = 1.09,
  indicator = target.toxicity
)

Arguments

toxicity.low

the upper boundary for low toxicity interval

toxicity.moderate

the upper boundary for moderate toxicity interval

toxicity.high

the upper boundary for high toxicity interval

efficacy.low

the upper boundary for low efficacy interval

efficacy.moderate

the upper boundary for moderate efficacy interval

efficacy.high

the upper boundary for high efficacy interval

target.toxicity

the target toxicity rate

target.efficacy

the target efficacy rate

ncohort

the total number of cohorts

cohortsize

the cohortsize

n.early

the early stopping parameter. If the number of patients treated at the current dose reaches n.early, stop the trial and select the optimal biological dose (OBD) based on the observed data. The default value n.early=100 essentially turns off the type of early stopping

startdose

the starting dose level

p.true

a vector containing the true toxicity probabilities of the investigational dose levels

q.true

a vector containing the true efficacy probabilities of the investigational dose levels

ntrial

the total number of trials to be simulated

seed

the random seed for simulation

p1

the cutoff lower limit for safety utility function 1, described in the Details section.

p2

the cutoff upper limit for safety utility function 1, described in the Details section.

q1

the cutoff lower limit for efficacy utility function 1, described in the Details section.

q2

the cutoff upper limit for efficacy utility function 1, described in the Details section.

cutoff.eli.toxicity

the cutoff to eliminate a dose with unacceptable high toxicity for safety. We recommend the default value of (cutoff.eli.toxicity=0.95) for general use.

cutoff.eli.efficacy

the cutoff for the futility rule, the acceptable lowest efficacy. The recommended default value of (cutoff.eli.toxicity=0.3)

w1.toxicity

the weight for toxicity utility function 2 and 3,described in the Details section.

w2.toxicity

the weight for toxicity utility function 3, described in the Details section.

indicator

the indicator cutoff for utility function 3, described in the Details section.

Details

Large trials are simulated to characterize the operating characteristics of the KEYBOARD design under the prespecified true toxicity probabilities and true efficacy probabilities of the investigational doses. Dose assignment rule follows the rule described in the function get.decision.obd.kb().

There are stopping rules built in the KEYBOARD design:

  1. stop the trial if the lowest dose is eliminated from the trial due to high unacceptable toxicity.

  2. stop the trial if the number of patients treated at current dose is exceeds n.earlystop.

Value

get.oc.obd.kb() returns the operating characteristics of the KEYBOARD design as a list, including:

  1. selection percentage at each dose level using utility function 1 ($selpercent1),

  2. selection percentage at each dose level using utility function 2 ($selpercent2),

  3. selection percentage at each dose level using utility function 3 ($selpercent3),

  4. the number of patients treated at each dose level ($npatients),

  5. the number of dose limiting toxicities (DLTs) observed at each dose level ($ntox),

  6. the number of responders observed at each dose level ($neff),

  7. the average number of DLTs ($totaltox),

  8. the average number of responders ($totaleff),

  9. the average number of patients ($totaln),

  10. the percentage of early stopping without selecting the OBD using utility function 1 ($percentstop1),

  11. the percentage of early stopping without selecting the OBD using utility function 2 ($percentstop2),

  12. the percentage of early stopping without selecting the OBD using utility function 3 ($percentstop3),

  13. data.frame ($simu.setup) containing simulation parameters, such as target, p.true, etc.

References

Daniel H. Li, James B. Whitmore, Wentian Guo and Yuan Ji Toxicity and Efficacy Probability Interval Design for Phase I Adoptive Cell Therapy Dose-Finding Clinical Trials Clinical Cancer Research. 2017; 23:13-20. https://clincancerres.aacrjournals.org/content/23/1/13.long

Suyu Liu, Valen E. Johnson. A robust Bayesian dose-finding design for phase I/II clinical trials Biostatistics. 2016; 17:249-263. https://academic.oup.com/biostatistics/article/17/2/249/1744018

Yanhong Zhou, J. Jack Lee, Ying Yuan. A utility-based Bayesian optimal interval (U-BOIN) phase I/II design to identify the optimal biological dose for targeted and immune therapies Statistics in Medicine. 2019; 38:S5299-5316. https://onlinelibrary.wiley.com/doi/epdf/10.1002/sim.8361

See Also

Other single-agent phase I/II functions: get.decision.obd.kb(), get.decision.obd2.kb(), get.oc.obd2.kb(), select.obd.kb()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
toxicity.low <- 0.15
toxicity.moderate <- 0.25
toxicity.high <- 0.35
efficacy.low <- 0.25
efficacy.moderate <- 0.45
efficacy.high <- 0.65
p.true <-c(0.08,0.30,0.60,0.80)
q.true <- c(0.25,0.40,0.25,0.50)
oc.obd.kb <- get.oc.obd.kb(toxicity.low = toxicity.low,
             toxicity.moderate= toxicity.moderate,
             toxicity.high = toxicity.high,
             efficacy.low = efficacy.low,
             efficacy.moderate = efficacy.moderate,
             efficacy.high = efficacy.high,
             target.toxicity=target.toxicity,
             target.efficacy= target.efficacy,
             p.true= p.true, q.true= q.true)
oc.obd.kb
summary.kb(oc.obd.kb)
plot.kb(oc.obd.kb)
plot.kb(oc.obd.kb$selpercent1)
plot.kb(oc.obd.kb$selpercent2)
plot.kb(oc.obd.kb$selpercent3)
plot.kb(oc.obd.kb$npatients)
plot.kb(oc.obd.kb$ntox)
plot.kb(oc.obd.kb$neff)

hongyingsun1101/KEYBOARD documentation built on March 25, 2020, 2:42 a.m.