Package 'ordcrm'

Title: Likelihood-Based Continual Reassessment Method (CRM) Dose Finding Designs
Description: Provides the setup and calculations needed to run a likelihood-based continual reassessment method (CRM) dose finding trial and performs simulations to assess design performance under various scenarios. 3 dose finding designs are included in this package: ordinal proportional odds model (POM) CRM, ordinal continuation ratio (CR) model CRM, and the binary 2-parameter logistic model CRM. These functions allow customization of design characteristics to vary sample size, cohort sizes, target dose-limiting toxicity (DLT) rates, discrete or continuous dose levels, combining ordinal grades 0 and 1 into one category, and incorporate safety and/or stopping rules. For POM and CR model designs, ordinal toxicity grades are specified by common terminology criteria for adverse events (CTCAE) version 4.0. Function 'pseudodata' creates the necessary starting models for these 3 designs, and function 'nextdose' estimates the next dose to test in a cohort of patients for a target DLT rate. We also provide the function 'crmsimulations' to assess the performance of these 3 dose finding designs under various scenarios.
Authors: Emily V. Dressler, PhD Zhengyan Huang
Maintainer: Emily V. Dressler <[email protected]>
License: GPL (>= 2)
Version: 1.0.0
Built: 2024-12-17 06:53:50 UTC
Source: CRAN

Help Index


Simulations to Assess operating characteristics of proportional odds model (POM), continuation ratio (CR) Model, and binary CRM Designs

Description

This function performs simulations to assess design performance characteristics of the proportional odds model (POM), continuation ratio (CR) Model, and binary CRM likelihood-based dose finding designs. There are many different options in this function to vary sample size, cohort sizes, target dose-limiting toxicity (DLT) rates, true underlying dose-toxicity models, discrete or continuous dose levels, combining ordianl grades 0 and 1 into one category, and the design you wish to assess. Returns results collected over all simulations run for these specified safety and dose estimation performance criteria.

Usage

crmsimulations(startdose, numbersims, cohortsize = 3, samplesize = 30,
  pseudoweights = NA, stopearly = FALSE, stopearlynumber = NA, pseudotox,
  pseudodose, dosetox, truedosetoxmodeltype, design, targetDLT = 0.3,
  discrete = FALSE, discretedoses = NA, numberdltrule = NA,
  lowerlimitrule = NA, upperlimitrule = NA, dltrule = NA,
  increaserule = NA, minimum = NA, maximum = NA, combine01 = FALSE,
  rounddown = FALSE)

Arguments

startdose

Starting dose for a trial for a specified target DLT rate.

numbersims

Number of simulations you wish to run (We used 2000 simulations in our studies).

cohortsize

Number of patients treated in each cohort. Defaults to 3.

samplesize

Total sample size of each trial. Defaults to 30.

pseudoweights

Pseudoweights determine the amount of influence the pseudodata has on estimating the updated model. Please refer to Van Meter et al (2010) for more information. We suggest setting the pseudoweights equal to the cohortsize. When pseudoweights = X, the total pseudodata represent X individuals in the updated model. If not specified, pseudoweights defaults to cohortsize.

stopearly

True/False. Allows early stopping if a certain number of patients are treated at the same dose level and the model estimates the same dose to treat the next cohort. Must specify stopearlynumber when stopearly = TRUE. Defaults to FALSE.

stopearlynumber

Total number of patients treated at the same dose level before stopping. Must set stopearly = TRUE when a number is specified.

pseudotox

A vector of toxicity grades specified by the pseudodata.

pseudodose

A vector of dose levels specified by the pseudodata.

dosetox

Specifies the true underlying dose-toxicity relationship model. Please refer to Van Meter et al (2010) for specification of the POM and CR model. Assumes 5 toxicity categories as specified by CTCAEv4.0, i.e. grades 0, 1, 2, 3, and 4. Grade 5 toxicities (death directly related to an adverse event are not considered when running simulations).
If using a POM, it must be in the form: c(α1,β1,α2,β2,α3,β3,α4,β4\alpha1, \beta1, \alpha2, \beta2, \alpha3, \beta3, \alpha4, \beta4).
If using a CR model it must be in the form: c(α,γ0,θ1,γ1,θ2,γ2,θ3,γ3\alpha, \gamma0, \theta1, \gamma1, \theta2, \gamma2, \theta3, \gamma3). IMPORTANT! If combine01 is true, you still must specify the dosetox model in terms of grades 0, 1, 2, 3, and 4 for the simulations to run correctly!!!

truedosetoxmodeltype

Must specify what type of true underlying dose-toxicity model you are using. Choices are: POM, CR, or CRM.

design

Specifies which dose finding design you are running simulations on. Choices are: POM, CR, or CRM.

targetDLT

Target dose limiting toxicity (DLT) rate pre-specified by clinical investigators prior to the start of the trial. Must be specified between 0 and 1. Defaults to 0.30.

discrete

True/False. If discrete = TRUE this allows for discrete dose levels to be specified prior to the start of the trial. Defaults to FALSE

discretedoses

Specified discrete dose levels if desired. They must be specified if discrete is equal to TRUE. It is written for j dose levels as: c(d1, d2,..., dj).

numberdltrule

Number of dose limiting toxicities (DLTs) that would be considered excessively unsafe if observed in a cohort of patients. This would prompt the DLT constraint if there is one specified. Defaults to NA.

