knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Suppose we are planning a drug development program testing the superiority of an experimental treatment over a control treatment. Our drug development program consists of an exploratory phase II trial which is, in case of promising results, followed by a confirmatory phase III trial.

The drugdevelopR package enables us to optimally plan such programs using a utility-maximizing approach. To get a brief introduction, we presented a very basic example on how the package works in Introduction to planning phase II and phase III trials with drugdevelopR. Contrary to the introduction we now want to investigate a scenario, where the results of phase II of a time-to-event outcome are discounted. The discounting may be necessary as programs that proceed to phase III can be overoptimistic about the treatment effect (i.e. they are biased). Hereby, we adjust the optimal number of events in phase III.

The example setting

Suppose we are developing a new tumor treatment, exper. The patient variable that we want to investigate is how long the patient survives without further progression of the tumor (progression-free survival). This is a time-to-event outcome variable. Therefore, we will use the function optimal_bias, which calculates optimal sample sizes and threshold decisions values for time-to-event outcomes with bias adjustment.

Within our drug development program, we will compare our experimental treatment exper to the control treatment contro. The treatment effect measure is given by $\theta = −\log(HR)$, which is the negative logarithm of the hazard ratio $HR$, which is the ratio of the hazard rates. If we assume that unfavorable events as tumor progression occur only 75\% as often as in the control group, we have a hazard ratio of 0.75.

Applying the package to the example

After installing the package according to the installation instructions, we can load it using the following code:

library(drugdevelopR)

We insert the same input values as in the example for time-to-event endpoints. As in the basic setting, the treatment effect may be fixed (as in this example) or follows a prior distribution (see Fixed or Prior). Furthermore, most options to adapt the program to your specific needs are also available in this setting (see More parameters), however skipping phase II and choosing different treatment effects in phase II and III are not possible.

In addition to the parameters from the basic setting, some parameters are needed specifically for the bias adjustment:

Now that we have defined all parameters needed for our example, we are ready to feed them to the package.

res <- optimal_bias(w = 0.3,                                 # define parameters for prior
   hr1 = 0.75, hr2 = 0.8, id1 = 210, id2 = 420,              # (https://web.imbi.uni-heidelberg.de/prior/)
   d2min = 20, d2max = 400, stepd2 = 5,                      # define optimization set for d2
   adj = "both",                                             # choose both adjustment methods
   lambdamin = 0.7, lambdamax = 1, steplambda = 0.05,        # optimization set for multiplicative adjustment
   alphaCImin = 0.1, alphaCImax = 0.5, stepalphaCI = 0.05,   # optimization set for additive adjustment
   hrgomin = 0.7, hrgomax = 0.9, stephrgo = 0.01,            # define optimization set for HRgo
   alpha = 0.025, beta = 0.1, xi2 = 0.7, xi3 = 0.7,          # drug development planning parameters
   c2 = 0.75, c3 = 1, c02 = 100, c03 = 150,                  # define fixed and variable costs
   K = Inf, N = Inf, S = -Inf,                               # set constraints
   steps1 = 1,  stepm1 = 0.95, stepl1 = 0.85,                # define boundary for  effect size categories
   b1 = 1000, b2 = 2000, b3 = 3000,                          # define expected benefits
   fixed = TRUE,                                             # choose if  effects are fixed or random
   num_cl = 1)
# res <- optimal_bias(w = 0.3,                                 # define parameters for prior
#   hr1 = 0.75, hr2 = 0.8, id1 = 210, id2 = 420,              # (https://web.imbi.uni-heidelberg.de/prior/)
#   d2min = 20, d2max = 400, stepd2 = 5,                      # define optimization set for d2
#   adj = "both",                                             # choose both adjustment methods
#   lambdamin = 0.7, lambdamax = 1, steplambda = 0.05,        # optimization set for multiplicative adjustment
#   alphaCImin = 0.1, alphaCImax = 0.5, stepalphaCI = 0.05,   # optimization set for additive adjustment
#   hrgomin = 0.7, hrgomax = 0.9, stephrgo = 0.01,            # define optimization set for HRgo
#   alpha = 0.025, beta = 0.1, xi2 = 0.7, xi3 = 0.7,           # drug development planning parameters
#   c2 = 0.75, c3 = 1, c02 = 100, c03 = 150,                  # define fixed and variable costs
#   K = Inf, N = Inf, S = -Inf,                               # set constraints
#   steps1 = 1,  stepm1 = 0.95, stepl1 = 0.85,                # define boundary for  effect size categories
#   b1 = 1000, b2 = 2000, b3 = 3000,                          # define expected benefits
#   fixed = TRUE,                                             # choose if  effects are fixed or random
#   num_cl = 1)
# saveRDS(res, file="optimal_bias_adjustment.RDS")
res <- readRDS(file="optimal_bias_adjustment.RDS")

Interpreting the output

After setting all these input parameters and running the function, let's take a look at the output of the program.

res

The program returns output values for both adjustment methods. The most important ones for the multiplicative method are:

For the additive method we get:

Where to go from here

In this article we presented an example how methods to discount the results of phase II can be included for the purpose of bias adjustment. Note that this example is not restricted to time-to-event endpoints but can also be applied to binary and normally distributed endpoints using the functions optimal_bias_binary and optimal_bias_normal. For more information on how to use the package, see:

References

Kirby, S., Burke, J., Chuang-Stein, C., and Sin, C. (2012). Discounting phase 2 results when planning phase 3 clinical trials. Pharmaceutical Statistics, 11(5):373–385.

Wang, S.-J., Hung, H. J., and O’Neill, R. T. (2006). Adapting the sample size planning of a phase III trial based on phase II data. Pharmaceutical Statistics, 5(2):85–97.



Sterniii3/drugdevelopR documentation built on Jan. 26, 2024, 6:17 a.m.