Using SAS software to fulfil an FDA request for database documentation
|
|
- Britton Washington
- 6 years ago
- Views:
Transcription
1 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 (or for a new indication of an already marketed one) consists of a huge amount of paper; lately various regulatory authorities, and particularly the Food and Drug Administration (FDA), have begun to allow the presentation of Clinical Report Forms (CRF) and Clinical Report Tabulations (CRT) in electronic format, and to informally request electronic copies of all data used in the analysis. This trend is reflected by two new Guidances for Industry, still draft, titled Electronic Submission of Case Report Forms and Case Report Tabulations and Submitting Application Archival Copies in Electronic Format. These documents can be found on the WWW at following the link to the Regulatory Guidance section. The Problem During the pre-nda phase for a new drug, some of the reviewers asked for a copy of all the SAS data sets used during the analysis, to ease and speed up the reviewing process by being able to run his own analyses: in our personal experience this was the first time we received a request of this nature. The core of the NDA would encompass seven large well-controlled clinical trials, and we had to supply data for all of them. The first discussion (very short indeed) was about what to put into these data sets, but that was quite clear from the initial request: the data sets sent had to be as complete as possible, e.g. containing both raw and LOCF ed efficacy data. Then we came to more practical problems: first of all, we had to deliver the SAS data sets, complete with all formats permanently linked, not knowing which platform would be used to access them; then we had to prepare a two-part document for each protocol, describing in the first section the generic contents of each datasets, and containing in the second one...the record and field description (including data type and locations) as well as a narrative definition of each field for each data set. In practical terms, we needed a document conveying in a structured manner all the information the reviewer could eventually need, so as to avoid any unnecessary delays in the review process. To recap, for each protocol we had to provide the reviewers with basically three things: the SAS data sets a catalog containing all the formats used by these datasets a document explaining what information was contained in each data set and how it was stored The Initial Approach Putting temporarily aside the problem of how to deliver data sets and formats, we concentrated on the documentation: if approached in the usual way, i.e. get someone to type everything using a word processor, the task was enormous, and there were ample spaces for typing errors; moreover, the quantity of information we could convey was necessarily limited by time constraints. The type of information to be presented in the documentation was quite clear, so we quickly drafted a two-part document, structuring it loosely along the lines of a PROC CONTENTS output. The first section would contain simply the names of all the data sets and their description, while the second had to specify as much information as possible about all variables in the data sets. The draft versions of the sections looked like this: First section Protocol XXXXXXXX Index of data sets
2 Data Set Name Description ADVERSE Adverse Events DEMOG Demographic Details DIARY Diary cards data Second section Protocol no. XXXXXXXX Description of variables in the ADVERSE data set Variable Name Description Format SUBJECT Subject number PTID Protocol code $7. SEX Sex $VSEX. AEVTX Adverse event verbatim text $ Again, this document had several severe downfalls, being both very cumbersome to prepare and not showing any information about the external formats eventually attached to the variables, apart from their names: the reviewer should have had to switch to another document to see the actual codes. The Breakthrough Work had already begun, because timings were extremely tight, but even the idea of at least having to check the final documents for mistakes was not pleasant: we definitely had to find another way, both faster and more flexible, to easily prepare the document (or, better, have it prepared) for each protocol. We started from the initial idea of creating a document resembling the PROC CONTENTS output: the first part of the document could be created using data set labels, really a piece of cake, while the second was at the moment nothing more than a stripped down and rearranged version of the procedure s output. And since we were going to fiddle around, it would have been really nice to have, next to each variable, all the codes used plus the relative text instead of the format s name. To increase the educational value of the exercise, we also decided to try and use PROC SQL, which we were told was also much faster. We then redrafted the second section of the document in line with these ideas, and agreed to deliver for each data set a page (or a set of pages) structured like this:
3 Protocol no. XXXXXXXX Description of variables in the ADVERSE data set Variable Full Description Abbreviations SUBJECT Subject number n/a PTID Protocol code n/a SEX Sex F=Female M=Male AEVTX Adverse event verbatim text n/a Having decided the format of the document, we switched to the other problems; we quickly agreed that the best way to deliver the data sets was to use the XPORT engine, but for the formats catalog we were willing to try something else. What about recreating the original SAS code used to create the catalog? That way, we would be shipping to the reviewer the three pieces he needed as a SAS transport file, a SAS program and a text document: very little space left for trouble, because all he needed to do was to define some libraries, run the SAS program to recreate the formats catalog and then use PROC COPY to obtain the data sets with all the necessary formats already attached. A Quick Tour The final result of these efforts are two programs, called FINDFMT and INDEX; they can be found later. A brief explanation of the various steps in each program follows. FINDFMT.SAS The first lines are generic, and set up the necessary environment variables according to the platform the program is running on (in our case, VMS or Windows 3.1) Using PROC SQL, a data set is created, containing the names of all non-sas-provided formats used by the data sets in a library; this data set is then merged with another one, containing the names of all formats available in all libraries; if a format is present more than once, the one defined in the local library is selected (e.g. one of the central formats has some spelling errors, so it had to be recreated locally) Two lists of formats to be SELECTed, one from each catalog, are created using the macro language; these formats are then output as data sets using PROC FORMAT s CNTLOUT= option; a DATA _NULL_ step is finally used to create the SAS program, ready to be included and run later. INDEX.SAS Again, the first lines are generic, and set up the necessary environment variables according to the platform the program is running on. Using PROC SQL, a data set is created, containing the names of all the data sets in a designated library (STATDATA in our case). Using the data sets labels the first part of the document is created; at the same time, a list of these data sets is compiled and their number is saved in a macro variable (MEMNUM) From within a macro (DATLOG), another macro (CHECK) is called MEMNUM times (i.e. once for each data set), passing the names picked from the list as parameters: this is where the second part of the document is built up, one data set at a time. Using PROC SQL again, the program gets each variable s name, label and name of the attached format; then a list of variables having external formats attached is built, and the total number saved in a macro variable (NUM) If NUM is greater than zero (i.e. at least one variable has an external format attached), all observed values for each variable in the list are collected in a data set using PROC FREQ s OUT= option; these values are then used to get all the abbreviations by PUTting them using the relative format, and the resulting information merged with the initial data set. A DATA _NULL_ step is used to append the page(s) for the current data set to the document.
4 As the very end, the program creates a transport file containing all the data sets, using the XPORT engine; the CC=NONE option is necessary to eliminate some compatibility problems. Conclusions Overall, the time needed to write and optimise these two programs amounted to about two working days; since then they have been used on a number of protocols in different therapeutic areas, usually requiring only minor adjustments to execute properly. The only requirement for these programs is that the data sets must be complete, meaning that all labels have to be in place and all formats properly attached: in a well organised working environment this should be anyway the normal way of documenting data sets. The only SAS module needed is SAS/BASE. The amount of time saved using these programs, otherwise spent on mundane activities, has been considerable, but even more important is the quality of the final result, virtually free of any unnecessary human error; office automation systems, and personal computers in particular, exist just to free us from daunting and repetitive tasks, and re-entering existing information surely qualifies for that definition. For further information, please contact: Mr Pantaleo Nacci Glaxo Wellcome R&D MDS European Clinical Statistics Greenford Road Greenford Middlesex UB6 0HE United Kingdom address: pn3755@glaxowellcome.co.uk SAS and SAS/BASE are registered trademarks of SAS Institute Inc., Cary, NC, USA.
5 The FINDFMT program %let ptid = XXXXXXXX; %let mdp = %substr(&ptid, 1, 3); %macro get_os; %if "&sysscp" = "VMS" %then %do; %let rootdir = %str(mds_&mdp:[&ptid); %let middle = %str(.); %let end = %str(]); %let goldfmts = %str(gold$pdata:[sas_dict]); % %else %if "&sysscp" = "WIN" %then %do; %let rootdir = %str(c:\&mdp\&ptid); %let middle = %str(\); %let end = %str(\); %let goldfmts = %str(l:\gold\sas_dict); % %mend get_os; %get_os; /* Send log and output to files */ proc printto log = "&rootdir.&middle.saslog&end.findfmt.log" print = "&rootdir.&middle.sasout&end.findfmt.lis" new; /* Program Name : FINDFMT.SAS Program Version : Version 1 Program Purpose : To create a SAS PROC FORMAT step which contains all the formats used for a protocol, to use with FDA data sets SAS Version : SAS 6.08 (VMS) Program Created By : P Nacci Date : 09 October */ %put %quote( ) &sysdate &systime; /* log time and date */ options linesize = 132 pagesize = 60 pageno = 1 nonumber nodate notes source nosource2 mprint fmtsearch = (work library sasfmt); title; footnote; libname sasfmt "&goldfmts"; libname library "&rootdir.&middle.sasfmts&end"; libname sasview "&rootdir.&middle.sasview&end"; libname statdata "&rootdir.&middle.statdata&end"; ; filename formats "&rootdir.&end.formats.sas"; * Get the names of all non-sas-provided formats used in the datasets ; proc sql; create table temp1 as select distinct format from dictionary.columns where libname = 'STATDATA' & memtype = 'DATA' & compress(format, '$ ')
6 ^in (' ', 'DATE', 'TIME', 'DATETIME', 'BEST', 'Z') order by format; quit; * Now those of all formats contained in all defined catalogs ; data temp2 (keep = libname format); set sashelp.vcatalg; where memname = 'FORMATS' & libname in ('LIBRARY', 'SASFMT'); length format $ 9; format = compress(objname) '.'; if objtype = 'FORMATC' then format = '$' format; proc sort data = temp2; by format libname; * Merge the two sets to check from which catalog each format must be taken If multiple formats have the same name, give precedence to local one ; data temp3; merge temp1 (in = in1) temp2; by format; if in1; format = compress(format, '.'); proc sort data = temp3 out = temp4 nodupkey; by format; data _null_; set temp4 end = eof; retain num1-num2 0; select (libname); when ('LIBRARY') do; num1 + 1; maclocl = 'locl' compress(put(num1, 3.)); call symput(maclocl, format); when ('SASFMT') do; num2 + 1; macgold = 'gold' compress(put(num2, 3.)); call symput(macgold, format); otherwise; if eof then do; call symput('loclnum', compress(put(num1, 3.))); call symput('goldnum', compress(put(num2, 3.))); proc datasets lib = work mt = data; delete trans1 trans2; quit; %macro franz; * Local formats; %if &loclnum ^= 0 %then %do; proc format lib = library cntlout = trans1; select %do i = 1 %to &loclnum; % ; % &&locl&i
7 * Central formats; %if &goldnum ^= 0 %then %do; proc format lib = sasfmt cntlout = trans2; select %do i = 1 %to &goldnum; % ; % %m %franz &&gold&i data trans; set trans1 trans2; proc sort data = trans out = temp1; by fmtname type; data _null_; set temp1 end = eof; by fmtname type; file formats; select (type); when ('C') do; name = '$' fmtname; sepa = "'"; when ('N') do; name = fmtname; sepa = ''; if sexcl = 'Y' then lower = '<'; else lower = ''; if eexcl = 'Y' then upper = '<'; else upper = ''; texta = sepa compress(start, ' *') sepa; textb = sepa compress(start, ' *') sepa lower '-' upper sepa compress(end) sepa; if _N_ = 1 then put 'proc format lib = library;'; if first.type then put ' value 'name; if start = end then texta '= "' label '"'; else textb '= "' label '"'; if last.type then put ';'; if eof then put ''; /* Revert log to LOG window, and output to OUTPUT window */ proc printto;
8 The INDEX program %let ptid = XXXXXXX; %let mdp = %substr(&ptid, 1, 3); %macro get_os; %if "&sysscp" = "VMS" %then %do; %let rootdir = %str(mds_&mdp:[&ptid); %let middle = %str(.); %let end = %str(]); %let goldfmts = %str(gold$pdata:[sas_dict]); % %else %if "&sysscp" = "WIN" %then %do; %let rootdir = %str(m:\&mdp\&ptid); %let middle = %str(\); %let end = %str(\); %let goldfmts = %str(l:\gold\sas_dict); % %mend get_os; %get_os; /* Send log and output to files */ proc printto log = "&rootdir.&middle.saslog&end.index.log" print = "&rootdir.&middle.sasout&end.index.lis" new; /* Program Name : INDEX.SAS Program Version : Version 1 Program Purpose : To create a document describing the contents of all data sets contained in a library, according to FDA request SAS Version : SAS 6.08 (VMS) Program Created By : A Crisp Date : 02 October 1996 Modified By : P Nacci Date : 22 October */ %put %quote( ) &sysdate &systime; /* log time and date */ options linesize = 132 pagesize = 60 pageno = 1 nonumber nodate notes source nosource2 mprint fmtsearch = (work library sasfmt); title; footnote; libname sasfmt "&goldfmts"; libname library "&rootdir.&middle.sasfmts&end"; libname sasview "&rootdir.&middle.sasview&end"; libname statdata "&rootdir.&middle.statdata&end"; ; filename index "&rootdir.&end.index.p07"; * Dimensions of output file; %let cols = 106; %let rows = 77;
9 %macro check (data); proc sql; create table conts as select name, label, format from dictionary.columns where libname = 'STATDATA' & memname = "&data" & memtype = 'DATA' order by name; quit; proc print data = conts; title "Contents of &data"; %let num = 0; data _null_; set conts end = eof; where compress(format, '.$ ') ^in (' ', 'DATE', 'TIME', 'DATETIME', 'BEST', 'Z', 'CHAR'); macv = 'var' compress(put(_n_, 3.)); macf = 'fmt' compress(put(_n_, 3.)); call symput(macv, name); call symput(macf, format); if eof then call symput('num', put(_n_, 3.)); %if &num = 0 %then %goto the_ proc datasets lib = work mt = data; delete log; quit; %do i = 1 %to # %let var = &&var&i; %let fmt = &&fmt&i; proc freq data = statdata.&data noprint; format &var; tables &var / out = value (keep = &var rename = (&var = value)); data build (drop = value rename = (value_ = value)); set value; length name value_ $ 8 descript $ 50; name = "&var"; value_ = compress(value); if value_ not in (' ','.') then do; descript = compress(value_) '=' put(value, &fmt); output; proc append base = log data = build; % proc sort data = log; by name; data conts; merge conts log; by name; %the_end: data _null_; set conts end = eof; by name; retain col1-col3 ( )
10 ctd 0; file index print notitle ls = &cols ps = &rows header = newpage linesleft = ll mod; if &num = 0 descript = ' ' then descript = 'n/a'; if ll < 4 & not eof then do; ctd = 1; put &cols.*'_' _page_; if first.name ctd then do; descript; ctd = 0; else descript; if eof then put &cols.*'_'; return; newpage: "Protocol &ptid" "Description of variables in the %upcase(&data) if ctd then put ' put &cols.*'_' 'Full 'Abbreviations' / &cols.*'_' /; %mend check; %macro datlog; %do j = 1 %to &memnum; %let dat = %scan(&list, &j); %check(&dat) % %mend datlog; proc sql; create table temp as select distinct memname, memlabel from dictionary.tables where libname = 'STATDATA' & memtype = 'DATA' order by memname; quit; data _null_; set temp end = eof; length tmp $ 200; retain col1-col2 (2 25) tmp; file index print notitle ls = &cols ps = &rows header = newpage new; memlabel; tmp = trim(tmp) ' ' compress(memname); if eof then do; call symput('list', tmp); call symput('memnum', put(_n_, 3.)); put &cols.*'_'; return; newpage: "Protocol &ptid" // "Index of data sets" / &cols.*'_' 'Data Set 'Description' / &cols.*'_' /; return; %datlog; libname xpt xport "&rootdir.&end.&ptid..xpt" cc = none; proc copy in = statdata out = xpt mt = data;
11 /* Revert log to LOG window, and output to OUTPUT window */ proc printto;
Run 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 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 informationSo 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 informationPosters. Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA. Paper
Paper 223-25 Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA ABSTRACT As part of its effort to insure that SAS Software is useful to its users, SAS Institute
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 informationfootnote1 height=8pt j=l "(Rev. &sysdate)" j=c "{\b\ Page}{\field{\*\fldinst {\b\i PAGE}}}";
Producing an Automated Data Dictionary as an RTF File (or a Topic to Bring Up at a Party If You Want to Be Left Alone) Cyndi Williamson, SRI International, Menlo Park, CA ABSTRACT Data dictionaries are
More informationProcedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research
Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research ABSTRACT In the course of producing a report for a clinical trial numerous drafts
More informationAutomating the Creation of Data Definition Tables (Define.pdf) Using SAS Version 8.2
Automating the Creation of Data Definition Tables (Define.pdf) Using SAS Version 8.2 Eugene Yeh, PharmaNet, Inc., Cary, NC Syamala Kasichainula, PharmaNet, Inc., Cary, NC Katie Lanier, PharmaNet, Inc.,
More informationContents of SAS Programming Techniques
Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal
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 information%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System
%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find
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 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 information3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200;
Randy s SAS hints, updated Feb 6, 2014 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, first version: March 8, 2013 ***************; 2. Don
More informationData Quality Review for Missing Values and Outliers
Paper number: PH03 Data Quality Review for Missing Values and Outliers Ying Guo, i3, Indianapolis, IN Bradford J. Danner, i3, Lincoln, NE ABSTRACT Before performing any analysis on a dataset, it is often
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 informationA Practical and Efficient Approach in Generating AE (Adverse Events) Tables within a Clinical Study Environment
A Practical and Efficient Approach in Generating AE (Adverse Events) Tables within a Clinical Study Environment Abstract Jiannan Hu Vertex Pharmaceuticals, Inc. When a clinical trial is at the stage of
More informationGive me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio
PharmaSUG 2014 - Paper CC43 Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio ABSTRACT The PROC CONTENTS output displays SAS data set
More informationEssential ODS Techniques for Creating Reports in PDF Patrick Thornton, SRI International, Menlo Park, CA
Thornton, S. P. (2006). Essential ODS techniques for creating reports in PDF. Paper presented at the Fourteenth Annual Western Users of the SAS Software Conference, Irvine, CA. Essential ODS Techniques
More informationOpen Problem for SUAVe User Group Meeting, November 26, 2013 (UVic)
Open Problem for SUAVe User Group Meeting, November 26, 2013 (UVic) Background The data in a SAS dataset is organized into variables and observations, which equate to rows and columns. While the order
More informationA Macro To Generate a Study Report Hany Aboutaleb, Biogen Idec, Cambridge, MA
Paper PO26 A Macro To Generate a Study Report Hany Aboutaleb, Biogen Idec, Cambridge, MA Abstract: Imagine that you are working on a study (project) and you would like to generate a report for the status
More informationODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands
Paper CC01 ODS DOCUMENT, a practical example Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands ABSTRACT The ODS DOCUMENT destination (in short ODS DOCUMENT) is perhaps the most underutilized
More informationMaterial covered in the Dec 2014 FDA Binding Guidances
Accenture Accelerated R&D Services Rethink Reshape Restructure for better patient outcomes Sandra Minjoe Senior ADaM Consultant Preparing ADaM and Related Files for Submission Presentation Focus Material
More informationMacros: Data Listings With Power. Daphne Ewing, Synteract, Inc., Ambler, PA
Paper 185-27 Macros: Data Listings With Power Daphne Ewing, Synteract, Inc., Ambler, PA ABSTRACT Displaying a variety of data in a consistent manner can be tedious and frustrating. Making adjustments to
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 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 informationImplementing CDISC Using SAS. Full book available for purchase here.
Implementing CDISC Using SAS. Full book available for purchase here. Contents About the Book... ix About the Authors... xv Chapter 1: Implementation Strategies... 1 The Case for Standards... 1 Which Models
More informationData Integrity through DEFINE.PDF and DEFINE.XML
Data Integrity through DEFINE.PDF and DEFINE.XML Sy Truong, Meta Xceed, Inc, Fremont, CA ABSTRACT One of the key questions asked in determining if an analysis dataset is valid is simply, what did you do
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 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 informationSAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority
SAS 101 Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23 By Tasha Chapman, Oregon Health Authority Topics covered All the leftovers! Infile options Missover LRECL=/Pad/Truncover
More informationDealing with changing versions of SDTM and Controlled Terminology (CT)
CDISC UK Network Breakout session Notes 07/06/16 Afternoon Session 1: Dealing with changing versions of SDTM and Controlled Terminology (CT) How do people manage this? Is this managed via a sponsor Standards
More informationHow to Keep Multiple Formats in One Variable after Transpose Mindy Wang
How to Keep Multiple Formats in One Variable after Transpose Mindy Wang Abstract In clinical trials and many other research fields, proc transpose are used very often. When many variables with their individual
More informationUsing SAS Macro to Include Statistics Output in Clinical Trial Summary Table
Using SAS Macro to Include Statistics Output in Clinical Trial Summary Table Amy C. Young, Ischemia Research and Education Foundation, San Francisco, CA Sharon X. Zhou, Ischemia Research and Education
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 informationA Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions
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 19422
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 CLINICAL SYLLABUS. DURATION: - 60 Hours
SAS CLINICAL SYLLABUS DURATION: - 60 Hours BASE SAS PART - I Introduction To Sas System & Architecture History And Various Modules Features Variables & Sas Syntax Rules Sas Data Sets Data Set Options Operators
More informationTaming a Spreadsheet Importation Monster
SESUG 2013 Paper BtB-10 Taming a Spreadsheet Importation Monster Nat Wooding, J. Sargeant Reynolds Community College ABSTRACT As many programmers have learned to their chagrin, it can be easy to read Excel
More informationHow to Create Data-Driven Lists
Paper 9540-2016 How to Create Data-Driven Lists Kate Burnett-Isaacs, Statistics Canada ABSTRACT As SAS programmers we often want our code or program logic to be driven by the data at hand, rather than
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 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 informationFormats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD
Formats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD Abstract Formats tell how to display stored data and informats how to read them. In other words, they allow the separation
More informationBase and Advance SAS
Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS
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 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 informationKnow Thy Data : Techniques for Data Exploration
Know Thy Data : Techniques for Data Exploration Montreal SAS Users Group Wednesday, 29 May 2018 13:50-14:30 PM Andrew T. Kuligowski, Charu Shankar AGENDA Part 1- Easy Ways to know your data Part 2 - Powerful
More informationFrom Implementing CDISC Using SAS. Full book available for purchase here. About This Book... xi About The Authors... xvii Acknowledgments...
From Implementing CDISC Using SAS. Full book available for purchase here. Contents About This Book... xi About The Authors... xvii Acknowledgments... xix Chapter 1: Implementation Strategies... 1 Why CDISC
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 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 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 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 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 informationThe Dataset Diet How to transform short and fat into long and thin
Paper TU06 The Dataset Diet How to transform short and fat into long and thin Kathryn Wright, Oxford Pharmaceutical Sciences, UK ABSTRACT What do you do when you are given a dataset with one observation
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 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 informationSAS Online Training: Course contents: Agenda:
SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation
More informationABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE
Paper SA06 Painless Extraction: Options and Macros with PROC PRESENV Keith Fredlund, MS (candidate) Grand Valley State University, Allendale, Michigan; Thinzar Wai, MS (candidate) Grand Valley State University,
More informationPaper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency.
Paper 76-28 Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT In this paper we compare
More informationPreserving your SAS Environment in a Non-Persistent World. A Detailed Guide to PROC PRESENV. Steven Gross, Wells Fargo, Irving, TX
Preserving your SAS Environment in a Non-Persistent World A Detailed Guide to PROC PRESENV Steven Gross, Wells Fargo, Irving, TX ABSTRACT For Enterprise Guide users, one of the challenges often faced is
More informationPros and Cons of Interactive SAS Mode vs. Batch Mode Irina Walsh, ClinOps, LLC, San Francisco, CA
Pros and Cons of Interactive SAS Mode vs. Batch Mode Irina Walsh, ClinOps, LLC, San Francisco, CA ABSTRACT It is my opinion that SAS programs can be developed in either interactive or batch mode and produce
More informationUsing PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA
Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA ABSTRACT This paper describes for an intermediate SAS user the use of PROC REPORT to create
More informationAutomatically Configure SDTM Specifications Using SAS and VBA
PharmaSUG 2018 - Paper AD-14 Automatically Configure SDTM Specifications Using SAS and VBA Xingxing Wu, Eli Lilly and Company, Indianapolis, IN ABSTRACT SDTM is becoming the standard for pharmaceutical
More informationPharmaceuticals, Health Care, and Life Sciences
Successful Lab Result Conversion for LAB Analysis Data with Minimum Effort Pushpa Saranadasa, Merck & Co., Inc. INTRODUCTION In the pharmaceutical industry, the statistical results of a clinical trial's
More informationDavid Ghan SAS Education
David Ghan SAS Education 416 307-4515 David.ghan@sas.com Using SQL in SAS Victoria Area SAS User Group February 12, 2004 1. What is SQL? 2. Coding an SQL Query 3. Advanced Examples a. Creating macro variables
More informationThe Ugliest Data I ve Ever Met
The Ugliest Data I ve Ever Met Derek Morgan, Washington University Medical School, St. Louis, MO Abstract Data management frequently involves interesting ways of doing things with the SAS System. Sometimes,
More informationINTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS
TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS
More informationPlanting Your Rows: Using SAS Formats to Make the Generation of Zero- Filled Rows in Tables Less Thorny
Planting Your Rows: Using SAS Formats to Make the Generation of Zero- Filled Rows in Tables Less Thorny Kathy Hardis Fraeman, United BioSource Corporation, Bethesda, MD ABSTRACT Often tables or summary
More informationUncommon Techniques for Common Variables
Paper 11863-2016 Uncommon Techniques for Common Variables Christopher J. Bost, MDRC, New York, NY ABSTRACT If a variable occurs in more than one data set being merged, the last value (from the variable
More informationA SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes
A SAS Macro for Producing Benchmarks for Interpreting School Effect Sizes Brian E. Lawton Curriculum Research & Development Group University of Hawaii at Manoa Honolulu, HI December 2012 Copyright 2012
More informationDictionary.coumns is your friend while appending or moving data
ABSTRACT SESUG Paper CC-41-2017 Dictionary.coumns is your friend while appending or moving data Kiran Venna, Dataspace Inc. Dictionary.columns is a dictionary table, which gives metadata information of
More informationThere s No Such Thing as Normal Clinical Trials Data, or Is There? Daphne Ewing, Octagon Research Solutions, Inc., Wayne, PA
Paper HW04 There s No Such Thing as Normal Clinical Trials Data, or Is There? Daphne Ewing, Octagon Research Solutions, Inc., Wayne, PA ABSTRACT Clinical Trials data comes in all shapes and sizes depending
More informationHypothesis Testing: An SQL Analogy
Hypothesis Testing: An SQL Analogy Leroy Bracken, Boulder Creek, CA Paul D Sherman, San Jose, CA ABSTRACT This paper is all about missing data. Do you ever know something about someone but don't know who
More informationUsing SAS Files CHAPTER 3
55 CHAPTER 3 Using SAS Files Introduction to SAS Files 56 What Is a SAS File? 56 Types of SAS Files 57 Using Short or Long File Extensions in SAS Libraries 58 SAS Data Sets (Member Type: Data or View)
More informationPractical Approaches for Using the CTN Datashare: Proposing Parameters, Creating Data Tables, and Analyzing Results.
Practical Approaches for Using the CTN Datashare: Proposing Parameters, Creating Data Tables, and Analyzing Results Abigail Matthews The EMMES Corporation June 14, 2014 amatthews@emmes.com Outline How
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 informationPresentation Goals. Now that You Have Version 8, What Do You Do? Top 8 List: Reason #8 Generation Data Sets. Top 8 List
Presentation Goals Now that You Have Version 8, What Do You Do? Michael L. Davis Bassett Consulting Services, Inc. September 13, 2000 highlight incentives to switch consider migration strategies identify
More informationCountdown of the Top 10 Ways to Merge Data David Franklin, Independent Consultant, Litchfield, NH
PharmaSUG2010 - Paper TU06 Countdown of the Top 10 Ways to Merge Data David Franklin, Independent Consultant, Litchfield, NH ABSTRACT Joining or merging data is one of the fundamental actions carried out
More informationMissing Pages Report. David Gray, PPD, Austin, TX Zhuo Chen, PPD, Austin, TX
PharmaSUG2010 - Paper DM05 Missing Pages Report David Gray, PPD, Austin, TX Zhuo Chen, PPD, Austin, TX ABSTRACT In a clinical study it is important for data management teams to receive CRF pages from investigative
More informationGoing Under the Hood: How Does the Macro Processor Really Work?
Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts
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 Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN
Paper 045-29 A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN ABSTRACT: PROC MEANS analyzes datasets according to the variables listed in its Class
More information9 Ways to Join Two Datasets David Franklin, Independent Consultant, New Hampshire, USA
9 Ways to Join Two Datasets David Franklin, Independent Consultant, New Hampshire, USA ABSTRACT Joining or merging data is one of the fundamental actions carried out when manipulating data to bring it
More informationPharmaceutical Applications
Automating File Creation: Metadata Files Speeding the Process Daphne Ewing, Auxilium Pharmaceuticals, Inc, Malvern, PA ABSTRACT For small to mid-size companies that cannot afford to purchase expensive
More informationUSING DATA TO SET MACRO PARAMETERS
USING DATA TO SET MACRO PARAMETERS UPDATE A PREVIOUS EXAMPLE %macro report(regs=); %let r=1; %let region=%scan(®s,&r); %do %until(®ion eq ); options nodate pageno=1; ods pdf file="®ion..pdf";
More informationAutomating Preliminary Data Cleaning in SAS
Paper PO63 Automating Preliminary Data Cleaning in SAS Alec Zhixiao Lin, Loan Depot, Foothill Ranch, CA ABSTRACT Preliminary data cleaning or scrubbing tries to delete the following types of variables
More information2. Don t forget semicolons and RUN statements The two most common programming errors.
Randy s SAS hints March 7, 2013 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, March 8, 2013 ***************; 2. Don t forget semicolons and
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 informationA Cross-national Comparison Using Stacked Data
A Cross-national Comparison Using Stacked Data Goal In this exercise, we combine household- and person-level files across countries to run a regression estimating the usual hours of the working-aged civilian
More informationIntroduction. Getting Started with the Macro Facility CHAPTER 1
1 CHAPTER 1 Introduction Getting Started with the Macro Facility 1 Replacing Text Strings Using Macro Variables 2 Generating SAS Code Using Macros 3 Inserting Comments in Macros 4 Macro Definition Containing
More informationAn Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio
PharmaSUG 2012 - Paper CC12 An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio ABSTRACT Do you know how to
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 informationAutomate Clinical Trial Data Issue Checking and Tracking
PharmaSUG 2018 - Paper AD-31 ABSTRACT Automate Clinical Trial Data Issue Checking and Tracking Dale LeSueur and Krishna Avula, Regeneron Pharmaceuticals Inc. Well organized and properly cleaned data are
More informationEP90SAS: A Clinical Trials Data Management Tool
EP90SAS: A Clinical Trials Data Management Tool Phil Busby, President, Live Data Systems, Inc., and Keith M. Bowden, Medical Data Systems Analyst, Glaxo Wellcome, Inc., Research Triangle Park, North Carolina
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 informationSubmission-Ready Define.xml Files Using SAS Clinical Data Integration Melissa R. Martinez, SAS Institute, Cary, NC USA
PharmaSUG 2016 - Paper SS12 Submission-Ready Define.xml Files Using SAS Clinical Data Integration Melissa R. Martinez, SAS Institute, Cary, NC USA ABSTRACT SAS Clinical Data Integration simplifies the
More informationGetting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA
SESUG 2012 Paper HW-01 Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA ABSTRACT Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches.
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 informationComputing Environments: NT 4.0 SAS Products: PC SAS 6.12 Other software products: Microsoft Word 97
Automating the Quantification of Healthcare Resource Utilization With Base SAS Software Nancy Bourgeois, Manpower Technical, Research Triangle Park, NC Bobbie Coleman, Glaxo Wellcome, Inc., Research Triangle
More information