lowerlimitrule

If lowerlimitrule is specified, this constraint will stop the trial if the dose is estimated to be under a certain level as a safety precaution. Investigators may feel any dose under this lowerlimitrule would suggest excessive toxicity with this investigational drug and no true MTD may exist.
This can be specified as a dose level or percentage.
If lowerlimitrule <1 (percentage), it takes the range of possible data (maximum - minimum) and makes the lower bound when the trial would stop early as: minimum + (maximum - minimum)*lowerlimitrule.
If lowerlimitrule >1 (dose level) then the lower bound when the trial would stop early is the lowerlimitrule.

upperlimitrule

If upperlimitrule is specified, this constraint will stop the trial if the dose is estimated to be higher than a certain level.
If upperlimitrule <1 (percentage), it takes the range of possible data (maximum - minimum) and makes the upper bound when the trial would stop early as: maximum - (maximum - minimum)*upperlimitrule.
If upperlimitrule >1 (dose level) then the upper bound when the trial would stop early is the upperlimitrule.

dltrule

If the numberdltrule (i.e. 2 DLTs) occurs in the last cohort of patients tested, the next estimated dose must decrease by an amount specified by the dltrule. Defaults to NA.
If 0 < dltrule < 1 (percentage), with excessive DLTs in the last cohort, the next estimated dose must decrease by the dltrule (percentage) of the last tested dose level, i.e. (1-dltrule)*lastdose.
If dltrule >= 1 (dose level), with excessive DLTs in the last cohort the next estimated dose must decrease by dltrule dose level, i.e. lastdose-dltrule.

increaserule

If increaserule is specified, then the next estimated dose can only increase by an amount specified by the increaserule between tested cohorts. Defaults to NA.
If 0 < increaserule < 1 (percentage), the next dose can only increase to a maximum of lastdose*(1+increaserule).
If increaserule >= 1 (dose level), the next dose can only increase to a maximum of lastdose + increaserule.

minimum

Minimum dose that will be considered to test patients. Must be specified if lowerlimitrule<1.

maximum

Maximum dose that will be considered to test patients. Must be specified if upperlimitrule<1.

combine01

True/False. If combine01 = TRUE, toxicity grades 0 and 1 are combined into 1 category. Therefore all toxicities must be coded: 0 (grades 0 and 1), 1 (grade2), 2 (grade 3), and 3 (grade 4) according to CTCAEv4.0. Defaults to FALSE.

rounddown

True/False. Only applicable when using discrete dose levels.
If rounddown = TRUE, the estimate dose from specified model will round down to the more conservative discrete dose level.
If rounddown = FALSE, it will select the discrete dose closest to the estimated model selection. Defaults to FALSE.

Details

If using a POM CRM, this function assumes a proportional odds model as described by Harrell (Harrell, 2001). For combine01=FALSE, y equal to toxicity grade outcomes j in c(0, 1, 2, 3, 4) as specified by CTCAEv4.0, and x equal to the dose, this is written in the form:

P(y>=jx)=1/(1+exp((αj+βx))),j=1,2,3,4P(y>=j|x)=1/(1+exp(-(\alpha_j + \beta*x))), j = 1, 2, 3, 4


For combine01=TRUE, toxicity grades are now 0/1, 2, 3, and 4, and y is recoded as 0 = grades 0 and 1, 1 = grade 2, 2 = grade 3, and 3 = grade 4.

If using a CR model design, this function assumes a continuation ratio model as described by Harrell (Harrell, 2001). For combine01=FALSE, y equal to toxicity grade outcomes j in c(0, 1, 2, 3, 4) as specified by CTCAEv4.0, and x equal to the dose, this is written in the form:

P(y=jy>=j,x)=1/(1+exp((α+θj+γx))),j=0,1,2,3P(y=j|y>=j,x)=1/(1+exp(-(\alpha + \theta_j + \gamma*x))), j = 0, 1, 2, 3


For combine01=TRUE, toxicity grades are now 0/1, 2, 3, and 4, and y is recoded as 0 = grades 0 and 1, 1 = grade 2, 2 = grade 3, and 3 = grade 4.

If using a binary CRM, this assumes a standard 2-parameter logistic model. For y equal to toxicity outcome (1 is a DLT, 0 is not a DLT) and x equal to the dose, it is written in the form:

P(y=1x)=1/(1+exp((α+βx)))P(y=1|x)=1/(1+exp(-(\alpha + \beta*x)))


Estimated next dose is calculated by Pr(3 or 4 toxicity) <= targetDLT for the model utilized.

Value

Returns various safety and dose estimation performance statistics collected over all simulations. Please see the list below for details.

`Median Total Sample Size of Trials Not Stopped Early Due to Safety Concerns`

Median total sample size of trial for all simulations not stopped early due to ANY safety constraints.

`Patients per Cohort`

Pre-defined cohortsize

`Proportion of Trials Stopped Early Due to Safety Concerns`

Proportion of trials stopped early due to ANY safety constraints among all simulations.

`Proportion of Trials Stopped Early Used Constraint`

Proportion of trials stopped early due to any constraints while estimating the final dose for all simulations.

`Proportion of Trials Stopped Early Used the DLT Constraint`

Proportion of trials stopped early only due to the DLT constraint while estimating the final dose for all simulations.

