A SAS Macro to Automate the Process of Pooling Sites

Similar documents
Statistics and Data Analysis. Common Pitfalls in SAS Statistical Analysis Macros in a Mass Production Environment

An Efficient Tool for Clinical Data Check

A Taste of SDTM in Real Time

PharmaSUG Paper SP04

CC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ

Pharmaceuticals, Health Care, and Life Sciences. An Approach to CDISC SDTM Implementation for Clinical Trials Data

A Macro for Generating the Adverse Events Summary for ClinicalTrials.gov

Real Time Clinical Trial Oversight with SAS

Working with Composite Endpoints: Constructing Analysis Data Pushpa Saranadasa, Merck & Co., Inc., Upper Gwynedd, PA

PharmaSUG Paper TT11

186 Statistics, Data Analysis and Modeling. Proceedings of MWSUG '95

An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio

Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.

PharmaSUG China

Main challenges for a SAS programmer stepping in SAS developer s shoes

PharmaSUG Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc.

One Project, Two Teams: The Unblind Leading the Blind

JMP Clinical. Release Notes. Version 5.0

Not Just Merge - Complex Derivation Made Easy by Hash Object

Pooling Clinical Data: Key points and Pitfalls. October 16, 2012 Phuse 2012 conference, Budapest Florence Buchheit

CFB: A Programming Pattern for Creating Change from Baseline Datasets Lei Zhang, Celgene Corporation, Summit, NJ

Week 6, Week 7 and Week 8 Analyses of Variance

An Introduction to Analysis (and Repository) Databases (ARDs)

PharmaSUG China. model to include all potential prognostic factors and exploratory variables, 2) select covariates which are significant at

A SAS Macro for Generating Informative Cumulative/Point-wise Bar Charts

Programmatic Automation of Categorizing and Listing Specific Clinical Terms

PharmaSUG China Paper 059

Figure 1. Table shell

Sorting big datasets. Do we really need it? Daniil Shliakhov, Experis Clinical, Kharkiv, Ukraine

Applying ADaM Principles in Developing a Response Analysis Dataset

Indenting with Style

Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C.

Benchmark Macro %COMPARE Sreekanth Reddy Middela, MaxisIT Inc., Edison, NJ Venkata Sekhar Bhamidipati, Merck & Co., Inc.

Exploring the SAS Macro Function %SYSFUNC

PharmaSUG Paper CC11

Create Metadata Documentation using ExcelXP

SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG

A Three-piece Suite to Address the Worth and Girth of Expanding a Data Set. Phil d Almada, Duke Clinical Research Institute, Durham, North Carolina

Data Annotations in Clinical Trial Graphs Sudhir Singh, i3 Statprobe, Cary, NC

PharmaSUG Paper PO10

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.

Want to Do a Better Job? - Select Appropriate Statistical Analysis in Healthcare Research

Pooling strategy of clinical data

Taming the Box Plot. Sanjiv Ramalingam, Octagon Research Solutions, Inc., Wayne, PA

A SAS and Java Application for Reporting Clinical Trial Data. Kevin Kane MSc Infoworks (Data Handling) Limited

Facilitate Statistical Analysis with Automatic Collapsing of Small Size Strata

The Power of Combining Data with the PROC SQL

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

The NESTED Procedure (Chapter)

Get into the Groove with %SYSFUNC: Generalizing SAS Macros with Conditionally Executed Code

Utilizing the VNAME SAS function in restructuring data files

Individual Funding Requests (IFR) Guidance notes for referrers (GPs and Referring Clinicians)

Creating a Patient Profile using CDISC SDTM Marc Desgrousilliers, Clinovo, Sunnyvale, CA Romain Miralles, Clinovo, Sunnyvale, CA

An Introduction to Visit Window Challenges and Solutions

Prove QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC

To conceptualize the process, the table below shows the highly correlated covariates in descending order of their R statistic.

SAS CLINICAL SYLLABUS. DURATION: - 60 Hours

A Fully Automated Approach to Concatenate RTF outputs and Create TOC Zhiping Yan, Covance, Beijing, China Lugang Xie, Merck, Princeton, US

Are you Still Afraid of Using Arrays? Let s Explore their Advantages

Paper CC06. a seed number for the random number generator, a prime number is recommended

One-PROC-Away: The Essence of an Analysis Database Russell W. Helms, Ph.D. Rho, Inc.

Integrated Safety Reporting Anemone Thalmann elba - GEIGY Ltd (PH3.25), Basel

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables

What Is SAS? CHAPTER 1 Essential Concepts of Base SAS Software

SAS/STAT 13.1 User s Guide. The NESTED Procedure

Application of Modular Programming in Clinical Trial Environment Mirjana Stojanovic, CALGB - Statistical Center, DUMC, Durham, NC

