A Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions
|
|
- Kerry Anthony
- 6 years ago
- Views:
Transcription
1 Paper FC07 A Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions Xingshu Zhu and Shuping Zhang Merck Research Laboratories, Merck & Co., Inc., Blue Bell, PA ABSTRACT In 1999, the FDA issued a guidance imposing certain requirements on electronic submissions. Under this guidance, an analysis data set must be converted into a SAS transport file. As a result, it is important for programmers to have a convenient and reliable tool to perform this conversion. We have developed such a tool in the form of a utility macro. This macro can also be used to efficiently and effectively split data sets when they exceed the FDA-imposed size limitation. We have tested this macro in many projects, and it has proved to be a very efficient and advantageous tool in FDA submissions. KEYWORDS Data set size, PROC CONTENTS, SAS transport file, FDA submission INTRODUCTION The use of electronic submissions has become one of fastest growing trends in the pharmaceutical industry. One very important part of the submission package is the analysis data sets. The FDA guidance on electronic submissions requires an analysis data set to be submitted in the form of a SAS transport file that may not exceed 25 MB in size ( Guidance for Industry - Providing Regulatory Submissions in Electronic Format - NDAs" (January 1999)). The guidance also requires that the transport file names include the three-character extension.xpt in order to be compatible with FDA desktop setup and usage. If a data set exceeds the FDA size limitation, it must be split, meaning that more than one transport file will be needed to present the data. In order to comply with the FDA guidance and to accommodate FDA statistical reviewers, we have adopted some specific additional guidelines for preparing SAS transport files for electronic submission. By following these guidelines, we have been able to create user friendly transport files that have been well accepted by the FDA. The additional guidelines are: SAS transport files must not exceed records (observations); when a large data set must be split into multiple transport files, the information should be divided in a specific manner and the resulting files should be named according to specific rules. It is quite easy for SAS programmers to ignore or misunderstand the detailed requirements involved in converting data sets into SAS transport files. Under the incorrect assumption that all data sets automatically satisfy these requirements, programmers often convert data sets directly into transport files without checking for compliance with the limitations on data set size and number of records. Sometimes the data sets are simply inspected from the Windows Explorer after they are created, and then the data set programs are used to fix the problem when the required limits are exceeded. This process can be very time consuming and inconvenient. Furthermore, since the format and size requirements for the data sets are very specific, it is important to follow a well-established procedure for splitting the files that exceed the size limits. In this paper, we describe a reliable macro tool that
2 we have developed in response to this situation. This macro automatically performs the conversions needed to make the data sets compatible with both the FDA guidance and the additional guidelines. PROCEDURES This tool that we developed for use in data set submissions is a utility macro called %SetXpt. This macro consists of four procedures carried out by four sub-macros, %DsSize, %Ds_obs, %sas2xpt and %splitds, as shown below. %macro SetXpt(ds=, xptdir=); %DsSize(ds=&ds); %Ds_obs(ds=&ds); %if &ds_mb <= 25 and &n_obs <= %then %sas2xpt(ds=&ds, xptdir=&xptdir); %else %splitds(ds=&ds, xptdir=&xptdir); %mend SetXpt; Each sub-macro is designed to carry out one specific task in the process of bringing a data set into compliance with both FDA and our additional guidelines. For example, the first macro, %DsSize, is used to perform the estimation on the size of the input data set, which is the first step in the procedure of data set conversion. The second macro, %Ds_obs, is used to calculate the number of observations (records) in the data set. The third macro, %sas2xpt, converts the input SAS data set to an xpt file if the data set is within the limits of the requirements. The last macro, %splitds, which is also the most complicated one, performs the tedious and difficult work of splitting the data set. When it has been determined that the size or record requirements have been violated, this macro can split the data set according to the specific name conventions and rules. It then converts the resulting SAS data sets to xpt files and exports them. Each of these macros is described in detail below. (1). Calculating the size of a data set The important point about data set size estimation is that it must be performed within a program before the final data set or transport file is created. Programmers should not try to make the size estimation after viewing the final data set or transport file from the Windows Explorer. The following SAS codes demonstrate how the size of a data set is estimated with the library information extracted from the PROC CONTENTS procedure. The input SAS data set is represented by the parameter ds. The macro %DsSize outputs a global macro variable, called ds_mb, that holds the size of the input SAS data set in megabytes (MB). %macro DsSize(ds= /* one or two level input SAS data set */); %global ds_mb; %if %index(&ds,%str(.)) ne 0 %then %let ds_ = %substr(&ds,%eval(%index(&ds,%str(.))+1)); %else %let ds_ = &ds; ods output "Library Members"=LibInfo; proc contents data=&ds memtype=data; ods output close; data _null_; set LibInfo; if Memname eq "%upcase(&ds_)" then do;
3 call symput('ds_mb', round(file_size/ ,0.01)); %mend DsSize; (2). Estimating the number of Observations in a SAS data set The number of observations in a data set can be simply estimated with the SAS function ATTRN, as demonstrated by the macro %Ds_Obs. The macro %Ds_Obs outputs a global macro variable, n_obs, that holds the number of observations in the input SAS data set (ds). %macro Ds_Obs(ds= /* one or two level input SAS data set */); %global n_obs; %let dsid = %sysfunc(open(&ds)); %let n_obs= %sysfunc(attrn(&dsid,nobs)); %let dsid = %sysfunc(close(&dsid)); %m (3).Converting a SAS data set to a SAS transport file when it is within the required size and record limits There are normally two ways to convert a SAS data set into a SAS transport file: one is with the engine XPORT and the procedure PROC COPY, and the other is with the engine XPORT and the SAS data step. The macro %sas2xpt adopts the second approach. It uses the engine XPORT and the SAS data step to convert the SAS data set ds into the SAS transport file &xptname..xpt, which it stores under the directory xptdir. %macro sas2xpt(ds=, xptdir=); %local outfile; %if %index(&ds,.)>0 %then %let xptname=%substr(&ds,%eval(%index(&ds,.)+1)); %else %let xptname=&ds; %let xptname=%substr(&xptname,1,%sysfunc(min(8,%length(&xptname)))); %let outfile=%sysfunc(compress(&xptdir\&xptname..xpt)); libname yyy xport "&outfile"; data yyy.&xptname; set &ds; libname yyy clear; %mend sas2xpt; (4). Splitting a SAS data set into multiple SAS transport files if it exceeds the required limits If a data set surpasses the limits by being more than 25 MB in size or containing more than records, it must be split into smaller groups. The strategy employed here is that, when a data set is split, all of the data on a particular patient should be contained in one file, and, if possible, data on all patients from the same study site should be contained within the same file. Since this strategy allows for better organization of the split data, it facilitates the work of FDA reviewers. In addition, we have applied specific naming conventions as a method for organizing the split files. The files split from the same data set should use the same root name ending with a number that increases sequentially for each file. If the total number of split files is less than ten, then the root name for each file contains up to
4 seven letters from the original data set file name and ends with a number from 1 though 9, respectively. Assume, for example, that the data set DEMODATA exceeds the size limit and is split into three data sets. The split data sets will be named DEMODAT1, DEMODAT2 and DEMODAT3. However, if the total number of split files is ten or greater, then the root name for each file contains up to six letters from the original data set file name and ends with a number from 01 to 99, respectively. (We assume that the number of split files will not exceed 99.) For example, assume that the data set LABADATA exceeds the size limit and is split into twelve data sets. The resulting split data sets will be named LABADA01, LABADA02 LABADA10, LABADA11 and LABADA12. Finally, after a data set is split into multiple sub-data sets with appropriate root names, these sub-data sets must be converted into xpt files. The entire process of splitting a SAS data set into multiple SAS transport files is obviously a complicated one. In order to complete this process, we have developed the following SAS code, which is divided into five steps. Step 1. Estimate the number of observations per output data set. In order to estimate the number of observations per output data set, the PROC CONTENTS procedure is used to obtain the Engine/Host information about the input data set (ds). The following SAS code shows how the number of observations per output data set is estimated using Data Set Page Size and Max Obs per Page. The Obs in First Data Page and Max Obs per Page are used to make sure that the size of the output data set does not exceed the limit of 25 MB. The macro variable ObsPerDs holds the number of observations per output data set and will be used later. ods output "Engine/Host Information"=hostinfo; proc contents data=&ds; ods output close; data _null_; set hostinfo end=eof; retain pagesize maxobspp obspage1; if Label1 eq "Data Set Page Size" if Label1 eq "Max Obs per Page" if Label1 eq "Obs in First Data Page" then pagesize = cvalue1; then maxobspp = cvalue1; then obspage1 = cvalue1; if eof then do; ObsPerDs= obspage1+maxobspp*(floor(25*1024*1024/pagesize)-1); call symput('obsperds',compress(put(obsperds,8.0))); Step 2. Calculate the total number of observations in each study site. The second step is to obtain the observation counts for each study site in order to judge if the study site can be placed into one data set. proc sort data=&ds out=dscopy; by Study_Site Patient_ID; data SiteCount(keep=Study_Site Site_Count); set DsCopy; retain Site_Count; by Study_Site; if first.study_site then Site_Count=0; Site_Count + 1;
5 if last.study_site then output; data DsCopy; merge DsCopy SiteCount; by Study_Site; Step 3. Assign Set_ID to each observation in the data set. The variable Set_ID is used to label each observation in the input data set in order to determine in which output data set the observation will be stored. The macro variable tot_ds holds the total number of output data sets to be created after the input data set is split. For example, if an input data set is split into three output data sets, then the variable Set_ID will be given the values of 1, 2 and 3, respectively, and the tot_ds will be 3. data SetID(keep=Study_Site Patient_ID Set_ID); set DsCopy end=eof; by Study_Site Patient_ID; retain _IDCnt _SetCnt 0 Set_ID 1; if first.study_site then do; if Site_Count <= &ObsPerDs and _SetCnt + Site_Count > &ObsPerDs then do; Set_ID + 1; _SetCnt=0; if first.patient_id then _IDCnt=0; _IDCnt+1; if last.patient_id then do; _SetCnt + _IDCnt; if _SetCnt > &ObsPerDs then do; Set_ID + 1; _SetCnt=_IDCnt; output; if eof then do; call symput("tot_ds",trim(left(put(set_id,3.)))); Step 4. Determine the root names of the multiple output data sets. In accordance with the naming conventions, this step determines the root names of the multiple output data sets that are created after the input data set is split. As previously explained, if the total number of split data sets is less than ten, then the root name for each split data set consists of up to seven letters of the file name of the input data set, ending with a number from 1 through 9, respectively. If the total number of split data sets is between the numbers 10 and 99, then the root name for each split data set consists of up to six letters of the file name of the input data set, ending with a number from 01 through 99, respectively. %let rt=%scan(%substr(&ds,%eval(%index(&ds,.)+1)),1,.); %let root=%substr(&rt,1,%sysfunc(min(%length(&rt),%eval(8-%length(&tot_ds))))); Step 5. Split the input data set (ds) into multiple data sets and convert them to xpt files.
6 The following codes perform the process of splitting the large data set into multiple sub-data sets assigned by the macro variable Set_ID, which was calculated above in Step 3. A DO loop will iterate until the total number of split data sets, tot_ds, is reached. Once the multiple files are established individually, the macro %sas2xpt is called for each split data set to output the multiple xpt files. %do j=1 %to &tot_ds; %if (&tot_ds >= 10) and (&j < 10) %then %let xptname=%sysfunc(compress(&root.0&j)); %else %let xptname=%sysfunc(compress(&root.&j )); data &xptname(drop=site_count Set_ID); merge DsCopy SetID; by Study_Site Patient_ID; if Set_ID=&j; %sas2xpt(ds=&xptname, xptdir=&xptdir); proc datasets nolist; delete &xptname; quit; % proc datasets nolist; delete DsCopy SiteCount SetID; quit; APPLICATION We used an actual SAS data set, "vital.sas7bdat," to test the macro %SetXpt.sas in the Windows NT environment. Since we determined the size of this SAS data set to be around 134 MB, which exceeds the limit of 25 MB, it was split into several sub-data sets. These sub-data sets were ultimately converted into xpt transport files. The output from running the macro %SetXpt.sas on the data set vital.sas7bdat is displayed as follows: libname datadir "C:\data_analysis"; %macro SetXpt(ds=datadir.vital, xptdir=vital); The following results are printed in the Windows Explorer screen: Clearly, the data set vital.sas7bdat has been split into six subsets, named vital1.xpt, vital2.xpt vital6.xpt, respectively. Each of these files is smaller than the maximum of 25 MB because we followed the strategy of keeping the same study site and patient in the same file. Macro %SetXpt has also been tested on many larger data sets, including lab data that has been split in up to 26 subsets. The results of these tests indicate that the macro works reliably for all different types of large data sets.
7 CONCLUSION How to accurately and efficiently estimate the size of a data set and convert it into a SAS transport file is a very important issue to resolve prior to an FDA submission. If a data set exceeds the FDA size limitation, it must be split into two or more sub-data sets. In this paper, we presented a utility macro that not only converts a SAS data set into a transport file, but also estimates the size and number of records of the data set and determines whether the limits have been exceeded. If necessary, this macro splits the data set and automatically assigns names to the multiple files it creates, according to specific strategies and naming conventions. This macro has been tested on SAS data sets in many projects for FDA submission and has proved to work accurately and efficiently, thus providing another valuable convenience for use in electronic submissions. REFERENCES SAS Macro Language Reference, First Edition Copyright 1997 by SAS Institute Inc., Gary, NC, USA ACKNOWLEDGEMENTS The authors would like to thank Donna Usavage, Allan Glaser and Jodi Benjamin for their valuable suggestions and comments. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the authors at: Author Name: Xingshu Zhu Company Merck &Co., Inc. Address : UNA-102, 785 Jolly road, Blue Bell, PA Work phone: Fax: xingshu_zhu@merck.com Author Name: Shuping Zhang Company Merck &Co., Inc. Address : 10 Sentry Parkway, Blue Bell, PA Work phone: Fax: Shuping_zhang@merck.com
So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines
Paper TT13 So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines Anthony Harris, PPD, Wilmington, NC Robby Diseker, PPD, Wilmington, NC ABSTRACT
More informationA Tool to Reduce the Time Used in the Preparation of the Statistical Review Aid Used for Electronic Submission
A Tool to Reduce the Time Used in the Preparation of the Statistical Review Aid Used for Electronic Submission Eunice Ndungu, Merck Research Labs, Merck & Co., Blue Bell, PA 19422 ABSTRACT Statistical
More informationPaper PO06. Building Dynamic Informats and Formats
Paper PO06 Building Dynamic Informats and Formats Michael Zhang, Merck & Co, Inc, West Point, PA ABSTRACT Using the FORMAT procedure to define informats and formats is a common task in SAS programming
More informationPhUSE US Connect 2018 Paper CT06 A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets
PhUSE US Connect 2018 Paper CT06 A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets Venkata N Madhira, Shionogi Inc, Florham Park, USA
More informationA SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY
PharmaSUG 2014 - Paper BB14 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 ABSTRACT Clinical Study
More informationSAS Programming Techniques for Manipulating Metadata on the Database Level Chris Speck, PAREXEL International, Durham, NC
PharmaSUG2010 - Paper TT06 SAS Programming Techniques for Manipulating Metadata on the Database Level Chris Speck, PAREXEL International, Durham, NC ABSTRACT One great leap that beginning and intermediate
More informationAmie Bissonett, inventiv Health Clinical, Minneapolis, MN
PharmaSUG 2013 - Paper TF12 Let s get SAS sy Amie Bissonett, inventiv Health Clinical, Minneapolis, MN ABSTRACT The SAS language has a plethora of procedures, data step statements, functions, and options
More informationA SAS Macro to Create Validation Summary of Dataset Report
ABSTRACT PharmaSUG 2018 Paper EP-25 A SAS Macro to Create Validation Summary of Dataset Report Zemin Zeng, Sanofi, Bridgewater, NJ This paper will introduce a short SAS macro developed at work to create
More informationMatt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C.
Paper 82-25 Dynamic data set selection and project management using SAS 6.12 and the Windows NT 4.0 file system Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C. ABSTRACT
More informationProgram Validation: Logging the Log
Program Validation: Logging the Log Adel Fahmy, Symbiance Inc., Princeton, NJ ABSTRACT Program Validation includes checking both program Log and Logic. The program Log should be clear of any system Error/Warning
More informationTracking Dataset Dependencies in Clinical Trials Reporting
Tracking Dataset Dependencies in Clinical Trials Reporting Binoy Varghese, Cybrid Inc., Wormleysburg, PA Satyanarayana Mogallapu, IT America Inc., Edison, NJ ABSTRACT Most clinical trials study reporting
More informationPharmaSUG Paper TT11
PharmaSUG 2014 - Paper TT11 What is the Definition of Global On-Demand Reporting within the Pharmaceutical Industry? Eric Kammer, Novartis Pharmaceuticals Corporation, East Hanover, NJ ABSTRACT It is not
More informationCreating Macro Calls using Proc Freq
Creating Macro Calls using Proc Freq, Educational Testing Service, Princeton, NJ ABSTRACT Imagine you were asked to get a series of statistics/tables for each country in the world. You have the data, but
More information1 Files to download. 3 Macro to list the highest and lowest N data values. 2 Reading in the example data file
1 2 22S:172 Lab session 10 Macros for data cleaning July 17, 2003 GENDER VISIT HR SBP DBP DX AE = "Gender" = "Visit Date" = "Heart Rate" = "Systolic Blood Pressure" = "Diastolic Blood Pressure" = "Diagnosis
More informationAn Efficient Tool for Clinical Data Check
PharmaSUG 2018 - Paper AD-16 An Efficient Tool for Clinical Data Check Chao Su, Merck & Co., Inc., Rahway, NJ Shunbing Zhao, Merck & Co., Inc., Rahway, NJ Cynthia He, Merck & Co., Inc., Rahway, NJ ABSTRACT
More informationGet Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.
Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It
More informationQuick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee
ABSTRACT PharmaSUG2012 Paper CC14 Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee Prior to undertaking analysis of clinical trial data, in addition
More informationEdwin Ponraj Thangarajan, PRA Health Sciences, Chennai, India Giri Balasubramanian, PRA Health Sciences, Chennai, India
Paper CD15 PhUSE 2016 How to handle different versions of SDTM & DEFINE generation in a Single Study? Edwin Ponraj Thangarajan, PRA Health Sciences, Chennai, India Giri Balasubramanian, PRA Health Sciences,
More informationThe Path To Treatment Pathways Tracee Vinson-Sorrentino, IMS Health, Plymouth Meeting, PA
ABSTRACT PharmaSUG 2015 - Paper HA06 The Path To Treatment Pathways Tracee Vinson-Sorrentino, IMS Health, Plymouth Meeting, PA Refills, switches, restarts, and continuation are valuable and necessary metrics
More informationAn Alternate Way to Create the Standard SDTM Domains
PharmaSUG 2018 - Paper DS-12 ABSTRACT An Alternate Way to Create the Standard SDTM Domains Sunil Kumar Pusarla, Omeros Corporation Sponsors who initiate clinical trials after 2016-12-17 are required to
More informationExporting & Importing Datasets & Catalogs: Utility Macros
Exporting & Importing Datasets & Catalogs: Utility Macros Adel Fahmy, SYSMART Consulting, North Brunswick, NJ ABSTRACT Since different companies use different SAS versions installed on different platforms,
More informationClinical Data Visualization using TIBCO Spotfire and SAS
ABSTRACT SESUG Paper RIV107-2017 Clinical Data Visualization using TIBCO Spotfire and SAS Ajay Gupta, PPD, Morrisville, USA In Pharmaceuticals/CRO industries, you may receive requests from stakeholders
More information%check_codelist: A SAS macro to check SDTM domains against controlled terminology
Paper CS02 %check_codelist: A SAS macro to check SDTM domains against controlled terminology Guido Wendland, UCB Biosciences GmbH, Monheim, Germany ABSTRACT The SAS macro %check_codelist allows programmers
More informationPaper A Simplified and Efficient Way to Map Variable Attributes of a Clinical Data Warehouse
Paper 117-28 A Simplified and Efficient Way to Map Variable Attributes of a Clinical Data Warehouse Yanyun Shen, Genentech, Inc., South San Francisco ABSTRACT In the pharmaceutical industry, pooling a
More informationPaper An Automated Reporting Macro to Create Cell Index An Enhanced Revisit. Shi-Tao Yeh, GlaxoSmithKline, King of Prussia, PA
ABSTRACT Paper 236-28 An Automated Reporting Macro to Create Cell Index An Enhanced Revisit When generating tables from SAS PROC TABULATE or PROC REPORT to summarize data, sometimes it is necessary to
More informationPhUSE US Connect 2019
PhUSE US Connect 2019 Paper SI04 Creation of ADaM Define.xml v2.0 Using SAS Program and Pinnacle 21 Yan Lei, Johnson & Johnson, Spring House, PA, USA Yongjiang Xu, Johnson & Johnson, Spring House, PA,
More informationMaking a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets
PharmaSUG2011 Paper CD17 Making a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets Elizabeth Li, PharmaStat LLC, Newark, California Linda Collins, PharmaStat
More informationLet s Get FREQy with our Statistics: Data-Driven Approach to Determining Appropriate Test Statistic
PharmaSUG 2018 - Paper EP-09 Let s Get FREQy with our Statistics: Data-Driven Approach to Determining Appropriate Test Statistic Richann Watson, DataRich Consulting, Batavia, OH Lynn Mullins, PPD, Cincinnati,
More informationSAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD
ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism
More informationPharmaSUG Paper AD03
PharmaSUG 2017 - Paper AD03 Three Issues and Corresponding Work-Around Solution for Generating Define.xml 2.0 Using Pinnacle 21 Enterprise Jeff Xia, Merck & Co., Inc., Rahway, NJ, USA Lugang (Larry) Xie,
More informationSAS Application to Automate a Comprehensive Review of DEFINE and All of its Components
PharmaSUG 2017 - Paper AD19 SAS Application to Automate a Comprehensive Review of DEFINE and All of its Components Walter Hufford, Vincent Guo, and Mijun Hu, Novartis Pharmaceuticals Corporation ABSTRACT
More informationPDF Multi-Level Bookmarks via SAS
Paper TS04 PDF Multi-Level Bookmarks via SAS Steve Griffiths, GlaxoSmithKline, Stockley Park, UK ABSTRACT Within the GlaxoSmithKline Oncology team we recently experienced an issue within our patient profile
More informationEfficient Processing of Long Lists of Variable Names
Efficient Processing of Long Lists of Variable Names Paulette W. Staum, Paul Waldron Consulting, West Nyack, NY ABSTRACT Many programmers use SAS macro language to manipulate lists of variable names. They
More informationA Mass Symphony: Directing the Program Logs, Lists, and Outputs
PharmaSUG2011 Paper CC24 ABSTRACT A Mass Symphony: Directing the Program Logs, Lists, and Outputs Tom Santopoli, Octagon Research Solutions, Inc., Wayne, PA When executing programs in SAS, it is efficient
More informationUtilizing SAS for Cross- Report Verification in a Clinical Trials Setting
Utilizing SAS for Cross- Report Verification in a Clinical Trials Setting Daniel Szydlo, SCHARP/Fred Hutch, Seattle, WA Iraj Mohebalian, SCHARP/Fred Hutch, Seattle, WA Marla Husnik, SCHARP/Fred Hutch,
More informationVenkata N Madhira Senior SAS Programmer, Shionogi Inc.
A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets. Venkata N Madhira Senior SAS Programmer, Shionogi Inc. PhUSE US Connect 2018 Introduction
More informationCreate a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico
PharmaSUG 2011 - Paper TT02 Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico ABSTRACT Many times we have to apply formats and it could be hard to create them specially
More informationSAS Drug Development Program Portability
PharmaSUG2011 Paper SAS-AD03 SAS Drug Development Program Portability Ben Bocchicchio, SAS Institute, Cary NC, US Nancy Cole, SAS Institute, Cary NC, US ABSTRACT A Roadmap showing how SAS code developed
More informationCC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ
CC13 An Automatic Process to Compare Files Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ ABSTRACT Comparing different versions of output files is often performed
More informationMedDRA Dictionary: Reporting Version Updates Using SAS and Excel
MedDRA Dictionary: Reporting Version Updates Using SAS and Excel Richard Zhou, Johnson & Johnson Pharmaceutical Research and Development, L.L.C Denis Michel, Johnson & Johnson Pharmaceutical Research and
More informationCramped for Drive Space? Save Space with the Auto-Compress Macro
Cramped for Drive Space? Save Space with the Auto-Compress Macro Adam Bemis, Household International, Beaverton, OR Scott Hanson, Household International, Beaverton, OR ABSTRACT Although storage space
More informationProve QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC
Prove QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC ABSTRACT Since collecting drug trial data is expensive and affects human life, the FDA and most pharmaceutical company
More informationPhUSE Paper CC07. Slim Down Your Data. Mickael Borne, 4Clinics, Montpellier, France
Paper CC07 Slim Down Your Data Mickael Borne, 4Clinics, Montpellier, France ABSTRACT We developed a package of SAS macro-programs that was developed to automatically resize character variables of all SAS
More informationWhat Do You Mean My CSV Doesn t Match My SAS Dataset?
SESUG 2016 Paper CC-132 What Do You Mean My CSV Doesn t Match My SAS Dataset? Patricia Guldin, Merck & Co., Inc; Young Zhuge, Merck & Co., Inc. ABSTRACT Statistical programmers are responsible for delivering
More informationUsing GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China
PharmaSUG China 2015 - Paper PO71 Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China One of the reasons that SAS is widely used as the
More informationPharmaSUG Paper SP04
PharmaSUG 2015 - Paper SP04 Means Comparisons and No Hard Coding of Your Coefficient Vector It Really Is Possible! Frank Tedesco, United Biosource Corporation, Blue Bell, Pennsylvania ABSTRACT When doing
More informationPosters. Paper
Paper 212-26 Using SAS/AF to Create a SAS Program File Explorer Rob Nelson, Centers for Disease Control and Prevention, Atlanta, GA Janet Royalty, Centers for Disease Control and Prevention, Atlanta, GA
More information%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables
%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables Rich Schiefelbein, PRA International, Lenexa, KS ABSTRACT It is often useful
More informationPurchase this book at
Chapter 2 2 Creating Simple Stored Processes BASE SAS gives programmers the exponential ability to query and report about data from their desktops; however, this limitation means that a user can access
More informationPaper SBC-121. %* include start of macro code. %put --- Start of %upcase(&sysmacroname) macro;
Paper SBC-121 Techniques for Developing Quality SAS Macros Ginger Redner, Merck Research Laboratories, North Wales, PA Liping Zhang, Merck Research Laboratories, North Wales, PA Carl Herremans, MSD Europe,
More informationCustomizing SAS Data Integration Studio to Generate CDISC Compliant SDTM 3.1 Domains
Paper AD17 Customizing SAS Data Integration Studio to Generate CDISC Compliant SDTM 3.1 Domains ABSTRACT Tatyana Kovtun, Bayer HealthCare Pharmaceuticals, Montville, NJ John Markle, Bayer HealthCare Pharmaceuticals,
More informationThe Output Bundle: A Solution for a Fully Documented Program Run
Paper AD05 The Output Bundle: A Solution for a Fully Documented Program Run Carl Herremans, MSD (Europe), Inc., Brussels, Belgium ABSTRACT Within a biostatistics department, it is required that each statistical
More informationPerformance Considerations
149 CHAPTER 6 Performance Considerations Hardware Considerations 149 Windows Features that Optimize Performance 150 Under Windows NT 150 Under Windows NT Server Enterprise Edition 4.0 151 Processing SAS
More informationRun your reports through that last loop to standardize the presentation attributes
PharmaSUG2011 - Paper TT14 Run your reports through that last loop to standardize the presentation attributes Niraj J. Pandya, Element Technologies Inc., NJ ABSTRACT Post Processing of the report could
More informationClinical Data Model and FDA Submissions
Clinical Data Model and FDA Submissions Shy Kumar, Datafarm, Inc., Marlboro, MA Gajanan Bhat, Boston Scientific Corporation, Natick, MA ABSTRACT Development of data model in clinical trial management environment
More informationArthur L. Carpenter California Occidental Consultants, Oceanside, California
Paper 028-30 Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all
More informationCreating Case Report Tabulations (CRTs) for an NDA Electronic Submission
Creating Case Report Tabulations (CRTs) for an NDA Electronic Submission Anita Rocha, STATPROBE, Inc., Tukwila, WA Paul Hamilton, STATPROBE, Inc., Tukwila, WA ABSTRACT The Food and Drug Administration
More informationUsing a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC
AP06 Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC ABSTRACT By default, SAS compiles and stores all macros into the WORK
More informationAdvanced Visualization using TIBCO Spotfire and SAS
PharmaSUG 2018 - Paper DV-04 ABSTRACT Advanced Visualization using TIBCO Spotfire and SAS Ajay Gupta, PPD, Morrisville, USA In Pharmaceuticals/CRO industries, you may receive requests from stakeholders
More informationSDTM Attribute Checking Tool Ellen Xiao, Merck & Co., Inc., Rahway, NJ
PharmaSUG2010 - Paper CC20 SDTM Attribute Checking Tool Ellen Xiao, Merck & Co., Inc., Rahway, NJ ABSTRACT Converting clinical data into CDISC SDTM format is a high priority of many pharmaceutical/biotech
More informationHow to handle different versions of SDTM & DEFINE generation in a Single Study?
Paper CD15 How to handle different versions of SDTM & DEFINE generation in a Single Study? Edwin Ponraj Thangarajan, PRA Health Sciences, Chennai, India Giri Balasubramanian, PRA Health Sciences, Chennai,
More informationLogging the Log Magic: Pulling the Rabbit out of the Hat
ABSTRACT PharmaSUG2010 - Paper TT08 Logging the Log Magic: Pulling the Rabbit out of the Hat Adel Fahmy, BenchWorkzz, Austin, Texas Program Validation includes checking both program Log and Logic. Program
More informationUsing SAS Files. Introduction CHAPTER 5
123 CHAPTER 5 Using SAS Files Introduction 123 SAS Data Libraries 124 Accessing SAS Files 124 Advantages of Using Librefs Rather than OpenVMS Logical Names 124 Assigning Librefs 124 Using the LIBNAME Statement
More informationDeveloping Data-Driven SAS Programs Using Proc Contents
Developing Data-Driven SAS Programs Using Proc Contents Robert W. Graebner, Quintiles, Inc., Kansas City, MO ABSTRACT It is often desirable to write SAS programs that adapt to different data set structures
More informationABSTRACT DATA CLARIFCIATION FORM TRACKING ORACLE TABLE INTRODUCTION REVIEW QUALITY CHECKS
Efficient SAS Quality Checks: Unique Error Identification And Enhanced Data Management Analysis Jim Grudzinski, Biostatistics Manager Of SAS Programming Covance Periapproval Services Inc, Radnor, PA ABSTRACT
More informationPharmaSUG Paper AD21
PharmaSUG2010 - Paper AD21 Operational Uses of Patient Profiles Even in an ectd and SDTM World Terek Peterson, Octagon Research Solutions, Wayne, PA Sanjiv Ramalingam, Octagon Research Solutions, Wayne,
More informationODS/RTF Pagination Revisit
PharmaSUG 2018 - Paper QT-01 ODS/RTF Pagination Revisit Ya Huang, Halozyme Therapeutics, Inc. Bryan Callahan, Halozyme Therapeutics, Inc. ABSTRACT ODS/RTF combined with PROC REPORT has been used to generate
More informationPharmaSUG Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc.
Abstract PharmaSUG 2011 - Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc. Adverse event (AE) analysis is a critical part
More informationPharmaSUG China Paper 059
PharmaSUG China 2016 - Paper 059 Using SAS @ to Assemble Output Report Files into One PDF File with Bookmarks Sam Wang, Merrimack Pharmaceuticals, Inc., Cambridge, MA Kaniz Khalifa, Leaf Research Services,
More informationPharmaSUG Paper DS16
PharmaSUG 2014 - Paper DS16 OpenCDISC Validator Implementation: A Complex Multiple Stakeholder Process Terek Peterson, MBA, PRA International, USA Gareth Adams, PRA International, UK ABSTRACT The embracing
More informationUsing SAS software to fulfil an FDA request for database documentation
Using SAS software to fulfil an FDA request for database documentation Introduction Pantaleo Nacci, Adam Crisp Glaxo Wellcome R&D, UK Historically, a regulatory submission to seek approval for a new drug
More informationLex Jansen Octagon Research Solutions, Inc.
Converting the define.xml to a Relational Database to enable Printing and Validation Lex Jansen Octagon Research Solutions, Inc. Leading the Electronic Transformation of Clinical R&D PhUSE 2009, Basel,
More informationValidation Summary using SYSINFO
Validation Summary using SYSINFO Srinivas Vanam Mahipal Vanam Shravani Vanam Percept Pharma Services, Bridgewater, NJ ABSTRACT This paper presents a macro that produces a Validation Summary using SYSINFO
More informationEXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)
EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into
More informationKnock Knock!!! Who s There??? Challenges faced while pooling data and studies for FDA submission Amit Baid, CLINPROBE LLC, Acworth, GA USA
PharmaSUG China 2018 Paper CD-03 Knock Knock!!! Who s There??? Challenges faced while pooling data and studies for FDA submission Amit Baid, CLINPROBE LLC, Acworth, GA USA ABSTRACT Pooling studies is not
More informationA Cross-reference for SAS Data Libraries
A Cross-reference for SAS Data Libraries John R. Gerlach, Maxim Group, Plymouth Meeting, PA Cindy Garra, IMS HEALTH; Plymouth Meeting, PA Abstract SAS data libraries often resemble a relational model when
More informationBetter Metadata Through SAS II: %SYSFUNC, PROC DATASETS, and Dictionary Tables
Paper 3458-2015 Better Metadata Through SAS II: %SYSFUNC, PROC DATASETS, and Dictionary Tables ABSTRACT Louise Hadden, Abt Associates Inc., Cambridge, MA SAS provides a wealth of resources for users to
More informationOne Project, Two Teams: The Unblind Leading the Blind
ABSTRACT PharmaSUG 2017 - Paper BB01 One Project, Two Teams: The Unblind Leading the Blind Kristen Reece Harrington, Rho, Inc. In the pharmaceutical world, there are instances where multiple independent
More informationBreakOnWord: A Macro for Partitioning Long Text Strings at Natural Breaks Richard Addy, Rho, Chapel Hill, NC Charity Quick, Rho, Chapel Hill, NC
PharmaSUG 2014 - Paper CC20 BreakOnWord: A Macro for Partitioning Long Text Strings at Natural Breaks Richard Addy, Rho, Chapel Hill, NC Charity Quick, Rho, Chapel Hill, NC ABSTRACT Breaking long text
More informationLST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC
ABSTRACT PharmaSUG 2013 - Paper PO01 LST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC The need for producing error free programming
More informationDataset-XML - A New CDISC Standard
Dataset-XML - A New CDISC Standard Lex Jansen Principal Software Developer @ SAS CDISC XML Technologies Team Single Day Event CDISC Tools and Optimization September 29, 2014, Cary, NC Agenda Dataset-XML
More informationSimplifying the Sample Design Process with PROC PMENU
Paper AD01 Simplifying the Sample Design Process with PROC PMENU Liza M. Thompson, GoodCents, Grayson, GA ABSTRACT GoodCents created the Sample Design Menu System to simplify and speed up the sample design
More informationThe Power of PROC SQL Techniques and SAS Dictionary Tables in Handling Data
Paper PO31 The Power of PROC SQL Techniques and SAS Dictionary Tables in Handling Data MaryAnne DePesquo Hope, Health Services Advisory Group, Phoenix, Arizona Fen Fen Li, Health Services Advisory Group,
More information1. Join with PROC SQL a left join that will retain target records having no lookup match. 2. Data Step Merge of the target and lookup files.
Abstract PaperA03-2007 Table Lookups...You Want Performance? Rob Rohrbough, Rohrbough Systems Design, Inc. Presented to the Midwest SAS Users Group Monday, October 29, 2007 Paper Number A3 Over the years
More informationPaper SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland
Paper 241-28 SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland ABSTRACT This paper presents a set of programming conventions and guidelines that can be considered in developing
More informationKeeping Track of Database Changes During Database Lock
Paper CC10 Keeping Track of Database Changes During Database Lock Sanjiv Ramalingam, Biogen Inc., Cambridge, USA ABSTRACT Higher frequency of data transfers combined with greater likelihood of changes
More informationComparison of different ways using table lookups on huge tables
PhUSE 007 Paper CS0 Comparison of different ways using table lookups on huge tables Ralf Minkenberg, Boehringer Ingelheim Pharma GmbH & Co. KG, Ingelheim, Germany ABSTRACT In many application areas the
More informationThe Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA
PharmaSUG 2017 - Paper DS23 The Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA ABSTRACT Since FDA released the Analysis
More informationThe Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC
Paper CS-061 The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC ABSTRACT Organization is the key to every project. It provides a detailed history of
More informationSAS Programming Conventions Lois Levin, Independent Consultant
SAS Programming Conventions Lois Levin, Independent Consultant INTRODUCTION This paper presents a set of programming conventions and guidelines that can be considered in developing code to ensure that
More informationA Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys
A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys Richard L. Downs, Jr. and Pura A. Peréz U.S. Bureau of the Census, Washington, D.C. ABSTRACT This paper explains
More informationCoders' Corner. Paper Scrolling & Downloading Web Results. Ming C. Lee, Trilogy Consulting, Denver, CO. Abstract.
Paper 71-25 Scrolling & Downloading Web Results Ming C. Lee, Trilogy Consulting, Denver, CO Abstract Since the inception of the INTERNET and Web Browsers, the need for speedy information to make split
More informationAutomated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ
PharmaSUG 2015 - Paper QT41 Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ ABSTRACT Most often clinical trial data analysis has tight deadlines with very
More informationA Few Quick and Efficient Ways to Compare Data
A Few Quick and Efficient Ways to Compare Data Abraham Pulavarti, ICON Clinical Research, North Wales, PA ABSTRACT In the fast paced environment of a clinical research organization, a SAS programmer has
More informationData Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.
PharmaSUG2011 - Paper DM03 Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc., TX ABSTRACT In the Clinical trials data analysis
More informationPaper B GENERATING A DATASET COMPRISED OF CUSTOM FORMAT DETAILS
Paper B07-2009 Eliminating Redundant Custom Formats (or How to Really Take Advantage of Proc SQL, Proc Catalog, and the Data Step) Philip A. Wright, University of Michigan, Ann Arbor, MI ABSTRACT Custom
More informationTales from the Help Desk 6: Solutions to Common SAS Tasks
SESUG 2015 ABSTRACT Paper BB-72 Tales from the Help Desk 6: Solutions to Common SAS Tasks Bruce Gilsen, Federal Reserve Board, Washington, DC In 30 years as a SAS consultant at the Federal Reserve Board,
More information= %sysfunc(dequote(&ds_in)); = %sysfunc(dequote(&var));
/-------------------------------------------------------------- SUGI PAPER 326-2010 Adding Statistical Functionality to the DATA Step with FCMP BY: Stacey Christian and Jacques Rioux EXAMPLE 1: Recursive
More informationesubmission - Are you really Compliant?
ABSTRACT PharmaSUG 2018 - Paper SS21 esubmission - Are you really Compliant? Majdoub Haloui, Merck & Co., Inc., Upper Gwynedd, PA, USA Suhas R. Sanjee, Merck & Co., Inc., Upper Gwynedd, PA, USA Pinnacle
More informationCreate Metadata Documentation using ExcelXP
Paper AD13 Create Metadata Documentation using ExcelXP Christine Teng, Merck Research Labs, Merck & Co., Inc., Rahway, NJ ABSTRACT The purpose of the metadata documentation is two-fold. First, it facilitates
More information