`Proportion of Trials Stopped Early Used the Increase Constraint`

Proportion of trials stopped early only due to the increase constraint while estimating the final dose for all simulations.

`25% Quantile Sample Size`

25% quantile total Sample Size of trial for all simulations.

`75% Quantile Sample Size`

75% quantile total Sample Size of trial for all simulations.

`Median Dose`

Median dose estimated from all simulations.

`25% Quantile Dose`

25% quantile dose estimated from all simulations.

`75% Quantile Dose`

75% quantile dose estimated from all simulations.

`Percentage of Times Each Discrete Dose Level Was Selected`

This value is only returned when "discrete" is TRUE and "discretedoses" are pre-specified. Each discrete dose level has a percentage indicating the chance that the dose level been selected as the final estimated dose for all simulations.

`Median Percent Difference Between Estimated Dose and MTD`

Median difference in percentage between the final estimated dose and the true maximum tolerated dose (MTD) for all simulations.

`Median Expected DLT for the Final Estimated Dose`

Median expected DLT rate for the final estimated dose for all simulations.

`Median Sample Size For All Trials`

Median total sample size of trial for all simulations.

`Median % of patients in all trials treated at doses with >40% DLT rate`

Median percentage of patients in the trial treated at doses with a DLT rate larger than 40% for all simulations.

`Median % of patients in all trials treated at doses with >50% DLT rate`

Median percentage of patients in the trial treated at doses with a DLT rate larger than 50% for all simulations.

`Median % of patients in all trials treated at doses with <20% DLT rate`

Median percentage of patients in the trial treated at doses with a DLT rate less than 20% for all simulations.

`Median % of patients in all trials treated at doses with <10% DLT rate`

Median percentage of patients in the trial treated at doses with a DLT rate less than 10% for all simulations.

`Median Number of patients in all trials with a DLT (grade 3 or 4)`

Median number of patients in trial with a grade 3 or grade 4 DLT for all simulations.

`Median % of patients in all trials with a DLT (grade 3 or 4)`

Median percentage of patients in trial with a grade 3 or grade 4 DLT for all simulations.

`Median % of patients in all trials with grade 0 and 1`

Median percentage of patients in trial with a grade 1 or grade 2 DLT for all simulations.

`Median % of patients in all trials with a non-DLT (grade 1 or 2)`

Median percentage of patients in trial with a grade 1 or grade 2 non-DLT for all simulations.

`Median % of patients in all trials with no toxicity`

Median percentage of patients in trial without DLT for all simulations.

`Median % of patients in all trials with grade 1`

Median percentage of patients in trial with grade 1 DLT for all simulations.

`Median % of patients in all trials with grade 2`

Median percentage of patients in trial with grade 2 DLT for all simulations.

`Median % of patients in all trials with grade 3`

Median percentage of patients in trial with grade 3 DLT for all simulations.

`Median % of patients in all trials with grade 4`

Median percentage of patients in trial with grade 4 DLT for all simulations.

`Acutal MTD`

True MTD specified from dosetox.

`True MTD Discrete`

This value is only returned when "discrete" is TRUE and "discretedoses" are pre-specified. Rounds the "Acutal MTD" to the nearest pre-specified discrete dose.

Dose

A vector of final estimated dose from each simulation.

Listit

A matrix of estimated doses after each cohort for each simulation. For example, if "numbersims" is 5 and there are 10 cohorts in each trial, this will result in a 5*10 matrix.

Author(s)

Emily V. Dressler, PhD
Markey Cancer Center
Division of Cancer Biostatistics
University of Kentucky
[email protected]

References

