HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

PharmaSUG 2007 Papers - Index

135 papers. Source: PharmaSUG (Pharmaceutical Software Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "FS-What?" A New Use for an Old SAS Component Kim Truett Before AF/Frame and WebAF, before GUI meant pretty and colorful, and before Windows took over the world, SAS had FSEDIT. This line-based "GUI" view of a SAS database has clever organization behind it and is quick to setup and efficient to use. FSEDIT is much less used now, except in legacy systems, and this is unfortunate, because its simplicity and database driven design allows for very quick set-up and is very useful for some simple problem solving. One use is for adding codes to a database. While this can be done 'blindly' using merges or SQL for exact matches, many terms need to be manually reviewed and the 'best code' selected. This paper utilizes a database of Adverse Events that needs codes. FSEDIT is used to display each event, then either look-up, or add in, coding information from a second database, just by typing in the first few letters of a proposed coding term or code and hitting return clinical data, length statement 6
2 %DIFF: A SAS Macro to Compare Documents in Word or ASCII Format Michelle Xu,
Jay Zhou
Manually comparing outputs, generated using SAS for a clinical study, with Microsoft Word or UltraEdit can be time consuming and cumbersome. A SAS macro %DIFF is designed to programmatically compare one or more output files to identify variances between file versions, especially when a database is updated. The macro can be applied to compare RTF files, Word documents, SAS programs, or other text files with the ability to eliminate lines containing specified words and to define type of the desired match. The comparison report generated by the macro can be used as QC confirmation for audit purposes. This paper reviews the capabilities and common usage of the application and the programming techniques implemented macro call, txt, macro definition, proc step 7
3 %SurvTab: A SAS Macro to Make Survival Analysis Easier Yinmei Zhou,
St. Jude Children's
In clinical research studies, one of the most im portant goals is to exam ine the prognostic factors for survival. As a preliminary screening method for potential prognostic factore, Kaplan-Meier method is often used to estimat e the survival rate, and surviv al distributions in different subgroups are often compared using log-rank test . The survival (Kaplan- Meier) curves and the estimates at different desired time points fo r each potential prognostic factor are commonly reported in medical publication. We have devel oped a user-friendly macro program to create a table with the estimates at certain specified time points and the p-values from log-rank test for as many prognostic factors as a study wants to examine. Along with the table, the Kaplan-Meier curves are generated with the advent of ODS graphics survival analysis, log-rank test, rank test, overall survival, event-free survival, macro definition, macro function, survival function, proc step 15
4 2 PROC TRANSPOSEs = 1 DATA Step DOW-Loop Nancy Brucken A limitation of PROC TRANSPOSE is that multiple variables in the VAR statements lead to one record per variable in the output dataset. Sometimes, this behavior is desired, but often we need a single record per BY statement as output. This paper demonstrates the use of the DOW-Loop to transpose the data properly in a single pass through the input dataset proc transpose, proc step, in= 4
5 A Harmonized, Report-Friendly SDTM and ADaM Data Flow Aileen L. Yam This paper shows an in-house implementation strategy that integrates the requirements of the SDTM SDS model and the ADaM model with the needs for generating tables, listings and graphs to create a harmonized, report-friendly data flow. In designing an optimal data flow, the creative task is to understand all the requirements and viewpoints and to arrive at decisions that are a balanced, coherent and consistent representation of the CDISC requirements and th e users' world. In addition to th e fulfillment of functions and logic, the visual appearance of the flow is important: the design has to be elegantly clear and lean to convey the message. This paper also summarizes our experience in structuring the design of the data flow. I. REDUNDANCY AND "WHICH COMES FIRST" ARE MATTERS OF PERSPECTIVES Here is a couple of examples of user viewpoints: 1. From an SDTM perspective, some variables in the ADaM domains are redundant raw data, sdtm domain, cdisc 4
6 A Low Cost Graphical Patient Profiler with SAS MetaViewApplet Ya Huang "A picture is worth a thousand words" is probably why the graphical patient profile has become popular in recent years. A graphical patient profile presents patient data with different types of graphical elements that are aligned with clinical trial timelines. Lasting event like adverse event (AE) and concomitant medication (CM) can be presented by a horizontal line with the length in proportion to its duration. Single point data such as laboratory data can be presented by a number or a symbol with color to indicate whether the result is out of normal range. Line graphs can be used to show the trend of certain efficacy or safety endpoints over time. Graphical presentation of patient data makes it easy to assess the relationship between events. For example, we may see a CM prescribed right after a certain AE happened, or a particular lab test value changed shortly after study drug dose escalation sample, macro definition, adverse events 6
7 A Macro Solution for Updating Report Titles and Footnotes Hong Qi Modification of titles and footnotes is often inevitable during the course of clinical trial report generat ion. Traditionally this is done manually, which could be tedious with potential human errors. This paper introduces a macro solution, %editft, to insert footnotes into the program generating the report. The solution covers three aspects, adding footnotes to the program without pre-defined footnotes, inserting footnotes into the program between the pre-defined footnotes, and replacing the existing footnotes in the program. Finally, a real example is given to illustrate the use of the macro. Key words: %edi tft, footnote, title macro call, clinical trial 5
8 A Review of Propensity Score Application in Healthcare Outcome and Epidemiology Guiping Yang Propensity score approaches in outcomes and epidem iological research are most often used for sample selection by matching, analysis of causal effect by st ratification, or risk adjustm ent by combining propensity score and regression models. Several computing tools are available including SAS, S-PLUS/R, and SPSS to develop and implement propensity score approaches in a variety of applications. This paper reviews the history, statistical definitions, and application of the propensity score in non-randomized observational studies, pre-estimation for random ized designs, and poorly randomized experiments. Several distinct propensity score matching methods, both simple and sophisticated are described in detail to enable users to choose the most appropriate solutions to fit their st udy objectives propensity score, propensity score matching, treatment effect, sample, regression analysis, missing value, proc calis, sample size, imputation, logistic distribution, standard deviation, average treatment effect, nominal variable, interval variable, logistic regression, feature selection, randomization, clinical trial, dose, normal distribution, covariance, mahalanobis distance, sensitivity analysis, proc step, data cleaning, monte carlo, proc phreg 24
9 A SAS Macro for Comparing the Size of Compressed and Uncompressed SAS Data Sets Xingshu Zhu,
Shuping Zhang
Knowing the size of the SAS data sets that you are working with is very important for SAS programmers in pharmaceutical companies. First, this information is critical because the size of transport file is one of the requirements for FDA submission [1], and SAS data set and its transport file are very closely related to each other. Secondly, information on data-set size is useful in planning for storage, especially when dealing with large numbers of data sets. Thus, we have developed a SAS macro to perform the task of size calculations for both compressed and uncompressed data sets and to output all of this information into a Word file. Keywords: Compress, dataset size dataset, character variable, numeric variable, proc contents, macro variable, sas programmer, proc step 4
10 A SAS Macro for Rapid Checking the Data Records Heng Zou In pharmaceutical industry, it is extremely important to check the SAS data sets for any possible errors from either data entry or SAS programming. The thorough review of clin ical trial databases should include the co mprehensive search of possible errors. Typically the database review is time consuming and problems could be difficult to be detected. To facilitate of this review, a SAS m acro, which outputs reports of the data records, was developed in SAS version 9.1 to help the data review process. The macro produces one report for each variable in each data set proc step, proc freq, sample, proc univariate, best estimate liability, interval variable, nominal variable, macro definition 8
11 A SAS Macro to Automate the QC of CRT SAS Transport Files (using ODS 'Traffic Lighting') Todd Case,
Ed Stamm
In the past, SAS Programmers may have had to manually Quality Control ('QC') each CRT (Case Report Tabulation) SAS Transport file before it was submitted to the FDA. This paper introduces a SAS macro which aids in the speedy and efficient QC of the CRT SAS Transport files headed to the FDA - across therapeutic areas and different drugs. Specifically, this program facilitates visual QC of the CRT SAS Transport files by: (1) Generating a list of the CRT dataset variables and variable attributes (in the order they appear in the CRT datasets) with problematic variables highlighted using ODS 'Traffic Lighting'. The footnotes in the macro output provide the criteria for 'problematic variables', including variables with formats other than date/time formats, variables with informats, variables with names greater than 8 characters, labels greater than 40 characters, etc. as well as, (2) Generating QC SAS Transport files from the source study(s) and comparing them (via 'PROC COMPARE') to the CRT SAS transport files headed to the FDA. proc step, proc compare 5
12 A SAS Macro to Calculate the Ankle-Brachial Index Rita A. Dale The Ankle-Brachial Index (ABI) is used to diagnose peripheral arterial disease (PAD). The ABI is a ratio of systolic blood pressures obtained from the brachial artery in the arm and the dorsalis pedis (DP) or posterior tibial (PT) arteries in the ankle. Multiple pressures may be taken at each artery on both the right and left sides of the body to increase the precision of the measurement. As a result the statistician can have 6, 12 or even 18 pressures to calculate the ratio. It can be easy to make cut and paste errors when developing programs that may have similar variable names, but fortunately the naming convention lends itself to macro programming. The SAS macro presented here was developed to decrease the chance for error and to reduce programming time necessary to calculate the ABI for various clinical protocols variable list, macro variable, variable, proc means, sample, macro definition 4
13 A Scalable Platform For Clinical Trials - Interoperability And Automation In A Web-Based Environment John R. Gerlach,
Maulik Shah
Imagine an XML-based platform that is CDISC compliant consisting of a suite of functional modules used to facilitate the plethora of analytical tasks involving clinical trials. XML-based CDISC standards would afford the interoperability across computing platforms, clinical studies and other resources (e.g. MedDRA); whereas, the functional modules, written in SAS and Java, would automate, at least facilitate, a given task. Beginning with the standard items that include a study protocol, an annotated case report form (CRF), the statistical analysis plan (SAP), and the clinical database (CDMS), this platform for clinical trials would expedite such processes as: creating the SAP; mapping raw data to SDTM variables; creating and validating CDISC domain data sets; generating standardized SAS programs for producing reports; creating transport data sets; and producing the Define-XML document. Other functionality would include: monitoring program development, including real-time metrics, and viewing deliverables. This paper presents a conceptual overview of a scalable, flexible computing platform for doing clinical trials. sdtm domain, clinical trial, system organ class, adverse events, data science, clinical database, define-xml, raw data, safety population, data cleaning, libname statement, cdisc 11
14 A Software Development Life Cycle Infrastructure Based upon SAS and Visual Basic Wayne F. Woo,
Novartis Vaccines
Regardless of whether an organization creates simple or complex SAS programs, a controlled programming environment should embrace the concepts of the software development life cycle (SDLC). To do this, processes need to be spelled out and tools put in place that support the phases of activity specified in SDLC models. SAS programming for clinical trials has some unique characteristics when compared to software development projects in general. This makes the use of full-featured enterprise-level configuration management systems impractical. This paper demonstrates an approach to constructing a rudimentary technical infrastructure to support the clinical trials programming life cycle. Topics addressed include the promotion of code from development through to production, versioning, change control, source control, and security. The techniques presented are applicable to a Windows- based SAS environment clinical trial, audit trail 10
15 A Unified SAS Macro for Generating Randomisation Schedule Madan G. Kundu,
Arjun Roy
Randomisation is the basis and cornerstone for the conduct of the most of clinical tr ials. Every effort should be made to maintain the element of randomness and reproducibility of the ra ndomisation schedule in a clinical study. In this article, a unified SAS macro (%RANSCH) is presented using PROC PLAN and RANUNI function to generate random permutated block randomisation schedule, choosing seed number for each block randomly. This macro is useful to generate randomisation schedule for parallel, cross-over and factorial designs under different trial scenarios such as varying block sizes, different treatment allocation ratios and presence of stratification factor(s) macro parameter, clinical trial, macro definition, proc step, seed, sample size, treatment arm, sample, error message 12
16 Advanced PROC REPORT: Doing More in the Compute Block Arthur L. Carpenter One of the unique features of the REPORT procedure is the Compute Block. This PROC STEP tool allows the use of most DATA STEP statements, logic, and functions, and through the use of the compute block you can modify existing columns, create new columns, write text, and more! This provides the SAS programmer a level of control and flexibility that is unavailable in virtually all other procedures. Along with this flexibility comes complexity and this complexity often thwarts us as we try to write increasingly interesting compute blocks. The complexity of the compute block includes a number of column identification and timing issues that can confound the PROC REPORT user. Of course to make matters even more interesting, there can be multiple compute blocks that can interact with each other and these can execute for different portions of the report table proc step, proc report, character variable, class variable, proc format, missing value, put statement, do loop 21
17 Advanced PROC REPORT: Getting Your Tables Connected Using Links Arthur L. Carpenter Gone are the days of strictly paper reports. Increasingly we are being asked to render our tables and reports using a variety of electronic file types that can be browsed and read using our computers. Besides the cost savings associated with the purchase of paper, paperless reports also minimize the costs associated with the printing and distribution of the reports. Another, often overlooked and potentially more important, side benefit of the paperless report is the increased availability of linked graphs, reports and tables. Navigation of the paper report is dependent on the table of contents, a strong index, and visual aids such as captions and footnotes; however in paperless reports we can easily jump from one table to its supporting and dependent tables with the click of a mouse. Easily that is if we have created the necessary links proc report, output delivery system, proc step, macro variable, macro loop, do loop, macro facility, footnote statement, ods pdf, macro definition, proc sql 20
18 An Application of ODS Tagset to Produce HTML Files for Clinical Study Reports Li Luo This paper introduces the concepts necessary to understand and apply the advanced features of the SAS Outpu t Delivery System (ODS). An approach to generate HTML files with a powerful ODS HTML tagset will be discussed. The focus is on the creation of a department defined standard ODS tagset with PROC TEMPLATE and applications of this tagset to create Submission Ready Components Standard compliant documents for Clinical Study Reports. Code capabilities are reviewed and different example invocations are shown proc template, output delivery system, clinical trial, proc step, adverse events, ods html, sas output, csr, serious adverse event, analysis set, excel 10
19 An Efficient Report Checking Method Xuejing (Susan) Mao,
Mario Widel
Ensuring the quality of the work developed by third party organizations (TPOs) and in-house works is of paramount importance for pharmaceutical companies since outsourcing projects has become an increasingly popular practice. A common report checking approach is to reproduce the report and check the result manually. This is time consuming and can be inaccurate. This paper introduces a more efficient method to validate reports. This methodology is very helpful, especially for long reports and reports with similar attributes dataset, adam dataset, data science, adverse events 7
20 Architecting a Regulatory Compliant Macro Library Using SAS Drug Development Virginia Redner,
Margaret M. Coughlin
Centralized macro libraries can provide efficient soluti ons to project programming and analysis needs. They also may provide consistency of statistical methodologies , programming techniques and implementation of industry standards across projects. In the phar maceutical industry, programming is required to comply with 21 Code of Federal Regulation (CFR) Part 11. This requires trac eability of changes to programs or macros. Additionally, validation of programs or macros is needed to ensure they perform the functionality intended. SAS Drug Development (SDD) provides a regulatory comp liant repository. This paper addresses the challenges of architecting a centralized macro library stored in SDD for use in analysis and reporting data cleaning, audit trail, validation documentation 6
21 Automate Data Integration Processes for Pharmaceutical Data Warehouse Sandy Lei SAS Data Integration (DI) Studio is a JAVA GUI tool for processing inbound data into a data warehouse. For an environment that has established processes and rules for data manipulation, DI studio provides a visual mechanism to display extracted data attributes, transformation mappings, and loading processes. This is the ideal case and the preferred way to use the tool. Applying the DI studio to pharmaceutical clinical data sometimes encounters the following issues: 1) the length, label, or type of a variable differs from study to study within the same compound, 2) a study may have many datasets and each dataset may contain many variables. Applying a manual process via DI Studio is time-consuming and error-prone. Often the same process may need to be repeated for different studies sas data integration studio, clinical data, data science 7
22 Automated Way to Develop Data Definition Document for Regulatory Submission Mustaq Ahmad The regulatory submission of a New Drug Application (NDA) or Biologic License Application (BLA) is a complex process which is also very resource intensive and error prone. Although this process involves a multi-departmental effort, it is the statisticians and programmers who are solely responsible for delivering a high-quality and efficiently prepared Statistical Review Aid (SRA) as part of submission package. This paper discusses our efforts to partially automate SRA development and to eliminate process inadequacies in the context of one of our large, complex, multi-study vaccine projects. Particularly, we automated the Data Definition Document component of the Portable Document Format (PDF) file by using SAS macro. Our automation process offered benefits as reduced SRA package preparation time, greater SRA content homogeneity, reduced resources utilization, few or no detectable SRA content errors, and little or no associated rework excel, regulatory submission, dataset 11
23 Automatic Creation of Analysis Datasets for Clinical Trials - A Macro Program John H. Adams Large pharmaceutical companies typically conduct many trials simultaneously. Prior to the start of each trial, a detailed analysis plan must be developed and approved. The Trial Statistical Analysis Plan (TSAP) describes how the outcome will be measured, transformations and derivations of data, how missing data will be handled, the statistical tests to be performed, table shells, analysis datasets, etc., etc. The analysis datasets that are specified in the TSAP are used in combination with other data to create the appropriate reports for the FDA submission. Typically there are 3 analysis datasets (ADS) specified by the TSAP, e.g. population definitions, patient baseline data and patient derived endpoint data . The creation of the analysis datasets usually requires writing large 'ad-hoc' SAS programs. These programs must also be validated along with the datasets they produce adam dataset, sample, raw data, extract, change from baseline, clinical trial, out=, data science, excel, medical history 17
24 Basic Defensive Programming Techniques Baoxian Lan,
Daniel Tsui
Like defensive driving, defensive programming is to prevent errors and to avoid warning and unexpected results. This paper will demonstrate some basic techniques that we practice in our daily work to prevent error and warning log messages such as: where clause operator requires compatible variables; invalid argument to function xxx; length of class variable xxx truncated to 16, etc.. The paper will also share with you some common techniques to avoid unexpected results. These techniques will be introduced through examples rather than through explanation. USING MISSING FUNCTION IN WHERE CLAUSE TO PREVENT 'WHERE CLAUSE cpu time, where statement, class variable, missing value, proc step, macro variable, input statement, data step, temporary dataset, proc genmod 11
25 Best Practices for Working with CDISC Metadata in the SAS Data Integration Server Michael Kilhullen Over the past few years, SAS has demonstrated how the SAS Metadata Server can be used to implement and manage CDISC metadata and facilitate a metadata driven approach to standardizing clinical data. In this paper, we examine best practices for using SAS Data Integration Studio to execute and manage key CDISC concepts such as controlled terminology, value level metadata, normalization of data, importing and exporting XML documents, and producing the CRT-DDS. Within the context of these topics, we will also examine considerations for setting up and managing study metadata, writing efficient transformation processes, leveraging metadata to answer key business questions, and effective use of change management controlled terminology, clinical data, proc step, data integration, sas programmer, data cleaning, dataset, cdisc 10
26 Bringing Clarity To Complexity: The Use Of Data Visualisation Neville Cope,
Matt Whiley
Clinical trials frequently feature complex visit schedules and many (often related) endpoints. Ensuring that all the key data points are collected at the right time and are recorded accurately can be a difficult, and daunting task. This paper demonstrates two visual aids, coded in SAS/GRAPH, which can help in the review of data and speed up database cleaning activities proc step, proc report, proc gplot 8
27 Can Change Control Be as Easy as a Right Mouse Click? Sy J. Truong Change control functions as the fundamental process for quality control and is the foundation for validation. This is a STANDARD procedure for software development but is lacking in the development of analysis when programming in SAS. The unstructured adhoc nature of exploration and discovery during the analyzing and reporting of data create challenges from the perspective of change control and validation. However, it is this data driven dynamic programming environment that requires the rigors of change control to ensure the integrity of the results. This paper explores processes and techniques used to manage change control of SAS programs and the output they produce within the process of development and validation data cleaning, sas programmer 9
28 Can Coding MedDRA and WHO Drug Be as Easy as a Google Search? Sy J. Truong In a world where information can easily be accessed by applying a Google search, mapping unstructured clinicians term or verbatim terms from an adverse event or a drug name to a standard term no longer needs to be an arduous task. One of the challenges of working with coding medical terminology is combining several skills that are diverse from many different disciplines. The user needs to be clinically trained to understand and interpret the meaning of the adverse events or the drug names. A conceptual understanding of the normalized database and the multi-axial hierarchical structure is required to navigate the dictionary. The user must also be adept at adding to the source data and joining the case report form data with the proper fields of the dictionary tables to derive at the final mapped data. Expecting users to overcome these hurdles without a clear process or tools can lead to an error prone, laborious and painful process adverse events, raw data, verbatim term, dataset, sas base, crf, preferred term 9
29 CDISC for the Medical Device and Diagnostic Industry Carey G. Smoak In May, 2006 a CDISC SDTM Device sub-team was formed. This sub-team's purpose is to address issues pertaining to the medical device and diagnostic industry. This sub-team is made of industry experts, CDISC representatives and FDA representatives. Specifically this sub-team will determine how well medical device and diagnostic data fits with the current SDTM model and identify gaps (what kind of data does not fit into the current SDTM model). These gaps exist because medical device and diagnostic data may contain information about instruments, assays and specimens that do not fit into the current SDTM model. The team will develop domains to fill-in these gaps and produce an implementation guideline clinical trial, sdtmig, cdisc 4
30 CDISC Implementation Step by Step: A Real World Example Sy J. Truong Implementation of the CDISC SDTM data model is no longer a theoretical academic exercise but is now entering the real world since the FDA issued a guidance in April, 2006, specifying its use. This paper will walk you through the lessons learned from implementations of CDISC SDTM version 3.1.1. It will cover both technical challenges along with methodologies and processes. Some of the topics covered include: Project Definition, Plan and Management Data Standards Analysis and Review Data Transformation Specification and Definition Transforming Data to Standards Review and Validation of Transformations and Standards Domain Documentation for DEFINE.PDF and DEFINE.XML The regulatory requirements are likely to include CDISC in the near future and the benefits of industry-wide standardization are obvious. It is therefore wise and prudent to implement these standards with techniques and processes refined from lessons learned from real life implementations data cleaning, excel, adverse events, proc contents, dataset, raw data, length statement, proc step, in=, data standard, sample, cdisc 19
31 CDISC: Pains and Pitfalls to Dataset Creation Janet E. Stuelpner,
Steven L. Michaelson
Standardization is a great thing. Although it causes great pain at the beginning, the rewa rds are well worth the effort in the end. That being said, creating datasets in the CDISC SDTM format is difficult and leads to a great deal of interpretation by the sponsor. There are areas that are very specific and others that are vague and general. This paper will try to de -mystify the process and show you how to create files in CDISC format that satisfy the data management and regulatory staff at your company time variable, char., raw data, adverse events, cdisc 5
32 Challenge the Specs Catherine Edwards Programmers, when programming tables, listings or figures (TLFs) for a clinical trial, often begin with a diagram or shell of how the display should look. Programmers need to identify the elements that are needed to produce the TLF display. Those elements, which we will call specifications, or specs for short, can be identified through a variety of documents that define the clinical trial. This paper will review an adverse event (AE) table shell and create the specs needed through a review of the documents available in a clinical trial. This paper teaches how to create the specs, and, more importantly, if the specs are already created teaches how to analyze them and the supporting documents to ultimately challenge the specs system organ class, adverse events, clinical trial, data science, sample 7
33 Clinical Adverse Events Data Analysis and Visualization Shi-Tao Yeh A clinical trial collects the adverse events (AE) data during the trial as part of the clinical safety profile. There is a need for greater vigor in the analysis and presentation of the AE data. This paper discusses the approaches to construct the graphical models for displaying and analyzing AE data. The graphical models described in this paper are: 1) bar charts for summary display, 2) dot plots for the most frequent AEs sorted by variables of interest, 3) a cluster chart, 4) a Kaplan-Meier (KM) time-to-event plot, 5) tree diagrams, 6) a radar chart, and 7) constellation diagrams. The SAS v9 products used in this paper are SAS BASE, SAS/STAT SAS Enterprise Miner (EM) 5.2, and SAS/GRAPH on the PC Windows platform and on the UNIX environment neural network, proc means, bar chart, sample, survival analysis, adverse event summary, clinical trial, relative risk, data mining, adverse events, kaplan-meier plot 12
34 Cochran-Armitage Trend Test Using SAS Hui Liu In clinical trials, a dose response study is often conducted to investigate the relationship between increasing dosage and the effect of the drug under study. The Cochran-Armitage trend test is commonly used to study the underlying trend. This paper summarizes various SAS procedures, including PROC FREQ, PROC MULTTEST, and PROC LOGISTIC, which perform the trend test when the response is binary. Variations of Cochran-Armitage trend test, including asymptotic test, exact permutation test, monte carlo (permutation) resampling adjusted test, and bootstrap resampling adjusted test are discussed as well proc step, bootstrap, sample, proc freq, proc logistic, dose, logistic distribution, exact test, normal distribution, proc multtest, sample size, null hypothesis, binomial distribution, monte carlo 11
35 Coding for Efficient Presentations: The Case of Trend Tests Karen M. Schlangen An efficient presentation of results tends to promote understanding of the subject matter and enhance s readability. Presentations, and communications in general, attain their greatest value when they are friendly to many readers, not only to the ones who initiated the request. Producing a professional visual representation of extensive technical data i s a challenge that almost always involves the programmer having to strike a balance among competing factors such as printing space, legibility, and level of detail. In the pharmaceutical setting, dose -response trend plots represent a common analytical app roach for pre-clinical and clinical trials data. Studies often involve the assessment of trends across multiple time points. Producing multiple plots per page is optimal for showing these plots over time proc step, study day, regression analysis, dose, median, proc reg, sample, proc quantreg, macro parameter, macro definition, proc greplay 11
36 Coding Technique to Validate Output Automatically Hui-Ping Chen After generating a report, a peer reviewer validates both the program and the resulting output in order to ensure accuracy. Checking the report with a simple layout might not take a peer reviewer too much time. However, a peer reviewer might need to keep a hard copy as a validation record, especially before/after data are locked; therefore, the peer reviewer might need to validate the same report at least twice. While checking laboratory test result, adverse events, or concomitant medication results, the peer reviewer does not need to spend time on generating a complex output, but still needs to create programs and compare the multiple pages of results one by one. This paper provides an idea for comparing (validating) the data generated from the output to your own data automatically concomitant medications, sas function, input statement, proc sql 4
37 Combining ODS Output Datasets to Increase Program Clarity and Reduce Macro Load Rod Norman Embedding code within SAS macro definitions is frequently used to generate output datasets for analysis of multiple variables in clinical studies involving treatment groups. Typically, SAS Procs such as Means and Freq are applied to individual variables within a macro, which itself might be nested within another macro to sequentially analyze a series of variables. Although such code is extremely useful and flexible, such programs can suffer from macro complexity or macromania. When inherited by subsequent programmers, such programs can prove timely to modify when table specifications change. In this paper, I exhibit how statistics calculated upon mu ltiple variables can be summarized from features of ODS output datasets. Easy to read, standard SAS code is used to create a dataset for output to a desired file type. In one example, subject counts and within treatment group percentages are obtained from PROC FREQ to create an output dataset for multiple categorical variables proc step, out=, proc freq, medical history, proc univariate 7
38 Combining RTFs While Retaining Each Original Document's Page Numbering Jim Worley In clinical trials, there is an increasing need for SAS programmers to combine multiple RTF files into a single document. The main obstacle programmers face when performing this function is the maintenance of the page numbering for each individual document within the combined document. With current SAS limitations, there is no easy method to provide this functionality. This paper addresses this limitation through the use of a SAS program and a Word macro. With some minor modifications to the RTF code, programmers can quickly combine multiple files while retaining their distinctive information and page numbering within a larger document clinical trial, macro variable 3
39 Comparing ODS RTF Output Files in Batch Using SAS (or, 500 ODS RTF Documents to Compare in 15 minutes!) David W. Franklin Before ODS came along most tables and listings generated from a SAS program were text files that were sometimes converted into RTF files using Microsoft VBA macros or other such techniques. Comparing the text files between different versions of the output was easy as it was generally just comparing one text file against another text file. Then came ODS RTF and suddenly the tables and listings were near publication ready but also a huge headache developed when it came to comparing multiple documents in one version of the output versus another version. This paper looks at a technique that was born to out of a need to compare over five hundred ODS RTF generated output tables and listings covering over six thousand pages against a previous version and finding only one number that had changed! txt, ods rtf 5
40 Comparison of a Non-Parametric Rank-Sum Test Based on a SAS Calculation of the Exact Null Distribution to Dunn's and Miller's Procedures April Slee,
Alice Birnbaum,
Paul Stutzman
Although there have been many recent advances in early drug discovery methodology, there is a lack of research regarding how to appropriately analyze data from small-sample studies where power is of minimal concern. A common approach is to use SAS to calculate non-parametric statistical tests under the assumption that the sample sizes are large enough for the test statistics to be approximately normally distributed. However, these analytical approaches in the pre-clinical setting often utilize data with sample sizes so small that the normal approximation is inappropriate. Computational advances now make it possible to calculate the exact probability of any possible difference in rank-sum statistics under the null hypothesis. By calculating the number of combinations possible, we determined the empirical distribution for several common study designs; we then compared these distributions to the approximations found in Dunn's and Miller's procedures sample, sample size, significance level, null hypothesis, proc step 12
41 Considerations for CDISC Implementation Robert T. Stemplinger Implementation of the CDISC standards presents a number of challenges that can have a deep and far reaching impact on an organization. To mitigate that impact and avoid wasted effort and exorbitant costs, careful consideration should be given to a handful of fundamental issues. Once these issues have been embraced a proper direction can be taken to meet the needs of the organization as they have been defined. This paper will detail some of the various challenges, propose possible solutions based on real life examples, and discuss technological options from SAS and other providers that can be applied to facilitate implementation sas programmer, sdtm domain, data cleaning, cdisc 4
42 Create Metadata Documentation using ExcelXP Christine S Teng The purpose of the metadata documentation is two-fold. First, it facilitates quick understanding of the project design. Second, it rapidly validates that data sets and variables adhere to the electronic submission requirements for clinical trials. SAS9 provides several approaches to create EXCEL output. There is an experimental tagset called ExcelXP that is available for download from the ODS Markup Resources site at http://support.sas.com/rnd/base/topics/ odsmarkup/. The SAS9 ExcelXP tagset generates XML output that conforms to the Microsoft XML Spreadsheet Specification ("XML Spreadsheet Reference", Microsoft Corp.). One can create XML output on UNIX or Windows platform and the XML output can be read by EXCEL 2000 and later releases. In this paper, I use the ExcelXP tagset in conjunction with the SAS Dictionary to create metadata documentation for a group of data sets from a mocked clinical trial project. A SAS macro is created based on the requirements as follows: 1 proc step, proc sql, proc format, excel, macro parameter, ods xml, ods excel, macro variable, dictionary tables, macro definition 8
43 Creating AND Importing Multi-Sheet Excel Workbooks the Easy Way with SAS Vincent DelGobbo Transferring data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using new XML support in Base SAS 9.1 software to move data between SAS and Microsoft EXCEL (versions 2002 and later). You will learn step-by-step techniques to quickly and easily create multi-sheet EXCEL workbooks containing your SAS output. You'll also learn about converting your own multi-sheet EXCEL workbooks to SAS tables. The techniques described here can be used regardless of the platform on which SAS software is installed, including a mainframe! The use of SAS server technology is also discussed excel, xls, dataset, proc print, proc tabulate, sas output, macro definition, sample, adverse events, sas base, by group processing, libname engine, proc step, work library, ods xml, proc template 20
44 Creating Metadata-Driven Program Logic with the SAS Call Execute Routine - An Example with CTC Grading of Laboratory Results Robert W. Graebner,
Overland Park
Certain programming tasks require the application of complex, data-dependent rules in the derivation of classification variables. One such example is assigning a CTC grade to laboratory results. Determination of the CTC grade depends on the laboratory parameter and its value in relation to either fixed values or multiples of the upper and lower limits of the normal range. This paper presents a solution in which a DATA STEP is used to access CTC grading logic metadata and the CALL EXECUTE routine is used to place the associated SAS statements in the SAS command stack for execution after the DATA STEP has finished. This process creates a virtual DATA STEP that will assign the CTC grades to each observation in the laboratory results data set data step, call execute, when, sas log, macro variable, macro definition, &variable, dataset, laboratory data, character variable 8
45 Creating Multi-Sheet Excel Workbooks the Easy Way with SAS Vincent DelGobbo Transferring SAS data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using the new XML support in Base SAS 9.1 software to create multi-sheet Microsoft EXCEL workbooks (versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output. Tips and tricks with the ExcelXP ODS tagset will be divulged. Most importantly, the techniques that are presented in this paper can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! The use of SAS server technology is also discussed. Although the title is similar to a paper presented at SUGI 31 (DelGobbo, 2006), this paper contains new and revised material not previously presented by this author excel, xls, proc print, sas output, proc report, sas base, change from baseline, adverse event summary, adverse events, sample, output delivery system, proc template, proc step, ods xml 19
46 Creating Word Tables Made Easier Carey G. Smoak Creating Word tables using ODS RTF and PROC REPORT is easier than ever using version 9.1.3 of SAS. This paper focuses creating Word tables that conform to standards provided by the Medical Writing department at my company for in-text tables (Word tables that are inserted directly into the text of a final report). Specific tasks in creating Word tables that have been made easier with SAS 9.1.3 include: 1) the use of the BODYTITLE option and 2) specifying fonts using PROC FONTREG. Version 9.1.3 of SAS on a Windows platform was used proc step, proc report, proc template, footnote statement, output delivery system 10
47 CSI - Denver: Common SAS Issues in Our Programs and Tips for Better Investigation of Your SAS Code Rachel Brown Every programmer knows it is rare to write a program perfectly on the first try. But good documentation of the issues discovered when programs are developed and validated can provide a wealth of information to improve programming. In 2004 our SAS programming department implemented new methods to better document the development and validation of SAS programs. We record program tracking information including every change request made for each program. While this change control documentation has not been flawless, it has resulted in an extensive database of almost 3 years of validation results, providing valuable information to help improve the way we write and check programs. The authors defined ten categories to summarize the variety of comments in the change requests. Over 3,000 records from 14 projects were categorized to compile a "top ten" - style list of the most common issues found during the development and checking of SAS programs within our department data cleaning, sas log, data step, sas programming, clinical trial, data governance, macro call, sas output, data science, proc step, proc sql, if-then-else 9
48 Customizing SAS Data Integration Studio to Generate CDISC Compliant SDTM 3.1 Domains Tatyana Kovtun,
John Markle,
Christopher Treglio
DI Studio provides an interface to the SAS Metadata Server for designing and running metadata driven processes. This paper summarizes our experience in using the out-of-box features of DI Studio for a CDISC compliant SDTM submission. It also describes enhancements we made to DI Studio to create a more business oriented, user-friendly, and secure environment for the generation of SDTM general observation classes. It provides some details on the implementation of all the steps required to convert our data to SDTM format, from creating mapping specifications, through designing and running domain jobs, to validating SDTM domain datasets, and, finally, generating define.xml (CRT) file sas data integration studio, define-xml, sdtm domain, raw data, data transformation, data cleaning, cdisc 12
49 Data Review Program FreqAll - Using Proc SQL List Processing with Dictionary.Columns to Eliminate Macro Do Loops Ronald J. Fehd proc sql, proc freq, macro loop, do loop, proc step, macro call 18
50 Designing and Building an Administrative Model for SAS Drug Development Margaret M. Coughlin Regulated industries such as pharmaceuticals require specif ic functionalities of comput er systems such as audit trails, version control and restricted access for users. The SAS Drug Development (SDD) repository provides these required functionalities in a manner which allows t he SDD licensee to customize them to their work PROC- esses. Thus, the design and implementation of an administr ative model for SDD is an im portant consideration for potential licensees of the product. In this paper, one administrative model is proposed to help manage and or- ganize clinical trials analysis and reporting within the SDD tool clinical trial, clinical research, interim analysis 6
51 Developing Reporting & Analysis Methodologies Amy Gillespie,
Mary N. Varughese
SAS programming for statistical analysis and reporting has been industry standard for many years. Currently when working on late stage development projects, programmers and statisticians often develop their SAS programs in a PC environment taking full use of available departmental SAS macros or by developing their own code. Reporting on safety data is often a standard and rigid process while reporting and analysis of efficacy data can require flexibility due to specific study needs. Programmers and statisticians have become experts utilizing the SAS system, often very creatively to continually strive for higher efficiency and quality. Recognizing the impact of new industry data standards and compliance requirements on our programming, we led a team of individuals to analyze our current processes and recommend a new approach to analysis and reporting data science, dataset, adam dataset, data cleaning, cdisc 5
52 DrSearch: Recursive SAS Macro solution for understanding complete program dependencies in large SAS reporting system (LSRS) Jim Fang Maintenance of a large scale SAS Reporting System (LSRS) comprised of hundreds of SAS programs, SAS datasets and thousands of reports is a challenging task. One of the key chall enges is frequent change r equests from the end users demanding quick turnaround time. This paper is an extension of the work we presented at NESUG 2006, which i dentified inputs and output files of each SAS program and recorded in the form of a EXCEL spreads heet. If we modified the program N, we can manually search the spreadsheet to identify the programs directly depended on the program N's output. But the complete dependency is still not clear until y ou continuously search direct dependency of dependent programs untill no dependency can be found. This paper demons trates an automated solution to determine the complete dependencies of all the SAS programs in the LSRS. Such a document greatly helps us meet the challenging turnaround ti me underlying these change requests macro definition, dataset, excel 5
53 Dynamic Decimal Precision and Alignment in Clinical Trial Laboratory Summary Tables and Patient Data Listings Stephen Hunt,
Brian P. Fairfield-Carter
When presenting descriptive statistics for laboratory parameters in clinical trial reporting, the experienced SAS programmer frequently laments the disparity of numeric precision between varying analytes contained within the same dataset. Not only does this present an annoyance in summary tables, occasionally, supporting listings will require a 'vertical' structure in which the results from multiple parameters are stacked within the same column of the report. When faced with such a task, many programmers typically resort to a solution based almost entirely on an extended set of 'if/then' statements for assigning a particular presentation to a specific analyte(s) based on observational knowledge of the data at hand. In contrast, this paper demonstrates a simple yet effective method for dynamically presenting laboratory results in both summary tables and vertical listings while preserving consistent decimal alignment as well as appropriate numeric precision character variable, clinical trial, macro variable 8
54 Effects of Multicollinearity in All Possible Mixed Model Selection George C. J. Fernandez The effects of multicollinearity in all possible model selection of fixed effects including quadratic and cross products in the presence of random and repeated measures effects are presented here. The user-friendly SAS macro application ALLMIXED2 complements the model selection option currently available in the SAS macro applications 'REGDIAG' and 'LOGISTIC' for multiple linear and logistic regressions respectively. Options are also available in this macro to select the best covariance structure associated with the user-specified fully saturated repeated measures model; to graphically explore and to detect statistical significance of user specified linear, quadratic, interaction terms for fixed effects; and to diagnose multicollinearity, via the VIF statistic for each continuous predictors involved in each model selection step feature selection, fixed effects, proc mixed, sample, macro definition, sample size, repeated measures, best subsets, covariance structure, covariance, proc step, longitudinal data, interaction effect, regression analysis, correlation, predictor variable, akaike information criterion, logistic distribution, excel 18
55 Efficient Storage and Processing of Sequential Indicators Using SAS Bitwise Functions Gerhardt Pohl,
Wenyu Ye
Sequential flags (i.e. sequences of true / false indicators) are a commonly encountered data structure in health care information records. For example, in looking at insurance claims data, a sequence of flags may indicate whether a patient is enrolled in a plan during each calendar month. Sequential flags can also be useful in intermediate analysis data sets for marking months in which patients fill prescriptions for a particular drug. Storing these indicators as individual bits rather than characters can dramatically reduce the required disk space. Furthermore, certain operations can be done more efficiently using SAS bitwise functions (BAND, BOR and BXOR) than is possible using character string processing. For example, one can determine the months in which patients filled prescriptions for two different medications by simply "AND'ing" together two bit sequences, an operation that can take place in as little as one cpu operation character variable, data step, insurance claims 5
56 Evolution and Implementation of the CDISC Study Data Tabulation Model (SDTM) PharmaSUG Annual Meeting,
Fred Wood,
Tom Guinter
clinical trial, sdtmig, verbatim term, sdtm domain, clinical data, elapsed time, lookup, cdisc 47
57 Evolution and Implementation of the CDISC Study Data Tabulation Model (SDTM) Fred Wood,
Tom Guinter
The CDISC (Clinical Data Interchange S tandards Consortium) SDTM is a standard for submitting data tabulations to the FDA in support of marketing applications. In July of 2004, this standard became Study Data Specification (1) referenced in the eCTD Guidance (2). In December of 2006, the FDA an nounced their intention to make the SDTM required by regulation (3). This paper/presentation will provide an overview of the SDTM and the associated Implementation Guides, commonly referred to as the SDTMIG (SDTM Implementation Guide) and SEND (Standard fo r the Exchange of Nonclinical Data). Included will be the evolution of the standard, the current status of the SDTM, strategic reasons for considering implementing the SDTM, and how the SDTM is used in the FDA review environment, including an overview of t he tools used by the FDA to review SDTM data clinical trial, clinical data, adverse events, adam dataset, sdtm domain, cdisc 7
58 Exploratory Visualization of Correlation Matrices Shi-Tao Yeh A correlation measures how two variables are related. A correlation matrix shows a table which lists the correlation coefficients of the columns and rows. This paper discusses the techniques for displaying correlation matrices and for depicting the patterns of relationships among variables. The purposes of the techniques described in this paper are: a) to display schematic scatter plots with ellipses, Loess, contours G3D and correlation coefficients with p-values, b) to create interactive correlation matrix graphs, c) to illustrate the correlation matrix iteration process with the creation of matrix maps, and d) to display multiple correlation matrices with interactive features on one page. The SAS version 9.1 products used in this paper are SAS BASE, SAS/STAT, and SAS/GRAPH on the PC Windows platform and on the UNIX environment correlation, scatter plot, sample, pearson correlation, proc corr, kendall correlation, spearman correlation, label statement, data visualization, histogram, proc step, proc princomp 17
59 Finding Duplicate Records in a SAS Dataset David W. Franklin Reviewing data is one of the most important tasks that a SAS programmer in the Pharmaceutical industry does. SAS software provides the power for records to be reviewed and exceptions reported. Along came a problem that had to be solved - a dataset with 500,000 observations was suspected to have duplicates. Presented is how a simple solution turned into a macro that could be used on any dataset create table, proc sql, macro variable 4
60 Format as Macro Parameter: A Design Pattern for Writing Generic Macro Applications with Lean and Stable Interfaces Lei Zhang,
Kenton Wride
This paper describes the Format as Macro Parameter (or FAMP) design pattern for SAS programming. The purpose of this pattern is to enhance a macro application with fewer explicit parameters and separate the complex macro parameter values from the client programs that use them. This is done by encapsulating a group of macro parameters with a SA S format as composite parameter. A SAS format like a lightweight container has three importa nt features among others. First, it can store a list of keyword/value pairs which can be organized into a hierarchically structured dictionary via the SAS nested format mechanism. Second, any entry value in the format can be accessed by the Base function putc()with appropriate format name and keyword as arguments. Moreover, within the macro implementation, any format-encapsulated macro parameter can be retrieved by wrapping the legendary macro function %sysfunc() around the putc() macro parameter, macro variable, format statement, proc format, proc step, macro call, macro function, macro definition 9
61 From CRF Data to DEFINE.XML: Going "End to End" with Metadata Frank C. DiIorio,
Jeffrey M. Abolafia
sdtm domain, missing value, label statement, adam dataset, macro variable, variable, dictionary tables, data cleaning, attrib statement, sas log, macro call, time variable, sample, data science, macro definition, proc sql, cdisc 20
62 General Use Data Delivery Codebook/Data Dictionary Donna Medeiros The data delivery codebook/data dictionary is a single-source document containing information about data (metadata) collected for a particular purpose. In clinical and medical studies data delivery, it is often a client deliverable, expected to accompany the study data. A well-organized, informative codebook is often of significant importance to internal and external clients who will analyze the study data. It is a vital reference for programmers and statisticians who explore and utilize study data sets. Generally, clients expect the codebook to contain information taken from one or more interim or final study databases, typically in SAS. It describes both acquired and derived variables and includes variable name, variable type, associated formats/value labels, and variable label and values. For discrete variables, the count/frequency is often displayed beside the variable attribute information. For continuous variables, the mean, maximum value, and minimum value are often requested proc step, data dictionary, dataset, proc freq, data governance, excel 6
63 Generating Fantastic Graphs the Quick and Easy Way With SAS Enterprise Guide Ben Cochran When Enterprise Guide (EG) was first released, someone described it as SAS/ASSIST on steroids. While there is so much you can do with the point and click, drag and drop interface of EG, this paper focuses only on creating graphical output. A step by step approach is taken to create, then greatly modify and enhance the appearance of these graphs. This paper shows the user that it is very easy to harness the strength of EG to create superior results. Was EG ever on steroids? Let the user decide bar chart, sas enterprise guide 7
64 Getting Started with the DATA Step Hash Object Jason Secosky,
Janice Bloom
A time consuming part of many SAS programs is looking up a value from one data set in another data set. SAS 6 lookup methods, like SET with KEY= or a format, are good for many applications. However, in SAS 9, there is a better tool, the DATA STEP hash object. The hash object provides a fast, easy way to perform lookups without sorting or indexing. This paper introduces the hash object, examines a few common hash object methods, compares SAS 6 techniques with the hash object, and builds rules of thumb for when to apply this new technology to your programs hash table, master data management, sysrc, sample, sas log, transaction data, set statement, hash iterator, sas 9, input statement, length statement, merge statement, key=, lookup, memory usage, options statement, proc step 9
65 Graphical Patient Profiles David Stokar Displaying a patient's data in graphical form gives an overview of a patient's status that is at once easy to grasp and comprehensive in scope. Combining drug exposure, adverse events, concomitant therapies and relevant lab values on a single graph gives a "holistic" picture to a physician making it easier to evaluate whether a therapy is related to adverse events or possibly contraindicated with other medications adverse events, exposure, macro variable 8
66 Graphing Estimates of Regression Models for Discrete and Limited Dependent Variables Jianming He,
David Budd
Presenting results in an audience-friendly way is a crit ical challenge when undertaking advanced or complicated statistical analysis. Tremendous efforts have been made to provide graphical results of statistical models generated by SAS/STAT to meet this need. Taking the examples of l ogistic regression and Cox proportional hazard models, this paper illustrates improved and simplified ways to graph key findings of models for discrete and limited dependent variables hazard ratio, odds ratio, proc step, proc phreg, logistic distribution, logistic regression, regression analysis, estimate, confidence interval, proc logistic, output delivery system 10
67 Growing Growth Curves Using PROC MIXED and PROC NLMIXED Jeffrey M. Gossett,
Pippa Simpson,
Patrick Casey,
Leanne Whiteside-Mansell,
Robert Bradley,
Chan-Hee Jo
Being able to describe growth appropriately and succinctly is important in many contexts, including biology, epidemiology and statistics. Various approaches are used varying from differential equations, deterministic modeling and statistical approaches like regression. Often, with epidemiologic data we want to model growth in the context of demographic variables and other potential mediators. However, growth is non-linear, so the addition of covariates may be problematic. Additionally, measurements may be unevenly spaced and there may even be missing data so some form of modeling that will deal with this is needed. We investigate growth models implemented in SAS/STAT using anthropometric data (height, weight, and body mass index,) from the Infant Health and Development Program (IHDP). This program was an eight-site randomized controlled trial testing the efficacy of early intervention to enhance the cognitive, behavioral, and health status of low birth weight, premature infants proc step, proc mixed, covariance, estimate, repeated measures, missing value, regression analysis, unstructured covariance, sample 10
68 How to Achieve Highlight and Font Color Change in a Cell? Bella Feng This paper expands from a WUSS presentation by the author "Font Color or Highlight? You Name It!". Combining the power of PROC FORMAT, ODS and PROC REPORT, this paper enables the reader not only to achieve the font color and highlight change, but also to make the above changes to a specific column, a specific row and even to a specific cell. These font color changes and highlighting can be conditioned upon values from the same column/row or other column/columns proc step, proc format, proc report, excel 3
69 How to Avoid Overwriting Work Data Sets and Work Formats - An Essential Macro Design Topic Zizhong (James) Fan How to keep interim datasets or formats generated in macro programs from unexpectedly overwriting work data sets or work formats th at are outside of the macro calls is a topic sometimes being overlooked. It can create confusions and sometimes lead to misleading results. This is an important macro design issue when developing public use or utility macro applications. This paper introduces an efficient technique that can be utilized to avoid conflicts between local (macro) data sets or formats and global (non-macro) data sets or formats macro call, macro variable, work library, sample 7
70 How to Migrate a Moving Target Paul B. Jarrett SAS Institute provides many resources, such as the Migration Community1, to help their customers to move from SAS version 8.2 to version 9.1.3, but each customer has its own particular customizations and working practices to consider. This paper describes the approach taken by the GlaxoSmithKline Biomedical Data Sciences Community to pull many diverse elements together in light of ongoing releases of enhancements and bug fixes to existing applications, and in light of ongoing work to support regulatory submissions. The ongoing development of existing applications and the ongoing regulatory submissions represent multiple moving targets that must continue to move while at the same time migrating from version 8.2 to version 9.1.3. The primary intent is to share what we have learned on the chance that it may help you with your migration. The secondary intent, or hope, is that you may have something to share from what you have learned that will help us with our migration regulatory submission 3
71 Hypothesis Testing: An SQL Analogy Leroy Bracken,
Boulder Creek
This paper is all about missing data. Do you ever know something about someone but don't know who that someone is? Are you missing information you didn't know you don't have? Do outer joins leave you in outer space? Then read this article and come back to Earth. The leading or Pivot Table of an SQL statement is like the Null Hypothesis H0 made during a statistical analysis. It is the starting point of a query which asks questions about data. We answer these questions, present and compare situations of missing data that are analogous to making Type-I and Type-II errors, and show some examples using real data how to estimate the likely band of error on an educated formal guess. Presented in this article is a simple solution for handling the pivot table of any SQL query so that no data is left behind. Skill Level: Intermediate Base/SAS, familiarity with PROC SQL proc sql, missing value, null hypothesis, union all, hypothesis testing, group by, sample 5
72 Implementing CDISC Data Models in the SAS Metadata Server Michael Kilhullen The SAS metadata server is a core component of all SAS 9 solutions. It delivers the power to integrate, share, centrally manage and leverage metadata across entire organizations. Through these capabilities, standard data models such as the CDISC Study Data Tabulation Model (SDTM) can be deployed and leveraged by all users in your organization without the need for developing additional metadata libraries or programs. In this paper, we examine the value that the SAS Open Metadata Architecture can bring to your organization, how the SDTM data model is implemented in the metadata server, and how the metadata can be leveraged by SAS products and solutions such as SAS Data Integration Studio controlled terminology, sas 9, proc step, data cleaning, cdisc 7
73 Implementing Worst Rank Imputation Using SAS Qian Wang,
Eric Qi
Classic designs of randomized clinical trials quite often require repeated measurements over the treatment period. However, some patients may experience terminal events which prevent their continuation in the treatment. Although no measurements can be collected after those patients leav e the study, the drop-out reasons (e.g. drug-related adverse experience or lack of efficacy) and time (e.g. early or late in the study) might be an indication of the effect of the treatment. One approach to incorporate th is piece of information into the analysis is to impute, for the missing observation, a 'worst- rank score' which is worse than any values actually collected at that time point. The transformation from observed data into rankings for analysis also has the advantage of being less sensitive to data distribution assumption and less affected by the outliers. Nevertheless, how to implement and program the worst rank imputation remains a challenge imputation, change from baseline, treatment effect, adverse events, proc rank, baseline, clinical trial, proc step, dataset, outlier 10
74 In The Compute Block: Issues Associated with Using and Naming Variables Issues Associated,
Arthur L. Carpenter
In the compute block of the PROC REPORT step variables can be both created and used. They may be on the incoming data table, they may be computed in the REPORT step, they can be statistical summaries, and they may even be artificially created by the REPORT process. In the DATA STEP each variable has a name and that variable's name is used whenever we want to address a particular value on the Program Data Vector. In the REPORT step things are not so simple. The origins and use of a variable will determine how it is to be named in a compute block. If you do not know how to properly address a variable or report item in the compute block, the compute block will often fail. This paper will discuss the various variable types, how they are used, and how they are addressed in the compute block proc report, proc step 9
75 Introduction to the SAS 9 Business Intelligence Platform: A Tutorial Gregory S. Barnes Nelson Business intelligence (BI) is a broad category of application programs and technologies for gathering, storing, analyzing, and providing access to data to help enterprise users make better business decisions. BI applications support the activities of decision support, query and reporting, online analytical processing (OLAP), statistical analysis, forecasting, and data mining. BI includes a set of concepts and methods to improve business decision making by using fact-based support systems. This tutorial will guide participants through the landscape of business intelligence and how it has been implemented in SAS 9. We will provide a broad overview of what things we can accomplish with BI, lay the groundwork for continued learning and discuss the tools and technologies and how they interact in some common architectural scenarios. The goal of this presentation will be to get users comfortable with the concepts and vocabulary of BI business intelligence, data mining 12
76 ISIT Available? Yes, Thanks to On-Demand Real Time Deployment of SAS and JMP via ISIT! John M. LaBore Organizations in recent years have struggled with the issue of controlling/managing their desktop environments in the face of ever-increasing security and cost challenges. To minimize risks and costs, many adopted a "managed desktop" such that end users do not have rights to install software on their own. This method works fine when every user in the organization uses the same set of software on each system. It breaks down when users, scattered across multiple locations, and less than the entire user base, need non-standard software. Licensing restrictions/costs can make it prohibitive for an organization to deploy the non-standard software to every user. It also breaks down when non-standard software, such as SAS and JMP, must have annual license updates applied to a subset of systems audit trail, oracle 9
77 It's Not All Relative: SAS/Graph Annotate Coordinate Systems Rick Edwards This paper discusses the SAS/GRAPH Annotation coordinate systems and how a combination of the systems can be used in the same annotation data set for the best results. The paper will also cover some basic introductory information on creating annotations. Two examples of how to use annotation datasets will be presented. The first example demonstrates how to add information to a plot which cannot be done with the PROC GPLOT procedure alone. The second illustrates how annotations may be used to enhance the clarity of a grouped bar chart adverse events, proc calis, proc step, proc gplot, bar chart, proc gchart 10
78 Journeymen's Tools: Data Review Macro FreqAll: Using Proc SQL List Processing with Dictionary.Columns to Eliminate Macro Do Loops Ronald J. Fehd The SAS R⃝ macro language is simple, yet powerful. List Processing with PROC SQL is also simple, yet powerful. This pa- per provides a data review macro FreqAll which illustrates using PROC SQL reading Dictionary .Columns to replace macro %do loops. Audience: intermediate users and macro program- mers. proc step, proc sql, macro variable, select, macro loop, proc append, proc freq, macro call, macro definition, macro put, proc print, proc univariate, %if-%then-%else 10
79 Let SAS Write Your SAS/GRAPH Programs for You Max Cherny Creating graphics is one of the most challenging tasks for SAS users. SAS/GRAPH is a very powerful application which allows one to create many kinds of graphics. However with this power comes a certain degree of complexity which makes learning SAS/GRAPH a challenging task. Fortunately, SAS has three tools that easily and interactively create graphics: SAS/ASSIST, Graph-N-Go and SAS Enterprise Guide. These fairly obscure and underutilized tools are part of the SAS software, and generate accompanying SAS programs for you. No knowledge of SAS/GRAPH is required to create powerful and visually appealing graphs. Any may serve as the first step to quickly learn how to program SAS graphs or assist experienced SAS/GRAPH users in fine tuning their graphic skills. These tools vary in their functionalities, availabilities, design, scope and ease of use. The use of these SAS tools will be demonstrated and their strengths and weaknesses will be analyzed and compared sas enterprise guide, bar chart, proc step 10
80 Leveraging Base SAS for Constructing a Low-Cost, Data Clarification Request Generation and Tracking System Independent of a Clinical Data Management System David M. Escobar,
Barbara Mathewson,
George Strang
Data clarification requests (DCR) are used to send questions to clinical study participants regarding illogical or incorrect data and are used to ensure the quality of data. We created a low-cost in-house DCR generation and tracking system that utilizes SAS programs and Microsoft Access to detect, produce and track DCRs. Such a system could give sponsors with limited study budgets a tool to clean discrepant data. It is easy to use and allows the clinical site staff to efficiently complete and return DCRs to the Data Management Unit (DMU). SAS data steps identify errant or ambiguous data based on pre-determined logic checks, and an aggregate dataset of errors is created via concatenation; unique error identification numbers correlate to specific errant data points. PROC SQL is used in synergy with the data steps to compare aggregate error datasets with a set operator data validation rules, proc sql, proc step, data step, clinical trial, data governance, relational database, sql server 7
81 Link the Unlinked : Documenting Dependencies Among SAS Programs in a Project Gopal Rajagopal Agency submissions typically involve dozens of tables and SAS programs with numerous interdependencies; some of which are subtle. The average SOP emphasizes documentation within a SAS program. This paper focuses on the oft unmet need for project level SAS program metadata i.e. documentation of dependencies across related SAS programs in a project. Project level SAS program metadata can add value to the ongoing enhancement of an existing set of related programs. It is critical to be selective about what program metadata is collected and how it is presented. While one can generate volumes of metadata, 'too much' may be overwhelming rather than helpful. UNIX text processing utilities grep, sed and awk along with other UNIX utilities and commands can be used to generate project level SAS program metadata from shared permanent datasets, macros, formats, and map programs to output. How these can help you manage SAS programs will be explored in this paper txt, sample, sas log, sas programmer 8
82 Making Excel Graphs From DataFax Reports And XML Data Files Yajie Wang This paper presents the key program code and steps of making EXCEL graphs from DataFax Reports and XML data files excel, dataset 4
83 Managing the CRO Relationship to Effectively Request and Receive CDISC STDM and ADaM Deliverables Kenneth Eng,
David C. Izard,
Terek J. Peterson
The FDA has recently retracted the "1999 Guidance" that effectively took the "bring your own data schema" for regulatory submissions off the table. In it's place, the "2005 Guidance", revised in 2006 [1], specifies the incorporation of STDM (required) and ADaM (strongly suggested) datasets within the eCTD structure. Use of these is mandatory on or after January 1st, 2008. A close examination of the contents of these deliverables, however, reveals that the contents of each of these data schemas does not lend itself to the traditional roles and responsibilities at a CRO for producing these items. This paper explores how to effectively specify these deliverables to facilitate the accurate and timely development, implementation and delivery clinical database, adam dataset, data science, clinical trial, regulatory submission, sdtm domain, service provider, clinical programming, proc step, cdisc 8
84 Methods for Repeated Macro Calls Nicholas Nerren The SAS Macro Facility is useful for defining SAS statements that need to be executed repeatedly, but the best method of implementing repeated macro calls depends on the circumstances. This paper presents several methods for repeatedly calling a macro and gives the advantages and disadvantages of each. Methods covered include CALL EXECUTE and the PARMBUFF option, as well as techniques for calling macros when the parameters or number of macro calls are driven by data macro call, macro variable, macro facility, conditional do loop, macro loop 5
85 ODS Graphics in SAS 9.1.3 Mirjana Stojanovic This paper will present a new feature in SAS 9.1.3 and detail an experimental procedure in SAS/STAT which demonstrates the future of graphics in SAS. Graphics are an essential part of statistical presentation and un til now customized graphs were cumbersome to create using SAS/GRAPH. In SAS 9.1 an experimental ext ension of the Output Delivery System (O DS) is being used with a number of SAS/STAT procedures to automatically create graphics with the sa me ease ODS provides in creating tables. In order to create statistical graphs using ODS, in clude the statement ODS GRAPHICS before your procedure statements and this will invoke the facility. Graphics are then created automatically. ODS statistical graphics do not create output for the LISTING destination. You must send your output to other ODS de stination (RTF, HTML. DOCUMENT), ODS Graphics uses Java technology, and you do not need to learn SAS Graph to use this proc sgplot, proc step, proc template, output delivery system 11
86 Planning for and Designing a Data Warehouse - A Hands-On Workshop Gregory S. Barnes Nelson In a previous hands-on workshop (Nelson, 2006), we demonstrated how to use Data Integration Studio to load a sample star-schema. We focused on the usage of the tool itself; however, today we will take a step back and better understand the DI Studio process by outlining a methodology for designing and implementing the ETL load, or the process of moving data from a source system (such as operational systems or a table in a database) into a target (usually a structure that supports analytics and reporting). This workshop guides the participant through the methodology used to design the target database structure and transformations, create a mapping worksheet used to implement the ETL code, load the metadata, and create the process flows in DI Studio. This paper connects the dots for those interested in getting started with DI Studio not only as a tool, but how practitioners think about the DI Studio process 16
87 Practically Perfect Presentations Using ODS and PROC REPORT Cynthia L. Zender Presentation proc report, proc step 38
88 Proc Contents In Excel Using SAS - XML Sandeep Juneja This paper presents a more complete and readable way for representing PROC CONTENTS information in EXCEL using XML. XML usage makes it possible to even re ad the datasets from UNI X and generate the EXCEL sheets on Windows. CDISC compliant content generation makes it easy to generate the DEFINE.pdf file excel, dictionary tables, dataset, xls, macro variable, proc step, cdisc 5
89 Proc Format Advanced Techniques: Multi-label and Nested Formats Tatiana Nevmyrych,
Jennifer Clark
Most of us are aware of bas ic PROC FORMAT options, like value/invalue to create user-defined formats. But there are lesser known format options that enhance the flexibility of programs that are often overlooked. The use of a multi- label format in conjunction with the preloadfmt option in PROC MEANS, TABULATE and SUMMARY allows us to include all possible combinations of formatted class variable values to create group/total counts, as well as to get counts for every value in a format regardless of if it exists in the data. This is useful for various demographic, or other types of summaries so frequently utilized in reports in our industry. These format options help to avoid unnecessary data doubling, and creation of dummy datasets, which saves quite some processing time. The paper also addresses nested formats (i.e. referri ng to another existing format when creating new format invalue). We will illustrate the power of these techniques with examples proc step, out=, proc format 4
90 PROC REPORT or DATA _NULL_: Which to Use and How to Make it Easier David W. Carr One of the ongoing debates in the pharmaceutical research universe concerns which tool is best for reporting study results - PROC REPORT or DATA _NULL_. Proponents of PROC REPORT contend the procedure is more user-friendly and the code easier to understand and consequently debug. Those who prefer the DATA _NULL_ approach argue that it allows the user to fully customize reports, thus avoiding the need to tell a customer (internal or external), "Sorry, we can't put that there." Regardless of one's preference, both of these reporting vehicles have their place in the study reporting world. The purpose of this paper is not necessarily to compare the two tools, but rather to (1) present general examples demonstrating which tool is the best fit for a given scenario and (2) offer some tips on both how to enhance the output for each and how to streamline the use of your reporting tool of choice proc report, proc step, clinical research, clinical trial, proc freq 11
91 Proc SQL versus The DATA Step JoAnn R. Matthews Because most data within organizations is stored in re lational databases (RDBS), Structured Query Language (SQL) has evolved as the standard fo r accessing, updating, and modifying RDBS data. PROC SQL is a powerful procedure in SAS that can minimize keystrokes and ma ximize CPU resources. PROC SQL syntax looks very similar to standard SQL a nd can be used to replace traditional SAS DATA STEP processing. In this Hands-On Workshop, PROC SQL will be compared to the traditional DATA STEP. The workshop will compare a simple datastep with basic PROC SQL. T he DISTINCT function will be compared to PROC SORT with the NODUPKEY option. The CASE statement will be cont rasted with IF/THEN/ELSE logic. SU MMARY functions will be compared to PROC MEANS. The true power of PROC SQL will be demonstrated with a comparison of MERGE versus JOIN. ONE TO ONE, ONE TO MANY and MANY TO MANY merges will be discussed proc sql, proc step, sas output, data step, union all, select, proc contents, group by, proc print, run, where statement, order by, inner join, ansi sql 39
92 Programming Tips and Examples for Your Toolkit, III John Morrill This paper is a continuation of a series of PharmaSUG papers containing several ideas, each generally unrelated to the others. The series has been aimed toward the intermediate level pharmaceutical programmer. Brief ideas presented in this paper include (1) a method of validating tables using data sets prior to reporting (DSPTRs), (2) a use of PROC COMPARE that should be obvious but is perhaps underused, (3) dealing with incomplete information using expiring code, and (4) dealing with numbers displayed as negative zero. Two major areas covered in this paper are SAS tools designed to collect and present information about (5) the contents of SAS programs within a study and (6) the data within a study. Also covered is (7) a brief update on a consistency check paper from 2006 PharmaSUG. This update deals with American & British English spelling. Finally, (8) a fun little word-find routine is presented proc compare, proc step, data validation rules, dataset, proc report, data cleaning, sas output 12
93 Promotion Response Analysis in the Pharmaceutical Industry - Lessons to be Learned From Clinical Trials Methodologies Alejandro Jaramillo In 2002 the pharmaceutical industry spent close to $10 billion marketing their medicines to physicians. Pharmaceutical promotional events include dinner meetings, symposia, speaker training, teleconferences, web casting, conferences, detailing and samples. Depending on the evaluation methodology results on return on investment, ROI, will vary. Matching offers a method to build comparable groups of tests and controls for retrospective or prospective studies. However, within different matching techniques the accuracy and quality of matches will vary. It is common to find groups within the same pharmaceutical company working in silos, using different approaches to similar research projects, and not communicating among them selves to compare ideas that will help build efficiencies and synergies. Analytical groups within same Pharmaceutical company will benefit greatly from sharing ideas concerning research and statistical methods. This paper will present an overview and results from different matching methods when analyzing pharmaceutical promotional programs with a special emphasis about the benefits of using the clinical trials research rigor and methods to improve promotion response process. Results of a pharmaceutical promotional program impact analysis using; 1) Pre & Post Measurement, 2) Euclidean Distance Matching, 3) Mahalanobis Distance Matching, 4)Propensity Scores Matching, 6) Mahalanobis and Propensity Scores with Calliper Matching will be used to illustrate the advantages of in achieving greater bias reduction for measuring promotion response. In addition, benefits of sharing information about methods between business analytics and clinical trials groups are discussed. propensity score, mahalanobis distance, clinical trial, class variable, proc freq, covariance, euclidean distance, pharmaceutical industry, sample 12
94 Putting the Little Table into the Big Picture Steven Hege Inset tables are small tables displayed on the same page of a chart or graph usually containing additional information about the data displayed. In SAS, there are several procedures that have an option for applying commands from an annotate dataset to enhance the graphical output. The challenge is to develop the necessary annotate dataset in an accurate and efficient manner. This paper introduces a macro that constructs such a dataset using flexible syntax to create a data-driven inset table for various situations. The resulting annotate dataset can be used alone or combined with other datasets to create an inset table in SAS/GRAPH macro variable, macro call 8
95 Randomization Schedules - Made Easy Michael Stout Using SAS software to construct randomization schedules for clinical trails can be time consuming and complicated. Schedules are used at the sites to assign patients to treatment groups. This paper shows one approach for creating randomization schedules that are unbiased and utilizes SAS random functions to assign random block sizes and then randomly assign patients at a site to treatment groups randomization, proc step, proc print, proc report 10
96 Reading Format Values From Formats Library and Creating Labels Automatically Kalyani Kothapalli Adverse events (AEs) are collected in almost all clinical trials. AEs are generally summarized by severity (mild, moderate, and severe) and relationship to study drug (unrelated, possibly, probably, almost certainly). This paper shows you how to take advantage of the formats library and automate code in creating AE tables. The program was created using SAS Version 8.2 on OpenVMS Alpha and is intended for beginner to intermediate level SAS Users adverse events, macro variable, proc step 4
97 Relationships Among CDISC Variables (Part I) Susan Fehrer,
Russell M. Lavery
Many CDISC variables are related to each other and understanding those relationships helps both programming and QC. This example-based paper concentrates on how changes in the circumstances/characteristics surrounding the collection of the ORRES variable (original results or originally received results) affects other variables in the domain. The CDISC implementation guide gives rules, and examples, that focus on entering values into specific variables. This paper s contribution is the study of the relationships among variables. Several characteristics of the ORRES variable start a logical cascade that affects how values are entered in other variables. First, the value to be entered in ORRES can be on the CRF or calculated programmatically (derived). Second, the value of interest, ORRES, is stored as character in the domain, but can be collected as character or numeric numeric variable, char., cdisc 9
98 SAS & Clinical Data Repository Karthikeyan Chidambaram staging area, clinical trial, data integration, life sciences, sas 9 8
99 SAS and Oracle Clinical Hand-in-Hand Ramkumar Krishnamurthy,
Santa Barbara
Most research companies use Oracle Clinical to gather and store clinical data and use SAS for analysis purpose. When it comes to large studies with 100,000 patients and at least 10 CRFs per patient, SAS needs to download and handle million rows of data from Oracle database. This presentation has 3 goals: 1. Introduction on the usual way to download the data from Oracle Database to SAS for smaller studies. 2. How the usual method to download data from Oracle to SAS compromises the Oracle Clinical server performance for large studies and 3. The enhanced way to download large data without compromising on the Oracle Clinical performance oracle, create table 5
100 SAS Macro: Symbols of Frustration? %Let us help! A Guide to Debugging Macros Arthur L. Carpenter Are you just learning to write MACROS? Are you baffled by when to use single quotes and double quotes - or one inside the other? Are you confused by when to use statements such as DO versus %DO? Want to know the difference between a GLOBAL and LOCAL Macro variable? Do you have macros that don't give the right results yet don't give error messages either? This workshop will introduce a few MACRO concepts that are often misunderstood. You'll also learn how to use options such as MPRINT and SYMBOLGEN, and statements such as %PUT, to help you determine why your macro doesn't run, or why it does run but gives you the wrong results macro variable, do loop, macro loop, macro facility, symbol table, macro put, macro definition, %if-%then-%else, character functions, proc sql, macro function, macro quoting function, cpu time, options statement, proc step, missing value, put statement, sas log, data step, if-then-else 20
101 SAS Macros to Detect and Evaluate Statistical Outliers Marek K. Solak SAS macros are designed to apply Grubbs, Ferguson and Hofer-Rickard methods to evaluate statistical outliers. All methods are applied to the same sample and results are compared sample, outlier, significance level, sample size, standard deviation 8
102 SAS Markov Chain Monte Carlo (MCMC) Simulation in Practice Shi-Tao Yeh,
Scott D Patterson
Markov Chain Monte Carlo (MCMC) is a random sampling method with Monte Carlo integration using Markov chains. MCMC has gained popularity in many applications due to the advancement of computational algorithms and power. The SAS MI Procedure provides MCMC method for filling arbitrary missing data and for simulating random samples based on complete data information. Extensions of this procedure are currently available in experimental form to perform Bayesian statistical analysis. The purpose of this paper is to use a simulated hypothetical clinical trial efficacy data set and Challenger's O-ring failure data as input in order to perform the MCMC method for missing data imputation, model parameter simulation, and model diagnostics, and to use SAS to perform a Bayesian analysis of data commonly encountered in clinical trials. imputation, sample, missing value, markov chain, monte carlo, posterior probability, clinical trial, roc curve, proc step, logistic distribution, odds ratio, response variable, bayesian statistics, probability distribution, proc mi, estimate, residual analysis, regression analysis, correlation, prior probability, proc logistic, proc freq, proc mixed, data science 20
103 Saving QC Time for Production Tables Linfeng Xu,
Sunil Kumar Gupta
One of the major tasks for pharmaceutical companies after clinical trial is to create production tables, listings, and graphs (TLGs) for regulatory submission. The production tables are created by unique SAS utility macros maintained by the company. Usually, a parallel quality control (QC) process is needed to ensure the accuracy of the content in the production tables. A programmer who performs the QC needs to write different SAS programs so that the results can be compared with those in the production tables. Usually the production tables have fixed layout, so creating QC results with similar layout allows QC programmer to conduct visual check line by line easily, thus improving the quality of QC and saving time. This paper uses a real example to illustrate how to apply two macros, ie, %GETFRQ and %GETSTAT, to accomplish such QC. Conceptual design and detail programs are provided related to these two macros proc step, nominal variable, macro call, numeric variable, proc univariate, create table, data cleaning, proc freq 10
104 SDTM, Plus or Minus Barry R. Cohen The CDISC Study Data Tabulation Model (SDTM) has become the industry standard for the regulatory submission of clinical trials data. The CDISC Ana lysis Data Mo del (ADaM) is not far behind in emerging as the industry standard for th e analysis SAS datasets base d upo n th e collect ed da ta. Pharmaceu tical companies have be gun to implement SDTM and, to som e extent, ADaM. As part of this process, companies are evaluating whether to use the S DTM standard only for the re gulatory submission, fo r which it is d esigned, or incorporate it i nto the ir o perational st andard as well. Som e compa nies th at are adopting SDTM as their op erational standard are find ing that a ne ar-SDTM standard works better tha n strict conformance to the SDTM standard regulatory submission, sdtm domain, edc, dataset, adam dataset, clinical data, clinical trial, data standard, data warehouse, cdisc 6
105 Secret Sequel: Keeping Your Password Away From the LOG Paul D. Sherman Passwords are things not to be shared. As good SAS programmers we don't hard-code our passwords in our programs, but keep them in separate files or macro variables. However this is not enough! Unfortunately the casual (or malicious) user can "turn on" macro debugging utilities like MPRINT, MLOGIC or SYMBOLGEN and literally read our password right from the LOG, in plain view. This paper presents a series of simple methods to keeping your secret password secret when accessing remote databases with macro variable, proc sql, proc step, dataset, symbol table, create table, select, global symbol table, macro facility, where statement, macro debugging, macro definition 10
106 Selective Parameter Passing Angelina Cecilia Mauldin Many of the tables, listings and figures (TLFs) that are needed in a study are similar and not totally unique. There are several ways to try to limit the code that will be needed to generate multiple TLFs with one main program. One way is to %INCLUDE a generic program into each specialized program and setting parameters to be used by the generic unique file. A second way is to create one program with a macro(s) and call the macro passing parameters. The first approach has the problem that there are many files needed, one for each TLF plus the shared program that does the work, and all the programs need to be archived and maintained. The second approach has the problem that all the TLFs are generated when only one TLF is needed and all the new TLFs need to be validated. I am proposing a new variation on the second approach (SPP - Selective Parameter Passing) where the program can be run in batch and we only pass the parameters for the tables that are needed adverse events, macro call 5
107 Several Graph Types in Clinical Studies Long Zheng,
Suriani Pokta,
Pan-Yu Lai
In clinical studies, we often need to understand trends in efficacy and safety data. In some situations, it is not clear how to show these trends using summary tables and listings. However, SAS/GRAPH is a powerful tool for displaying trends. This paper introduces several types of graphs, including abnormal lab shift graphs, efficacy success-failure graphs, and logistic regression graphs with observed proportions superimposed on the logistic regression curve logistic regression, laboratory abnormality, regression analysis, proc gplot, logistic distribution, proc step, clinical trial 8
108 Sorting out the Possibilities Using Retain Tommy Retzlaff,
Cara Woodruff
Controlling the order of your data along with some simple assumptions can make creating analysis flags much easier for the beginner to intermediate programmer. This example will look at conquering the multiple-choice scenario of stacked medication interruption diary data. We are interested in categorizing this data into one of three separate possible results by using one temporary variable and with only one pass through the data. This will allow us to define whether the study medication was 1) NEVER INTERRUPTED, 2) INTERRUPTED, or 3) UNKNOWN whether it was interrupted sample, proc sort 3
109 Statistical Outputs as Groups of Related Data: Overcoming Some Common Pagination Challenges Alexandr Alexin There are certain statistical outputs that are structured as distinct groups of reported data. Such outputs may be presented on a paper report in many different ways by a variety of different SAS tools and techniques. However, it is a common practice to present the groups of statistics on the report with a diligent consideration about the effects of the pagination on the final data presentation. This paper describes the technique developed to streamline the preparation of a ready-to-print data file for the purpose of controlling the rendering of groups of the related data using PROC REPORT. dataset, proc report, proc step, data validation rules 6
110 Strategies and Practical Considerations for Creating CDISC SDTM Domain Data Sets from Existing CDM Data Sets Robert W. Graebner Creating CDISC SDTM domain data sets from existing clinical trial data can be a challenging task. However if the process is well planned and properly managed, successful results can be obtained in an efficient manner. Standardizing and mapping data elements from a form well suited to use with a clinical data management system to a form suitable for tabulation and review has many aspects to consider. When data from multiple protocols with non-standard data structures must be combined into one submission, such as for an Integrated Summary of Safety, the use of a consistent approach is critical for success. A well-planned and documented process can provide significant increases in efficiency on future conversion projects. Tools suited to the task of complex data mapping can significantly reduce the cost and improve quality. The first step to a successful conversion is to gain an adequate understanding of the STDM standards. The examples in this paper are based on the CDISC SDTM version 1 sdtm domain, clinical data, controlled terminology, missing value, proc step, txt, clinical data management, sdtmig, clinical trial, data governance, data mapping, macro definition, excel, cdisc 12
111 Taking a Walk on the Wildside: Use of the PROC CDISC-SDTM 3.1 Format William C. Csont,
Howard M. Proskin
Many people are anxiously awaiting SAS's interpretation of the CDISC standards with regard to clinical pharmaceutical trials. After hearing about the PROC CDISC procedure at a previous conference, I decided to investigate the use of PROC CDISC with a particular em phasis on the SDTM (Standard Data Tabulation Model) format upon my return to the office. When I tried running PROC CDISC, I was met with log error messages. This is where my odyssey began with ad ding PROC CDISC to my Base SAS system and the exploration of the procedure. This paper will describe the steps to add PROC CDISC on a Windows based system and explain what information can be derived from the PROC CDISC SDTM 3.1 Format proc step, clinical trial, sdtm domain, cdisc 6
112 Taking the Proc Summary a Step Beyond Priya Suresh PROC SUMMARY can be used to display cross-tabs of multiple variables to quickly identify unique patterns in the data. The summary output shows the unique pattern of input variables and the resultant value of the derived variable in an easily verifiable format. If the same code is applied to data over multiple time periods, the same patterns are repeated again and again. The next step beyond PROC SUMMARY is to use exact pattern matching technique to weed out the verified patterns from prior time periods and display only the new patterns that occur in the data. This presentation describes the application of this technique and explains how SAS is used to provide an elegant solution proc step, proc means, proc export, proc import, dataset, input statement, proc print 7
113 Teaching a New Dog Old Tricks - Using the EXCEPT Operator in PROC SQL and Generation Data Sets to Produce a Comparison Report Stanley E. Fogleman It is possible to produce a comparison report on rather s hort notice using the EXCEPT operator in PROC SQL to list only those rows that have changed since the last time the report was run. The generation data set represents the data today versus whenever the report was last run proc sql, proc step, create table 3
114 Techniques for Developing Quality SAS Macros Ginger Redner,
Liping Zhang,
Carl Herremans
Defining specific guidelines and standards for designing and developing library macros can significantly increase the quality of those macros. This paper details some of the macro design and development guidelines we've defined in our organization for developing quality, easy to use, flexible macros that have minimal impact on the SAS session in which they are executed. Sample code to assist in adhering to these guidelines will also be discussed. This paper is intended for programmers with a sound foundation in SAS macro programming macro variable, sas log, symbol table, macro definition, local symbol table, in=, sample, macro parameter, macro call, data science, macro loop, %if-%then-%else 10
115 Tending the Fire: Interventions for Burn-Out Sandy Paternotte In our fast-paced, fiercely competitive environment one of the toughest leadership challenges is to be an effective stabilizing force when an employee, a team, or a leader is show ing signs of burn-out. Often we do not see the signs until the symptoms are acute. As we gain experience in leadership and face these challenges, w e are sometimes left with questions with no easy answers. What can we do to prevent employee burn-out? Prevent team frustration? How can we be supportive, y et not intrude and rob the team or person of their responsibility to self-govern? T his paper offers insights into how to identify burn-out, and examines three interventions that c an help tend the fire of our employees or our friends/peers so that the fire burns - but not out of control! account, pharmaceutical industry 6
116 The Analysis System: How a Research Team Can Organize and Analyze Multiple Datasets with Multiple Outcomes Measured Multiple Times Kathryn Benton,
Diane Fairclough,
Brenda Beaty
Consider a randomized controlled trial, with approximately 400 subjects, spread across three years and multiple sites. During the course of the study, each patient was intended to receive six treatments and four assessments. A number of questions were asked about the patients' physical symptoms and quality of life at each of their visits, and if they survived to the end of the study, 43 surveys on 15 forms should have been completed. A study of this complexity required a large number of investigators, doctors, nurses, research assistants, and analysts. The richness of the datasets provided for a vast spectrum of hypothesis generation, which, in turn, required a significant amount of planning both at implementation and throughout the duration of the study. How can a research team create a system to allow multiple users to access and analyze the data, and at the same time maintain organization and uniformity in data manipulation, variable creation, and SASTM program use and generation? Moreover, how do multiple users share data across a secure drive without having to alter root directories? Furthermore, how can we conduct analyses of multiple outcomes with repeated measures without having to recreate the same code over and over? We have created a system for addressing all of these aforementioned problems which relies heavily on SAS macros. Tasks ranging from reading in the raw data, identifying the user, and running repeated measures for twenty outcomes performed with one simple click of the "run" button. This system allowed multiple analysts to use a copious and elucidative data set to its full potential. repeated measures, randomized controlled trial 6
117 The Creation of Time Deviations Karen Easterling Calculating time deviations are an important edit check to ensure that dates and times are in line with dosing date and times. I will discuss why time deviations are important to data management and pharmacokineticists. I will also discuss a procedure for calculating these time deviations as well a technique to check whether or not your US study was conducted over the beginning or end of daylight savings time. Recognizing this event will prevent unnecessary queries to be generated study day, vital signs 5
118 The ROC Curve Method for the Assessment of Diagnostic Accuracy William F. McCarthy This paper reviews a methodology for the assessment of diagnostic accuracy by use of the area under the receiver operating characteristic (ROC) curve. Estimation and hy pothesis testing of diagnostic accuracy based on a single sample from a single diagnostic test will be discussed with ex amples of computation. Sample size requirements for both estimation and hypothesis testing will be discu ssed as well. In addition, we present a SAS Program with a SAS Macro which calculates the sample size for the estimation of diagnostic accuracy of a single diagnostic test sample, roc curve, sample size, normal distribution, alternative hypothesis, hypothesis testing, diagnostic accuracy, null hypothesis, proc means 12
119 The SQL Optimizer Project: _Method and _Tree in SAS 9.1 Russell M. Lavery This paper discusses two little known options of SAS PROC SQL: _method and _tree. The main body of information,and the major opportunity to learn about the topics, exists in the heavily annotated appendix that is not included in thispaper. To get the appendix, download it from SUGI30 (paper 101) http://www2.sas.com/proceedings/sugi30/101-30.pdf. Efficient use of this material might involve reading, and printing, this paper then working through theappendix. This paper will also attempt to describe some of the logic that the Optimizer employs.PROC SQL has a powerful subroutine, the SQL Optimizer, that examines submitted SQL code and the state of thesystem (file size, index presence, buffersize, sort order etc ). The SQL Optimizer creates a "run plan" for optimallyrunning the query. Run plans describe executable programs that the Optimizer will create to produce the desiredoutput proc sql, where statement, hash table, proc step, having 12
120 The Submission Data File System Automating the Creation of CDISC SDTM and ADaM Datasets Marcus Bloom,
David Edwards
From its inception the SDF System was designed to tackle many of the difficulties that have plagued statistical programming ever since the first programs were developed to analyze clinical trial data. The system scope includes the following areas: Automating front-end and back-end data security Providing rapid access to raw and derived dataset s to all sites within the organization Implementing large scale systems design and software engineer ing principles in the clinical trials programming domain to reduce the software development effort required for each statistical analysis Modeling the complex relationships inherent within clin ical data to provide sophisticated impact analysis tools with the capability to manage and cascade change Implementing an object-oriented (OO) approach to t he definition and reuse of clinical data standards Improving review and quality control processes by coupling the specification of a pr ogram together with it's source code to create one log data standard, clinical trial, parallel processing, clinical data, extract, quality control, data cleaning, proc sql, dataset, clinical programming, cdisc 15
121 The TRANPOSE Procedure or How to Turn It Around Janet E. Stuelpner So many times we need to take our data and turn it around. One of the reasons that this is done is that it is more efficient to store you r data in a vertical format and processing the data is easier in a horizontal format. That means that we need to change the format of the data before we process or analyze it. There are many ways to accomplish this in a DATA STEP. Another way to change the data is to use a PROC TRANSPOSE. This paper will show you, step by step, how to change the format of the data. You will be taken from the easiest way of doing without any options to a more complex manner using a whole host of options proc transpose, out=, proc step, numeric variable, by group processing, character variable, proc print, output, array, sample, vital signs 9
122 The Use of CDISC Standards in SAS from Data Capture to Reporting Andrew T. Fagan This paper looks at how CDISC standards can be applied to data in a variety of SAS applications commonly used during the clinical development process. Data originates in an EDC or CDMS system and is transferred to the SAS Data Integration Studio product in a raw or ODM structure. It is then transformed into an SDTM format using a number of features in SAS DI. From there, the SDTM format is loaded into SAS Drug Development where it can be accessed for reporting and analysis. Many of these steps can now be automated within the SAS tools, including comparison to the SDTM model, transferring the data from SAS DI to SAS DD, and making the SDTM model available to the Data Explorer component within SAS Drug Development. These technical features are explained, as are a number of alternative methods clinical research, sas management console, sas library, clinical data, concomitant medications, raw data, relational database, data standard, dataset, clinical trial, data governance, pharmaceutical industry, sas programmer, statistical programmer, libname statement, proc freq, proc step, sas base, sas 9, cdisc 21
123 Three-Step Table Validation Yang Chen Table validation could be difficult due to grouping, wrapping and title/footnotes of the actual table. This paper introduces a three-step table validation process as easy as 1-2-3: 1. Use TABLESTR macro to find and read in the Programmer's table and store table body as a character variable in a dataset. 2. Use DATASTR macro to group, wrap and concatenate validator's variables corresponding to table columns into one character variable. 3. Use COMPSTR macro to compare the above two datasets. This process not only eliminates the gruesome manual check and greatly shortens validation time, but also guarantees our validation quality data cleaning, character variable, proc report, class variable, safety population, proc step 7
124 Tips and Tricks of Handling Comprehensive ODS Output with SAS 9 Huei-Ling Chen Displaying a table and related figure together on the same page is an attractive way to facilitate comparison and promote understanding. SAS Version 9 provides many features that are useful in this regard. In addition, we also like to control the size of graphs and tables so that the layout will fit properly. With SAS Version 9, in addition to a greater variety of formatting selections and output destinations, series of new features from ODS (Output Delivery System) have enabled us to modify and customize output files as well as to store and rearrange ODS output objects, which provide flexibility to control the presentation flow ods html, proc step, proc gchart, catalog, proc greplay, output delivery system 8
125 Tips for Effectively Interviewing SAS Programming Candidates Kjersten Offenbecker As companies grow and change, the demand to find well rounded, qualified SAS programming candidates grows. Finding the right person for the job is often difficult. It seems that every interviewer has their own standard set of questions and often a candidate is asked the same questions over and over. Does this approach truly find us the best candidates? Are there ways we can more effectively interview candidates in order to find the "perfect" sas programmer, proc step, proc sql 4
126 Undocumented and Hard-to-find PROC SQL Features Kirk Paul Lafler The SQL Procedure contains many powerful and elegant language features for advanced SQL users. This paper presents SQL topics that will help programmers unlock the many hidden features, options, and other hard -to-find gems found in the SQL universe. Topics include CASE logic; the COALESCE function; SQL statement options _METHOD, _TREE, and other useful options; dictionary tables; automatic macro variables; and performance issues proc sql, proc step, macro variable, sas library, missing value, macro definition 10
127 Untied Worst-Rank Score Analysis William F. McCarthy When the non-fatal outcome measures are missing completely at random, then the analysis of the non-missing data is unbiased (Rubin, 1976; Little, 1976; and Little and Rubin, 1987). This implies that a subset of measurements actually observed provides an unbiased description of the treatment effect in the entire population. When the non- fatal outcome measures are informatively missing and an analysis is based only on the subset of measurements actually observed, the description of the treatment effect may be biased (Lachin, 1999). This paper describes a method for an unbiased description of treatment effect when the non-fatal outcome measures are informatively missing. In addition, we present a SAS Program to calculate the power of the untied worst-rank score analysis and a SAS Program to perform the untied worst-rank score analysis treatment effect, alternative hypothesis, null hypothesis 7
128 Using Graphics Catalogs and PROC GREPLAY to Append Many Individual Graphs Into One File Scott Burroughs For FDA submissions and in my company's internal document management system, each graphics output must be published as an individual PDF file. However, for internal review, especially by our Clinical colleagues, we ideally want all output compiled into as few files as possible, for easier viewing. When many, perhaps hundreds, of graphic PDF outputs are to be collected,, is there a way to append these files together without the use of Adobe Writer? Use of graphics catalogs and PROC GREPLAY is an answer. This same methodology is also useful for appending PROC GSLIDE outputs together, since PROC GSLIDE does not have by-variable capability. Appending Individual PDF Graph Files w/o Adobe Writer Well, that's not exactly what happens. What actually happens is that each individual graphics PDF file has a corresponding graphics catalog entry, and those files are then appended in one step (via PROC GREPLAY) and written out as a PDF file proc step, catalog entry, proc greplay 7
129 Using Gslide Procedure to Assemble Multiple Graphs on One Single Page Louie Huang Portable Document Format (PDF) files generated by the SAS Output Delivery System (ODS) are widely-used in pharmaceutical industry, since these files are convenient documents for electronic submission, and able to be friendly shared across different platforms and across the Internet. Placement of multiple graphs on a single page makes the PDF files compact and convenient to reviewers. Since the added features of ODS LAYOUT and ODS REGION are experimental only in SAS version 9, this presentation provides an alternative method to assemble multiple graphs on a single page in SAS version 8. The alternative method takes advantage of the GSLIDE procedure, the " ODS PDF startpage= " option and other SAS/GRAPH options. The method is also applicable to SAS version 9. The tips of using these options and statements in stacking of graphs will be provided, and the differences between the SAS version 9 and version 8 will be discussed by concrete examples macro variable, output delivery system 10
130 Using Multiple Output Statements in the Summary Procedure Britney D. Gilbert Multiple Output Statements in the SUMMARY procedure is not commonly documented syntax; however, it is useful in programming. Using multiple output statements with a DATA STEP can accomplish a vertical dataset structure, eliminating the need for further procedures (e.g. PROC TRANSPOSE), by defining specific conditions and statistics for each output statement. Conditions can be defined for each output statement using Where Statements involving the Class variables and or the default variable _TYPE_ that the SUMMARY Procedure produces coupled with a list of statistical options. This is helpful when combining descriptive statistics, using multiple denominators in dataset algorithms, or needing quality data checks within a program output, proc means, data step, proc transpose 3
131 Using Proc Report Compute Blocks to Enhance ODS RTF Output David Ryerson Use of the Output Delivery System to create Rich Te xt Files has been well documented by SAS Institute as well as in conference papers such as this. As demand has persisted for better formatting and greater contr ol over output, SAS software has introduced several features including style statements within procedures, in-line formatting, and the ability to insert cell formatting RTF control words. Users have taken these tools and combined them with novel coding techniques to create solutions such as traffic-lighting of cells, pagination schemes, and an ever increasing ability to format cells and tables. Rather than offering an overview of the mechanics of PROC REPORT and the Compute Statement, this paper will focus on several specific techniques to improve the appearance of tables. Indentation of secondary values in a column, conditional highlighting of cells, and visual separation of report sections will be covered adverse events, lowest level term, proc report, char., proc step 10
132 Using SAS 9 in Clinical Research Gregory S. Barnes Nelson For 30 years SAS has been used in pharmaceutical research settings for data management, analytics and reporting. Traditionally, these roles were staffed by the BASE SAS programmer and the statistician. At the same time, dramatic shifts in the research informatics eco-system have occurred with advances in standards, such as CDISC, ICH, and HL7, and the convergence of clinical data management systems and modernization strategies, such as electronic data capture and 21 CFR Part 11. This paper provides a broad based view of how SAS can be used across the research information spectrum. We are at an interesting crossroads-on one hand, the power of traditional SAS approaches found in BASE and STAT; on the other, a new range of technologies grown out of the SAS 9 platform, such as the Metadata Server, Data Integration Studio and SAS Business Intelligence products. The SAS Drug Development solution merges the accessibility of the Internet with the clinical trial workflow sas 9, clinical research, clinical trial, cdisc 11
133 Using SAS to Send Bulk Emails With Attachments Wenjie Wang,
Simon Lin
In the business world, using emails to communicate is a common practice, and more and more business communication relies on e-mails. When you need to communicate your analysis results or data checking findings to numerous recipients on a regular basis, sending bulk e-mails could be a daunting task. With the SAS DATA STEP combined with SAS EMAIL Access Method, sending bulk e-mails becomes a breeze. This paper presents an easy and automated approach to send out bulk e-mails with attachments on a scheduled basis (e.g. Weekly, Monthly, etc) using SAS EMAIL Access Method. SAS configuration and SAS programs will be discussed for the use of this capability. A hypothetical example on how to utilize the EMAIL Access Method will be presented with detailed step-by-step procedures. The scripts can be modified as necessary to fit your business needs and some discussions on generalizing the script will be explored. This paper is targeted at an intermediate and advanced audience file statement, filename statement, put statement, options statement, proc step, cdisc 13
134 Using the SAS Information Delivery Portal in the Pharmaceutical Sector Raymond Ebben This paper will demonstrate how the SAS Information Delivery Portal can be used to assist the clinical trial reporting process and to speed up the data review process. The solution presented here is the result of an investigation into how portal technology could benefit the data management and statistical programming functions in their efforts to present (interim) trial results to the various stakeholders in the field. Topics are: Objectives; The portal; Content types; Portal structure; Study report; Validation; Security; Tips & next steps data cleaning, proof of concept, system organ class, clinical trial, proc step, adverse events 12
135 Word to SAS via XML Shridhar Patel,
Sandeep Juneja
dataset, work library 6

Back to Conf go 2008 go 2006

This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.

The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.

SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.