How to clean up dirty data in Patient reported outcomes

Understanding and Applying the Logic of the DOW-Loop

Preparing the Office of Scientific Investigations (OSI) Requests for Submissions to FDA

Implementing CDISC Using SAS. Full book available for purchase here.

Chapter 28 Saving and Printing Tables. Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS OUTPUT OBJECTS...

Frequentist and Bayesian Interim Analysis in Clinical Trials: Group Sequential Testing and Posterior Predictive Probability Monitoring Using SAS

A Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions

USING HASH TABLES FOR AE SEARCH STRATEGIES Vinodita Bongarala, Liz Thomas Seattle Genetics, Inc., Bothell, WA

From Implementing CDISC Using SAS. Full book available for purchase here. About This Book... xi About The Authors... xvii Acknowledgments...

Creating output datasets using SQL (Structured Query Language) only Andrii Stakhniv, Experis Clinical, Ukraine

Internet, Intranets, and The Web

A Practical and Efficient Approach in Generating AE (Adverse Events) Tables within a Clinical Study Environment

EXAM - A Clinical Trials Programming Using SAS 9 Accelerated Version. Buy Full Product.

OptimiseRx Prescribers User Guide for EMIS Web

Integrated Clinical Systems, Inc. announces JReview 13.1 with new AE Incidence

PHARMACOKINETIC STATISTICAL ANALYSIS SYSTEM - - A SAS/AF AND SAS/FSP APPLICATION

A Tool to Compare Different Data Transfers Jun Wang, FMD K&L, Inc., Nanjing, China

Tips and Tricks in Creating Graphs Using PROC GPLOT

Quick and Efficient Way to Check the Transferred Data Divyaja Padamati, Eliassen Group Inc., North Carolina.

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility

Click the on the left to change the Start Date; click the on the right to change the End Date for the current results.

It s Proc Tabulate Jim, but not as we know it!

When Powerful SAS Meets PowerShell TM

Let Hash SUMINC Count For You Joseph Hinson, Accenture Life Sciences, Berwyn, PA, USA

THE IMPACT OF DATA VISUALIZATION IN A STUDY OF CHRONIC DISEASE

2 = Disagree 3 = Neutral 4 = Agree 5 = Strongly Agree. Disagree

A Few Quick and Efficient Ways to Compare Data

SAS Drug Development. SAS Macro API 1.3 User s Guide

Manipulating Statistical and Other Procedure Output to Get the Results That You Need

Effectively Utilizing Loops and Arrays in the DATA Step

Questions, Queries, and the Uncertainty Principle. Andy Berks Merck & Co.

Displaying Multiple Graphs to Quickly Assess Patient Data Trends

Using PROC SQL to Generate Shift Tables More Efficiently

A Simple Interface for defining, programming and managing SAS edit checks

Transcription:

A SAS Macro to Automate the Process of Pooling Sites Changhong Shi, Merck & Co., Inc. Rahway, NJ Lili Chen, Merck & Co., Inc. Rahway, NJ ABSTRACT In an international clinical trial, the patients are located in different geographic regions, such as US region, Asia- Pacific region, and other regions. In each region, the patients can be randomized to different sites, within different treatment groups. To minimize the difference in the number of patients between each site within the same region, we pool several small sites together to make a larger site called CENTER according to pre-specified criteria. A center, rather than individual small sites, can be used to test the stability of treatment effect of a drug using SAS Mixed model, that is commonly used in statistical analyses. This paper describes two approaches of applying sites/center(s) to fit the Mixed model. One is using an automatic macro call that pools small sites to create centers, another approach is considering the individual sites as the random effect without pooling. This paper is focused on the way how a macro pools small sites to create centers, by using SAS system version 8.02 or higher in windows operating system. The paper is suitable for any level of audiences, especially the medium level users who are experienced in clinical trials. DISCUSSION HOW TO POOL SITE(S) INTO A CENTER By pre-specified criteria, the number of patients n (for example n=3) in each treatment group has been defined. If a site contains all treatment groups and at least n patients in each treatment group, then this site has satisfied the criteria of a Center. Otherwise it is considered as a small site. 1. CALLING THE TRADITIONAL MACROS: %POOLCNTR By calling the POOLCNTR macro, it generates a SAS data set that contains a list of small sites. All small sites on this list can be pooled into one large center. For example, to make a Satisfied Center, there is n >= 3 in each treatment group. Trt1 Trt2 Trt3 Total Site# - satisfied 0067 4 3 3 10 center - satisfied 0068 4 5 5 14 center List of small sites - satisfied 0069 3 3 6 12 center. Site# Trt1 Trt2 Trt3 Total small site 0071 1 2 3 6 => 0071 1 2 3 6 small site 0072 3 1 3 7 => 0072 3 1 3 7 small site 0073 1 2 1 4 => 0073 1 2 1 4. Total: 5 5 7 17 => pool into one center 1

