Friday, January 15, 2016

Demonstrating the disease modifying effect through delayed start study design or delayed start analyses

Previously, I described a study designed called ‘randomized start design (RSD)’. One special case of the RSD, delayed start design, has been specifically gaining popularity in studies for identifying whether or not the efficacy improvement is due to the symptomatic change or due to the disease modifier. A disease modifier is desired.

Several studies with delayed start design or delayed start analysis have been published. The study design seems to be more popular in neurology disease area such as Parkison’s disease and Alzheimer’s disease.

The concept of the delayed start study was proposed by Dr Ralph B. D'Agostino in his NEJM article "The Delayed-Start Study Design". In a web-based article, Dr Hauser described the details about the delayed start study design.

The delayed-start trial design is one approach to separating symptomatic improvement from a true effect on disease progression. In this design, one group receives active treatment and another group receives placebo during the first period of the trial, and both groups receive active treatment during the second period of the trial. The results in the second period may show whether an effect is long term and disease modifying or short term and symptomatic. Figure 1 presents a schematic of the delayed start trial.
The delayed-start trial has the potential to demonstrate disease modification based on the following logic: improvements in the active treatment group during the first trial period could be due to disease modification or symptomatic improvement. During the second trial period, however, when both groups are receiving the active treatment, a sustained benefit in the early-start group as compared with the delayed-start group would represent evidence for disease modification. If the effect of the experimental treatment was due solely to symptomatic improvement, then both groups would show similar improvement from baseline during the second stage of the trial when both are receiving the same treatment. 

Figure 1. Schematic of the Delayed-Start Clinical Trial Design 

In some studies, the stage 1 and stage 2 are separated as two different studies. The initial study design is not strictly the delayed start design. However, during the statistical analyses, the data from two stages are pooled and analyzed – this approach is called ‘delayed start analysis’ even though the stage 2 (extension study) may be originally designed for other purpose. This approach has been used in above papers by Liu-Seifert et al 2015 and Chapman et al 2015.

While the patients are randomized into the stage 1 of the study, patients are not blinded during the stage 2 of the study since all patients will receive the active treatment. This may cause the biases in the efficacy assessment during the stage 2 of the study.

In studies with delayed start design or delayed start analyses, the treatment effect is symptomatic improvement or disease modifier can be judged by the sustainable treatment effect in the stage 2. The diagram below illustrated the results indicating the symptomatic treatment improvement versus disease modifier.

The delayed start study starts to gain popularity in studying the disease modifying agents. However, it must be pointed out that the study design requires the reasonable lack of equipoise so that it is adequate to switch all patients from the double-blinded phase (stage 1) to the open label phase (stage 2) where all patients receive the active treatments. 

Friday, January 01, 2016

Customizing the Kaplan-Meier Survival Plot in SAS

Kaplan-Meier plot is very commonly used in analyzing the clinical trial data. If the study endpoint is time to event such as progression free survival, overall survival in oncology trials, time to first exacerbation in COPD trials, the Kaplan-Meier curve must be presented.

In a previous article, I described Using SAS ODS Graphics with Example for Generating Kaplan-Meier Curves. The graph template was utilized for modifying the features of the Kaplan Meier curve. However, the process is very cumbersome since we have to make sure that we identify the correct template and we have to copy and paste the lengthy template into the SAS program. The graph template language (GTL) was not easy to read and modify.

Luckily, SAS has now provided detail instructions for customizing the Kaplan-Meier plot. It also developed several macros to let users to modify the relevant sections of the graph template without actually copying and pasting the lengthy graph template languages into the program.

Here are the User’s guide for SAS version 9.4 and 9.3.
The graph template language are located on the SAS website and can be read into the SAS session through the following program.

data _null_;
    %let url = //; 
              *for SAS 9.4;
   *%let url = //; 
              *for SAS 9.3;
   infile "http:&url/templft.html" device=url;
   file 'macros.tmp';
   retain pre 0;
   if index(_infile_, '') then pre = 0;
   if pre then put _infile_;
   if index(_infile_, '') then pre = 1;
%inc 'macros.tmp' / nosource;
User’s Guide describes two macros ProvideSurvivalMacros and CompileSurvivalTemplates. With these two macros, the Kaplan-Meier plot can be customized with several easily understood statements. Below is an example program to further modifying the Kaplan-Meier plot that was generated in the previous blog. Some notes are added to indicate the purpose of each statement. 

%let TitleText0 = "Kaplan-Meier Plot of Disease Free Time";   
*Change the title; 
%let TitleText1 = &titletext0 " for " STRATUMID;
%let TitleText2 = &titletext0;
%let ntitles=1;                       *suppressing the second title;
%macro StmtsBeginGraph;                                       *add footnote;
entryfootnote halign=left "ABC Pharmaceuticals %sysfunc(date(),worddate.)" /
%let GraphOpts = attrpriority=none DataLinePatterns=(solid ShortDash LongDash); 
                              *change line pattern;
%let yOptions = label="Patients without an event (%)"
     linearopts=(viewmin=0 viewmax=1
     tickvaluelist=(0 .25 .50 .75 1) tickdisplaylist=('0' '25' '50' '75' '100')) ;    
     *modify y-axis label and display as percentage instead of fraction;
%let xOptions   = label="Disease Free Time (days)" offsetmin=0
         linearopts=(viewmin=0 viewmax=2500 
tickvaluelist=(0 500 1000 1500 2000 2500) 
tickvaluefitpolicy=XTICKVALFITPOL);      *modify x-axis;
%let InsetOpts = ;         *Remove the legend for censored value;
%let LegendOpts = title='' location=inside across=1 autoalign=(BottomRight);   
         *change the legend for treatment group;
%CompileSurvivalTemplates  /* Compile the templates with upated information*/
ods rtf file="c:\temp\test.doc" style=journal;
ods graphics on/noborder;     *remove the border of the graph area;    
ods noptitle;                *remove the default title; 
title;                *remove the default title 'SAS System';
ods trace on;
proc lifetest data=BMT plot=survival(nocensor atrisk(outside maxlen=13 
atrisktick)=0 to 2500 by 500); 
         *Place the atrisk outside;
      ods select SurvivalPlot;
      time T * Status(0);
      strata Group / test=logrank adjust=sidak;
ods trace off;
ods graphics off;
ods rtf close;
proc template;
   delete Stat.Lifetest.Graphics.ProductLimitSurvival;
   delete Stat.Lifetest.Graphics.ProductLimitSurvival2;

The output graph is attached here.