lateonset.next: Determination of the dose level for next cohort in the...

View source: R/lateonset.next.R

lateonset.nextR Documentation

Determination of the dose level for next cohort in the calibration-free odds type (CFO-type) design with late-onset toxicity for phase I trials

Description

Based on the toxicity outcomes of the enrolled cohorts, the function is used to determine the next dose level in the CFO-type designs with late-onset toxicity for phase I trials, specifically, including time-to-event CFO (TITE-CFO) design, fractional CFO (fCFO) design, benchmark CFO design, time-to-event accumulative CFO (TITE-aCFO) design, fractional aCFO (f-aCFO) design, and benchmark aCFO design.

Usage

lateonset.next(design, target, ndose, currdose, assess.window, enter.times, dlt.times, 
       current.t, doses, prior.para = list(alp.prior = target, bet.prior = 1 - target),
       cutoff.eli = 0.95, early.stop = 0.95)

Arguments

design

option for selecting different designs, which can be set as 'TITE-CFO', 'TITE-aCFO', 'fCFO', 'f-aCFO', 'bCFO', and 'b-aCFO'. Specifically, 'bCFO' refers to the benchmark CFO design, and 'b-aCFO' denotes the benchmark aCFO design.

target

the target DLT rate.

ndose

the number of dose levels.

currdose

the current dose level.

assess.window

the maximal assessment window size.

enter.times

the time that each participant enters the trial.

dlt.times

the time to DLT for each subject in the trial. If no DLT occurs for a subject, dlt.times is set to 0.

current.t

the current time.

doses

the dose level for each subject in the trial.

prior.para

the prior parameters for a beta distribution, where set as list(alp.prior = target, bet.prior = 1 - target) by default, alp.prior and bet.prior represent the parameters of the prior distribution for the true DLT rate at any dose level. This prior distribution is specified as Beta(alpha.prior, beta.prior).

cutoff.eli

the cutoff to eliminate overly toxic doses for safety. We recommend the default value of cutoff.eli = 0.95 for general use.

early.stop

the threshold value for early stopping. The default value early.stop = 0.95 generally works well.

Details

Late-onset outcomes commonly occur in phase I trials involving targeted agents or immunotherapies. The TITE framework and fractional framework serve as two imputation methods to handle pending data related to late-onset outcomes. This approach extends the CFO, and aCFO designs to integrate time information for delayed outcomes, leading to the development of TITE-CFO, fCFO, TITE-aCFO, and f-aCFO designs.
In the TITE framework context, an assumption about the distribution of time to DLT must be pre-specified, whereas the fractional framework does not require justification for a specific distribution of the time to DLT. Consequently, fCFO, and f-aCFO adapt to a more diverse range of scenarios.
The function lateonset.next() also provides the option to execute the benchmark CFO and aCFO designs. These three methods await complete observation of toxicity outcomes for the previous cohorts before determining the next dose assignment. This enhances precision but comes at the expense of a prolonged trial duration.

Value

The lateonset.next() function returns

  • target: the target DLT rate.

  • decision: the decision in the CFO design, where left, stay, and right represent the movement directions, and stop indicates stopping the experiment.

  • currdose: the current dose level.

  • nextdose: the recommended dose level for the next cohort.

  • overtox: the situation regarding which position experiences over-toxicity. The dose level indicated by overtox and all the dose levels above experience over-toxicity. overtox = NA signifies that the occurrence of over-toxicity did not happen.

  • over.doses: a vector indicating whether the dose level (from the first to last dose level) is over-toxic or not (1 for yes).

  • toxprob: the expected toxicity probability, Pr(p_k > \phi | x_k, m_k), at all dose levels, where p_k, x_k, and m_k is the dose-limiting toxicity (DLT) rate, the numbers of observed DLTs, and the numbers of patients at dose level k. NA indicates that there are no patients at the corresponding dose level.

Author(s)

Jialu Fang, Ninghao Zhang, Wenliang Wang, and Guosheng Yin

References

Jin H, Yin G (2022). CFO: Calibration-free odds design for phase I/II clinical trials. Statistical Methods in Medical Research, 31(6), 1051-1066.
Jin H, Yin G (2023). Time‐to‐event calibration‐free odds design: A robust efficient design for phase I trials with late‐onset outcomes. Pharmaceutical Statistics, 22(5), 773–783.
Yin G, Zheng S, Xu J (2013). Fractional dose-finding methods with late-onset toxicity in phase I clinical trials. Journal of Biopharmaceutical Statistics, 23(4), 856-870.
Fang J, Yin G (2024). Fractional accumulative calibration‐free odds (f‐aCFO) design for delayed toxicity in phase I clinical trials. Statistics in Medicine.

Examples

target <- 0.2; ndose <- 7
enter.times<- c(0, 0.266, 0.638, 1.54, 2.48, 3.14, 3.32, 4.01, 4.39, 5.38, 5.76,
               6.54, 6.66, 6.93, 7.32, 7.66, 8.14, 8.74)
dlt.times<- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0.610, 0, 2.98, 0, 0, 1.95, 0, 0, 1.48)
current.t<- 9.41
doses<-c(1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 3, 3, 3, 4, 4, 4)
## determine the dose level for the next cohort using the TITE-CFO design
decision <- lateonset.next(design = 'TITE-CFO', target, ndose, currdose = 4, assess.window = 3,   
               enter.times, dlt.times, current.t, doses)
summary(decision)
## determine the dose level for the next cohort using the TITE-aCFO design
decision <- lateonset.next(design = 'TITE-aCFO', target, ndose, currdose = 4, assess.window = 3,   
               enter.times, dlt.times, current.t, doses)
summary(decision)
## determine the dose level for the next cohort using the f-CFO design
decision <- lateonset.next(design = 'fCFO', target, ndose, currdose = 4, assess.window = 3,  
               enter.times, dlt.times, current.t, doses)
summary(decision)
## determine the dose level for the next cohort using the f-aCFO design
decision <- lateonset.next(design = 'f-aCFO', target, ndose, currdose = 4, assess.window = 3,   
               enter.times, dlt.times, current.t, doses)
summary(decision)
## determine the dose level for the next cohort using the benchmark CFO design
decision <- lateonset.next(design = 'bCFO', target, ndose, currdose = 4, assess.window = 3,   
               enter.times, dlt.times, current.t, doses)
summary(decision)
## determine the dose level for the next cohort using the benchmark aCFO design
decision <- lateonset.next(design='b-aCFO', target, ndose, currdose = 4, assess.window = 3,   
               enter.times, dlt.times, current.t, doses)
summary(decision)


CFO documentation built on April 4, 2025, 2:34 a.m.

Related to lateonset.next in CFO...