The assumption for this macro is that we only have a limited number of small sites, or a limited number of patients in the small sites. Therefore, after all small sites are pooled into one center, the number of patients in the center would not be too large, and there will be only comparable sized centers after pooling. To release these limitations, we implemented a new macro %newpoolcntr. 2. CALLING A NEW MACRO: %NEWPOOLCNTR By calling a macro %newpoolcntr, we can pool small sites into centers which each contain a comparable number of patients. It will distribute patients to each center to avoid the extreme large sized centers that can happen easily from the previous macro poolcntr. The following example shows how we use the new macro to pool the small sites into centers. 1) Get a data set that contains the patents located in the same region, such as US region, Asia-Pacific region, or Other region. e.g. Where region = Asia-Pacific ; 2) In a region, calculate the number of patients in each treatment group for each site. In this example, there are 3 treatment groups per site in Asia-Pacific region. Table 1: Sites in Asia-Pacific region Site # trt1 trt2 trt3 0067 4 3 3 satisfied 0068 4 5 5 satisfied 0069 2 2 3 0095 2 2 2 0096 3 4 3 satisfied 0097 3 2 3 0099 1 2 2 0103 3 2 4 0104 2 2 2 0105 3 3 2 0106 2 2 3 0107 2 2 2 0108 2 2 1 0109 3 2 3 0121 2 2 2 0125 1 2 2 0126 2 2 2 0127 2 2 2 To make a satisfied center, the pre-specified criteria is n >= 3 in each treatment group. From above table 1, only 3 sites are considered as 3 satisfied centers, the rest of small sites are considered as unsatisfied. Output 3 satisfied centers into a Satisfied data set, and output the rest of the small sites into an Unsatisfied data set. data satisfied unsatisfied; set Asia_Pacific_region; if trt1 >= 3 and trt2 >= 3 and trt3 >= 3 then do; center=trim(left( &regionnum studynum)); /* assign an unique center# to the satisfied site */ output satisfied; else output unsatisfied; 2

3) Call %newpoolcntr macro to pool the Unsatisfied small sites to make the satisfied center(s). In the example, it is sorted by ascending site # in Unsatisfied data set. Table 2: Unsatisfied data set (n<3 in at least one treatment group): Site # trt1 trt2 trt3 0069 2 2 3 0095 2 2 2 0097 3 2 3 0099 1 2 2 0103 3 2 4 0104 2 2 2 0105 3 3 2 0106 2 2 3 0107 2 2 2 0108 2 2 1 0109 3 2 3 0121 2 2 2 0125 1 2 2 0126 2 2 2 0127 2 2 2 To make a satisfied center, the macro adds up n (within each treatment group) from the last site into the next site, until it meets the specified criteria: at least 3 patients exist in each treatment group. Table 3: Illustration of Making Satisfied Centers Site # trt1 trt2 trt3 center tot_trt1 tot_trt2 tot_trt3 0069 2 2 3 1111 2 2 3 0095 2 2 2 1111 4 4 5 0097 3 2 3 1112 3 2 3 0099 1 2 2 1112 4 4 5 0103 3 2 4 1113 3 2 4 0104 2 2 2 1113 5 4 6 0105 3 3 2 1114 3 3 2 0106 2 2 3 1114 5 5 5 0107 2 2 2 1115 2 2 2 0108 2 2 1 1115 4 4 3 0109 3 2 3 1116 3 2 3 0121 2 2 2 1116 5 4 5 0125 1 2 2 1117 1 2 2 0126 2 2 2 1117 3 4 4 0127 2 2 2 1117 5 6 6 From the example, number of patients in site 0069 is added to site 0095 per treatment group: 2+2=4 in trt1, 2+2=4 in trt2, 3+2=5 in trt3, it satisfies n >= 3 per treatment group after combined these 2 small sites into a center 1111. Number of patients in site 0097 is added to site 0099 within each treatment group: 3+1=4 in trt1, 2+2=4 in trt2, 3+2=5 in trt3, it makes another satisfied center 1112 after combined these two small sites. An unknown/unspecified number of small sites can be combined as a satisfied center until the prespecified criteria is met (e.g. total n >= 3 in each treatment group). From Unsatisfied data set, if there is/are small site(s) (e.g. n < 3 in at least one treatment group) left in this data set after it has reached the last observation, the macro adds the left over small site(s) up to the last center. From above table 3, the last site 0127 is left in the Unsatisfied data set. As we can see the last satisfied center is 1117, which is created by combining site 0125 and site 0126. The left small site 0127 will be added 3

