practicum report - queen's university · practicum report by wenbin li submitted to the...
TRANSCRIPT
PRACTICUM REPORT
by
Wenbin Li
submitted to
the Department of Community Health and Epidemiology
In conformity with the requirements for
the degree of Master of Science
Queen’s University
Kingston, Ontario, Canada
(September, 2010)
Supervisor: Dr. Bingshu Chen
Practicum Supervisor: Dr. Dongsheng Tu
ACKNOWLEDGEMENTS
First, I thank my supervisor, Dr. Bingshu Chen, for his continuous support in my
master’s program in Epidemiology with a specialization in Biostatistics. Dr. Chen
was always there to answer my questions in mathematical principles as well as in
SAS programming skills. He taught me how to undertake an analysis of data and to
finalize the results in the format of a written report that clinician can understand.
I also thank Dr. Dongsheng Tu, who gave me the opportunity to implement an
interim analysis part of his statistical analysis plan for a Phase III trial, and guided
me through the whole process of data analysis in a clinical setting.
My practicum took place in the SAS team at NCIC Clinical Trials Group (NCIC
CTG). I would like thank them provide me with computing supports and allow me
to attend their weekly meeting. A special thanks goes to Mrs. Liting Zhu, who was
always willing to meet and talk about the SAS programming on the project.
ii
Contents
1 INTRODUCTION 1
2 PRACTICUM OBJECTIVES 2
3 TRAINING REQUIRED 3
3.1 NIH web-based training course: Protecting Human Research Partic-
ipants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.1 Introduction to Good Clinical Practice (GCP) . . . . . . . . . 3
3.1.2 Informed Consent . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.3 Research Ethics Board (REB) . . . . . . . . . . . . . . . . . . 4
3.1.4 Safety Reporting . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Using Unix at NCIC CTG . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 SAS Base Programming . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4 SAS Advanced Programming . . . . . . . . . . . . . . . . . . . . . . 6
4 MAIN ACTIVITIES OF THE PRACTICUM 7
4.1 Patient population: summary of patient population before treatment 7
4.1.1 Patients disposition and follow-up . . . . . . . . . . . . . . . . 7
4.1.2 Accrual Patterns . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1.3 Patients Pretreatment Characteristics . . . . . . . . . . . . . . 10
4.2 Efficacy analysis: compare the primary outcome between two arms. . 11
4.3 Drug exposure: summary of how patients received drugs . . . . . . . 11
4.3.1 Duration of Study Therapy . . . . . . . . . . . . . . . . . . . 12
4.3.2 Treatment Discontinuation to Brivanib/placebo . . . . . . . . 13
4.3.3 Treatment Discontinuation to Cetuximab . . . . . . . . . . . . 13
4.4 Safety: summary of adverse events . . . . . . . . . . . . . . . . . . . 13
4.4.1 Adverse events . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4.2 Deaths and cause of death . . . . . . . . . . . . . . . . . . . . 14
5 ACHIEVEMENTS 14
5.1 Completed Clinical Research training courses . . . . . . . . . . . . . . 14
5.2 Earned the SAS Certified Base Programmer for SAS 9 Credential . . 14
5.3 Earned the SAS Certified Advanced Programmer for SAS 9 Credential 14
5.4 Implemented Statistical Analysis Plan . . . . . . . . . . . . . . . . . 15
iii
6 DISCUSSION 15
7 REFERENCES 15
8 APPENDIX-1: STATISTICAL ANALYSIS PLAN FOR CO.20 IN-
TERIM ANALYSIS 16
8.1 BACKGROUND INFORMATION AND RATIONALE . . . . . . . . 16
8.1.1 Rationale of the study . . . . . . . . . . . . . . . . . . . . . . 16
8.1.2 Research hypothesis . . . . . . . . . . . . . . . . . . . . . . . 16
8.2 STUDY DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2.1 Study Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2.2 Treatment Allocation . . . . . . . . . . . . . . . . . . . . . . . 17
8.3 OBJECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.4 ENDPOINTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.4.1 Primary Efficacy . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.4.2 Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.5 SAMPLE SIZE AND POWER . . . . . . . . . . . . . . . . . . . . . 18
8.6 DATA SET DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . 18
8.7 STATISTICAL ANALYSIS . . . . . . . . . . . . . . . . . . . . . . . 19
8.7.1 General Methods . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.7.2 Interim Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 20
9 APPENDIX-2: SAS CODES FOR CO.20 INTERIM ANALYSIS 20
iv
1 INTRODUCTION
In Canada, many clinical trials are initialized by investigators and conducted by
academic research groups. There are also some trials which are conducted by clinical
research organizations supported by pharmaceutical companies. The demand for
Master’s level biostatisticians and statistical SAS (Statistical Analysis System, SAS
institute, North Carolina, USA) programmer in pharmaceutical industries is very
high in the United States of America, Canada and worldwide.
A practicum placement with an academic-based research group or a pharmaceu-
tical company can provide unique opportunities for a student to develop the analytic
skills and practical experience needed in a variety of health areas related to health
research. We know that the randomized controlled trial is a very powerful study
design that can provide the most compelling evidence about an experimental treat-
ment causes the expected effect on human health compared with placebo control or
standard treatment[1].
My practicum took place at NCIC Clinical Trials Group (NCIC CTG) between
June and August, 2010. NCIC CTG is a highly respected research group that
develops, conducts and analyzes national and international multi-centre trials of
cancer prevention, therapy and supportive care. My role in this practicum has been
to understand the statistical analysis processing and to know how to implement the
Statistic Analysis Plan (SAP) in a clinical setting by participating in a phase III
trial.
This practicum job required that the trainee has statistical background in area
of categorical data analysis, logistic regression, survival analysis. It also required
skills in management and analysis of large scale complex dataset and some knowl-
edge in cancer clinical trials. In addition, the trainee should be able to carry out
statistical analyses and generate listings and tabulations using SAS Macro facility.
Some common data management skills such as the ability to import and export raw
data files, combine SAS data sets, write SAS SQL code are critical to this practicum
job. At NCIC CTG, SAS 9.1 software package is running in the UNIX platform.
The main project that I did in this practicum is to conduct an interim analysis
for a colon cancer clinical trial (NCIC CTG CO.20) under the supervision of the
Senior Biostatistician, Dr. Dongsheng Tu. CO.20 is a phase III clinical trial to com-
pare overall survival for patients with K-ras wild type tumors previously treated
1
with combination chemotherapy for metastatic colorectal carcinoma between the
treatment of brivanib combined with cetuximab and the treatment of placebo com-
bined with cetuximab. The primary endpoint of this study is overall survival, which
measures from date of randomization to date of death. Patients who did not die
were censored at date of last known alive. The aim of study is to show that the
combination of brivanib with cetuximab is superior to a control treatment. There
were 689 patients randomized into this study. With a significant level of 0.05, a
total of 536 events were required to ensure 90% of power to detect a 3.2 months
difference (a hazard ratio of 0.75). An interim analysis was planed when there were
259 number of events (i.e. death) were observed.
The remaining of this practicum report is organized as following: in Section 2,
I describe the objectives of this practicum. In Section 3, I emphasize the training
requirements related to the practicum work of implementing the interim analysis for
a cancer clinical trial. In section 4, I focus on the main activities that I did during
my practicum at NCIC CTG. In section 5 and 6, I sum up what I have learned and
achieved, and highlight the limitations of the report.
2 PRACTICUM OBJECTIVES
The primary objective of this practicum is to implement an interim statistical anal-
ysis plan (SAP) for CO.20 trial[2] at the mid of trial. The purpose of an interim
analysis is to provide clear evidence for the continuity or termination of a clinical
trial and to ensure the safety of patients involved in the trial.
The enrolment of patients in clinical trials is a continual process. The interim
analysis is designed for the purpose of assessing treatment effects and patient safety
during the patient enrollment or follow-up stages. Results of the interim analysis
will be reviewed by NCIC CTG’s Data Safety Monitoring Committee (DSMC).
After reviewing the interim analysis results, DSMC will then provide advice to the
NCIC CTG director about the trial conduct. For example, DSMC may recommend
stopping the trial in favor of the experimental arm when the interim analysis shows
a large magnitude of benefit(based on pre-specified boundaries). Trial may also
be stopped early due to futility results (interim analysis shows that probability
of having a statistical significant result would be very low even at final analysis),
toxicity profile and other reasons. Resource saved by a early stopped trial can be
2
allocated to conduct other trials.
3 TRAINING REQUIRED
In order to successfully implement the statistical analysis plan, I received a series of
training during this practicum job. My training includes: NIH web-based training
course, Using Unix at NCIC CTG, SAS Base Programming and SAS Advanced
Programming. I will provide more details in the following sub-sections.
3.1 NIH web-based training course: Protecting Human Re-search Participants
Clinical trials are an important part of medical research and must be done with
good conduct and intention. Investigators and personnel who participate in the
design, conduct, or reporting of clinical trials at NCIC CTG must complete training
in human subjects protection before beginning research.
3.1.1 Introduction to Good Clinical Practice (GCP)
Good clinical practice (GCP) is an international ethical and scientific quality stan-
dard for designing, conducting, recording, and reporting clinical trials that involve
the participation of human subjects. The goals of GCP train at NCIC CTG are to
provide assurance that the data and reported results are credible and accurate, and
that the rights, integrity, and confidentiality of trial subjects are protected.
The history of GCP can be tracked back to the Nuremberg Code in 1947. The
Nuremberg Code is a set of research ethics principles for human experimentation set
as a result of the Subsequent Nuremberg Trials at the end of the Second World War.
In 1964, Declaration of Helsinki was developed by the World Medical Association, as
a set of ethical principles for conducting human experimentation, is widely regraded
as the cornerstone document of human research ethics. In 1979, Belmont Report
was created, which revised and expanded regulations for the protection of human
subjects, and that formed the ethical foundations for using any human subjects for
research.
Good Clinical Practice is being promulgated as a universal ethical approach
toward protection of the human subject’s rights. Appropriate scientific design, good
3
performance, better analyses, informed consent, and credible scientific data with the
confidentiality of the research subject all contribute to Good Clinical Practices.
3.1.2 Informed Consent
Informed consent is a legally-defined process of a person being told about key facts
involved in a clinical trial before deciding whether or not to participate. The re-
search team is obligated to provide an informed consent document that includes trial
details, such as its purpose, duration, required procedures, risks, potential benefits
and key contacts. The participant then decides whether or not to sign the document
in agreement. Informed consent is an essential component of initiating a clinical trial
since clinical trials often involve patients with specific health conditions who then
benefit from receiving otherwise unavailable treatments.
Informed consent is based on the moral and legal promise of patient autonomy:
the patient has the right to make decisions about his or her own health and medical
condition. Informed consent is not an immutable contract, as the participant can
withdraw at any time without penalty. In addition, informed consent is an on-
going process that starts with the researcher’s first contact with the individual and
continues until the study is complete or the participant withdraws.
3.1.3 Research Ethics Board (REB)
The Research Ethics Board has been established to ensure that all research carried
out at Queen’s University meets the highest scientific and ethical standards prior
to activation of the research, and to ensure that safeguards are developed which
provide the greatest protection to patients and members of the community who serve
as research subjects. They are mandated to approve, reject, propose modifications
to, or terminate any proposed or ongoing research. In Canada, protocols and any
changes to protocols of clinical trials must be approved by an REB. REB refusals
to approve a protocol or changes to a protocol must be reported to Health Canada.
3.1.4 Safety Reporting
Responsibility for the safety of the subjects in a clinical trial is shared between
the sponsor, the local investigators, the Research Ethics Board that supervise the
study, and the regulatory agency (in some cases, if the study involves a marketable
drug or device). Any untoward or unfavorable medical occurrence in a clinical trial
4
participant, including any abnormal sign (e.g. abnormal physical exam or labo-
ratory finding), symptom, or disease, temporally associated with the participants
involvement in the research, whether or not considered related to participation in
the research, should be reported.
3.2 Using Unix at NCIC CTG
The Unix operating system is the main computational environment used at NCIC
CTG. During my practicum, I became familiar with many common used unix com-
mands such as ls (lists files and directories), cd (changes directory), mv (moves file
or directory),mkdir (makes a new directory), more filename (display the contents of
the file on the screen), etc.
I used unix based editors such as vi and Emacs to create and edit SAS source
codes, and also learn how to run SAS Programs at UNIX setting, such as batch
mode, IDE mode, etc. and became familiar with the UNIX directory structure at
NCIC CTG.
3.3 SAS Base Programming
During the practicum, I learned SAS base programming skills, which include import-
ing and exporting raw data files, creating and managing SAS data sets, generating
reports and identifying and correcting data syntax and programming logic errors.
For accessing raw data, I learn to use FORMATTED, LIST and COLUMN
input to read raw data files, to use INFILE statement options to control processing
when reading raw data files, and to use various components of an INPUT statement
to process raw data files including column and line pointer controls, and trailing
controls.
For creating and managing SAS data sets, I learned to create temporary and
permanent SAS data sets, to control which observations and variables in a SAS
data set are processed and output, to modify variable attributes using options and
statements in the DATA step, to use SAS functions to manipulate character data,
numeric data, and SAS date values, and to process data using DO LOOPS and SAS
arrays.
For generating reports, I learned to generate list reports using the PRINT and
REPORT procedures, to generate summary reports and frequency tables using base
5
SAS procedures, to create the enhanced reports through the use of labels, SAS
formats, user-defined formats, titles, footnotes and SAS System reporting options,
and to use ODS (Output Delivery System) to generate HTML and other formates
of reports.
For identifying and correcting data syntax and programming logic errors. I
learned to check and correct syntax errors through reading the SAS Log informa-
tion, which includes three types of messages about your program: errors, warnings,
and notes, and to examine and resolve data step errors by using debugging tools
such as PUT statements (make them meaningful and descriptive), automatic vari-
ables ( ERROR and N ) and system options such as DATASTMTCHK. For SAS
programming logic errors, they are the hardest errors to debug because the program
runs just fine with no errors or suspicious notes, Proc FREQ, CHART, MEANS
procedures might be used to detect the errors.
3.4 SAS Advanced Programming
In order to understand the generic SAS programming codes and write the specific
codes for CO20. interim analysis, I further study advanced SAS programming skills
in topics such as SQL processing with SAS, the SAS macro language, advanced SAS
programming techniques, and optimizing SAS programs.
The SQL procedure (PROC SQL) in SAS software provides an easy, flexible way
to query and combine your data. I learned to select columns, define new columns,
specify subsetting criteria, order rows by values of one or more columns, generate
a report as the output of a query, use summary functions, such as COUNT, with
and without grouping, combine tables horizontally with set operators of inner join
or outer join, combine tables vertically with one of four set operators (EXCEPT,
INTERSECT, UNION, and OUTER UNION)
SAS macro facility is considered as another advanced topic. With macro you can
make one small change in your program and have SAS echo that change throughout
your program. With macro you can write a piece of code once and use it over and
over, in the same program or in different programs. This can help to produce consis-
tent results among difference programmer and trials. When macro are extensively
tested and validated, it may also reduce errors. I learned to display automatic macro
variables and create user-defined macro variables, use macro functions to manipulate
character strings,create macro variables during DATA step execution,create macro
6
variables during PROC SQL execution,use system options for macro debugging, use
positional parameters and keyword parameters, understand the difference between
the global symbol table and local symbol tables, use the %INCLUDE statement to
make macros available to a SAS program and create and use permanently stored
compiled macros.
For dealing with a large data set, I learned to create Indexes in the DATA
step, manage Indexes with PROC DATASETS and PROC SQL, and use IORC to
determine whether an index search was successful. I learned to use a FILENAME
statement to concatenate raw data files and use the UPDATE statement to update
a master data set with a transactional data set.
With considering of optimizing SAS programs, I learned to use SAS system
options to track resources and to control the amount of data that is loaded into
memory with each I/O transfer and some common strategies such as to execute
only necessary statements, to read and write only the data that you require, to
avoid unnecessary sorting procedure.
4 MAIN ACTIVITIES OF THE PRACTICUM
CO.20 was a multicentre, double-blind, randomized phase III trial. During the
practicum, instead of using the real treatment information for patients, I first built
my SAS codes for the interim analysis by using country code (“Canada” as “Fake
Arm 1” and “Australia” as “Fake Arm 2”) as a fake arm indicator. The real arm
information will be coded into the SAS programs once they are finished and tested.
In this practicum report, figures and tables are based on the fake arm information
instead of real arm due to confidentiality. According to interim statistical analysis
plan for CO20 (brief description in Appendix-1). The report of the interim analysis
includes the following analyses and tables:
4.1 Patient population: summary of patient population be-fore treatment
4.1.1 Patients disposition and follow-up
Information of the patients who randomized in the study and the patients who are
on or off one of two treatments is summarized in table 1. There are 689 patients
randomized in the study and the proportions of on-study and off-study patients are
7
almost the same in two fake arms.
Table 1: Patient Disposition
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Randomized N=273 N=416 N=689Cetuximab treatedOn study 50(18.3) 95(22.8) 145(21.0)Off study 211(77.3) 310(74.5) 521(75.6)
Brivanib treatedOn study 48(17.6) 88(21.2) 136(19.7)Off study 214(78.4) 315(75.7) 529(76.8)
There are total 418 patients alive at the time of interim analysis in the study,
including 159 patients alive in Fake Arm 1 and 259 patients alive in Fake Arm 2;
number of patients completing 6, 12 and 18 months follow-up are listed in table 2.
Only 12% patients are still alive at 18 months after the randomization indicate that
the patients in this study have short overall survival time.
Table 2: Follow-up of Patients
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Number of patients alive N=159(58.2) N=259(62.2) N=418(60.6)Patient completing each time interval6 months follow-up 78(28.6) 109(26.2) 187(27.1)12 months follow-up 18(6.6) 40(9.6) 58(8.4)18 months follow-up 2(0.7) 10(2.4) 12(1.7)
4.1.2 Accrual Patterns
Accrual patterns for CO.20 are summed up in the following categories:
• Number of patients randomized by center
There are 273 patients recruited from Fake Arm 1 and 416 patients recruited
8
from Fake Arm 2. Totally 689 patients are randomized in the study. The
distribution of the accrual number in each center is tabulated (see Table 3).
• Number of patients randomized by participating group
Two countries participate in the study and there are more patients randomized
in AGITG than in NCIC CTG (see Table 4).
• Number of patients by stratification factor at randomization
Among all patients randomized, 89% of patients are defined as ECOG 0-1 and
10% are in the status of ECOG 2. There is no difference between two Fake
Arms (see Table 5).
• Accrual of patients by calendar time pooled across two treatment arms
The rate of accrual of patients in this study is displayed in Figure 1 and it is
higher than the expected. Also more than expected number of patients are
recruited in the study.
Figure 1: Accrual of patients by calendar time pooled across two treatment arms
9
4.1.3 Patients Pretreatment Characteristics
For ensuring the quality of clinical trial, patients pretreatment characteristics in two
arms should be balanced. All randomized patients are included in the analyses.
• Gender
There are about 65% male patients and 32% female patients in the study (see
Table 6 ). 5 patients in Fake Arm 1 and 2 patients in Fake Arm 2 are missing.
• Race
About 90% patients in the study are white people, followed by Asian patients,
which is about 6% (see Table 7).
• Age
The distribution of age in two arms is similar and average age is about 62 year
old. The proportion of patients who are greater than 65 is almost the same as
that of patients who are younger than 65 year old (see Table 8 ).
• ECOG Performance Status
57% patients’ECOG performance status in the study are scored at grade 1
and there is no difference between two fake arms in the distribution of ECOG
performance status (see Table 9 ).
• BSA
The average value of body-surface area (BSA) is about 1.86, and there is not
different between two fake arms (see Table 10 ).
• Type of malignancy
Three types of maignancy exist in the study and there is no difference for the
distribution of malignancy type between two fake arms(see Table 11 ).
• Months from first Histological Diagnosis to Randomization
There is no difference between the time interval from first histological diagnosis
to randomization between two fake arms (see Table 12 ).
• Patients Pretreatment Characteristics by histology
Most patients’ histology testing are typed as Adenocarcinoma and there is no
difference between two fake arms (see Table 13 ).
10
• Patients Pretreatment Characteristics by liver metastases
Patients with liver metastases are considered to be incurable. In this study,
75% patients in Fake Arm 1 and 80% patients in Fake Arm 2 are diagnosed
as liver metastases (see Table 14 ).
• Patients Pretreatment Characteristics by KRAS Status
A previous CO.17 data analysis indicated that the benefits of cetuximab were
restricted almost entirely to patients with wild-type K-ras. In this study,
99.6% patients recruited in Fake Arm 1 are KRAS wild type and about 96%
recruited patients in Fake Arm 2 are wild-type K-ras (see Table 15 ).
4.2 Efficacy analysis: compare the primary outcome be-tween two arms.
The comparison of overall survival between the two treatment arms is the primary
objective of this study. All randomized patients are included in this analyzes. Sur-
vival is calculated from the day of randomization (as recorded in Centralized Ran-
domization File) to death (CRF 6-the Death Report Form). For alive patients,
survival is censored at the last day the patient is known alive (LKA) as the last
recorded date known alive (CRF 5-the Follow-Up Report, CRF 5s-the Short Follow-
Up Report, or last date of infusion or brivanib/placebo dose in CRF 3-the Systemic
Therapy Report). Survival time (in months) is defined as
date of death or LKA − date of randomization + 1
30.4375
The comparison of overall survival between two countries indicate that there is
no difference between two fake arms. The same analysis will be conducted using
real arms and results will be submitted to DSMC.
4.3 Drug exposure: summary of how patients received drugs
The patients on both arms are planned to receive weekly cetuximab and daily
Brivanib/placebo, however, some patients may be discontinued due to drug toxi-
city. Patients included in this analyzes are those who received at least one dose of
brivanib/placebo or cetuximab.
11
Figure 2: Comparison of overall survival between two countries
4.3.1 Duration of Study Therapy
Duration of brivanib/placebo therapy during the study is defined as follows
last stop date of brivanib − first start date of brivanib + 1
7
where the first start and last stop date is taken from CRF 3.
Duration of cetuximab (in weeks) during the study is defined as follows:
last date of cetuximab treatment − first date of cetuximab treatment + 1
7
where the first and last date of cetuximab treatment is taken from CRF 3.
Total treatment duration of brivanib/placebo per patient is summarized in Table
16. For 263 patients in Fake Arm 1 received at least one dose of brivanib/placebo
treatment, the mean duration time is 17.85 months. for 403 patients in Fake Arm
2 received at least one dose of brivanib/placebo treatment, the mean duration time
is 19.15 months.
12
Total treatment of duration of cetuximab per patient is summarized in Table 17.
For 263 patients in Fake Arm 1 received at least one dose of cetuximab treatment,
the mean duration time is 18.43 months. for 406 patients in Fake Arm 2 received
at least one dose of cetuximab treatment, the mean duration time is 19.14 months.
4.3.2 Treatment Discontinuation to Brivanib/placebo
The brivinib/placebo dose of a patient is considered to be discontinued if there is Yes
answer to the question Did this patient permanently discontinue brivinib/placebo
during this reporting period in CRF Form 3: off brivinib/placebo therapy-question.
The reason of discontinuation will be identified from columns Reason for dose mod-
ification.
Treatment discontinuation to Brivanib/placebo and the reason of discontinuation
are summarized in Table 18. There are 217 patients in Fake Arm 1 and 323 patients
in Fake Arm 2 discontinue to Brivanib/placebo treatment.
4.3.3 Treatment Discontinuation to Cetuximab
The cetuximab dose of a patient is considered to be discontinued if there is Yes
answer to the question Did this patient permanently discontinue cetuximab during
this reporting period in CRF Form 3: off cetuximab therapy-question. The reason
of discontinuation will be identified from columns Reason for dose modification.
Treatment discontinuation to Cetuximab and the reason of discontinuation are
summarized in Table 19. There are 213 patients in Fake Arm 1 and 315 patients in
Fake Arm 2 discontinue to Brivanib/placebo treatment.
4.4 Safety: summary of adverse events
The safety analyses will base on the all treated patients. Adverse events are graded
and categorized using the NCI CTC version 3.0 criteria.
4.4.1 Adverse events
Adverse events (AEs) will be recorded on the NCIC CTG AE (dermatological) and
AE (non-dermatological) sections of CRF 3, 5, 5S.
Treatment discontinuation due to adverse events and type of adverse events
are summarized in Table 20. Adverse events caused 82 patients discontinued to
13
treatments. 26 cases came from Fake Arm 1 and 56 cases came from Fake Arm 2.
In average, about 12% treated patients discontinued from adverse events.
4.4.2 Deaths and cause of death
Number of patients who died and cause of death, by countries, are derived from
CRF 6.
Patients who died during the study and causes of death are summarized in Table
21. Most patients died of their cancer and only 1% died of the combination of cancer
and protocol treatment complication. There is not difference between two Fake Arms
in term of cause of death.
5 ACHIEVEMENTS
5.1 Completed Clinical Research training courses
By taking the NIH web-based training courses, I became familiar with the roles
and responsibilities of participants when conducting clinical research and to have
understand the ethical issues involved in human subjects research.
5.2 Earned the SAS Certified Base Programmer for SAS 9Credential
By taking SAS Base Programming exam, my knowledge of SAS software were in-
creased. I am able to import and export raw data files, combine SAS data sets and
create summary reports using SAS procedures. Also I got familiar with the new
functionality that is available in SAS 9.2.
5.3 Earned the SAS Certified Advanced Programmer forSAS 9 Credential
By taking SAS Advanced Programming exam, I become familiar with macro facili-
ties, can read and understand generic SAS codes commonly used at Clinical Trials
Group; I can access data using SQL and Construct subqueries within a PROC SQL
step. I am able to manipulate large datasets with advanced programming techniques.
14
5.4 Implemented Statistical Analysis Plan
By undertaking interim statistical analysis plan of the CO.20 trial, I became famil-
iar with terminology specific to SAS programming in the pharmaceutical industry.
I understand SAS Data flow using in Clinical Trials Group and know how to im-
plement a statistical analysis plan in clinical setting. In the case of trial CO.20,
the interim analysis indicated that the pretreatment characteristics of patients are
similar among two countries and the duration of treatments are the same as well,
and there is no difference between two countries in term of overall survival.
6 DISCUSSION
For the time limitation, the interim analysis for CO.20 is not completed and only
partial tables and figures are achieved. The overall survival times are calculated us-
ing all randomized patients rather than using wild-type K-ras patients since previous
studies revealed that the benefits of cetuximab were restricted to wild-type K-ras
patients. Fake arms in stead of real arms are used in the report. Therefore, this
report can only serve for the purpose of practice and would not be able to provide
actual evidence for trial decisions.
This practicum was a valuable experience for me. I learned about medical ter-
minology used in clinical trial, which is prerequisite for being an effective statistical
programmer. I became familiar with how the clinical trial data will be analyzed
by applying the SAS programming skills to implement the interim analysis for a
phase III randomized study. By running and debugging SAS programs, I acquired
some practical experience in detecting logic error in SAS program, which can not
be obtained from textbooks.
7 REFERENCES
References
[1] H. O. Stolberg, G. Norman, and I. Trop. Randomized controlled trials. AJR
Am J Roentgenol, 183:1539–1544, Dec 2004.
[2] Chris O Callaghan Dongsheng Tu, Judy Dechamplain. Statistical analysis plan.
NCIC CTG, 1:1–30, Dec 2009.
15
8 APPENDIX-1: STATISTICAL ANALYSIS PLAN
FOR CO.20 INTERIM ANALYSIS
8.1 BACKGROUND INFORMATION AND RATIONALE
8.1.1 Rationale of the study
With 917,000 deaths per year, colorectal cancer is the second leading cause of cancer-
related death in Western countries. Epidermal growth factor receptor (EGFR) is
often up-regulated in 60 to 80 percent of colorectal cancers, and has been associated
with poor survival. Inhibition of EGFR can be achieved with Cetuximab, a mono-
clonal antibody that binds directly to the extracellular domain of EGFR. A phase
III study CO.17 conducted by the National Cancer Institute of Canada Clinical
Trial Group (NCIC CTG) indicated that, in comparison with best supportive care,
the singe agent cetuximab improves overall survival, progression-free survival, and
quality of life in patients with advanced EGFR-expressing colorectal cancer that is
refractory to chemotherapy. In addition, a later retrospective analysis of CO. 17
showed that the benefits of cetuximab were almost entirely to patients with wild-
type K-ras.
Vascular endothelial growth factor receptor-2 (VEGFR-2) is essential for reg-
ulating tumor angiogenesis. Similar to EGFR, the VEGF pathway can be selec-
tively blocked using brivanib, a monoclonal antibody that inhibits VEGF-2 substrate
phosphorylation. Therefore, it is anticipated to have a therapeutic application in
angiogenesis-dependent human disease such as in the treatment of cancer and tumor
metastasis.
The combination of cetuximab and anti-VEGF antibodies has been shown to be
synergistic in colon cancer models. Non-clinical studies also suggest that acquired
resistance to anti-EGFR can be overcome by the inhibition of EGFR pathways.
Based on observations and the preclinical data, the combination of brivanib with
cetuximab should have superior efficacy than either agent alone.
8.1.2 Research hypothesis
The primary hypothesis in this study is that brivanib combined with cetuximab
will have a greater clinical efficacy, as measured by overall survival, compared to
16
placebo combined with cetuximab in patients previously treated with combination
chemotherapy for metastatic and K-ras wild type colorectal carcinoma.
8.2 STUDY DESCRIPTION
8.2.1 Study Design
CO.20 was a multicentre, double-blind, randomized phase III trial. Patients previ-
ously treated with combination chemotherapy for metastatic colorectal carcinoma
and patients for whom no standard anticancer therapy other than cetuximab is
available will be recruited. It was amended to include only patients with K-ras wild
type tumors since several studies showed the benefits of cetuximab are restricted to
K-ras wild type patients. Patients are stratified by centre and ECOG performance
status prior to randomization.
This study was open to accrue patients on Feb. 5, 2008. A total of 750 patients
would be enrolled (375 on each arm). The required minimum number of events
for the interim analysis (268) was observed on March 15, 2010 among 570 patients
randomized. Interim analysis will be performed in September 2010 when the data
collected up to March 15 of 2010 are cleaned and locked. The results of the interim
analysis will be presented to the NCIC CTG Data Safety Monitoring Committee
(DSMC).
8.2.2 Treatment Allocation
The study is planned to randomize 750 subjects with using a 1:1 allocation to
Brivanib + cetuximab (ARM 1) and Placebo + cetuximab (ARM 2). The ran-
domization is dynamically balanced by ECOG performance status and investigative
center using the method of Pocock and Simon. A centralized system is used to
randomize all patients in this study.
8.3 OBJECTIVES
The primary objective of this study is to compare the overall survival of patients
with previously treated K-ras wild type metastatic, colorectal carcinoma treated
with brivanib (BMS-582664) in combination with cetuximab versus placebo in com-
bination with cetuximab.
17
8.4 ENDPOINTS
8.4.1 Primary Efficacy
The primary efficacy endpoint is overall survival.
8.4.2 Safety
The safety endpoints are serious and non-serious adverse events (clinical and lab-
oratory), laboratory parameters, dosing data (including dose interruptions, total
delivered dose and dose modifications) and reasons off treatment.
8.5 SAMPLE SIZE AND POWER
The sample size was calculated based on accrual of patients regardless of their K-ras
statuses. The median overall survival for the K-ras wild type patients randomized to
placebo in combination with cetuximab in this study was estimated to be 9.7 months
based on data from NCIC CTG CO. 17 study. With an overall 1-sided alpha of 2.5%,
a total of 536 deaths from patients with wild-type K-ras were required to provide
90% power to detect a 3.2 months difference (a hazard ratio of 0.75) in median
survival between the two treatment arms after taking into account one planned
interim analysis.
8.6 DATA SET DESCRIPTIONS
Three types of analysis samples will be used:
All Randomized Patients:
All patients who have been randomized in the study with the treatment arm will be
as randomized.
All K-ras Wild Type Patients:
All patients who have been randomized in the study and had their tumor confirmed
as K-ras wild type, either retrospectively or prospectively, with the treatment arm
will be as randomized.
Response-Evaluable Patients:
All patients with at least one target lesion who have at least one disease assessment
18
after baseline will be considered evaluable for response. In addition, patients who
develop progressive disease prior to the scheduled first post-baseline assessment will
also be considered evaluable for response.
All Treated Patients:
All patients who received at least one dose of brivanib/placebo or cetuximab with
the treatment arm will be as treated in the first dose. Patients receive at least one
dose cetuximab but never receive brivanib/placebo will be included in the treatment
arm that they were assigned at the time of randomization.
8.7 STATISTICAL ANALYSIS
8.7.1 General Methods
All comparisons between treatment arms will be carried out using a two-sided test
at an alpha level of 5% unless otherwise specified. In the analysis of overall survival,
the type I error will be adjusted for the interim analysis as mentioned in sections
7.5.1.
When appropriate, discrete variables are summarized with the number and pro-
portion of subjects falling into each category, and compared using Fisher’s exact
test. Continuous and ordinal categorical variables are summarized using the mean,
median, standard error, minimum and maximum values and when appropriate, com-
pared using the Wilcoxon test. All confidence intervals are computed based on nor-
mal approximations except those for rates, which will be computed based on the
exact method.
Time to event variables are summarized using Kaplan-Meier plots. Primary
comparisons of the treatment groups are made using the stratified log-rank test.
Primary estimates of the treatment differences are obtained with the hazard ratios
and 95% confidence intervals from stratified Cox regression models using treatment
arm as the single factor.
Percentages given in the summary tables will be rounded and may therefore not
always add up to exactly 100%. Listings, tabulations, and statistical analyses will
19
be carried out using the SAS (Statistical Analysis System, SAS Institute, North
Carolina, USA) software.
8.7.2 Interim Analysis
A formal interim analysis for survival will be performed on all randomized patients
when at least 50% of the deaths (¿268) have occurred. The stratified log-rank test
adjusting for performance status (ECOG01 vs ECOG2) at randomization, will be
used to test the null hypothesis H0: survival on ARM1 (Brivanib + cetuximab) ¡=
survival on ARM2 (Placebo + cetuximab) against the one sided alternative H1: sur-
vival on ARM1 (Brivanib + cetuximab) ¿ survival on ARM2 (Placebo + cetuximab).
If sufficient statistical evidence concludes: the survival in ARM1 is superior to
ARM2 or the survival in ARM1 is equal to ARM2, the DSMC will recommend to
terminate the trial.
9 APPENDIX-2: SAS CODES FOR CO.20 IN-
TERIM ANALYSIS
*** For Interim Analysis(July 23, 2010);
*** File Name: main_wenbin;
*** --Modified by wenbin;
options MPRINT SYMBOLGEN MLOGIC;
%include ’start_fake1.inc’;
%let trialname = co20;
%opencsv;
***********************************************************;
*** Table 7.2.1;
***********************************************************;
********Table 1 ;
20
%break(7.2.1, TABLE 1);
%break(7.2.1, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
**All randomized patients;
data all_random;
set sasf.&trialname;
if substr (id,1,2) = ’CA’ then allo1_cd = ’1’;
else if substr (id,1,2) = ’AU’ then allo1_cd = ’2’;
else put ’ERROR’;
rename allo1_cd= safe_arm;
run;
%counts(7.2.1, all_random, safe_arm, lib=work, title= Randomized);
*Cetux and Briv treated patients;
proc sort data=sasf.CO20_CETUX_TRT out=CETUX_treated;
by id CETUX_DOSE;
data cetux_treated;
set cetux_treated;
by id;
if last.id and CETUX_DOSE>0;
keep id cetux_dose;
proc sort data=sasf.CO20_briv_TRT out=briv_treated;
by id briv_DOSE;
data briv_treated;
set briv_treated;
by id;
if last.id and briv_DOSE>0;
keep id briv_dose;
21
*Off_Cetux and off_Briv treated patients;
proc sort data=sasf.co20_F3 out=f3;
by id OFF_CETUX;
data OFFCETUX;
set f3;
by id;
if last.id;
keep id OFF_CETUX;
data OFFCETUX;
merge cetux_treated (in=hadrec) offcetux(in=hadoff);
by id;
if hadrec and hadoff;
proc sort data=sasf.co20_F3 out=f4;
by id OFF_briv;
data OFFbriv;
set f4;
by id;
if last.id;
keep id OFF_briv;
data OFFbriv;
merge briv_treated (in=hadrec) offbriv (in=hadoff);
by id;
if hadrec and hadoff;
proc format;
value $ctrt
’Y’ = ’Off cetuximab’
’N’ = ’On cetuximab’;
22
%counts(7.2.1, OFFCETUX, OFF_CETUX, fmt=$ctrt., lib=work, title= Treated);
proc format;
value $ btrt
’Y’ = ’Off brivanib’
’N’ = ’On brivanib’;
%counts(7.2.1, OFFBRIV, OFF_BRIV, fmt=$btrt., lib=work, title= Treated);
********Table 2 ;
%break(7.2.1, TABLE 2);
%break(7.2.1, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
%counts(7.2.1, co20, dead, title= Number of patients alive, percent=N);
data co20_6months;
set sasf.co20;
if os>=6 and dead=’Y’ then alive=’ALIVE’;
%counts(7.2.1, co20_6months, alive, lib=work, title =6 months follow-up, percent=N);
%nums(7.3.1, co20_6months, os, lib=work, title = 6 months follow-up);
data co20_12months;
set sasf.co20;
if os>=12 and dead=’Y’ then alive=’ALIVE’;
%counts(7.2.1, co20_12months, alive, lib=work, title =12 months follow-up, percent=N);
23
data co20_18months;
set sasf.co20;
if os>=18 and dead=’Y’ then alive=’ALIVE’;
%counts(7.2.1, co20_18months, alive, lib=work, title =18 months follow-up, percent=N);
data co20_24months;
set sasf.co20;
if os>=24 and dead=’Y’ then alive=’ALIVE’;
%counts(7.2.1, co20_24months, alive, lib=work, title =24 months follow-up, percent=N)
***********************************************************;
*** Table 7.2.2;
***********************************************************;
********Table 3 ;
%break(7.2.2, TABLE 3);
%break(7.2.2, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
*** recalculate cernter from id;
data center;
length grp $ 9;
set sasf.&trialname;
grp=substr(id, 1, 4);
run;
24
*proc print data = center (obs=10);run;
%counts(7.2.2, center, grp, lib=work, title = RANDOMISED PATIENTS PER CENTER);
********Table 4 ;
%break(7.2.2, TABLE 4);
%break(7.2.2, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
data country;
length country $ 10;
set sasf.&trialname;
if substr(id, 1, 2) = ’AU’ then country=’Australia’;
else if substr(id, 1, 2) = ’CA’ then country=’Canada’;
run;
*proc print data = country (obs=10);run;
%counts(7.2.2, country, country, lib=work, title = RANDOMISED PATIENTS PER COUNTRY);
********Table 5 ;
%break(7.2.2, TABLE 5);
%break(7.2.2, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
data str_ecog;
set sasf.&trialname;
str_ecog = input (WEC_STRATA_PERF_STA,2.);
proc print data=work.str_ecog (obs=10);
var id WEC_STRATA_PERF_STA str_ecog;
run;
proc format;
25
value ecog_fmt
low -< 2 = ’ECOG 0-1’
2 - high = ’ECOG 2’;
%counts(7.2.2, str_ecog, str_ecog, lib=work, fmt=ecog_fmt.,title = RANDOMISED PATIENTS PER
ECOG PERFORMANCE STATUS);
***********************************************************;
*** Table 7.3.1;
***********************************************************;
*********Table 9 ;
%break(7.3.1, TABLE 9);
%break(7.3.1, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
%counts(7.3.1, &trialname, sex, title =Gender, fmt=$sex.);
proc format;
value $race_fmt
’ 01 ’ = ’White’
’ 02 ’ = ’Hispanic/Latino’
’ 03 ’ = ’Black/African American’
’ 04 ’ = ’Native Hawaiian/Pacific Islander’
’ 05 ’ = ’Asian’
’ 06 ’ = ’American Indian/Alaska Native’
’ 88 ’ = ’Not reported (or refused)’
’ 98 ’ = ’Other’
’ 99 ’ = ’Unknown’
26
’0105’ = ’White & Asian’
’0188’ = ’White & Not reported’
’ ’ = ’Missing’;
%counts(7.3.1, &trialname, race, lib=work, title = Race, fmt=$race_fmt.);
%nums(7.3.1, co20, age, title = Age (years));
proc format;
value age_fmt
low -< 65 = ’< 65’
65 - high = ’>= 65’
.=’Missing’ ;
%counts(7.3.1, &trialname, age, fmt=age_fmt.);
%counts(7.3.1, &trialname, WEC_PERF_STA, title = ECOG Performance Status);
%nums(7.3.1, &trialname, WEC_BSA, title = BSA (m^2));
%counts(7.3.1, &trialname, WEC_MALIG, title = Type of Malignancy);
data hist;
set sasf.&trialname;
month=(allo1_dt-WEC_FIRST_DIAG_DT+1)/30.4375;
%nums(7.3.1, hist, month, lib=work, title = Months from first Histological Diagnosis to
Randomization);
%counts(7.3.1, &trialname, WEC_HISTOL, title = Histology);
%counts(7.3.1, &trialname, WEC_LIVER_META, title = Liver Metastases);
%counts(7.3.1, &trialname, WEC_KRAS, title = KRAS Status);
27
*** For Interim Analysis(July 23, 2010);
*** File Name: main_safe_wenbin;
*** --Modified by wenbin;
*** Jun. 22, 2006 - use the safe_arm for all safty analysis, here safe_arm is renamed as allo1_cd;
%include ’start_safe1.inc’;
%opencsv;
***********************************************************;
*** Table 7.4.1;
***********************************************************;
**********Table 22;
*661 patients randomized to arm1 and being treated by brivanib/placebo are included;
%break(7.4.1, TABLE 22);
%break(7.4.1, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
libname sasf ’/home/ctg-stat/sas/trials/co20/data’;
**All randomized patients (Rec_No=681);
data random_all;
set sasf.co20;
if substr (id,1,2) = ’CA’ then allo1_cd = ’1’;
else if substr (id,1,2) = ’AU’ then allo1_cd = ’2’;
else put ’ERROR’;
keep id allo1_cd wec_strata_perf_sta wec_perf_sta;
run;
proc sort data = random_all;
28
by id;
run;
**All treated patients;
data briv;
set sasf.co20_briv_trt;
if briv_dose_dt>. and briv_dose > 0;
by id;
data briv_dur;
set briv;
by id;
retain firstdt;
if first.id then firstdt=briv_dose_dt;
if last.id then do;
lastdt=briv_dose_dt;
duration_briv=(lastdt-firstdt+7)/7;
output;
end;
*keep id duration;
data cetux;
set sasf.co20_cetux_trt;
if cetux_dose_dt>. and cetux_dose > 0;
by id;
data cetux_dur;
set cetux;
by id;
retain firstdt;
if first.id then firstdt=cetux_dose_dt;
if last.id then do;
lastdt=cetux_dose_dt;
duration_cetux=(lastdt-firstdt+7)/7;
29
output;
end;
*keep id duration;
data sys_dur;
merge briv_dur(in=inl1 keep =id duration_briv) cetux_dur (in=inl2 keep = id duration_cetux)
random_all(in=inl3 keep = id allo1_cd);
by id;
if inl1 or inl2 or inl3;
run;
proc sort data = sys_dur nodupkey;
by id;
run;
%nums(7.4.1, sys_dur, duration_briv, lib = work, title =Duration_briv in weeks);
**********Table 22;
*664 patients randomized to arm1 and being treated by cetuximab are included;
%break(7.4.1, TABLE 23);
%break(7.4.1, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
%nums(7.4.1, sys_dur, duration_cetux, lib = work, title =Duration_cetux in weeks);
***********************************************************;
*** Table 7.4.2;
***********************************************************;
**********Table 24;
%break(7.4.2, TABLE 24);
%break(7.4.2, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
30
data dc;
set sasf.co20_f3;
by id;
retain anydc;
if upcase(off_briv)=’Y’ then anydc = ’Y’;
else anydc=’N’;
keep id anydc;
data readc;
set sasf.co20_f3;
if OFF_BRIV_REAS ne ’’;
keep id OFF_BRIV_REAS;
%counts(7.4.2, dc , anydc, lib=work, title =Protocol treatment discontinuation to Briivanib);
%counts(7.4.2, readc , OFF_BRIV_REAS, lib=work, title =Reason for discontinuation to Briivanib);
**********Table 28;
%break(7.4.2, TABLE 28);
%break(7.4.2, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
data dc;
set sasf.co20_f3;
by id;
retain anydc;
if upcase(off_cetux)=’Y’ then anydc = ’Y’;
else anydc=’N’;
keep id anydc;
31
data readc;
set sasf.co20_f3;
if OFF_CETUX_REAS ne ’’;
keep id OFF_CETUX_REAS;
%counts(7.4.2, dc , anydc, lib=work, title =Protocol treatment discontinuation to cetuximab);
%counts(7.4.2, readc , OFF_CETUX_REAS, lib=work, title =Reason for discontinuation to cetuximab);
***********************************************************;
*** Table 7.6.1;
***********************************************************;
*********Table 41;
%break(7.6.1, TABLE 41);
%break(7.6.1, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
data tox;
set sasf.co20_sae;
if form_typ=’SAE’ and action=’4’;
eligible=’Y’;
proc sort nodupkey data=tox out=tox1;
by id;
proc sort nodupkey data=tox out=tox2;
by id ae_category;
proc print;
title ’patients discontinued due to AE’;
%counts(7.6.4, tox1, eligible, lib=work, title = Number discontinued from adverse events);
32
%counts(7.6.4, tox2 , ae_category, lib=work, title = Type of adverse events);
*********Table 50;
%break(7.6.4, TABLE 50);
%break(7.6.4, %str(, , brivanib + cetuximab, placebo + cetuximab, TOTAL));
data f6;
set sasf.co20;
dead=’Y’;
%counts(7.6.4, f6, dead, lib=work, title =Number of Patients who died);
%counts(7.6.4, f6, dth_cau, lib=work, title = Cause of death);
*** For Interim Analysis(July 23, 2010);
*** File Name: surv_os_stat_wenbin;
*** --Modified by wenbin;
%let trialname = co20;
%let lib=/home/ctg-stat/sas/trials/&trialname/data;
libname sasf "&lib";
libname sasf ’/home/ctg-stat/sas/trials/co20/data’;
**All randomized patients;
data random_all;
set sasf.co20;
if substr (id,1,2) = ’CA’ then allo1_cd = ’1’;
else if substr (id,1,2) = ’AU’ then allo1_cd = ’2’;
33
else put ’ERROR’;
run;
options source2 mlogic mprint symbolgen;
data input_OS;
set random_all;
time = os;
if dead = ’Y’ then event = 1;
else if dead = ’N’ then event = 0;
if WEC_PRIOR_TRT = ’Y’ then vegfr = 1;
else if WEC_PRIOR_TRT = ’N’ then vegfr = 0;
if allo1_cd=’1’ then arm=1;
else if allo1_cd=’2’ then arm=0;
else put ’ERROR’;
if sex=’M’ then gender=1;
else if sex=’F’ then gender=0;
else put ’SEX input missing’;
if age>=65 then agec=1;
else if age<65 and age>0 then agec=0;
else put ’ERROR’;
keep id age time event vegfr WEC_STRATA_PERF_STA WEC_PERF_STA arm gender agec;
run;
data ldh;
set sasf.co20_bc;
if upcase(form_typ)=’WEC’ and upcase(test)=’LDH’;
34
if value>0 and unl>0;
if value>unl then ldh=1;
else ldh=0;
keep id ldh;
data alkph;*value of unl is missing.;
set sasf.co20_bc;
if upcase(form_typ)=’WEC’ and upcase(test)=’ALKPH’;
if value>0 and unl>0;
if value>unl then alkph=1;
else alkph=0;
keep id alkph;
data co20_hem;
merge sasf.co20_hem(in=hadrec) sasf.co20(keep=id sex);
by id;
if hadrec;
data hemtox;
set co20_hem;
if form_typ eq ’WEC’ and upcase(test)=’HGB’;
if sex = ’M’ then grade = input(value, blhgbm.);
else grade = input(value, blhgb. );
if grade=0 then hgbc=0;
else if grade>0 then hgbc=1;
keep id hgbc;
data site;
set sasf.co20_TAR_LES;
if form_typ=’F1’ and tar_site_cd ne ’’;
proc sort nodupkey;
by id tar_site_cd;
35
data sitenum;
set site;
by id;
retain num;
if first.id then num=0;
num=num+1;
if last.id then do;
if num>2 then sitenum=1;
else sitenum=0;
output;
end;
keep id sitenum;
data livmeta;
set sasf.co20_TAR_LES;
if form_typ=’F1’;
data livmeta;
set livmeta;
by id;
retain livmeta;
if first.id then livmeta=0;
if upcase(tar_site_cd)=’LIV’ then livmeta=1;
if last.id then output;
keep id livmeta tar_site_cd;
data drugnum;
set random_all;
if allo1_cd ne ’’;
if WEC_RECD_INHIB=’Y’ then t1=1;
else t1=0;
if substr (WEC_FAIL_I_TRT,1,1)=’Y’ then t2=1;
else t2=0;
36
if substr (WEC_FAIL_O_TRT,1,1)=’Y’ then t3=1;
else t3=0;
num=sum(t1,t2,t3);
if num>2 then drugnum=1;
else if num<=2 then drugnum=0;
keep id drugnum;
data input_os;
merge input_os(in=hadrec) ldh hemtox sitenum livmeta drugnum;*alkph;
by id;
if hadrec;
if arm in (1, 0);
/*proc freq;
tables arm gender agec prisite ldh alkph hgbc sitenum livmeta drugnum;
run;
endsas;*/
*********************************;
*** analysis for table 27;
*********************************;
%macro log_cox(data , var);
* generate median survival;
proc lifetest data=&data;
time time*event(0);
strata &var;
title "Unstratified log-rank test for OS - for variable: &var";
run;
* generate logrank p-value;
proc lifetest data=&data notable; *notable option can suppresses display of survival function estimates;
time time*event(0);
test &var; *test specifies numeric covariates that you want to test for association with the survival time;
37
strata WEC_STRATA_PERF_STA ;
title "Stratified log-rank test for OS - for variable: &var";
run;
*generate hazard ratio and CI;
proc phreg data=&data;
model time *event(0) = &var/rl;
strata WEC_STRATA_PERF_STA ;
title "Stratified Cox model for OS - for variable: &var";
run;
%mend log_cox;
%log_cox(input_OS , arm);
%log_cox(input_OS , gender);
%log_cox(input_OS , agec);
%log_cox(input_OS , ldh);
*%log_cox(input_OS , alkph);
%log_cox(input_OS , hgbc);
%log_cox(input_OS , sitenum);
%log_cox(input_OS , drugnum);
%log_cox(input_OS , vegfr);
%log_cox(input_OS , livmeta);
proc phreg data=input_OS;
model time *event(0) = arm gender agec ldh hgbc sitenum drugnum vegfr livmeta /rl;*alkph;
strata WEC_STRATA_PERF_STA ;
title ’Stratified Multivariate Cox Model for OS’;run;
*********************************;
*** analysis for table 28;
*********************************;
38
%macro sub_surv(data, subname =);
proc lifetest data=&data;
time time*event(0);
strata arm;
title1 "Unstratified log-rank test for OS";
title2 "Subset: &subname";
proc phreg data=&data;
model time *event(0) = arm/rl;
title1 "Unstratified Cox model for OS";
title2 "Subset: &subname";
%mend sub_surv;
**********************************************;
** subset analysis for ECOG Performance Status;
**********************************************;
data ecog01 ecog2;
set input_os;
if WEC_PERF_STA=1 or WEC_PERF_STA =0 then output ecog01;
else if WEC_PERF_STA =2 then output ecog2;
%sub_surv(ecog01, subname= ECOG Performance Status at Baseline is 0 or 1);
%sub_surv(ecog2, subname= ECOG Performance Status at Baseline is 2);
run;
*** For Interim Analysis(July 23, 2010);
*** File Name: os_curve_wenbin;
*** --Modified by wenbin;
39
*****************************************************************
FILE: /home/ctg-stat/andrewd/ma17/meeting/surv/sas
PURPOSE: This sample program calls the generic survival
curve program to produce a disease free
survival curve for MA.17 for the manuscript.
CREATED:
*****************************************************************;
****************** titles of plot and listings*******************;
*TITLE1 H=1.6 F=SWISSB ’NCIC CTG TRIAL MA.17’;
*title2 H=1.2 F=SWISSB ’Disease Free Survival’;
title1;
********************Begin Macro Definitions**********************;
****************************************************************;
** Definition of group/arm/cohort/strata values. **;
****************************************************************;
%let n_groups = 2; ** number of groups/arms/strata **;
** The group variable from the input data set must be defined **;
40
** as a character variable with the value(s) defined below. **;
%let group_1 = 1; ** Definitions of groups. **;
%let group_2 = 2; ** Unused groups may be left blank. **;
%let group_3 = ; ** Groups must be of type character. **;
%let group_4 = ; ** group_1 must even be defined for **;
%let group_5 = ; ** curves with only 1 group. **;
%let group_6 = ;
****************************************************************;
** printing options **;
%let place = WHOLE; ** Selects placement of graph on the page **;
** BOTTOM - places graph on bottom of page**;
** TOP - places graph on the top of page **;
** MIDDLE - place graph in middle of page **;
** TWO - allows two curves on one page **;
** WHOLE - uses the whole page **;
** any other choice suppresses printing **;
%let device = hpljs2; ** Chooses printer device - choose tek1040**;
** for screen and hpljs2 for printer. Many**;
** curves will not be printable on screen.**;
%let juststat = N; ** Print stats without a curve.**;
*****************************************************************;
** Select optional statistics. **;
*****************************************************************;
%let at_risk = Y; ** Set to Y if you want to print numbers at risk **;
41
** on the graph. Any other choice will supress **;
** the printing of the numbers at risk. **;
%let events = N; ** If set to Y then Event summary is printed **;
%let log_rank = N; ** Set to Y if you want the p-value of the **;
** Log Rank test printed. Otherwise p-value**;
** is not printed. **;
%let wilcoxon = N; ** Set to Y if you want the p-value of the **;
** Wilcoxon test printed. Otherwise p-value**;
** is not printed. **;
%let alpha = 0.050; ** Sets alpha for CIs of estimates **;
%let percent =; ** Requests percentile for each group. Put **;
** 50 for a median. The percentile is **;
** equivalent to (1 - survival). **;
%let h_ratio = ; ** Requests hazard ratios group_n/group_1. **;
%let pt_time = ; ** Requests a point estimator for survival **;
** rate at time specified. If no time is **;
** given no point estimator will be printed .**;
*****************************************************************;
** formats, lables, style, line types, duration and minor ticks ;
*****************************************************************;
%let name_1 = brivanib + cetuximab; ** Definition of group **;
%let name_2 = placebo + cetuximab; ** descriptions. **;
%let name_3 = ; ** Define name_1 even if**;
%let name_4 = ; ** there is only one group**;
42
%let name_5 = ;
%let name_6 = ;
%let units = months; ** Units of time. **;
%let x_lab = Time from randomization (months); ** Label on x - axis . **;
%let y_lab = Porportion alive; ** Label on y - axis . **;
%let y_style = Percent; ** Selects style of y - axis. **;
** DECIMAL - requests decimal format, **;
** anything else requests percentages. **;
%let ny_minor = ; ** number of minor ticks on the y-axis.**;
%let cut_pts = 5; ** number of patiens at which printing of**;
** the given group should be supressed **;
%let cut_time = ; ** Time to follow curve to, number of **;
%let x_by = 2; ** units per major tick, and number of **;
%let nminor = ; ** minor ticks per major tick respectively.**;
** These macros all effect the display **;
** of the X-Axis and should be selected **;
** to make sense together. IF they are **;
** left blank the program will select **;
** suitable values based on the data. **;
%let lty_1 = 1; ** Selects line types for each group on the **;
%let lty_2 = 33; ** curve. For list of line type options see **;
%let lty_3 = 5; **P. 64 SAS/GRAPH Users Guide Release 6.03 **;
%let lty_4 = 9;
43
%let lty_5 = 42;
%let lty_6 = 21;
*%let lcolor_1 = cyan;
*%let lcolor_2 = yellow;
*%let lcolor_3 = ;
*%let lcolor_4 = ;
%let w = 5; ** Width of axis, curve and major tick lines. **;
** Size may be increased to allow clear manuscript**;
** photo-reduction. **;
%let border = N; ** If set to N border is supressed **;
%let legend = Y; ** If set to N legend is supressed;
******************************************************************;
** overall program execution options **;
******************************************************************;
%let log = ;
*%let log = DETAIL ; ** if log is selected to DETAIL then a detail log **;
** using the source2, mlogic and sybolgen options **;
** is requested. Source2 prints the included code,**;
** sybolgen shows the result of every macro sub- **;
** stitution and mlogic shows when each macro **;
** statement executes. **;
44
%let freelnce = n; ** Set to Y to create ascii file surv.dat,**;
** for importation into FreeLance. **;
%let skipgrph = n ; ** Set to Y to skip execution of portion of **;
** program that produces graph. This will speed **;
** up execution when an ASCI file for importation**;
** into FreeLance is wanted, but no graph is **;
** desired. **;
********************** End Macro Definitions***********************;
*%let gout=sasp;
*%let gout=18b1;
********************* Creates First Curve **************************;
********************* INPUT Data Set 1 Creation**********************;
****************************************************************;
** The next section is trial/job specific. You may program it **;
** however you want as long as it results in the creation of **;
** data set INPUT which has the three variables - TIME, GROUP **;
** and EVENT. TIME measures the survival time in units desired**;
** GROUP is a character variable defining the groups, arms, **;
** cohorts which should agree with the definition of the group_1**;
** to group_6 variables. EVENT defines event status where 1 and**;
** 0 refer to an event and censored observation respectively. **;
****************************************************************;
*** August 24, 2010--Modified by wenbin;
%let trialname = co20;
45
%let lib=/home/ctg-stat/sas/trials/&trialname/data;
libname sasf "&lib";
**All randomized patients;
data random_all;
set sasf.co20;
if substr (id,1,2) = ’CA’ then allo1_cd = ’1’;
else if substr (id,1,2) = ’AU’ then allo1_cd = ’2’;
else put ’ERROR’;
run;
options source2 mlogic mprint symbolgen;
data input;
set random_all;
by id;
if allo1_cd ne ’’;
time = os;
if dead = ’Y’ then event = 1;
else if dead = ’N’ then event = 0;
group=allo1_cd;
keep time group event;
***********Execution of Generic Survival Curve Program***********;
** executes generic survival curve program based on macros and **
** INPUT data set created above **;
%let style=word;
%include ’/home/ctg-stat/sas/surv/surv.inc’;
*%include ’surv_colour.inc’;
46
47
Table 3: Accrual by Center
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Randomized N=273 N=416 N=689AUXA 0 ( 0.0) 416 (100.0) 416 ( 60.3)CAAJ 25 ( 9.1) 0 ( 0.0) 25 ( 3.6)CACC 2 ( 0.7) 0 ( 0.0) 2 ( 0.3)CAEM 5 ( 1.8) 0 ( 0.0) 5 ( 0.7)CAER 3 ( 1.1) 0 ( 0.0) 3 ( 0.4)CAGH 9 ( 3.3) 0 ( 0.0) 9 ( 1.3)CAGQ 37 ( 13.5) 0 ( 0.0) 37 ( 5.4)CAGS 6 ( 2.2) 0 ( 0.0) 6 ( 0.9)CAGV 8 ( 2.9) 0 ( 0.0) 8 ( 1.2)CAHC 6 ( 2.2) 0 ( 0.0) 6 ( 0.9)CAHN 18 ( 6.6) 0 ( 0.0) 18 ( 2.6)CAHO 3 ( 1.1) 0 ( 0.0) 3 ( 0.4)CAKK 1 ( 0.4) 0 ( 0.0) 1 ( 0.1)CAKO 36 ( 13.1) 0 ( 0.0) 36 ( 5.2)CALC 7 ( 2.6) 0 ( 0.0) 7 ( 1.0)CALM 2 ( 0.7) 0 ( 0.0) 2 ( 0.3)CALO 10 ( 3.6) 0 ( 0.0) 10 ( 1.4)CALY 4 ( 1.5) 0 ( 0.0) 4 ( 0.6)CAME 3 ( 1.1) 0 ( 0.0) 3 ( 0.4)CAMN 4 ( 1.5) 0 ( 0.0) 4 ( 0.6)CAMP 31 ( 11.3) 0 ( 0.0) 31 ( 4.5)CAMR 4 ( 1.5) 0 ( 0.0) 4 ( 0.6)CANG 2 ( 0.7) 0 ( 0.0) 2 ( 0.3)CANL 1 ( 0.4) 0 ( 0.0) 1 ( 0.1)CAPS 4 ( 1.5) 0 ( 0.0) 4 ( 0.6)CAPT 1 ( 0.4) 0 ( 0.0) 1 ( 0.1)CARM 1 ( 0.4) 0 ( 0.0) 1 ( 0.1)CASA 7 ( 2.6) 0 ( 0.0) 7 ( 1.0)CASS 2 ( 0.7) 0 ( 0.0) 2 ( 0.3)CATC 6 ( 2.2) 0 ( 0.0) 6 ( 0.9)CATW 17 ( 6.2) 0 ( 0.0) 17 ( 2.5)CAVA 2 ( 0.7) 0 ( 0.0) 2 ( 0.3)CAVF 5 ( 1.8) 0 ( 0.0) 5 ( 0.7)CAVK 2 ( 0.7) 0 ( 0.0) 2 ( 0.3)
48
Table 4: Accrual by Group
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Randomized N=273 N=416 N=689NCIC CTG 274 (100.0) 0 (0.0) 274(39.7)AGITG 0(0.0) 416(100.0) 416(60.3)
Table 5: Accrual by Stratification Factor
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Randomized N=273 N=416 N=689ECOG 0-1 246 (89.8) 369 (88.7) 615(89.1)ECOG 2 28(10.2) 47(11.3) 75(10.9)
Table 6: Patients Pretreatment Characteristics by gender
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
GenderFemale 90 ( 32.8) 154 ( 37.0) 244 ( 35.4)Male 179 ( 65.3) 260 ( 62.5) 439 ( 63.6)
49
Table 7: Patients Pretreatment Characteristics by race
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
RaceMissing 5 ( 1.8) 1 ( 0.2) 6 ( 0.9)White 248 ( 90.5) 389 ( 93.5) 637 ( 92.3)Black/African American 4 ( 1.5) 0 ( 0.0) 4 ( 0.6)Native Hawaiian/Pacific Islander 0 ( 0.0) 4 ( 1.0) 4 ( 0.6)Asian 16 ( 5.8) 14 ( 3.4) 30 ( 4.3)Not reported (or refused) 0 ( 0.0) 5 ( 1.2) 5 ( 0.7)Unknown 1 ( 0.4) 2 ( 0.5) 3 ( 0.4)White and Asian 0 ( 0.0) 1 ( 0.2) 1 ( 0.1)
Table 8: Patients Pretreatment Characteristics by age
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Age (years)n 274 416 690Mean 62.59 62.49 62.53Std 10.76 10.68 10.71Median 63.4 63.6 63.55Min 27.1 27 27Max 87.9 87.7 87.9”< 65 149 ( 54.4) 228 ( 54.8) 377 ( 54.6)>= 65 125 ( 45.6) 188 ( 45.2) 313 ( 45.4)
50
Table 9: Patients Pretreatment Characteristics by ECOG Performance Status
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
ECOG Performance Status0 88 ( 32.1) 130 ( 31.3) 218 ( 31.6)1 158 ( 57.7) 239 ( 57.5) 397 ( 57.5)2 28 ( 10.2) 47 ( 11.3) 75 ( 10.9)
Table 10: Patients Pretreatment Characteristics by BSA
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
BSAn 274 416 690Mean 1.867 1.874 1.872Std 0.222 0.238 0.232Median 1.87 1.88 1.875Min 1.37 1.19 1.19Max 2.7 2.51 2.7
Table 11: Patients Pretreatment Characteristics by type of malignancy
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Type of MalignancyColon and Rectum 36 ( 13.1) 44 ( 10.6) 80 ( 11.6)Colon only 154 ( 56.2) 247 ( 59.4) 401 ( 58.1)Rectum only 84 ( 30.7) 125 ( 30.0) 209 ( 30.3)
51
Table 12: Patients Pretreatment Characteristics by months from first HistologicalDiagnosis to Randomization
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Months from first Histological Diagnosis to Randomizationn 274 415 689Mean 41.87 36.91 38.88Std 27.67 26.14 26.85Median 33.13 29.37 30.55Min 3.318 2.497 2.497Max 160.3 188.9 188.9
Table 13: Patients Pretreatment Characteristics by histology
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
HistologyAdenocarcinoma 274 (100.0) 411 ( 98.8) 685 ( 99.3)Others 0 ( 0.0) 5 ( 1.2) 5 ( 0.7)
Table 14: Patients Pretreatment Characteristics by liver metastases
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Liver MetastasesNO 68 ( 24.8) 81 ( 19.5) 149 ( 21.6)YES 206 ( 75.2) 335 ( 80.5) 541 ( 78.4)
52
Table 15: Patients Pretreatment Characteristics by KRAS Status
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
KRAS StatusNO 1 ( 0.4) 16 ( 3.8) 17 ( 2.5)YES 273 ( 99.6) 400 ( 96.2) 673 ( 97.5)
Table 16: Total treatment duration of brivanib/placebo per patient
Data set: All treated Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Duration-briv in weeksn 263 403 666Mean 17.85 19.15 18.64Std 14.96 17.07 16.27Median 12.86 13.71 12.86Min 1.286 1 1Max 92.86 108.9 108.9
Table 17: Total treatment duration of cetuximab per patient
Data set: All randomized Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Duration-cetux in weeksn 263 406 669Mean 18.43 19.14 18.86Std 15.46 17.39 16.65Median 13 13.57 13Min 0 1 0Max 92.14 108 108
53
Table 18: Treatment discontinuation to Briivanib
Data set: All treated Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2
protocol treatment discontinuation 217 ( 79.2) 323 ( 77.6)Reason for discontinuation:Death 6 ( 2.2) 15 ( 3.6)Intercurrent illness 8 ( 2.9) 10 ( 2.4)Other 10 ( 3.6) 9 ( 2.2)Objective progressive disease 138 ( 50.4) 179 ( 43.0)Adverse events to brivanib / placebo 28 ( 10.2) 49 ( 11.8)Patient refusal 5 ( 1.8) 24 ( 5.8)Symptomatic progression 23 ( 8.4) 38 ( 9.1)
Table 19: Treatment discontinuation to Cetuximab
Data set: All treated Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2
protocol treatment discontinuation 213 ( 77.7) 315 ( 75.7)Reason for discontinuation:Death 8 ( 2.9) 15 ( 3.6)Intercurrent illness 6 ( 2.2) 13 ( 3.1)Other 5 ( 1.8) 9 ( 2.2)Objective progressive disease 150 ( 54.7) 192 ( 46.2)Adverse events to brivanib / placebo 17 ( 6.2) 22 ( 5.3)Patient refusal 4 ( 1.5) 20 ( 4.8)Symptomatic progression 24 ( 8.8) 45 ( 10.8)
54
Table 20: Number discontinued from adverse events and Type of adverse events
Data set: All treated Patients
Number of patients(%)
Fake Arm 1 Fake Arm 2 Total
Number discontinued from adverse eventsYes 26 ( 9.5) 56 ( 13.5) 82 ( 11.9)Type of adverse events:Missing 0 ( 0.0) 1 ( 0.2) 1 ( 0.1)ALLERGY/IMMUNOLOGY 0 ( 0.0) 6 ( 1.4) 6 ( 0.9)CARDIAC ARRHYTHMIA 0 ( 0.0) 2 ( 0.5) 2 ( 0.3)CARDIAC GENERAL 1 ( 0.4) 1 ( 0.2) 2 ( 0.3)CONSTITUTIONAL SYMPTOMS 1 ( 0.4) 8 ( 1.9) 9 ( 1.3)DEATH 5 ( 1.8) 1 ( 0.2) 6 ( 0.9)DERMATOLOGY/SKIN 0 ( 0.0) 1 ( 0.2) 2 ( 0.3)GASTROINTESTINAL 5 ( 1.8) 8 ( 1.9) 18 ( 2.6)HEMORRHAGE/BLEEDING 3 ( 1.1) 2 ( 0.5) 6 ( 0.9)HEPATOBILIARY/PANCREAS 1 ( 0.4) 3 ( 0.7) 4 ( 0.6)INFECTION 1 ( 0.4) 5 ( 1.2) 7 ( 1.0)LYMPHATICS 0 ( 0.0) 1 ( 0.2) 1 ( 0.1)METABOLIC/LABORATORY 0 ( 0.0) 3 ( 0.7) 5 ( 0.7)MUSCULOSKELETAL/SOFT TISSUE 0 ( 0.0) 1 ( 0.2) 2 ( 0.3)NEUROLOGY 3 ( 1.1) 7 ( 1.7) 13 ( 1.9)PAIN 1 ( 0.4) 2 ( 0.5) 12 ( 1.7)PULMONARY/UPPER RESPIRATORY 2 ( 0.7) 2 ( 0.5) 5 ( 0.7)RENAL/GENITOURINARY 0 ( 0.0) 1 ( 0.2) 2 ( 0.3)VASCULAR 3 ( 1.1) 1 ( 0.2) 5 ( 0.7)
55