Description Usage Arguments Details Value Author(s) References See Also Examples

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.

1 2 3 4 5 6 | ```
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)
``` |

`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). |

`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. |

`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. |

`upperlimitrule` |
If upperlimitrule is specified, this constraint will stop the trial if the dose is estimated to be higher
than a certain level. |

`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. |

`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. |

`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. |

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>=j|x)=1/(1+exp(-(α_j + β*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=j|y>=j,x)=1/(1+exp(-(α + θ_j + γ*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=1|x)=1/(1+exp(-(α + β*x)))*

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

`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. |

Emily V. Dressler, PhD

Markey Cancer Center

Division of Cancer Biostatistics

University of Kentucky

[email protected]

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.

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 28 29 30 31 | ```
#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)
``` |

```
$`Next Dose with No Used Constraints`
[1] 1279
$`Next Dose with Constraints if Applicable`
[1] 1279
$`Next Dose if Using Discrete Dose Levels`
[1] NA
$`Estimated Probability of a non-DLT`
[1] 70
$`Estimated Probability of a DLT`
Intercept
30
$`Estimated Probability of a Grade 0 or 1 Toxicity`
[1] NA
$`Estimated Probability of a Grade 0 Toxicity`
Intercept
22.68
$`Estimated Probability of a Grade 1 Toxicity`
Intercept
29.83
$`Estimated Probability of a Grade 2 Toxicity`
Intercept
17.49
$`Estimated Probability of a Grade 3 Toxicity`
Intercept
12.06
$`Estimated Probability of a Grade 4 Toxicity`
Intercept
17.94
$`Estimated Regression Model`
Logistic Regression Model
rms::lrm(formula = y ~ cohort + dose, weights = newweights)
Sum of Weights by Response Category
0 1
13.9175 7.4675
Model Likelihood Discrimination Rank Discrim.
Ratio Test Indexes Indexes
Obs 1131 LR chi2 2.34 R2 0.143 C 0.455
0 797 d.f. 4 g 1.369 Dxy -0.089
1 334 Pr(> chi2) 0.6734 gr 3.932 gamma -0.098
Sum of weights21.385 gp 0.224 tau-a -0.024
max |deriv| 0.009 Brier 0.204
Coef S.E. Wald Z Pr(>|Z|)
Intercept 0.2807 1.1954 0.23 0.8143
cohort=yall>=1 0.7616 1.1382 0.67 0.5034
cohort=yall>=2 0.6866 1.4032 0.49 0.6246
cohort=yall>=3 0.8295 1.7080 0.49 0.6272
dose -0.0012 0.0010 -1.16 0.2459
$`Estimated Toxicity at Discrete Doses`
[1] NA
$`Discrete Doses`
[1] NA
$`Influence from Pseudodata`
[1] 33.33
$`Influence from Collected Data`
[1] 66.67
$`Constraints Used`
[1] "None Used"
$`Next Dose with No Used Constraints`
[1] 895
$`Next Dose with Constraints if Applicable`
[1] 895
$`Next Dose if Using Discrete Dose Levels`
discretedoses
1200
$`Estimated Probability of a non-DLT`
[1] 58.6
$`Estimated Probability of a DLT`
Intercept
41.39
$`Estimated Probability of a Grade 0 or 1 Toxicity`
Intercept
31.18
$`Estimated Probability of a Grade 0 Toxicity`
[1] NA
$`Estimated Probability of a Grade 1 Toxicity`
[1] NA
$`Estimated Probability of a Grade 2 Toxicity`
Intercept
27.42
$`Estimated Probability of a Grade 3 Toxicity`
Intercept
25.39
$`Estimated Probability of a Grade 4 Toxicity`
Intercept
16
$`Estimated Regression Model`
Logistic Regression Model
rms::lrm(formula = y ~ cohort + dose, weights = newweights)
Sum of Weights by Response Category
0 1
10.5475 7.4675
Model Likelihood Discrimination Rank Discrim.
Ratio Test Indexes Indexes
Obs 814 LR chi2 2.36 R2 0.165 C 0.500
0 480 d.f. 3 g 1.524 Dxy 0.000
1 334 Pr(> chi2) 0.5015 gr 4.590 gamma 0.000
Sum of weights18.015 gp 0.258 tau-a 0.000
max |deriv| 0.01 Brier 0.212
Coef S.E. Wald Z Pr(>|Z|)
Intercept 0.7836 1.2890 0.61 0.5433
cohort=yall>=1 0.3798 1.1599 0.33 0.7433
cohort=yall>=2 1.2533 1.4777 0.85 0.3964
dose -0.0013 0.0012 -1.14 0.2541
$`Estimated Toxicity at Discrete Doses`
[1] 9.00 10.76 17.60 41.39 52.94 63.71
$`Discrete Doses`
[1] 100 200 500 1200 1500 1800
$`Influence from Pseudodata`
[1] 33.33
$`Influence from Collected Data`
[1] 66.67
$`Constraints Used`
[1] "None Used"
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.