to the last center 1117. This way, we found that there is no small site(s) left over and all small sites are pooled into the satisfied center(s). The following sample programming shows how the macro %newpoolcntr works: data unsatisfied; set unsatisfied end=eof;/*when it reaches the last observation*/ retain cn 1; /*keep track of the increased cn number(center#)*/ /* adds n per trt to tot_trt to keep track of n number*/ tot_trt1+trt1; tot_trt2+trt2; tot_trt3+trt3; /* assign a center # to sites */ center=trim(left("&regionnum")) trim(left(put(cn, 4.))); if eof then do; /* when it reaches the last observation */ if tot_trt1 < 3 or tot_trt2 < 3 or tot_trt3 < 3 then call symput('last_cn', put(cn-1, 2.)); /* if it is the small site left, then decreases the cn number to combine the left site to the last center */ else call symput('last_cn', put(cn, 2.)); /* assign the last cn as a macro variable for later using */ else do; /* if it reaches the satisfied center, it sets tot_trt to 0, increment cn to cn+1, to keep track of the center# and start to count total n in each trt in the next center */ if tot_trt1 >= 3 and tot_trt2 >= 3 and tot_trt3 >= 3 then do; tot_trt1=0; tot_trt2=0; tot_trt3=0; cn=cn+1; drop tot_trt1 tot_trt2 tot_trt3; %let last_cn=&last_cn; data unsatisfied; set unsatisfied; if cn > &last_cn then do; /* combine the left small site(s) to the last center */ cn = &last_cn; center=trim(left("&regionnum")) trim(left(put(cn, 4.))); 4

SAMPLE ANALYSIS To provide the evidence on the stability of treatment effect of a drug, we are using SAS Mixed model. This part describes the approach of doing the analysis using center in the model, where center are created by pooling sites by using macro %newpoolcntr. proc mixed data=effglm; by week; class trt priormed protocol center; model basechng = trt priormed basevalu protocol center trt*center; lsmeans trt / pdiff cl; ods output LSMeans=lsmn Diffs=lsmdiff CovParms=rmse Tests3=fixedeff; quit; The MODEL statement specifies the continuous response variable, change from baseline (basechng), which is placed to the left of the equal sign. The explanatory variables are listed to the right of the equal sign. The last term, trt*center, provides a way to test for the interaction between the two effects: treatment and center. The result shows the p-value for ANCOVA effects. By calling the macro %newpoolcntr that we specified in the previous part, it pools at least 3 patients in each of 3 treatment groups as a center. Thus the p-value shows the treatment effect across a center is approximately 0.728 (>0.05), which denotes no significant difference between treatment effects across centers. week sort Descrip effect Pvalue 24 1 Baseline Value basevalu <0.001 24 2 Treatment trt <0.001 24 2 Treatment trt*center 0.728 24 3 Prior Anti-hyperglycemic Medication priormed 0.176 24 4 Center center <0.001 When the macro %newpoolcntr pools the small sites to a center as n >= 6 or n>=10 in each of 3 treatment groups, the results show the p-values are 0.358 (>0.05) and 0.403 (>0.05) respectively. AS WE CAN SEE, THE P-VALUES SHOW THAT THERE IS NO SIGNIFICANT CHANGE FROM THE TREATMENT EFFECTS ACROSS CENTERS, EVEN WHEN DIFFERENT NUMBER OF PATIENTS ARE POOLED INTO A CENTER (E.G. N>= 3, N>= 6, N>= 10, IN EACH TREATMENT GROUP). CONCLUSIONS To test the stability of treatment effect of a drug within a certain number of patients, the macro %newpoolcntr is a useful utility that can facilitate the pooling of small sites data to one center before fitting to MIXED model. Therefore, no huge differences between sites can cause any potential misfit of the model. REFERENCES: Macrolib libraries in Merck ACKNOWLEDGMENTS SAS is a Registered Trademark of the SAS Institute, Inc. of Cary, North Carolina. itm1 is a registered trademark of Applix, Inc. We would like to thank our management team for their encouragement and review of this paper. Special thanks to Elaine B. Czarnecki and Kaifeng Lu for getting us started and continuous support. 5

CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Changhong Shi Merck & Co., Inc. RY34-A320 126 East Lincoln Ave. Rahway, NJ 07065 Work Phone: (732) 594-1383 Fax: (732) 594-6075 Email: changhong_shi@merck.com Lili Chen Merck & Co., Inc. RY34-A320 126 East Lincoln Ave. Rahway, NJ 07065 Work Phone: (732) 594-0613 Fax: (732) 594-6075 Email: lili_chen@merck.com 6