1. Van Meter EM, Garrett-Mayer E, Bandyopadhyay D. Proportional odds model for dose finding clinical trial designs with ordinal toxicity grading. Statistics in Medicine 2011; 30: 2070-2080.
2. Van Meter EM, Garrett-Mayer E, Bandyopadhyay. Dose finding clinical trial design for ordinal toxicity grades using the continuation ratio model: an extension of the continual reassessment method. Clinical Trials 2012; 9(3): 303-313.
3. Garrett-Mayer E. The continual reassessment method for dose-finding studies: a tutorial. Clinical Trials 2006; 3: 57-71.
4. Piantadosi S, Fisher JD, Grossman S. Practical implementation of a modified continual reassessment method for dose-finding trials. Cancer Chemother Pharmacol 1998; 41: 429-436.
5. Harrell FE, Jr. Regression Modeling Strategies with Application to Linear Models, Logistic Regression, and Survival Analysis. Springer: New York, NY, 2001.
6. McCullagh P. Regression Models for Ordinal Data. Journal of the Royal Statistical Society. Series B (Methodological). 1980; 42: 109-142.
7. CTCAE. Cancer Therapy Evaluation Program, Common Terminology Criteria for Adverse Events, Version 4.0, DCTD, NCI, NIH, DHHS (http://ctep/cancer.gov). In Cancer Therapy Evaluation Program, 2010.

Examples

#Example 1
#Underlying True POM dosetox
truePO1<-c(-0.4, 0.0011, -1.3, 0.0011, -2.8, 0.0011, -3.9, 0.0011)
#POM Pseudodata
initial.pom.y1<-c(rep(0,45),rep(1,36),rep(2,9),rep(3,8),rep(4,2),rep(0,18),
rep(1,35),rep(2,17),rep(3,24),rep(4,6),rep(0,8),rep(1,24),rep(2,18),rep(3,38),
rep(4,12),rep(0,1),rep(1,4),rep(2,5),rep(3,35),rep(4,55))
initial.pom.d1<-c(rep(200,100),rep(1067,100),rep(1613,100),rep(3000,100))
#POM CRM Design Simulation run 10 times, with a true dosetox model equal to a POM
crmsimulations(startdose = 1060, numbersims = 10, cohortsize = 3, samplesize = 30,
pseudoweights = 3,pseudotox = initial.pom.y1, pseudodose = initial.pom.d1, dosetox = truePO1,
truedosetoxmodeltype = 'POM', design = 'POM', targetDLT = 0.30, discrete = FALSE,
discretedoses = NA, numberdltrule = NA, lowerlimitrule = NA, upperlimitrule = NA,
dltrule = NA, increaserule= NA, minimum = NA, maximum = NA, combine01 = FALSE)

#Example 2
#Underlying true POM dosetox
truePO1<-c(-0.4, 0.0011, -1.3, 0.0011, -2.8, 0.0011, -3.9, 0.0011) #POM 1#
#CR Model Pseudodata with Grades 0 and 1 combined into one category
combine.cr.y1<-c(rep(0,81),rep(1,9),rep(2,8),rep(3,2),
rep(0,55),rep(1,15),rep(2,26),rep(3,4),
rep(0,37),rep(1,13),rep(2,40),rep(3,10),
rep(0,5),rep(1,5),rep(2,35),rep(3,55))
initial.cr.d1<-c(rep(200,100),rep(934,100),rep(1467,100),rep(3000,100))
#CR Model CRM Design Simulation run 10 times, with a true dosetox model equal to a POM
crmsimulations(startdose = 1060, numbersims = 10, cohortsize = 3,
samplesize = 30, pseudoweights = 3,pseudotox = combine.cr.y1,
pseudodose = initial.cr.d1, dosetox = truePO1, truedosetoxmodeltype = 'POM',
design = 'CR', targetDLT = 0.30, discrete = FALSE, discretedoses = NA,
numberdltrule = NA, lowerlimitrule = NA, upperlimitrule = NA, dltrule = NA,
increaserule = NA, minimum = NA, maximum = NA, combine01 = TRUE)

#Example 3
#Underlying True CR dosetox
crmodel1<-c(1.58,-0.0018,-0.45,-0.0018,1.20,-0.0018,3.14,-0.0018) #CR Model 1#
#CRM Pseudodata
initial.crm.y1<-c(rep(0,90),rep(1,10),rep(0,70),rep(1,30),
rep(0,50),rep(1,50),rep(0,10),rep(1,90))
initial.crm.d1<-c(rep(200,100),rep(1060,100),rep(1600,100),rep(3000,100))
#Binary CRM Design Simulation run 10 times, with a true dosetox model equal to a CR
crmsimulations(startdose = 1060, numbersims = 10, cohortsize = 2,
samplesize = 20, pseudoweights = 3,pseudotox = initial.crm.y1,
pseudodose = initial.crm.d1, dosetox = crmodel1, truedosetoxmodeltype = 'CR',
design = 'CRM', targetDLT = 0.30, discrete=TRUE,
discretedoses=c(200,400,800,1200,1800,2500),
numberdltrule = NA, lowerlimitrule = NA, upperlimitrule = NA, dltrule = NA,
increaserule = NA, minimum = NA, maximum = NA, combine01 = FALSE)

Estimates the updated model and next dose to be tested for the Proportional Odds Model (POM), Continuation Ratio (CR) Model CRM, or binary 2-parameter logistic model CRM.

Description

This function incorporates pseudodata created in pseudodata with the collected cohorts of patient information and updates the fitted model selected (choice of POM, CR, or binary 2-parameter logistic model). Using this newly updated model, it then re-estimates the next dose to be tested for a specified target dose limiting toxicity (DLT) rate. It has the flexibility to add in various safety constraints and can accommodate continuous or discrete doses. This function also has to option to combine toxicity grades 0 and 1 as specified by CTCAEv4.0 into one category should clinical investigators wish to do so.

Usage

nextdose(design, pseudotox, pseudodose, collectedtox, collecteddose,
  cohortsize = 3, targetDLT = 0.3, pseudoweights = NA, discrete = FALSE,
  discretedoses = NA, rounddown = FALSE, numberdltrule = NA,
  lowerlimitrule = NA, upperlimitrule = NA, dltrule = NA,
  increaserule = NA, minimum = NA, maximum = NA, combine01 = FALSE,
  plotit = TRUE)

Arguments

design

Specifies which dose finding design you are running simulations on. Choices are: POM, CR, or CRM.

pseudotox

A vector of toxicity grades specified by the pseudodata.

pseudodose

A vector of dose levels specified by the pseudodata.

collectedtox

A vector of treated patient toxicity outcomes. For j patients treated up to this point in the trial, collecteddose is in the form: c(toxicity grade patient 1, ..., toxicity grade patient j).
If combine01 is false, toxicity grades range from 0, 1, 2, 3, and 4. If combine01 is true, toxicity grades are coded 0 (grades 0 and 1), 1 (grade 2), 2 (grade 3), and 3 (grade 4). Toxicity grades are specified according to CTCAEv4.0.

collecteddose

A vector of treated patient dose levels. For j patients treated up to this point in the trial, collecteddose is in the form: c(dose patient 1, ..., dose patient j).

cohortsize

Number of patients treated in a cohort. Defaults to 3.

targetDLT

Target dose limiting toxicity (DLT) rate pre-specified by clinical investigators prior to the start of the trial. Must be specified between 0 and 1. Defaults to 0.30.

pseudoweights

Pseudoweights determine the amount of influence the pseudodata has on estimating the updated model. Please refer to Van Meter et al (2010) for more information. We suggest setting the pseudoweights equal to the cohortsize. When pseudoweights = X, the total pseudodata represent X individuals in the updated model. If not specified, pseudoweights defaults to cohortsize. Must be specified between 0 and 1. Defaults to 0.30.

discrete

True/False. If discrete = TRUE this allows for discrete dose levels to be specified prior to the start of the trial. Defaults to FALSE.

discretedoses

Specified discrete dose levels if desired. They must be specified if discrete is equal to TRUE. It is written for j dose levels as: c(d1, d2,..., dj).

rounddown

True/False. Only applicable when using discrete dose levels.
If rounddown = TRUE, the estimate dose from specified model will round down to the more conservative discrete dose level.
If rounddown = FALSE, it will select the discrete dose closest to the estimated model selection. Defaults to FALSE.

numberdltrule

Number of dose limiting toxicities (DLTs) that would be considered excessively unsafe if observed in a cohort of patients. This would prompt the DLT constraint if there is one specified. Defaults to NA.

lowerlimitrule

If lowerlimitrule is specified, this constraint will stop the trial if the dose is estimated to be under a certain level as a safety precaution. Investigators may feel any dose under this lowerlimitrule would suggest excessive toxicity with this investigational drug and no true MTD may exist.
This can be specified as a dose level or percentage.
If lowerlimitrule <1 (percentage), it takes the range of possible data (maximum - minimum) and makes the lower bound when the trial would stop early as: minimum + (maximum - minimum)*lowerlimitrule.
If lowerlimitrule >1 (dose level) then the lower bound when the trial would stop early is the lowerlimitrule.

upperlimitrule

If upperlimitrule is specified, this constraint will stop the trial if the dose is estimated to be higher than a certain level.
If upperlimitrule <1 (percentage), it takes the range of possible data (maximum - minimum) and makes the upper bound when the trial would stop early as: maximum - (maximum - minimum)*upperlimitrule.
If upperlimitrule >1 (dose level) then the upper bound when the trial would stop early is the upperlimitrule.

dltrule

If the numberdltrule (i.e. 2 DLTs) occurs in the last cohort of patients tested, the next estimated dose must decrease by an amount specified by the dltrule. Defaults to NA.
If 0 < dltrule < 1 (percentage), with excessive DLTs in the last cohort, the next estimated dose must decrease by the dltrule (percentage) of the last tested dose level, i.e. (1-dltrule)*lastdose.
If dltrule >= 1 (dose level), with excessive DLTs in the last cohort the next estimated dose must decrease by dltrule dose level, i.e. lastdose-dltrule.

increaserule

If increaserule is specified, then the next estimated dose can only increase by an amount specified by the increaserule between tested cohorts. Defaults to NA.
If 0 < increaserule < 1 (percentage), the next dose can only increase to a maximum of lastdose*(1+increaserule).
If increaserule >= 1 (dose level), the next dose can only increase to a maximum of lastdose + increaserule.

minimum

Minimum dose that will be considered to test patients. Must be specified if lowerlimitrule<1.

maximum

Maximum dose that will be considered to test patients. Must be specified if upperlimitrule<1.

combine01

True/False. If combine01 = TRUE, toxicity grades 0 and 1 are combined into 1 category. Therefore all toxicities must be coded: 0 (grades 0 and 1), 1 (grade2), 2 (grade 3), and 3 (grade 4) according to CTCAEv4.0. Defaults to FALSE.

plotit

True/False. If true, returns a plot of the updated model with the next dose to test in a cohort identified as well as the current accrued patient toxicity outcomes. Defaults to TRUE.

Details

If using a POM CRM, this function assumes a proportional odds model as described by Harrell (Harrell, 2001). For combine01=FALSE, y equal to toxicity grade outcomes j in c(0, 1, 2, 3, 4) as specified by CTCAEv4.0, and x equal to the dose, this is written in the form:

P(y>=jx)=1/(1+exp((αj+βx))),forj=1,2,3,4P(y>=j|x)=1/(1+exp(-(\alpha_j + \beta*x))),for j = 1, 2, 3, 4


For combine01=Ture, toxicity grades are now 0/1, 2, 3, and 4, and y is recoded as 0 = grades 0 and 1, 1 = grade 2, 2 = grade 3, and 3 = grade 4.

If using a CR model design, this function assumes a continuation ratio model as described by Harrell (Harrell, 2001). For combine01=FALSE, y equal to toxicity grade outcomes j in c(0, 1, 2, 3, 4) as specified by CTCAEv4.0, and x equal to the dose, this is written in the form:

P(y=jy>=j,x)=1/(1+exp((α+θj+γx))),j=0,1,2,3P(y=j|y>=j,x)=1/(1+exp(-(\alpha + \theta_j + \gamma*x))), j = 0, 1, 2, 3


For combine01=TURE, toxicity grades are now 0/1, 2, 3, and 4, and y is recoded as 0 = grades 0 and 1, 1 = grade 2, 2 = grade 3, and 3 = grade 4.

If using a binary CRM, this assumes a standard 2-parameter logistic model. For y equal to toxicity outcome (1 is a DLT, 0 is not a DLT) and x equal to the dose, it is written in the form:

P(y=1x)=1/(1+exp((α+βx)))P(y=1|x)=1/(1+exp(-(\alpha + \beta*x)))


Estimated next dose is calculated by Pr(3 or 4 toxicity) <= targetDLT for the model utilized.

Value

Next Dose with No Used Constraints

Returns estimated dose with no safety constraints implemented for a specified target DLT rate.

Next Dose with Constraints if Applicable

Returns estimated dose with safety constraints used if applicable for a specified target DLT rate.

Next Dose if Using Discrete Dose Levels

Returns the next dose estimated if discrete dose levels are requested.

Estimated Probability of a Grade 0 or 1 Toxicity

Using the newly re-estimated model based on the combination of pseudodata and updated patient information, this returns the probability of experiencing a grade 0 or 1 toxicity as specified by CTCAEv4.0. Only applicable if combine01 = TRUE.

Estimated Probability of a Grade 0 Toxicity

Using the newly re-estimated model based on the combination of pseudodata and updated patient information, this returns the probability of experiencing a grade 0 toxicity as specified by CTCAEv4.0. Only applicable if combine01 = FALSE.

Estimated Probability of a Grade 1 Toxicity

Using the newly re-estimated model based on the combination of pseudodata and updated patient information, this returns the probability of experiencing a grade 1 toxicity as specified by CTCAEv4.0. Only applicable if combine01 = FALSE.

Estimated Probability of a Grade 2 Toxicity

Using the newly re-estimated model based on the combination of pseudodata and updated patient information, this returns the probability of experiencing a grade 2 toxicity as specified by CTCAEv4.0.

Estimated Probability of a Grade 3 Toxicity

Using the newly re-estimated model based on the combination of pseudodata and updated patient information, this returns the probability of experiencing a grade 3 toxicity as specified by CTCAEv4.0.

Estimated Probability of a Grade 4 Toxicity

Using the newly re-estimated model based on the combination of pseudodata and updated patient information, this returns the probability of experiencing a grade 4 toxicity as specified by CTCAEv4.0.

Estimated Regression Model

Returns parameter estimates for the newly re-estimated model based on the combination of pseudodata and updated patient information.

Influence from Pseudodata

Returns the percentage of influence the pseudodata has on estimating the new model. Please refer to Van Meter et al (2010) for more information.

Influence from Collected Data

Returns the percentage of influence the treated patient data has on estimating the new model. Please refer to Van Meter et al (2010) for more information.

Constraints Used

Identifies which safety constraint was implemented if any. Returns: DLT Rule Used, Increase Rule Used, Lower Bound Stop Rule Used, Upper Bound Stop Rule Used, or None Used.

Author(s)

Emily V. Dressler, PhD
Markey Cancer Center
Division of Cancer Biostatistics
University of Kentucky
[email protected]

References

1. Van Meter EM, Garrett-Mayer E, Bandyopadhyay D. Proportional odds model for dose finding clinical trial designs with ordinal toxicity grading. Statistics in Medicine 2011; 30: 2070-2080.
2. Van Meter EM, Garrett-Mayer E, Bandyopadhyay. Dose finding clinical trial design for ordinal toxicity grades using the continuation ratio model: an extension of the continual reassessment method. Clinical Trials 2012; 9(3): 303-313.
3. Garrett-Mayer E. The continual reassessment method for dose-finding studies: a tutorial. Clinical Trials 2006; 3: 57-71.
4. Piantadosi S, Fisher JD, Grossman S. Practical implementation of a modified continual reassessment method for dose-finding trials. Cancer Chemother Pharmacol 1998; 41: 429-436.
5. Harrell FE, Jr. Regression Modeling Strategies with Application to Linear Models, Logistic Regression, and Survival Analysis. Springer: New York, NY, 2001.
6. McCullagh P. Regression Models for Ordinal Data. Journal of the Royal Statistical Society. Series B (Methodological). 1980; 42: 109-142.
7. CTCAE. Cancer Therapy Evaluation Program, Common Terminology Criteria for Adverse Events, Version 4.0, DCTD, NCI, NIH, DHHS (http://ctep/cancer.gov). In Cancer Therapy Evaluation Program, 2010.

See Also

pseudodata

Examples

#Pseudodata toxicity grades#
initial.cr.y1 <- c(rep(0, 45), rep(1, 36), rep(2, 9), rep(3, 8), rep(4, 2),
                   rep(0, 24), rep(1, 31), rep(2, 15), rep(3, 26), rep(4, 4),
                   rep(0, 14), rep(1, 23), rep(2, 13), rep(3, 40), rep(4, 10),
                   rep(0, 1), rep(1, 4), rep(2, 5), rep(3, 35), rep(4, 55))

#Pseudodata dose levels#
initial.cr.d1 <- c(rep(200, 100), rep(934, 100), rep(1467, 100), rep(3000, 100))

#Pseudodata toxicity grades if combining grades 0 and 1 into 1 category#
combine.cr.y1 <- c(rep(0, 81), rep(1, 9), rep(2, 8), rep(3, 2),
                   rep(0, 55), rep(1, 15), rep(2, 26), rep(3, 4),
                   rep(0, 37), rep(1, 13), rep(2, 40), rep(3, 10),
                   rep(0, 5), rep(1, 5), rep(2, 35), rep(3, 55))

#6 patients already treated at doses 1060 and 800 respectively
#CR model assumption

#Example 1
nextdose(design='CR', pseudotox = initial.cr.y1, pseudodose = initial.cr.d1, cohortsize =,
         collectedtox = c(1, 4, 2, 0, 0, 1), collecteddose = c(1060, 1060, 1060, 800, 800, 800),
         targetDLT = 0.30, pseudoweights = 3, discrete = FALSE, discretedoses = NA,
         combine01 = FALSE, lowerlimitrule = 500)

#Example 2
#Discrete doses and combining grades 0 and 1
nextdose(design='CR', pseudotox = combine.cr.y1, pseudodose = initial.cr.d1, cohortsize =,
        collectedtox = c(1, 3, 2, 0, 0, 1), collecteddose = c(1060, 1060, 1060, 800, 800, 800),
        targetDLT = 0.30, pseudoweights = 3, discrete = TRUE,
        discretedoses = c(200, 500, 100, 1200, 1500, 1800), combine01 = TRUE,
        lowerlimitrule = 500)

Pseudodata for Likelihood-Based Continual Reassessment Method (CRM) Dose Finding Designs

Description

This function creates 2 pseudodata vectors (toxicity and dose levels) necessary to run any of the 3 variations of the likelihood-based CRM design. If using the ordinal POM or CR model design, ordinal toxicity grades are specified by CTCAEv4.0. This function also specifies the starting dose for a trial with the choice of continuous or discrete dose levels for a specified target dose limiting toxicity (DLT) rate.

Usage

pseudodata(design, dose10, dose90, percentagegradedose10 = c(45, 35, 10, 8,
  2), percentagegradedose90 = c(2, 3, 5, 40, 50), targetDLT = 0.3,
  stabilize = TRUE, discrete = FALSE, discretedoses = NA,
  rounddown = FALSE, combine01 = FALSE, plotit = TRUE)

Arguments

design

Specifies which dose finding design you are running simulations on. Choices are: POM, CR, or CRM.

dose10

Hypothesized dose level for a 10 percent dose limiting toxicity (DLT) rate as specified by clinical investigators prior to the start of the trial.

dose90

Hypothesized dose level for a 90 percent dose limiting toxicity (DLT) rate as specified by clinical investigators prior to the start of the trial.

percentagegradedose10

Only applicable if using ordinal POM or CR model designs. Expected percentage of toxicity grades at the specified dose10 in the form c(percent grade 0, percent grade 1, grade 2, grade 3, grade 4) or c(percent grades 0 and 1, grade 2, grade 3, grade 4) if combining grades 0 and 1 into one category. The percentages must be specified between 0 and 100. If not specified, it will default to c(45, 35, 10, 8, 2).

percentagegradedose90

Only applicable if using ordinal POM or CR model designs. Expected percentage of toxicity grades at the specified dose90. This is also in the form: c(percent grade 0, percent grade 1, grade 2, grade 3, grade 4) or c(percent grades 0 and 1, grade 2, grade 3, grade 4) if combining grades 0 and 1 into one category. The percentages must be specified between 0 and 100. If not specified, it will default to c(2, 3, 5, 40, 50).

targetDLT

Target dose limiting toxicity (DLT) rate pre-specified by clinical investigators prior to the start of the trial. Must be specified between 0 and 1. Defaults to 0.30.

stabilize

True/False. If stabilize = TRUE, expected dose levels for 30 percent and 50 percent DLT rates will be estimated from the initialized CR model and these levels will be added into the pseudodata to help stabilize the model. This is particularly helpful when collected data is initially sparse at the beginning of a trial. Defaults to TRUE.

discrete

True/False. If discrete = TRUE, this allows for discrete dose levels to be specified prior to the start of the trial. Defaults to FALSE.

discretedoses

Specified discrete dose levels if desired. They must be specified if discrete is equal to TRUE. It is written for j dose levels as: c(d1, d2,..., dj).

rounddown

True/False. Only applicable when using discrete dose levels.
If rounddown = TRUE, the estimate dose from specified model will round down to the more conservative discrete dose level.
If rounddown = FALSE, it will select the discrete dose closest to the estimated model selection. Defaults to FALSE.

combine01

True/False. If combine01 = TRUE, toxicity grades 0 and 1 are combined into 1 category. Therefore all toxicities must be coded: 0 (grades 0 and 1), 1 (grade2), 2 (grade 3), and 3 (grade 4) according to CTCAEv4.0. Defaults to FALSE.

plotit

True/False. If plotit = TRUE, returns a plot of the continuation ratio model estimated by the pseudodata with the starting dose for a specified target DLT rate. Also identifies dose10 and dose90 on the figure. Defaults to TRUE.

Details

Fits a POM, CR model, or 2-parameter logistic model based on the dose where 10 This outputs a vector of doses and toxicities to use as the starting model for this design (required to run nextdose and crmsimulations)

Value

Pseudodata Toxicities

A vector of toxicity grades as classified by CTCAEv4.0 created from the initialized model. If using a binary CRM this will be a vector of 0 (non-DLT) and 1 (DLT) outcomes. This will be the pseudodata toxicity grades used for the rest of trial.

Pseudodata Doses

A vector of dose levels created from the initialized model. This will be the pseudodata dose levels used for the rest of the trial.

Starting Dose

The starting dose for this trial given the specified target DLT rate assuming continuous dose levels.

Starting Discrete Dose

The starting dose for this trial given the specified target DLT rate assuming discrete dose levels.

Estimated Toxicity at Discrete Doses

Only applicable if using specified discrete dose levels. Returns the expected probability of a dose-limiting toxicity (DLT) at each discrete dose level given the initialized model.

discretedoses

Returns the possible ordered discrete doses if applicable.

Regression Model

Returns parameter estimates for the newly estimated model.

Author(s)

Emily V. Dressler, PhD
Markey Cancer Center
Division of Cancer Biostatistics
University of Kentucky
[email protected]

References

1. Van Meter EM, Garrett-Mayer E, Bandyopadhyay D. Proportional odds model for dose finding clinical trial designs with ordinal toxicity grading. Statistics in Medicine 2011; 30: 2070-2080.
2. Van Meter EM, Garrett-Mayer E, Bandyopadhyay. Dose finding clinical trial design for ordinal toxicity grades using the continuation ratio model: an extension of the continual reassessment method. Clinical Trials 2012; 9(3): 303-313.
3. Garrett-Mayer E. The continual reassessment method for dose-finding studies: a tutorial. Clinical Trials 2006; 3: 57-71.
4. Piantadosi S, Fisher JD, Grossman S. Practical implementation of a modified continual reassessment method for dose-finding trials. Cancer Chemother Pharmacol 1998; 41: 429-436.
5. Harrell FE, Jr. Regression Modeling Strategies with Application to Linear Models, Logistic Regression, and Survival Analysis. Springer: New York, NY, 2001.
6. McCullagh P. Regression Models for Ordinal Data. Journal of the Royal Statistical Society. Series B (Methodological). 1980; 42: 109-142.
7. CTCAE. Cancer Therapy Evaluation Program, Common Terminology Criteria for Adverse Events, Version 4.0, DCTD, NCI, NIH, DHHS (http://ctep/cancer.gov). In Cancer Therapy Evaluation Program, 2010.

See Also

nextdose

Examples

######################
###For POM Model######
######################
#Creates pseudodata with no stabilization and continuous dose levels
pseudodata(design='POM', dose10 = 200, dose90 = 3600, targetDLT = 0.3,
           stabilize = TRUE, discrete = FALSE, discretedoses = NA,
           percentagegradedose10 = c(45, 35, 10, 8, 2),
           percentagegradedose90 = c(2, 3, 5, 40, 50), combine01 = FALSE)
#Creates pseudodata with stabilize=T and discrete dose levels
pseudodata(design='POM', dose10 = 500, dose90 = 2000, targetDLT = 0.3,
           stabilize = TRUE, discrete = TRUE,
           discretedoses = c(200, 500, 1000, 1200, 1500, 1800))
#Creates pseudodata when toxicity grades 0 and 1 are one category
pseudodata(design='POM', dose10 = 200, dose90 = 1000, targetDLT = 0.3,
           stabilize = TRUE, discrete = FALSE, discretedoses = NA,
           percentagegradedose10 = c(80, 10, 8, 2),
           percentagegradedose90 = c(5, 5, 40, 50), combine01 = TRUE)

######################
###For CR Model#######
######################
#Creates pseudodata with no stabilization and continuous dose levels
pseudodata(design='CR', dose10 = 200, dose90 = 3600, targetDLT = 0.3,
           stabilize = TRUE, discrete = FALSE, discretedoses = NA,
           percentagegradedose10 = c(45, 35, 10, 8, 2),
           percentagegradedose90 = c(2, 3, 5, 40, 50), combine01 = FALSE)
#Creates pseudodata with stabilize=T and discrete dose levels
pseudodata(design='CR', dose10 = 500, dose90 = 2000, targetDLT = 0.3,
           stabilize = TRUE, discrete = TRUE,
           discretedoses = c(200, 500, 1000, 1200, 1500, 1800))
#Creates pseudodata when toxicity grades 0 and 1 are one category
pseudodata(design='CR', dose10 = 200, dose90 = 1000, targetDLT = 0.3,
           stabilize = TRUE, discrete = FALSE, discretedoses = NA,
           percentagegradedose10 = c(80, 10, 8, 2),
           percentagegradedose90=c(5, 5, 40, 50), combine01 = TRUE)

######################
###For Binary CRM#####
######################
#Creates pseudodata with no stabilization and continuous dose levels
pseudodata(design='CRM', dose10 = 200, dose90 = 3600, targetDLT = 0.3,
           stabilize = TRUE, discrete = FALSE, discretedoses = NA)
#Creates pseudodata with stabilize=T and discrete dose levels
pseudodata(design='CRM', dose10 = 200, dose90 = 3000, targetDLT = 0.3,
           stabilize = TRUE, discrete = TRUE,
           discretedoses = c(200, 500, 1000, 1200, 1500, 1800))