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

View source: R/CFO.next.R

CFO.nextR Documentation

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

Description

In the CFO design for phase I trials, the function is used to determine the dose movement based on the toxicity outcomes of the enrolled cohorts.

Usage

CFO.next(target, cys, cns, currdose, 
       prior.para = list(alp.prior = target, bet.prior = 1 - target),
       cutoff.eli = 0.95, early.stop = 0.95)

Arguments

target

the target DLT rate.

cys

the cumulative numbers of DLTs observed at the left, current, and right dose levels.

cns

the cumulative numbers of patients treated at the left, current, and right dose levels.

currdose

the current dose level.

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

The CFO design determines the dose level for the next cohort by assessing evidence from the current dose level and its adjacent levels. This evaluation is based on odds ratios denoted as O_k, where k = L, C, R represents left, current (central), and right dose levels. Additionally, we define \overline{O}_k = 1/O_k. The ratio O_C / \overline{O}_{L} indicates the inclination for de-escalation, while \overline{O}_C / O_R quantifies the tendency for escalation. Threshold values \gamma_L and \gamma_R are chosen to minimize the probability of making incorrect decisions. The decision process is summarized in Table 1 of Jin and Yin (2022). The early stopping and dose elimination rules are implemented to ensure patient safety. If the data suggest excessive toxicity at the current dose level, we exclude that dose level and those higher levels. If the lowest dose level is overly toxic, the trial will be terminated according to the early stopping rule.

Value

The CFO.next() function returns a list object comprising the following elements:

  • target: the target DLT rate.

  • cys: the cumulative counts of DLTs observed at the left, current, and right dose levels.

  • cns: the cumulative counts of patients treated at the left, current, and right dose levels.

  • 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. nextdose = 99 indicates that the trial is terminated due to early stopping.

  • overtox: the situation regarding which positions experience 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.

  • toxprob: the expected toxicity probability, Pr(p_k > \phi | x_k, m_k), at the left, current, and right 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.

Note

When the current dose level is the lowest or highest (i.e., at the boundary), the parts in cys and cns where there is no data are filled with NA.
The dose level indicated by overtox and all the dose levels above experience over-toxicity, and these dose levels will be eliminated.

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.

Examples

## determine the dose level for the next cohort of new patients
cys <- c(0, 1, 0); cns <- c(3, 6, 0)
decision <- CFO.next(target=0.2, cys=cys, cns=cns, currdose=3)
summary(decision)

cys <- c(NA, 3, 0); cns <- c(NA, 3, 0)
decision <- CFO.next(target=0.2, cys=cys, cns=cns, currdose=1)
summary(decision)

cys <- c(0, 3, NA); cns <- c(3, 3, NA)
decision <- CFO.next(target=0.2, cys=cys, cns=cns, currdose=7)
summary(decision)


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

Related to CFO.next in CFO...