PharmaSUG 2009 Papers - Index
132 papers. Source: PharmaSUG (Pharmaceutical Software Users Group) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | %ANYTL: A Versatile Table/Listing Macro | Yang Chen | Unlike traditional table macros, %ANTL has only 3 macro parameters which correspond to the row, column and title/footnote of a table respectively) and can produce most typical tables/listings. It uses simple language, and grammar similar to PROC TABUALTE which defines a table/listing with variable names and a few special characters. %ANYTL is very flexible which allows one to manipulate the summary result prior to outputting to a table. The big N, column width, pagination and wrapping of the table can be either be automatically calculated or specified. This macro has proven to be powerful while succinct and easy to use |
safety population, class variable, system organ class, interval variable, demographics table, macro call, proc step, adverse events | 11 | |
| 2 | 1 Creating Custom Table of Contents in RTF Documents | Lori S. Parsons | The SAS Output Delivery System (ODS) allows output to be pr inted directly to a Rich Text Format (RTF) file. RTF files can be viewed by Microsoft Word and other word -processing packages. A table of contents (TOC) can greatly enhance an RTF file and make it more user-friendl y. Headers and footers, as well as custom footnotes, can also greatly enhance an RTF file. This paper will des cribe a method to imbed "invisible" RTF control words into a file for the purpose of creating a custom TOC. The example presented will also include document headers, footers, and custom footnotes. The example code was run with SAS Vers ion 9.1.2 on Windows XP Professional. The RTF file is viewed with Microsoft Office Word 2003 |
ods rtf, output delivery system | 10 | |
| 3 | A Cup of Coffee and Proc FCMP: I Cannot Function Without Them | Peter W. Eberhardt | How many times have you tried to simplify your code with LINK/RETURN statements? How much grief have you put yourself through trying to create macro functions to encapsulate business logic? How many times have you uttered "If only I could call this DATA STEP as a function"? If any of these statements describe you, then the new features of PROC FCMP are for you. If none of these statements describe you, then you really need the new features of PROC FCMP. This paper will get you started with everything you need to write, test, and distribute your own "DATA STEP" functions with the new (SAS 9.2) PROC FCMP. This paper is intended for beginner to intermediate programmers, although anyone wanting to learn about PROC FCMP can benefit |
proc fcmp, proc step, sas log, return, put statement, sas function, sas programmer | 16 | |
| 4 | A Flexible, User-Friendly Methodology for Data Set Comparison | Michael Thompson | A common activity performed by data management personnel within a clinical trial is the tracking of changes in study data. On a periodic basis the database is downloaded into SAS data sets and the current version is compared to a previous version. One option for doing this is using the COMPARE procedure built into SAS. However, this can result in large amount of output and is not designed to do comparisons on multiple pairs of data sets. This paper proposes an alternate method for performing data set comparisons of this type. In this approach an initialization file is created which contains the names and primary keys for each of the data sets to be compared. The file is read into memory and using a macro loop statement the data sets are processed iteratively. For each data set a number of comparisons are made and the results are written in a format convenient for data management to analyze |
key, macro variable, proc step, data governance, macro definition, excel, macro loop | 9 | |
| 5 | A Framework For Achieving An Industry-Driven, Open-Source Clinical Reporting System | Dante Di Tommaso, Ann Marie Martin, Paul OldenKamp, Paul D. Hamilton |
How many in-house reporting systems have been presented at recent clinical development conferences? Each has innovative features that spark interest in the development community, but each remains a separate, incompatible system that is unlikely to be replicated within any other organization. We could continue individually culling ideas that are feasible for our separate environments. Or we could combine the best of each into a collaborative project that leverages standards in a flexible framework. Our purpose is two-fold. First, establish a clear rationale for a global, open-source clinical reporting library that builds on the success of industry standards such as CDISC's Study Data Tabulation Model (SDTM) and MSSO's Standardised MedDRA Queries (SMQs). We outline the benefits of participation for sponsors, regulatory agencies, individual programmers, and ultimately for patients who benefit from development transparency and efficiency | clinical research, adverse events, cdisc | 6 | |
| 6 | A Generalized Procedure to Create SAS/Graph Error Bar Plots | Sanjiv Ramalingam | Different methodologies exist to create error bar re lated plots. Procedures exist to use the dataset by itself to create error bars either for st andard deviation +/- mean (INTERPOLATION=STD1JT), standard errors +/- mean (INTERPO LATION= STD1TJM) or min and max values but it bec omes cumbersome to generate figures by just usi ng the PROC PLOT procedure as one has to go through numerous options available to find the right option. This paper discusses a methodology to plot the difference between the means with the standard error as an example |
proc calis, proc step, standard deviation | 10 | |
| 7 | A Little Stats Won't Hurt You | Nathaniel Derby | This paper gives an introduction to some basic but critically important concepts of statistics and data analysis for the SAS programmer who pulls or manipulates data, but who might not understand what goes into a proper data analysis. We first introduce some basic ideas of descriptive statistics for one-variable data, and then expand those ideas into many variables. We then introduce the idea of statistical significance, and then conclude with how all these ideas can be used to answer questions about the data. Examples and SAS code are provided. KEYWORDS: Descriptive statistics, Statistical significance, SAS. All SAS code used in this paper is downloadable fromhttp://nderby.org/docs/PharmaSUG09-SP08.sas | proc step, sample, histogram, proc univariate, outlier, box plot, bubble plot, data science, proc calis, proc freq | 18 | |
| 8 | A Macro for Transforming Almost Any Character Calendar Date into a SAS Date Value | Ruben Chiflikyan, Mila Chiflikyan, Donna Medeiros |
We provide a macro for the creation of SAS date values from almost all standard and non-standard types of character representations of Gregorian calendar dates. The program can work with quite loosely written 'contaminated' data, with, practically, no restrictions on the type and number of delimiters and sequence of month, day, and year values in a string to be transformed, e.g., "Jan 17th 2008", "2000-** Jan 2 nd", "03##Sept.$$$02", "6/XII/08", " 2 012003", etc. The current version of the program supports the following date types: 1) month, day, and year are 'numbers', 2) year and month are 'numbers', 3) all types of Julian dates, 4) all standard week date formats, 5) all standard year-quarter combination, 6) day and year are 'numbers', while month is presented in Gregorian month names, 7) day and year are 'numbers', while month is presented as a Roman numeral, 8) special type of non-standard dates, where month, day, and year are 'numbers' but there are 0,1, or 2 delimiters | sysdate9, date variable, macro definition, macro variable, out=, prxparse, sample | 12 | |
| 9 | A Practical Introduction to Clinical Data Acquisition Standards Harmonization (CDASH) | Jennifer Price | On October 1st, 2008, CDASH released the first 16 c ommon CRF streams (or domains) for use by the Pharmaceutical Industry. The goal when putting together the initial domain s treams was to find out which data fields are essent ial to the analysis of clinical data, and collect only that da ta in a standard way. In order to do this, CDASH h as provided clear definitions, SDTM mapping (if relevant), CRF comple tion instructions and additional sponsor informatio n for each data element. The focus of CDASH is on data collection, not data reporting. In some instances the optimal data coll ection method conflicts with the Study Data Tabulation Model (SDTM) for reporting data. In these cases additional t ransformations and derivations may be needed to create the final S DTM compliant datasets | adverse events, clinical significance, medical history, sample, cdisc | 5 | |
| 10 | A Pragmatic Programmers Introduction to Data Integration Studio: Hands on Workshop | Gregory S. Barnes Nelson | sas data integration studio, dimension table | 34 | ||
| 11 | A SAS Macro Application for Generating Patient-Level Reports in Clinical Studies | Yao Huang | In clinical observational studies, participating physicians sometimes need to obtain patient-level reports for a specific subgroup of patients to make treatment decisions. The patient-level reports often contain baseline characteristics, vital signs, adverse events and concomitant drug usages. Many analysis datasets (ADS) in pharmaceutical companies use record-based databases. Patient-level information cannot be directly derived from those databases since some patients may have multiple records in individual dataset (e.g. multiple adverse events or drug dosages). Moreover, multiple safety and efficacy related datasets are often involved to produce patient-level reports. Therefore, it comes handy to have a SAS macro to summarize patient-level information easily and quickly, with minimal formatting, and sufficient but not redundant information for clinical investigators. The macro %PATINFO described in this paper was written with that goal in mind | clinical trial, label statement, adverse events, baseline characteristics, macro definition, vital signs | 4 | |
| 12 | A SAS Macro for Creating Adverse Event Analysis Dataset | Daniel Li, Suwen Li, Stephanie Sproule |
Adverse events (AE) are commonly reported and analyzed through the use of various summary tables as requested by FDA and other regulatory agencies. However, writing and validating these SAS programs are very labour-intensive and time-consuming. In this paper, we introduce a SAS macro program that creates one adverse event analysis dataset for generating different summary tables | adverse events, system organ class, adam dataset, adae, proc step, proc report, adverse event summary, create table, proc sql, group by, macro definition, treatment arm | 10 | |
| 13 | A SAS Output Delivery System Menu for All Appetites and Applications | Chevell T. Parker | This document describes how to unleash the power of various ODS destinations to generate fantastic applications and reports. This power is evident when generating spreadsheets using a variety of ODS destinations. The document describes how and when to harness the power of ODS destinations. It describes methods to generate that perfect presentation-quality output. This includes general formatting, creating styles with the addition of templates that are specifically generated for EXCEL output, and all those little things that lead to great-looking output |
excel, proc step, output delivery system, proc template, ods pdf, ods tagsets.excelxp, proc report, sas enterprise guide, ods html, set statement, user-defined format, macro variable, proc print | 25 | |
| 14 | A Simple Macro to Flag New/Changed Records | Zhuo Chen | In a long clinical study or a study with many subjects, listing reviews may be needed many times during the study. To gain efficiency, a reviewer would like to know what new or changed records have emerged since the last run of the listings. This paper describes a simple macro developed in SAS that flags new or changed records in the listing output. This flag will identify the new or changed records since the last run. This macro provides an option to output only new and changed records rather than a cumulative listing | proc report, flag variable | 4 | |
| 15 | A Simple Method to Generate Patient Profiles | Suwen Li | Generating patient profiles is a tedious job for Programmers at pharmaceutical companies and CROs since a lot of data manipulation and procedures, such as the PRINT and REPORT, are involved. This paper describes a simple approach to generating patient profiles that follow the order in which data is collected on the Case Report Forms (CRF). We introduce a macro that automatically creates SAS code to generate tables by using the CALL EXECUTE function within the DATA steps | proc report, proc step, excel, call execute, macro loop, do loop | 8 | |
| 16 | A Statistical Analysis System for Categorical Data using SAS | Cheng Jun Tian | This article describes a SAS-application system that generates standard tables for categorical data analyses. Categorical data analysis is basically about the selection of counts and denominators. This system allows users to sele ct different denominator according to various requirements. It starts from data preparation, and ends with results presentation. The system can handle various data structure and analysis require ments, including the selection of the best or worst record per subject for data with multiple layers, etc. Common applications include the tables of adverse events and distribution tables of several categories. Statistical analyses include most of the analysis options in "PROC FREQ" and more. The output file can be PDF/RTF or TEXT files. It is a sub-system of ARROW Clinical Data Analysis System and has been successfully used in many submissions in Johnson & Johnson Pharmaceutical Research and Development |
adverse events, analysis set, data science, system organ class | 10 | |
| 17 | Adhoc Analysis of Site By Treatment Interaction | Alan Davis | In order to enroll patients more quickly, and to help establish efficacy in a new drug, the sponsor of the drug may have multiple investigators conducting a clinical trial. Each investigator enrolls and treats patients at a particular center or site. Such a clinical trial is considered a multicenter study. In the analysis of results from such a trial, it is expected that sites will contribute a small effect so that including site as a covariate in the analysis of treatment effects is a common means of increasing the power of a multi-center clinical trial. Controlling for Site and Site by Treatment effects in a linear model increases the power of analysis when those factors are found to contribute significantly to reducing the residual error of the model | treatment effect, response variable, main effect, sample size, effect size, sample, clinical trial, interaction effect | 9 | |
| 18 | Adverse Events of Special Interest and MedDRA Upgrades: A Dilemma and Proposed Solution | Todd Case | Adverse Events of Special Intere st are those events t hought to be [potentially] associated with the investigational compound or disease under study. Reporting on Adverse Events of Special Interest is an emerging and ever more critical aspect related to characterizing the safety profile of a compound. Standard MedDRA Queries (SMQs), or grouping of terms that relate to the defined medical condition or area of interest, exist to select all event s similar in some way (e.g., Malignancies) . However, SMQs may be either too general or, in some cases, too specific for a project team to use 'straight out of the box'. It's also possible that there are not enough existing MedDRA SMQs to accommodate the needs of a project team | excel, dataset, macro definition | 5 | |
| 19 | All-purpose Programs | James Young | A frequent practice in programming for clinical trial reporting is to reuse a program by copying the code and making a small change to meet new specifications. The new program file might be called by a different name and yet have only one line changed. Or the program might have the same name, but creates output that differs from before due to a change in SAS code. The original program can be changed several times to meet the needs of new ad hoc analyses or new exploratory analyses. The resultant proliferation of new or changing programs is a source of confusion and can lead to results that cannot be replicated or that are difficult to validate. Associated files, such as the log and output, may also have different file names if there is a change in the new program name, and this adds to the confusion | macro variable, proc report, proc step, %if-%then-%else | 6 | |
| 20 | Are you computing Confidence Interval for binomial proportion using PROC FREQ? Be Careful!! | Sandeep Sawant | PROC FREQ is the most commonly used procedure for the analysis of categorical data. However, in some situations output generated by this procedure needs special attention. One such case is, computing the confidence interval for responders using binomial proportion. In many situations it is possible that the data do not contain any responders, however, the summary table still needs the confidence interval for responder. Does PROC FREQ calculate the confidence interval for responders when the data has only non- responders? No, currently there is no functionality in PROC FREQ to handle this situation. This paper will discuss the limitations of PROC FREQ for the above situation and provides the solution for the same |
procedures, proc freq, complete response, proc step, confidence interval, binomial distribution | 6 | |
| 21 | ARROW Clinical Data Analysis System: An Integration of Statistical Analysis and Reporting | Cheng Jun Tian, Denis Michel |
The ARROW system, built with SAS software, is a validated set of statistical analysis and reporting subsystems for clinical data. Originally developed in 1994, ARROW has been successfully applied to clinical data to generate clinical study reports and integrated summaries of safety and efficacy. The system has been enhanced over time to meet changing health authority and user requirements as well as new versions of the SAS system. ARROW is currently the standard statistical analysis and regulatory reporting system at Johnson and Johnson Pharmaceutical Research and Development, LLC. This paper introduces the ARROW system from the viewpoint of system design. It will discuss system scope, types of data analyses, modular structure, version control, diagnostics, archival and recovery. The major subsystems will be presented | adverse events, clinical data, confidence interval, adam dataset, clinical trial, data science, anova, bar chart, csr, fisher exact test, chi-square test, efficacy summary, incidence, exact test, exposure summary, correlation, sample, macro variable, cdisc | 9 | |
| 22 | Arrow Statistical Graphic System | Cheng Jun Tian, Qin Li, Jiangfan Li |
ARROW Statistical Graphic System (ARROW/GR), written in SAS , presents informative statistical graphs for clinical data analysis done by Johnson & Johnson Pharmaceutical Research & Development (J&JPRD). ARROW/GR is a sub-system of the ARROW Clinical Data Analysis System, focusing on data visualization. It applies to Phases 1 through 4 clinical trials. ARROW/GR currently provides eight types of statistical graphs: mean plot, vertical bar charts, horizontal bar charts, box plot, line plot, dot plot, survival curve plot, and point estimates with confidence intervals plot. With ARROW/GR, graphic presentation becomes more convenient, reliable, repeatable, and yet flexible. ARROW/GR is a modularized SAS macro package with well-organized structure. It sets up J&JPRD's graphic standards by applying graphic templates, consistent selection of colors, symbols, and line types. The graphic data are the output from well-validated ARROW statistical analysis modules | proc sgplot, confidence interval, bar chart, vertical bar chart, box plot, clinical trial, line chart, macro parameter, horizontal bar chart, data visualization, data science, scatter plot | 15 | |
| 23 | Automate the Process of Creating and Updating Titles and Footnotes of TLG for a Clinical Study Report from a Table Shell Document | Xiangchen (Bob) Cui, Shan Chen, Mei Wu |
Preparation of TLG (tables, listings, and figures) for a clinical study report typically calls for programming efforts to manually type a nd/or copy the titles and footnotes from a table shell document into table programs. Since table shells may undergo a lot of changes until very late in the preparation stage, it is highly desirable to automate this process to ensure technical accuracy and operational efficiency. This paper introduces a SAS macro named % get_headfoot to extract the table numbers, titles, footnotes and output file names from a table shell document and use the information to create a SAS program called headfoot.sas, which contains a collection of SAS macro variables storing table titles and footnotes. Headfoot.sas will be included in each table program, with the corresponding macr o variables invoked to generate titles and footnotes | macro variable, macro definition, dataset, txt, sample, csr, proc means, clinical trial, macro parameter, macro quoting function, footnote statement, proc report, keyword parameter, %macro parameters, safety population, proc step, adverse events | 18 | |
| 24 | Automated Verification of Data Set Metadata to Specification | David Gray, Zhuo Chen |
In clinical trial data set programming, it is important to compare the data set metadata to the data set specification in order to ensure each variable name, label, type, length, and format match. Considering the amount of detailed information, it can be time consuming and hard to guarantee accuracy if this verification step is performed manually. We describe a method, using SAS, that can automate the verification of each data set's metadata to its corresponding data set specification. The program retrieves each data set name and label, each variable name, label, type, length, and format from each data set and from a corresponding specification input file, then creates validation SAS programs and one VBScript file. The VBScript file executes each validation program and provides comparison outputs for all data sets. We further discuss how to convert the data set specification from PDF, plain text, MS WORD or MS EXCEL format into a CSV file that is used by this SAS program as input |
data cleaning, if-then-else, excel | 8 | |
| 25 | Automating Section 14 in Clinical Study Reports | Haibin Shu, Bala Cynwyd |
This paper presents an innovat ive approach of using ODS w ith the RTF destination for automat ically generating a customized Table of Contents in W ORD with hyper links to hundreds of tables from the Section 14 in Clinical Study Reports (CSRs). T his approach has dram atically reduced the amount of errors that are inevitable in the manual process situation and also greatly expanded the contents feat ure in comparison w ith the HT ML approach and significantly reduced the amount of time in CSR writings |
clinical trial, file statement, output delivery system | 3 | |
| 26 | Automating the pooling of variables across multiple datasets using Proc SQL and SAS Macro | Sanjiv Ramalingam | Complex study designs may result in multiple raw datasets being created that have information that is normally present in one dataset present acro ss two or more datasets. This necessitates the creation of a common dataset. To create this common dataset, information first needs to be gathered across studies and a spreadsheet can be created in EXCEL cont aining the target variables. An algorithm using PROC SQL and SAS Macro is described that reads the spreadsheet and automatically pools th e data. The advantage is especially fo r ISS/ISE studies, code need not be written separately for individual studies. Building Brick by Brick… laying down the foundation… To help understand the technique, a very simple application is cons idered. Let the objective be to create a mapping of a laboratory dataset |
macro variable, proc sql, proc step, libname statement, select, macro loop, proc import, macro definition, %if-%then-%else | 10 | |
| 27 | Biostatistics and Data Management - A match made in ... Tasmania? | Elaine Dempsey | The relationship between the functional teams of Biostatistics and Data Management is very important and very complex. It is very stressful and aggravating but, at the same time, it is gratifying and rewarding. It is a complex relationship. I did not realize the magnitude of the complexity and mutual need that existed between these two groups until I ended up being the lone Biostatistics person in a CRF workshop at a Clinical Data Management conference. Shortly thereafter, I also saw a documentary about relationships among Tasmanian Devils and I immediately saw a parallel that created the inspiration for this paper | clinical trial, clinical research | 2 | |
| 28 | Building Reusable and Highly Effective Tools with the SAS Macro Language | Kirk Paul Lafler | The SAS Macro Language is a powerful feature for extending the capabilities of the SAS System. This presentation highlights a collection of techniques for constructing reusable and effective macros tools. Attendees are introduced to the techniques associated with building functional macros that process statements containing SAS code; design reusable macro techniques; create macros containing keyword and positional parameters; utilize defensive programming tactics and techniques; build a library of macro utilities; interface the macro language with the SQL procedure; and develop efficient and portable macro language code |
macro variable, macro facility, proc step, autocall macro, macro definition, macro parameter, %macro parameters, macro function, proc sql, dictionary tables, options statement, macro loop, &variable | 9 | |
| 29 | Building the Better Macro: Best Practices for the Design of Reliable, Effective Tools | Frank C. DiIorio | The SAS macro language has power and flexibility. When badly implemented, however, it demonstrates a chaos- inducing capacity unrivalled by other components of the SAS System. It can generate or supplement code for practically any type of SAS application, and is an essential part of the serious programmer's tool box. Collections of macro applications and utilities can prove invaluable to an organization wanting to routinize work flow and quickly react to new programming challenges. But the language's flexibility is also one of its implementation hazards. The syntax, while sometimes rather baroque, is reasonably straightforward and imposes relatively few spacing, documentation, and similar requirements on the programmer. In the absence of many rules imposed by the language, the result is often awkward and ineffective coding. Some amount of self-imposed structure must be used during the program design process, particularly when writing systems of interconnected applications | macro variable, macro facility, macro definition, macro loop, macro put, data cleaning, automatic macro variable, keyword parameter, %macro parameters, sas log, error message, sysrc, %if-%then-%else, symbol table, macro function, autocall macro, macro parameter, options statement, proc step, dictionary tables | 16 | |
| 30 | Building Your First Dashboard Using the SAS 9 Business Intelligence Platform: A Tutorial | Gregory S. Barnes Nelson | A dashboard is a visualization technique that provides an immediate view or snapshot of exactly where you are in a specific process relative to your stated goals and objectives. Visuals indicators, such as temperature gauges, traffic lights and speedometers, help give you a real-world sense of your present progress and assist you in making decisions, adapting to current conditions or drilling into more detailed information. In a previous paper (Wright, 2008), we outlined technologies that can be used to build dashboards and we further that discussion with information that will help you build your first dashboard | business intelligence, key performance indicator | 19 | |
| 31 | Catch the Bad Guys!!! A Utility Program to Check SAS Log Files | Amit Baid | SAS log files are generated whenever a SAS program is run. Checking the log file is an important part of the validation process and enables us to ma ke our programs error free. Usu ally we look for me ssages such as "ERROR" or "WARNING", but in this paper I am going to discuss some other messages which we also do not want to see in our log file. The utility program presented in this paper scans through one or more SAS log files in a specific folder for all the potential error messages. It provides a summary report which will assist a programmer in fixing the code to get rid of tho se messages. Going through this summary report is better than going through each SAS log file and finding all the unwanted messages. This program was developed on a PC SAS environment and works with both 8.x and 9.x versions of SAS | sas log, error message | 5 | |
| 32 | CHECK YOUR DATA MORE EFFICIENTLY | Jian Hua (Daniel) Huang | %CHKDATA is a SAS macro program designed to check the data in an efficient and user-friendly way. First, the macro can check the data structure by generating three types of key information: the contents of dataset, its associated SAS format, and a collection of all variab le names listed horizontally. Second, the macro can generate the distinct values and frequency counts for any specified variables. Third, the macro can define any potential data issues and gener ate the reports. In addition, %CHKDATA has one important special feature. The macro can work on multip le datasets at the same time. When processing multiple datasets, it combines data information from each input dataset a nd list them side-by-side in one report, therefore, people can easily review and even compare the informat ion among all input datasets. This is especially helpful for people working on data integration or anyt hing where multiple datas ets are used and compared | treatment period, in=, format statement, proc freq, raw data | 12 | |
| 33 | Chic FREQ and UNIVARIATE | Jasmin Fredette | There are many standard and often-used SAS procedures for reporting results from clinical trials. The aim of the efficient SAS progr ammer is to be able to macroize the programs that generate regular tables, thus reducin g rework and repetitive programming. This paper presents two flexible and dynamic macros utilizing the PROC FREQ and PROC UNIVARIATE procedures. These macros allow the user to produce commonly used statistical output, including flexible control over formatting and output options. Intended audience - Beginner to Intermediate |
proc step, proc univariate, proc freq, out=, proc sql, clinical trial, macro call, macro variable | 14 | |
| 34 | Clinical Trial Reporting Using SAS/GRAPH SG Procedures | Susan L. Schwartz | Graphics are a powerful way to display clinical trial data. By their very nature, clinical trials generate a large amount of information, and a concise visual presentation of the results is essential. Information about the patient population, drug dosages, clinical responses, and adverse events must be clear. Clinical laboratory results need to be presented within the context of acceptable limits, and subtle changes over time must be highlighted. This presentation will show, by example, how such graphs can easily be created using the SAS/GRAPH SG procedures |
bar chart, proc step, scatter plot, proc sgplot, clinical trial, proc sgpanel, user-defined format, graph template language, class variable, order by, response variable, washout period, clinical data, missing value, histogram | 21 | |
| 35 | Clinically Significant Data Integration Studio | Chris Decker, Stephen Baker |
SAS Data Integration Studio is a traditional ETL (Extract/Transform/Load) solution for accessing a variety of data sources, transforming those data sources in a structured process, and managing the metadata around that process. Within the clinical programming world using a traditional ETL product can be a challenge; however there are advantages to using structured ETL processes including the management of metadata, generation of code, and the reusability of processes. Over the last few years SAS has built a custom clinical plug-in to Data Integration Studio which supports the implementation of CDSIC SDTM. In addition, the SAS Open Metadata Architecture provides the ability to build additional components that are relevant to the clinical transformation process | clinical data, sdtm domain, data transformation, data integration, clinical programming, sas programmer, data cleaning, cdisc | 12 | |
| 36 | Computing Hazard Ratios and Confidence Intervals for a Two-Factor Cox Model with Interaction Terms | Jing Wang, Fred Hutchinson Cancer |
When interaction terms are included in a Cox Proportional Hazards model, it is very tricky to compute the hazard ratio (HR) and, especially, the confidence intervals. To compute confidence intervals using PROC PHREG, we can get the variance of the interaction terms by using the estimated covariance matrix of the parameter estimator. Using PROC TPHREG, however, dummy codes can be assigned, so that the Contrast statement can be used to obtain the estimates and confidence intervals for the interaction terms. In this paper, we describe the SAS code used for computation of parameter estimates of interaction terms and confidence intervals using PROC PHREG. Also, we describe how the Class and Contrast statements are used to code dummy variables and obtain estimates and confidence intervals using PROC TPHREG. We illustrate these techniques with an application from a Phase III randomized, multi-site HIV prevention trial conducted in the U.S from 2003-2007 (called HPTN039) |
hazard ratio, proc step, confidence interval, proc phreg, interaction effect, binary variable, covariance, estimate, treatment effect | 10 | |
| 37 | Concepts and Ideas for Developing and Maintaining a Utility Toolbox of SAS Statistical Procedures | David W. Carr | Most statistical analyses of clinical trials data require that one or more SAS statistical procedures be employed to determine significance of differences either between treatment groups or between points in time for a specific endpoint measurement. Oftentimes the shell SAS code necessary to implement such procedures is provided to the programmer either in the Statistical Analysis Plan (SAP) or in an analysis-related technical document. This is not the case however for all formal study analyses, and in these cases it can be helpful for the programmer if he/she has a library or toolbox of template statistical procedures at the ready. Of course, in order to possess such a utility the programmer must first develop and maintain the toolbox, as well as understand the procedures included therein | proc step, anova, sample, clinical trial, sas programmer, out=, time variable, proc mixed, data science | 6 | |
| 38 | Confidence Intervals for the Binomial Proportion with Zero Frequency | Xiaomin He, Shwu-Jen Wu |
Estimating confidence interval for the binomial proportion is a challenge to statisticians and programmers when the proportion has zero frequency. The most widely used method based on Wald asymptotic statistics gives a degenerate interval, that is, (0, 0), in this case. This paper reviews the statistical methods used for estimating confidence intervals which are available in SAS version 9.2. In practice, when calculating the frequency and intervals, SAS by default does not present the missing categorical level; this level has zero frequency but is no less important than other categorical levels. This paper also builds a macro to share tips on how to create confidence intervals with zero frequency | confidence interval, binomial distribution, proc freq, proc step | 6 | |
| 39 | Configuring SAS to Work for You, Part 2: More Programming Shortcuts | Kim Truett | Several years ago, I presented "DO NOT EDIT BELOW THIS LINE" (Configuring SAS to work for you). That paper contained a variety of tips for tweaking SAS options to change the way it works so that programmers can be more efficient. This paper presents new tip and tricks that I have learned over the past three years. Most of these are Windows based SAS tricks and tips. This paper doesn't present any new or undocumented features; rather it is a compilation of some programming shortcuts and hints | sas base, ods rtf | 6 | |
| 40 | Converting CDISC Controlled Terminology to SAS Formats | Sandeep Juneja, Vivek Mohan |
CDISC Controlled Terminology (CT) is used to define and support the terminology needs of the CDISC domains. Applying CT to individual variables with different values across data sets in multiple studies can be a very cumbersome and pain-staking process. This paper describes an easy way of extracting unique values of the variable and unique values of the CT term and provides a GUI interf ace to carry out one-to-one mapping for CT terms and data values. This mapping allows generat ing customized SAS Formats which can be applied directly to raw data set variables when converting to CDISC compliant data sets. This utility not only reduces the time required to apply CT to applicable CDISC variables, but also eliminates any errors caused by manually typing in each unique value for a variable. The software/modules used in this utility are SAS, Microsoft EXCEL, VBA and SAS IOM |
excel, raw data, cdisc | 5 | |
| 41 | Converting the define.xml to a Relational Database to Enable Printing and Validation | Lex Jansen | Presentation | crf, ods pdf, adam dataset, dataset, change from baseline, data standard, medical history, cdisc | 76 | |
| 42 | Converting the define.xml to a Relational Database to Enable Printing and Validation | Lex Jansen | When submitting clinical study data in electronic format to the FDA, not only information from trials has to be submitted, but also information to help understand the data. Part of this information is a data definition file, which is the metadata describing the format and content of the submitted data sets. When submitting data in the CDISC SDTM format it is required to submit the data definition file in the Case Report Tabulation Data Definition Specification (define.xml) format as prepared by the CDISC define.xml team. CDISC has made a basic style sheet available on their website to display the define.xml in a human readable form in a web browser. However, this style sheet is not suitable to generate a paper-based presentation of the define.xml. This paper illustrates how the define.xml can be transformed into relational SAS data sets by using SAS XML Mapper technology | dataset, csv, clinical trial, annotated crf, proc sql, proc step, data cleaning, cdisc | 18 | |
| 43 | Creating the Case Report Tabulation (CRT) for an NDA submission at the absolute last moment - NOT | Christine Connolly, Kevin King, Amanda Tweed, Steven Wong |
If your company is anything like ours, you've waited until the last possible moment to start assembling and building your CRT. Often times it is quite a flurry of activity filled with late nights spent meeting technical challenges, gathering information, and preparing the documents in order to meet the schedule specified by your regulatory or publishing department. However, by waiting until the last minute, you have ensured that you have caught all the changes that happened during ad-hoc analysis or while fixing bugs or algorithms, that didn't get recognized beforehand. The pain is worth it! But is it necessary? At our company, the CRT was rarely on the statistical programmer's radar during the study | adam dataset, statistical programmer, excel, cdisc | 9 | |
| 44 | Creating Your Own Worksheet Formats in exportToXL | Nathaniel Derby | %exportToXL is a freely available SAS R⃝ macro which allows the user to create custom-formatted EXCEL R⃝ worksheets, using Dynamic Data Exchange (DDE). It works on all versions of PC Base SAS, Windows, and EXCEL. Using this macro, the user can create custom-formatted worksheets by either exporting the SAS data onto a pre-formatted EXCEL worksheet, or by using a worksheet format. This is a set of commands which tells EXCEL how to format certain aspects of a worksheet such as font sizes and column widths. While %exportToXL comes with a few different pre-programmed worksheet formats, any programmer with some basic knowledge of the SAS macro language and DDE commands can make his/her own. This paper is a tutorial about how to do just that. KEYWORDS: SAS, DDE, EXCEL, Export, X4ML |
excel, macro facility, macro variable, macro definition | 10 | |
| 45 | Customized Efficient Data-Driven SAS Based System Tailored To Clients Needs | Mila Chiflikyan, Mai Nguyen, Renee Karlsen |
The Pregnancy Risk Assessment Monitoring System (PRAMS) is a surveillance project of the Centers for Disease Control and Prevention (CDC) and state health departments. The PRAMS collects state-specific, population-based data on maternal attitudes and experiences before, during, and shortly after pregnancy. The PRAMS collected data is available online via the CDC's PRAMS On-Line Data for Epidemiologic Research (CPONDER). CPONDER is an online query system which allows users to retrieve and explore statistical and comparative analysis from the PRAMS surveillance data in both tabular and graphical format. CPONDER was designed to be a data-driven, high performance system capable of handling large amounts of pre- processed data. A unique requirement of the system is that it must provide the ability to handle data incompatibility between states. Data may be compatible in earlier years but become incompatible in later years | proc sql, nominal variable, macro variable, macro loop, proc step, sample, dictionary tables, macro definition, %if-%then-%else, advanced sas, delimited file, sas function, txt, dataset, proc freq, sql server | 12 | |
| 46 | Customizing Your Own Box Plot | Wenjie Wang, Jade Huang |
PROC BOXPLOT is a good and efficient method for exploring data distributions (the mean, quartiles, minimum and maximum observations for a group), but the style is limited to skeletal, schematic and schematicfar. If you want to show the inference (Mean±SE/Mean±SD) as the upper/lower whisker as well as specific patient information or the user prepared percentile with upper/lower whisker, you can not count on PROC BOXPLOT to produce this kind of plot, and this is when PROC GPLOT and the annotate facility come in handy. This paper will show how to produce customized box plots and is targeted to the intermediate level audience |
box plot, proc step, proc gplot, proc boxplot, outlier | 7 | |
| 47 | Data Capture to Trial-Specific Metadata for Analysis Data Sets: Automation Along the Way | Sathish Sundaram, Ganesh Munuswamy, Mominul Islam |
Development of analysis data sets and associated metadata that conform to industry (CDISC) standards is one of the critical challenges in preparation and analysis of clinical trial data intended for FDA submission. Data captured at clinical trial sites through case report forms (CRFs) and stored in databases are often subjected to a sequence of processing steps eventually resulting in analysis data sets (ADS). Metadata of the data sets and variables in the analysis data sets form a vital part of the information (of any study / trial) that is submitted to FDA. We outline a strategy (based on a SAS macro we developed) towards automating some of the steps involved in generation of trial-specific ADS metadata | clinical trial, excel, xls, macro definition, proc step, cdisc | 6 | |
| 48 | Data Conversion to SDTM: What Sponsors Can Do to Facilitate the Process | Fred Wood | An increasing number of sponsors are submitting clinical trials data to the FDA in the format of the Clinical Data Interchange Standards Consortium (CDISC) Study Data Tabulation Model (SDTM). In many cases, however, the data were not collected, stored, or extracted from the database in the SDTM format. As a result, the data must be converted, and must meet a number of structure and content requirements that may be new to some sponsors. These requirements are described in the SDTM and the SDTM Implementation Guide (SDTMIG). This paper discusses some of the steps sponsors can take to fa cilitate the conversion of data collected in their traditional format(s) to data in the SDTM format. Fo r maximum efficiency, many of these step s should be undertaken at study setup or during the study (prior to database lock). There are, however, some actions that sponsors can take that will facilitate even late- stage (after database lock) conversions | data transformation, concomitant medications, database lock, adam dataset, sdtm domain, excel, cdisc | 6 | |
| 49 | Data Management: Using Macros to Build a Dynamic Application | Arthur L. Carpenter, Richard O. Smith |
You have written a series of interesting and often complex SAS programs that perform a variety of data entry operations, data checks, exception reporting, statistical analyses, and summary reporting. Since the next study is somewhat similar to the last one, you are planning to build another set of programs based on (cannibalized from) the ones that you just used. We have been there before, but STOP. Wouldn't you rather build and validate the programs just once? The solution lies in building and using data dictionaries that act as control files. These control files are in turn used to create a series of SAS macro variables that are available as arrays to each of the various programs. All project, data set, and variable specific information is stored in the macro variables and hence never in the programs themselves. Once implemented all the programs in your application become data independent. Let them change the data. Let them redefine the project. Your code is ready | macro variable, macro loop, do loop, variable list, %if-%then-%else, call symput, data step, label statement, macro definition | 12 | |
| 50 | Demystifying PROC SQL Join Algorithms | Kirk Paul Lafler | When it comes to performing PROC SQL joins, users s upply the names of the tables for joining along wit h the join conditions, and the PROC SQL optimizer determines w hich of the available join algorithms to use for pe rforming the join operation. Attendees explore nested loop joins , merge joins, index joins, and hash join algorithm s along with selective options to control processing. This prese ntation illustrates the various join algorithms; jo in processes including Cartesian Product joins, equijoins, many table joins, and outer joins |
proc sql, where statement, proc step, inner join, data merging, right join | 6 | |
| 51 | Detection of Multiple Outliers in UNIVARIATE Data Sets | Marek K. Solak | A number of methods are available to detect outliers in univariate data sets. Most of these tests are designed to handle one outlier at a time. As soon as an outlier is found it is removed from the data set and the process is repeated until no more outliers are detected. Grubbs (1950, 1969) and Dixon (1953) tests can handle, in some cases, more than one outlier at a time. However, in general, when multiple outliers are present masking phenomenon (an outlier is not detected, due to presence of other outliers) may prevent outlier detection. PROC ROBUSTREG appears as a useful tool to evaluate multiple outliers. It has four types of estimation available (M, LTS, S, MM). Performance of PROC ROBUSTREG will be compared with sequential application of Grubbs test, 3 sigma and Weisberg t-test. SAS macros to implement multiple outliers testing will be presented as well |
outlier, sample, proc robustreg, proc step, sample size, normal distribution, regression analysis | 7 | |
| 52 | Distribution curves graphic, with patterned areas between minimum and maximum ranges using SAS | Sylvain Cadieux | Distribution plot graphic with patterned area helps to rapidly show differences between two compared items. They are under documented for PROC GPLOT since they are mainly used in pie-charts. Nevertheless, we found an innovative way to do it. This paper explains how to plot a distribution graphic comparing values of 2 items in graphic using patterned areas of different colors for each item. The difficulties encountered with the SAS-Graph language to produce this graphic are discussed |
proc gplot, proc step | 7 | |
| 53 | Don't Be Loopy: Re-Sampling and Simulation the SAS Way | David L. Cassell | The most common way that people do simulations and re-sampling plans in SAS is, in fact, the slow and awkward way. People tend to think in terms of a huge macro loop wrapped around a piece of SAS code, with additional chunks of code to get the outputs of interest and then to weld together the pieces from each iteration. But SAS is designed to work with by-processing, so there is a better way. A faster way. This paper will show a simpler way to perform bootstrapping, jackknifing, cross-validation, and simulations from established populations. It is simpler and more efficient to get SAS to build all the iterations in one long SAS data set, then use by-processing to do all the computations at once. This lets us use SAS features to gather automatically the information from all the iterations, for simpler computations afterward | sample, bootstrap, proc step, proc surveyselect, random sampling, data cleaning, confidence interval, output, proc sql, permutation test, randomization, ods output, regression analysis, data step, proc univariate, macro variable, monte carlo, sas output, proc append, seed, macro definition, proc reg, outlier, model validation | 18 | |
| 54 | Dynamic reporting - a data driven approach | Shan Bai | One of the essential processes in clinical trial is to generate Tables, Figures & Listings (TFLs) by using SAS for presenting and communicating the study results. How to make the program very flexible to meet different reporting requirements from various studies is a challenge. This paper will present a data driven approach to the issue of dynamic reporting by taking advantage of one of SAS features: SASHELP dictionary tables | dictionary tables, proc step, clinical trial, proc sql, proc report, sample | 4 | |
| 55 | Empowering SAS Programmers: The Role of the Manager | Carey G. Smoak | How does a manager empower SAS programmers in a fast-paced environment? SAS programmers need skills, information and resources, authority and motivation to be successful. A manager can empower programmers by helping them to develop their skills, providing them with complete information and resources, giving them appropriate authority and motivating them. The manager that does these things will give their programmers the best chance for success | sas programmer, clinical trial, data science | 3 | |
| 56 | Establishing a True Virtual Partnership Presentation to PHARMASUG 2009 | Jonathan Botha, Sandra Vermeulen |
The Clinical Programming realm is beset by challenges facing organizations looking to partner with service providers both locally and internationally. Pharmaceutical and Biotech companies are trying to identify a feasible solution for low cost outsourcing of clinical programming activities. This challenge is intensified by the opposing objectives of maintaining quality output while minimizing training and on boarding costs. Outsourcing models to achieve these objectives vary widely from company to company, and the success of those models is equally variable. This paper will examine one such model and attempt to identify success factors common with other models in order to establish a baseline for a true virtual partnership. The authors will determine the most effective strategy for merging the efforts of multiple divergent organizations into a single effort which is aligned with the strategies of each | service provider, problem solving, clinical programming | 15 | |
| 57 | Establishing Consistent Programming for Pharmaceutical Safety Summarizations Using a DOW Loop | Bradford J. Danner, Steven R. Kirby |
Three types of data collected during an early stage clinical trial study to assess safety are laboratory tests, electrocardiogram parameters, and vital signs. Simple summary statistics of the results and change from baseline are usually presented in an ICH summary report, and it is also useful to include a presentation of out of range shifts relative to baseline. When several varieties of standard programs are available to facilitate summaries, a consistent approach across all datasets and types of summaries in a study could increase efficiency and minimize the possibility of multiple errors. This paper will illustrate an approach which may be applied to various types of data regardless of vertical or horizontal structure. To minimize DATA STEP processing and superfluous merging or processing, a DOW loop is employed. Advantages and disadvantages of using this process are discussed, and preliminary results to date are presented |
conditional do loop, change from baseline, proc transpose, proc means, vital signs, sample, clinical trial, independent qc, proc freq | 8 | |
| 58 | Exploring DICTIONARY Tables and SASHELP Views | Kirk Paul Lafler | SAS users can quickly and conveniently obtain usef ul information about their SAS session with a numbe r of read- only SAS data views called DICTIONARY tables or SAS HELP views. At any time during a SAS session, infor mation about currently defined system options, libnames, t able names, column names and attributes, formats, i ndexes, and more can be accessed and captured. This paper explo res the purpose of DICTIONARY tables and views, how they are accessed, and what information is available to SAS users. Attendees will learn how these important tables and views can be accessed and applied using real-world scenarios | dictionary tables, proc sql, proc step, sas library, options statement, select | 7 | |
| 59 | Fitting Compartmental Models to Multiple Dose Pharmacokinetic Data using SAS PROC NLMIXED | Jing Su, Peng Sun, Xiaodong Li, Alan H. Hartford |
Pharmacokinetic (PK) modeling uses systems of ordinary differential equations derived from biological considerations along with statistical models to model the time course of drug in the body. The statistical model requires algorithms for fitting nonlinear mixed effects models. While the NLMIXE D procedure in SAS is available, it does not allow for individual subject data to affect the stru ctural form of the model. In the case of a multiple dose study where subjects experience different dosing times, a superposition principle can be used to recursively account for each additional dose. A SAS template program was written to manipulate data and then construct mean functions for fitting pharmacokinetic data from multiple dose studies. One-compartment models for oral dose administration are considered to illustrate the methodology and challenges for fitting multiple dose data using PROC NLMIXED |
numeric functions, sample, proc step, volume of distribution, pk parameter, adpp, clinical trial, proc nlin | 9 | |
| 60 | Generating Model Based Subgroup Analysis Using SAS Procedures | Tracy Lin, Jie Huang |
Subgroup analysis is often carried out for clinical trials to further understand the treatment effect in some subgroups of patients. One approach is to repeat the analysis done for the whole population for the subgroup of patients of interest. Another is to generate the subgroup analysis based on a statistical model with an interaction term of subgroup and treatment. The reason the later approach is not commonly used is the complexity of interpretation of the interaction in the model. This article is an effort to provide a SAS tool to generate such an analysis with ease. Through an example, we will demonstrate the programs and results of the subgroup analysis with these two approaches | subgroup analysis, interaction effect, odds ratio, logistic distribution, likelihood function, treatment effect | 4 | |
| 61 | Generic System for Generating Data Listings | Cheng Jun Tian | Presenting data in a listing layout is an example of a typical report used to reveal what is in a clinical database. Without a systematic way to automate the dynamic creation of data listings based on different layout requirements, SAS programming work could be tedious and time consuming. This is especially important when dealing with large volumes of complex data in a research environment. In such cases, it is critical to have a system where global standards can be used to ensure consistency and accuracy. In order to support an efficient and cost-effective process for conducting clinical trials, the Arrow Analysis and Reporting System has been utilized in production at Johnson & Johnson Pharmaceutical Research and Development (J&JPRD) since 1996. This integrated and comprehensive in-house system includes several sub-systems for analyzing and reporting clinical data, including one for generating data listings | sample, proc print, proc means, analysis set, clinical trial, options statement, vital signs, put statement, flag variable, laboratory data, clinical data | 15 | |
| 62 | Get Your TLGs LinkedIn: Dynamically Hyperlinked Metadata and Output Files | Suzanne M. Humphreys | This paper presents a dynamic solution for easily accessible and user friendly output file location. Create a content rich EXCEL spreadsheet cataloguing all current output including title, footnote and table number specifications. For ease of review and quick reference after a study output production run, the spreadsheet is linked to each current output file. Excellent for ongoing study review and TLG management, additional features include options to rename files in a standard format and the ability to combine the spreadsheet and content files in a zip folder, allowing the files to be uncompressed and accessed remotely utilizing a standalone approach. Using a combination of SAS, VBS and VBA code this semi-automated process greatly enhances study output review. Intended audience - intermediate to advanced, Windows platform, based on SAS 9.1.3, interactive SAS. KEYWORDS: hyperlink, metadata, TLGs, clinical output, VBA, VBS |
excel, view, macro definition | 7 | |
| 63 | Getting More from the Compute Block to Enhance Table and Listing Output for Clinical Trials Reporting | David W. Carr | The REPORT procedure has become a popular tool of choice by a number of SAS programming groups in the pharmaceutical research industry for producing tables and listings (TLs). One component of PROC REPORT that can be utilized to great advantage in creating and enhancing TL output is the Compute Block. Among its many capabilities, the Compute Block can be used to create titles and footnotes, to create column headers, and to insert text strings into various sections of the report. The purpose of this paper is to present some examples, with relevant discussion points, of applying the Compute Block to enhance or help produce desired program output that follows the requirements outlined in a study's Statistical Analysis Plan (SAP). This presentation is based on SAS version 8.2 or above, is not limited to any particular operating system, and is intended for intermediate SAS programmers who have some familiarity with the REPORT procedure |
proc report, footnote statement, proc step, title statement, macro variable | 6 | |
| 64 | Illustrative Logistic Regression Examples using PROC LOGISTIC: New Features in SAS/STAT 9.2 | Robert G. Downer, Patrick J. Richardson |
PROC LOGISTIC has many useful features for model selection and the understanding of fitted models. The standard generated output will give valuable insight into important information such as significant variables and odds ratio confidence intervals. However, proper utilization of output files, graphical displays and relevant options can further enhance justification of model choice and understanding of model fit. In this fairly general paper, a variety of logistic regression topics such as model building, model fitting and the ROC curve will be reviewed. The discussion will introduce the "PLOTS=" option, as well as the ROCCONTRAST statement as new features which are available in SAS/STAT 9.2 |
roc curve, logistic distribution, proc logistic, proc step, logistic regression, main effect, regression analysis, auc, significance level, data visualization, interaction effect, maximum likelihood estimation, feature selection, odds ratio, predictor variable, proc gplot, response variable, likelihood function, confidence interval | 11 | |
| 65 | Image is Almost Everything: Displaying Statistics Via ODS | R. Scott Leslie | After conducting statistical analyses you must find a way to report the results. A simple print of the traditional SAS output can disinterest most readers, especially those not familiar with statistics. The Output Delivery System (ODS) gives you the ability to output results of statistical tests into data tables and graphs. With some manipulation and formatting these data tables can be sent to the possible ODS destinations to generate appealing results therefore avoiding manual data entry. This paper offers ways to make a nice presentation of numbers to assist an audience in reading and interpreting results. Examples include using the LOGISTIC and GLM procedures to better display odds ratios and adjusted least-squares means |
odds ratio, proc step, ods output, output, output delivery system, proc genmod, logistic distribution, proc glm, ods rtf, estimate, format statement, proc logistic, confidence interval, data science, proc univariate | 8 | |
| 66 | Implementation Plan for CDISC SDTM & ADaM Standards at MedImmune | Alan Meier | The Clinical Informatics group within MedImmune, LLC., has embarked on an implementation project for CDISC SDTM and ADaM data submission standards, known as CDISC-Lite. The main aspect of this implementation plan is to produce submission and analysis SAS data sets for use within the organization that can easily be converted to submission ready, CDISC compliant data formats. While both STDM and ADaM call for data to be stored in a vertical structure, most people in the Clinical Development process are more "at-home" with a horizontal structure. In a simplified view, CDISC-Lite's goal is to produce SDTM and ADaM data sets that are approximately "one PROC TRANSPOSE away" from the standards' requirements. This paper will provide details on the implementation plan and provide lessons- learned from the on-going pilot project |
adam dataset, sdtm domain, data cleaning, clinical research, clinical trial, data science, cdisc | 11 | |
| 67 | Implementing CDISC When You Already Have Standards | Sandra Minjoe | How you choose to implement CDISC will be based on current company standards and their robustness, the amount of control you have at each step of the data flow process, your time vs. resource needs, and your willingness to change. Working in a company with established standards can both help and hinder CDISC adoption. Because you have standards in place that so many people are used to working with, it can be quite a hurdle to replace them with the CDISC standards. And depending on the structure of the current standards, they may look vastly different than CDISC. However working within a larger organization also means you have people in place whose job it is to manage those standards, and getting those folks to embrace the CDISC standard can really drive it forward. This paper will describe what we've done and are still doing to implement CDISC, and offer tips that would be helpful to any organization looking to implement CDISC | clinical programming, adam dataset, cdisc | 10 | |
| 68 | Importing Data from Microsoft Word into SAS | Jay Zhou | Documents in Word format are popular in the pharmaceutical industry. However, SAS does not provide a procedure to import data directly from Microsoft Word into SAS as PROC IMPORT reads data from Microsoft EXCEL. This deficiency stimulates SAS programmers to explore the techniques of how to programmatically convert Word documents into SAS data. This paper will review several published solutions with pros and cons and present a creative way programmatically to import any Word-readable documents, such as .doc, .rtf, .txt, .xml, .html, .wpd, .wps, and .dot files, into SAS. In addition, a SAS macro, %word2sas, used for the converting process will be introduced. With this convenient and reliable solution, SAS programmers will become more effective and innovative to leverage MS Word and SAS for their daily work |
excel, infile statement, proc import, proc step, sas programmer, txt, macro call, macro definition, data step | 5 | |
| 69 | Inline Formatting with ODS Markup | Eric A. Gebhart | Explore the power of inline formatting in ODS. And, learn about the super powers of inline formatting with ODS markup and ODS measured; see how easy it is to make your reports look better than ever. With new and improved syntax, ODS inline formatting is better and more powerful. Learn how to use it and extend it to do even more than you dreamed possible. 'TWAS BRILLIG, AND THE SLITHY TOVES, DID GYRE AND GIMBLE IN THE WABE Inline formatting has been around for a few years now, but as of 9.2, it has a new syntax and is more powerful than ever. However, it can look a bit daunting-much like Lewis Carroll's Jabberwock, the Jubjub bird, and frumious Bandersnatch. You might be better off running the other way. However, inline formatting isn't nearly as bad as these characters |
excel, create table | 12 | |
| 70 | Let SAS Create SPLUS Graphs | Jacksen Lou | To combine the superb graphic visualization of SPLUS with the powerful data manipulation and analysis features of SAS, this paper introduces a new technical approach and presents a practical application that allows the reader to generate SPLUS graphs from within a SAS environment. The approach creates a software interface between SAS and SPLUS that merges SAS macro language and SPLUS scripting language. Key Words: Graph, interface, SAS, SPLUS, script | macro definition, macro facility | 7 | |
| 71 | List Processing with Call Execute: Routine CallXinc for Calling Parameterized Include Programs Using a Data Set as List of Parameters | Ronald J. Fehd | Description : This paper reviews routine CallXinc, a parameterized include pro- gram, which reads a data set, converts each character variable in each row into a global macro variable assignment statement, and calls another parameterized include program. An example of list pro- cessing using this routine is shown | macro variable, call execute, character variable, macro put | 10 | |
| 72 | Macro %Newflow | Jian Hua (Daniel) Huang | If you use SAS 'PROC REPORT' frequently, you will be familiar with the 'flow' option. The 'flow' option wraps the value of a character variable in its column, and it hono rs the split character which is defined in 'PROC REPORT'. However, the 'flow' option has two limitations. First, it dose not allow you to insert any indent spaces before wrapped lines. Second, if a character variable contains leading blank space, the 'flow' option dose not carry on the leading blank space to wrapped lines. A macro program called '%NEWFLOW' has been designed to overcome these limitations. In this paper, I will demons trate the application of %NEWFLOW with examples, discuss the logics of %NEWFLOW with a flowchart, and finally, give the source code of the macro program |
proc report, proc step | 7 | |
| 73 | Managing A Project Schedule; SAS Can Help | Hui-Ping Chen, Salt Lake |
It is easier to have "all" project plans displayed while trying to schedule workloads and/or reallocate resources. A Graphic schedule displays complex timelines in order and helps to rearrange plans and/or resources in order to complete the project(s) on time (especially when some timelines overlap). Microsoft Office Project"s "Gantt Chart" is one of the more powerful planning and scheduling tools. The chart has a number of visual functions to keep team-members updated. In addition, a Gantt chart may also be created in Microsoft Office EXCEL with simple functions. For those companies that do not purchase Microsoft Project or other Gantt chart software, we present an alternative option, which is SAS procedure, PROC GANTT. The procedure allows the user to simply input schedules into SAS DATA STEP or Microsoft EXCEL |
proc step, data cleaning, excel | 6 | |
| 74 | Managing very large EXCEL files using the XLS engine | John H. Adams, Boehringer Ingelheim |
The use of EXCEL spreadsheets is very common in SAS applications, especially in the pharmaceutical industry. EXCEL sheets are fairly easy to manipulate and easy to edit. Also, most users are relatively at ease with using their EXCEL skills. It is quite common for SAS applications to use EXCEL spreadsheets to hold and maintain metadata in their operational model. Given the excellent user interface and user skill levels in EXCEL, it is an excellent candidate for this role. This use of EXCEL spreadsheets does come with some limitations, however. Spreadsheets are limited to 256 columns and about 64K rows. For large applications, this can be a 'show-stopper'. However, there are ways to work around these limitations. By using these 'work-around' solutions in two SAS interface macros (to EXCEL) we wind up with a simple implementation. There are, of course, several methods to handle the task of splitting the large data into multiple sheets and combining them, when needed |
excel, cpu time, sample, macro conditional, proc sql, dataset, temporary dataset, macro loop, proc step | 12 | |
| 75 | Medical Coding System for Clinical Trials - 21 CFR Part 11 Compliant SAS/AF Application | Annie S. Guo | Medical coding in clinical trials is to classify the clinical research data such as adverse events and medications captured during the drug development process. This paper presents a SAS/AF application that addresses the complexity of the task and accommodates standard terminologies such as MedDRA and WHODRUG to ensure the data is interpreted in a consistent manner. It facilitates coding algorithms based on standard dictionaries and proprietary synonyms, auto-encode and manually code/decode verbatim terms, creating predefined reports and user- defined custom reports, and automatically loading dictionary data from ASCII files to SAS. Above all, the application adheres to the requirements of FDA 21 CFR Part 11 and enforces system security as well as maintaining audit trail in a separate database |
verbatim term, 21 cfr part 11, audit trail, csv, dataset, clinical data, clinical research, clinical trial, medical coding, raw data, excel, proc sql, adverse events | 12 | |
| 76 | Methods of Validating Cumulative Incidence Rate Plots | Lin Yan | Validating plots generated by internal SAS macro calls is an important job responsibility for SAS programmers. For validating survival plots, the accuracy of the number of patients at risk is one of the major focuses. However, this is not strai ghtforward. In this paper, the authors will first introduce a simple method using data steps only to calculate th e number of patients at risk for a cumulative incidence rate plot. Furthermore, the authors will present a more complex app roach that uses the output from the product-limit table from PROC LIFETEST to verify the number of patients at risk and the cumulative incidence rates as well |
proc step, sample | 6 | |
| 77 | Modeling the Treatment Effect on a Median of a Percent Change from Baseline in a Log-normal Variable Using SAS PROC NLMIXED | Aiming Yang | Often, when a response percent change from baseline in a clinical parameter is not normally distributed, the medical community presents the results in terms of a median percent change and describing the treatment effect by the estimate of the difference in the treatment group medians. Such estimates are typi cally provided based on non-parametric analysis methods. However, if the response parameter itself is log-normally distributed, additional advantages can be derived from the parametric modeling. Following Wong et al. [1], the ANCOVA model can be fit to the log-transformed data, upon which the estimated treatment means will be back-transformed to become the esti mates of the treatment group m edians of the percent change from baseline. The confidence interval for the difference in medians can be provided using the delta method [1] | percent change from baseline, proc step, change from baseline, confidence interval, treatment effect, longitudinal data, anova, covariance, clinical trial, proc mixed | 5 | |
| 78 | More Tips and Tricks for Creating Multi-Sheet Microsoft 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 explains how to use the XML support in Base SAS 9 software to create multi-sheet Microsoft EXCEL workbooks (for EXCEL 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, and also tips and tricks for working with the ExcelXP ODS tagset. 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 previous papers by this author, this paper contains new and revised material not previously presented |
excel, xls, date variable, sas output, proc template, sas base, sysdate9, output delivery system, title statement, by group processing, proc print, ods xml, format statement, proc step, sample | 20 | |
| 79 | Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It | Niraj J. Pandya | Creating different kind of reports for the presentation of same data sounds a normal day job, but it becomes a little tough job to generate all different kind o f reports on a single page. In the world of clinical trials, sometimes it is important to have the graphical output o f data sitting next to the tabular output of data on same page to better understand the information captur ed in the data. It is generally a multiple frames o ne window kind of report and it is hard to get such repor t through conventional SAS programming which usually gives listing form of reports. In such cases, Outpu t Delivery System (ODS) is greatly helpful to overcome the limitations of traditional SAS output. Va rious features of ODS, new powerful SAS Version 9 capabilities and functionalities of output destinations like HTML and PDF enable anyone to get multiple graphs, charts, maps, listings and tables on a single page |
ods pdf, output delivery system, sas output | 11 | |
| 80 | Multiple Graphs on One Page (Step-by-step approach) | Yogesh Pande | In statistical analysis and reporting, it is essential to provide a clear presentation of analysis results. To achieve this goal, the appearance of figures plays a very import ant role in data presentation. The most common SAS procedure for generating figures is PROC GPLOT. However, it i s necessary to provide a simple solution for the hi gh demand of presenting multiple graphs on one page due to th e limitation of GPLOT procedure. The purpose of thi s paper is to provide user friendly step-by-step instructions in generating multiple graphs on one page by using SAS procedure, PROC GREPLAY. This paper uses features o f SAS/GRAPH and its procedures. The explanation is good for O.S. UNIX, Windows Xp. The skill set of th e intended audience should be from intermediate to advance level. Key Words : graph, figure, PROC GPLOT, PROC BOXPLOT, PROC GREPLAY, PROC MEANS |
proc step, proc greplay, proc gplot | 7 | |
| 81 | Multiple Graphs on One Page Using GREPLAY with "100% Templates" | Dirk Spruck | Creating multiple graphs on one page has been a challenge in SAS before version 9.2. However, even in earlier SAS versions there is an easy and elegant way to create multiple graphs on one page without facing the problems of distorted fonts and axes. The method presented in this paper uses PROC GREPLAY to overlay graphs. Individual graphs are created using SAS graphics procedures and stored in a SAS graphics catalog. When the individual graph is produced the axes are scaled using the LENGTH parameter of the AXIS statement. The graphs are also placed appropriately on the page using the ORIGIN parameter of the AXIS statement. In the next step templates are defined with PROC GREPLAY for display of the individual graphs. But instead of defining a grid with scaled templates all templates use 100% of the output area. The individually stored graphs are then simply overlaid to create one output with multiple graphs on one page. The beauty of this approach is that the graphics procedure takes care of the scaling. This prevents the graphs from being distorted when PROC GREPLAY is used to place them in a scaled template. Another advantage is that we are not limited to the output of a single graphics procedure but can combine output from different procedures like GPLOT and GCHART. The AXIS statement gives full and transparent control over size of the individual graphs as well as the placement of the graphs in the output area. |
proc greplay, catalog, proc step | 9 | |
| 82 | Nice SUPPQUAL Variables to Have | Beilei Xu, Changhong Shi |
A Supplemental Qualifier (SUPPQUAL) data set is a special Study Data Tabulation Model (SDTM) data set that holds non-standard variables which cannot be mapped to any existing standard domain. Although non-standard, some variables can be very useful in data monitoring and standard reporting. This paper discusses some of those variables and the benefits of using them with the perspective of implementing SDTM in a linear fashion and early in the data management process. Keywords: Supplemental Qualifiers, SUPPQUAL | data governance, protocol amendment, cdisc | 5 | |
| 83 | One-Step Change from Baseline Calculations | Nancy Brucken | Change from baseline is a common measure of safety and/or efficacy in clinical trials. The traditional way of calculating changes from baseline in a vertically-structured dataset requires multiple DATA steps, and thus several passes through the data. This paper demonstrates how change from baseline calculations can be performed with a single pass through the data, through use of the Dorfman-Whitlock DO- (DOW-) Loop | change from baseline, set statement | 5 | |
| 84 | Open Source SAS Software Applications: the OS3A Program for Community Programming | Paul OldenKamp, Paul D. Hamilton, Dante Di Tommaso, Ann Marie Martin |
The Web 'changes everything'!! We are entering a new paradigm of worldwide collaboration in scientific, educational and economic activity based on a large decrease in communication costs created by the Internet. This will change how we write programs in the future. The paradigm shift has made possible new methods of Open Source software development and distribution. Can SAS software users take advantage of the opportunities? How could this Open Source model ever work? At first glance, the Open Source model should fail as an example of the free rider problem of classic economics. The adverse incentives can be explained with a "programmers' dilemma" analysis in game theory. The Open Source licenses have conditions that overcome the free rider problem based on the principles of the Open Source Initiative | sas programmer, sas programming | 9 | |
| 85 | Oracle Clinical for SAS Programmers | Kevin Lee | This paper is i ntended for S AS progr ammers who are i nterested i n un derstanding th e differe nce i n the data base structure between Oracle Clinical and SAS. It also helps SAS programmers to use SAS/ACCESS to extract raw data from Oracle C linical. T his paper will discuss the dat abase st ructure of Oracle Clinical and its relationship with t he extracted SAS data |
sas programmer, clinical database, raw data, sample, data governance, data science, data cleaning, proc sql | 8 | |
| 86 | PDF Can be Pretty Darn Fancy: Tips and Tricks for the ODS PDF Destination | Peter J. Lund, Looking Glass |
We're not too far removed from the days when presentation-ready SAS output meant lots of cutting and pasting or retyping. Now, the ODS PDF destination enables you to produce high quality output the first time, without other tools or applications. This paper explores a number of ODS options in general and, more specifically, their use in creating PDF output. We will cover ODS ESCAPECHAR, which allows for inline formatting of titles, footnotes and other text; ODS LAYOUT, which lets you place output wherever you want it on the page - even output from more than one procedure; inline formatting in PROC REPORT; overlaying output from SAS/GRAPH procedures on top of other output and more. We'll work from real life examples and see how you can produce output that looks like it took hours to create |
proc step, proc report, ods pdf, footnote statement, output delivery system, proc sql | 19 | |
| 87 | Pharmacogenomics: JMP right in! | Jason Baucom | The understanding of pharmacogenomics has greatly accelerated in the past decade. With the unraveling of the human genome, the ongoing HAPMAP project and the development of microarray single nucleotide polymorphism (SNP, pronounced "snip") chips by Affymetrix and Illumina, the chore of associating genetic markers with drug reaction states has become a feasible and important project. With the vast amounts of data being stored and sifted it is useful to have a powerful statistical and graphical tool for analysis. SAS has become entrenched in the pharma world, and provides much of the statistical horsepower needed for such a task. Powerful graphical analysis tools like JMP have not been able to successfully enter the pharmacogenomic market due to design constraints. JMP stores data sets in memory, so the size of the workable data sets is limited by the memory of your system. With the large data sets typical of pharmacogenomic data, this constraint is debilitating | data step, unique key | 5 | |
| 88 | Playing Favorites: How to Manage Date Conflicts When Some Date Ranges are Preferred Over Others | Eric C. Wong | Data with dates often require reconciling conflicti ng date ranges. Sometimes a set of consecutive, non- overlapping date ranges needs to be created from a se t of overlapping date ranges. This is easy when all date ranges are considered equal. However, if so me date ranges are preferred over others, more thought is required. One example is reconciling clinical data and determining disease status from overlapping date ranges of normal and abnormal lab values . If abnormal lab values are of interest, then ranges of abnormal values are preferred over normal values when overlap exists . This paper provides one solution to any number of preferences, demonstrates that it executes in a reasonable time with time trial results, and provides a macro implementation. Keywords: temporal abstraction, date reconciliation, date range conflicts, date range overlap | proc step, by group processing | 11 | |
| 89 | Presenting Descriptive Statistics by the Rapid Processing of Data Sets from Proc Means | Rod Norman | Calculation and presentation of descriptive statistics for clinical data are frequently under the domain of complex macros. Less commonly used features of SAS Procs, however, can rapidly output data sets containing statistics for multiple variables and data subgroups. Post PROC processing of these data sets with simple but little utilized SAS features generate SAS data sets for outputs with very transparent and adaptable code. In this paper, I use the MEANS procedure with keywords, formats, and multiple output statements to generate individual data sets for each statistic. Processing of these data sets is aided by use of the automatic _TYPE_ variable. A column is created to capture overall subgroup totals without need to double SET the input data. An uncommonly used method of combining data sets employing the SET statement with a BY statement is used to reconstitute the statistics into one data set |
proc step, output, by group processing, proc means, dataset | 4 | |
| 90 | PROC REPORT: Compute Block Basics - Part I Tutorial | Arthur L. Carpenter | One of the unique features of the REPORT procedure is the Compute Block. Unlike most other SAS procedures, PROC REPORT has the ability to modify values within a column, to insert lines of text into the report, to create columns, and to control the content of a column. Through compute blocks it is possible to use a number of SAS language elements, many of which can otherwise only be used in the DATA STEP. While powerful, the compute block can also be complex and potentially confusing. This tutorial introduces basic compute block concepts, statements, and usages. It discusses a few of the issues that tend to cause folks consternation when first learning how to use the compute block in PROC REPORT. This paper is being presented in conjunction with the Hands-on Workshop PROC REPORT: Compute Block Basics -Part II Practicum (Paper HW03) |
proc report, proc step, class variable, put statement, proc calis | 16 | |
| 91 | PROC REPORT: Compute Block Basics - Part II Practicum | Arthur L. Carpenter | One of the unique features of the REPORT procedure is the Compute Block. Unlike most other SAS procedures, PROC REPORT has the ability to modify values within a column, to insert lines of text into the report, to create columns, and to control the content of a column. Through compute blocks it is possible to use a number of SAS language elements, many of which can otherwise only be used in the DATA STEP. While powerful, the compute block can also be complex and potentially confusing. This tutorial introduces basic compute block concepts, statements, and usages. It discusses a few of the issues that tend to cause folks consternation when first learning how to use the compute block in PROC REPORT. This paper is being presented in conjunction with the Tutorial PROC REPORT: Compute Block Basics -Part I Tutorial (TU05). Consult that paper for additional details |
proc report, proc step, class variable, put statement, binary variable | 18 | |
| 92 | Producing Simple and Quick Graphs With PROC GPLOT | Sheng Zhang, Xingshu Zhu, Shuping Zhang, Weifeng Xu, Jane X. Liao, Amy Gillespie |
PROC GPLOT is a widely used procedure in SAS/GRAPH to produce scatter, line, box, and Kaplan-Meier plots. In this paper we present step by step procedures to generate several common graphics. We highlight the use of the INTERPOL symbol option. Combining various options with PROC GPLOT, we explore the flexibility and broad functionality of this SAS/GRAPH procedure to produce graphics simply and quickly |
proc step, proc gplot, scatter plot, line chart, box plot | 6 | |
| 93 | Reducing Risk in your SAS Environment | Brian K. Varney | As all managers know, even when projects appear to be running smoothly, risk must be constantly assessed, mitigated and dealt with. This is an every day practice with projects but what about issues specific to your SAS environment as a whole? Are there issues that can arise during a project that may not be thought of during project planning? It is important to take into account anything that can add risk to your project. This paper will discuss issues that pertain to a SAS environment that can lead to risk now or down the road | data cleaning, clinical programming | 3 | |
| 94 | Reverse-Engineer a Reference Curve: Capturing Tabular Data from Graphical Output | Brian P. Fairfield-Carter | The pharmaceutical industry is a competitive arena: new drugs inevitably have to find a market among c ompetitors targeting the same indication. Comparisons against these competitor drugs can be problematic, however , since proprietary and legacy data may not be available in analysis-ready format. In some cases data must be captured or 'reverse-engineered' from graphical output. How would you meet a sponsor's request to overlay a reference curve on an efficacy plot where the data that produced th e reference curve was not available? The most obvious but least appealing approach would of course be to estimate 'by eye', or by using pencil and ruler, the X and Y coordinates for each data point on the reference curve as it appear s in graphical output | kaplan-meier plot, structured data | 6 | |
| 95 | ROC analysis for the evaluation of continuous biomarkers: Existing tools and new features in SAS 9.2 | Sanghyuk Shin | Biomarkers have become essential tools for proper diagnosis and treatment of a wide range of illnesses, including cancer, diabetes, and infectious diseases. The growing need for rigorous evaluation of new biomarkers for medical practice has spurred the development and characterization of statistical methods for diagnostic accuracy. The receiver operating characteristic (ROC) curve is the standard analytical tool for evaluating diagnostic tests. However, recent studies suggest widespread use of inappropriate statistical methods for ROC analysis. In addition, while enhancements in SAS 9.2 have greatly simplified basic ROC analysis for SAS users, many common ROC techniques still require extensive additional programming for SAS users. This paper provides an overview of statistical methods for evaluating continuous biomarkers using ROC analysis | confidence interval, roc curve, sample, logistic distribution, proc logistic, binomial distribution, proc step, diagnostic accuracy, bootstrap, covariance, macro definition, regression analysis | 15 | |
| 96 | RS01 The Second CDISC Pilot Project A Metastandard for Integrating Databases | Gregory C. Steffens | The first CDISC SDTM/ADaM pilot project created a test submission of one study to the FDA using CDISC data and metadata standards, in order to test that these standards meet FDA requirements (described in a paper Greg Steffens presented at SUGI 2007). The second CDISC pilot project objectives are to test 1.) the value of CDISC standards to create integrated databases (IDBs) and 2.) the new FDA safety review guidelines. This presentation focuses on the first objective and describes 1.) the collection and use of metadata in the second pilot and 2.) a very important drafted extension to the define.xml schema that supports row-level metadata and fills a gap in the metadata schema identified in the first pilot project. Metadata for eight pilot project studies and three IDBs were populated in EXCEL - EXCEL was a user request as it has a more familiar interface than the SAS data set editors |
macro definition, excel, adamig, data standard, dataset, cdisc | 4 | |
| 97 | SAS & VBScript for Generation of PowerPoint Presentation | Suhas R. Sanjee, Christopher Tong |
Some analysis reports are presented to the stake ho lders as PowerPoint presentations. The process of organizing tables and graphs in a PowerP oint presentation is laborious and it needs to be done several times during the trial. A technique is presented in this paper which uses SAS/ Graph and Windows Scripting Host (WSH) to automatic ally generate a PowerPoint presentation whenever the data is updated. This way, the present ation can be updated with any changes in tables / graphs by a simple macro call in SAS. WSH is a simple, powerful, and comprehensive tool which facilitates the controlling of Microsoft applications like Word, PowerPoint, and EXCEL programmatically. The WSH allows VBScript programs to run on the Windows operating system as stand-alone applications. SAS and WSH can be used to automate routine tasks performed using MS Office |
options statement, excel, dataset, macro definition, proc tabulate, proc step | 5 | |
| 98 | SAS 1-liners | Stephen Hunt | In virtually all programming languages, code effici ency is a perpetual, though occasionally implicit, aspiration. Terms used to describe programs or sections of programs a s 'elegant', 'slick' or 'smooth' insinuate an uncertain boundary between art and science in programming. Code that p erforms correctly is one thing. Code that performs correctly and manages to do so in a highly-efficient or unique m anner 'ups the ante' by promoting interest and the sharing of ideas in a way that 'mundane' code cannot. Those enamoured by code efficiency often find themselves un able to resist approaching a programming problem by, parado xically, using as little programming as is feasible . To that end, this paper seeks to challenge both the beginning an d experienced programmer alike to look for new ways to accomplish routine SAS programming tasks as stylist ically as is only humanly possible | proc step, proc sql, imputation, randomization | 6 | |
| 99 | SAS Enterprise Guide 4.2 and Stored Processes | Frederick E. Pratter | New in SAS 9, Stored Processes are SAS programs that can be stored centrally on a server so that they may be accessed from anywhere in the organization. The primary advantage of Stored Processes is the ability to centrally maintain and manage code. They can provide better control over changes, enhance security and application integrity, and ensure that every client executes the latest version of code. Also, since the programs run on the server, the client need only have SAS Enterprise Guide installed, which can greatly reduce software licensing and maintenance costs and lighten the burden on already overworked SAS system administrators. SAS Stored Processes can be used in many different client applications, including SAS Enterprise Guide and the SAS Stored Process Web Application. This paper will cover creating and running SAS Stored Processes using SAS Enterprise Guide 4.2, part of the SAS 9.2 release | sas enterprise guide, sample, macro variable | 16 | |
| 100 | SAS Viewer giving way to Universal Viewer | Steven A. Wright | The SAS Viewer tool has been a useful, free, but somewhat limited tool provided by SAS for a long time. It is free. It has bugs and limitation. Starting with SAS9, this tool often will be unable to access the default data tables. The Universal Viewer is a fresh take on a tool to fit this niche. Everyone will find that a number of the things this tools does are just right. It does not lock datasets. It will not return the converse when using missing values in the where statement. You will want to be aware of a surprise or two | where statement, character variable | 5 | |
| 101 | SAS/GRAPH Colors Made Easy | Max Cherny | Creating visually appealing graphs is one of the most challenging tasks for SAS/GRAPH users. The judicious use of colors can make SAS graphs easier to interpret. However, using colors in SAS graphs is a challenge since SAS employs a number of different color schemes. They include HLS, HSV, RGB, Gray-Scale and CMY(K). Each color scheme uses different complex algorithms to construct a given color. Colors are represented as hard-to-understand hexadecimal values. A SAS user needs to understand how to use these color schemes in order to choose the most appropriate colors in a graph. This paper describes these color schemes in basic terms and demonstrates how to efficiently apply any color and its variation to a given graph without having to learn the underlying algorithms used in SAS color schemes. Easy and reusable examples to create different colors are provided |
macro variable, call symput, proc gchart, proc step, hex., group by, macro call | 16 | |
| 102 | Sleepless in Seattle - For How Many Consecutive Nights? | Fikret Karahoda, Eric Qi |
Looking for the number of consecutive events is an important edit check to find irregularities in otherwise normal data or a key derivation step for important analysis of variables. In this paper, we demonstrate a simple algorithm to find consecutive sleepless events, a common measurement used in Central Nervous System (CNS) studies, in sample data that meets certain criteria | data step, sample | 4 | |
| 103 | Stacked Cumulative Percent Plots | Theresa Gilligan | Longitudinal data present analysts with the unique challenge of summarizing information over time without losing the detail of pattern changes, spikes, or other irregularities. This paper introduces a graphical method for displaying ordinal response trajectories that allows you to compare the percent response of multiple categories. As a result, researchers can not only detect symptom improvements or declines over time, but they can also visualize when the frequency of a category increased or decreased. The analyses and output discussed were created with Base SAS Version 9.1 and SAS/GRAPH software and will hopefully be of interest to SAS users of all skill levels |
proc freq, missing value, proc step, cumulative frequency, proc greplay, proc gplot | 10 | |
| 104 | Statistics for Clinical Trial SAS Programmers 1: paired t-test | Kevin Lee | This paper is intended for SAS programmers who are interested in understanding common statistical method used in clinical trials. The paper will focus on paired t-test that proves the statistical significance. It will introduce the simple statistical background and the sample SAS codes in SAS/STAT, and it will also show how to use JMP Software to perform the paired t-test |
sample, sas programmer, clinical trial, data science, paired t-test, standard deviation, proc step, null hypothesis, proc ttest, rank test | 6 | |
| 105 | Supporting CDISC Standards in Base SAS Using the SAS Clinical Standards Toolkit | Supporting CDISC Standards | The use of regulatory standards aimed at clinical research data and metadata has become more commonplace over recent years. In the USA, the FDA is accepting standards from the Clinical Data Interchange Standards Consortium (CDISC) for submission of tabulation data (SDTM) and the main study metadata XML file (CRT-DDS). Work continues on new standards and updates to the existing ones. Previously, SAS users have not had to think so much about metadata and strict compliance to prescribed standards. The changing regulatory standards place an additional burden on SAS users, which translates to higher costs for companies. This paper will explain how the SAS Clinical Standards Toolkit supports users by providing a framework of macro- based functionality to help ensure that standards are applied to clinical data and metadata. It will explain how users can create their own standards and use them within the framework | data cleaning, macro variable, autocall macro, controlled terminology, raw data, clinical research, cdisc | 13 | |
| 106 | Sweet Smell of SucSAS - When Your DATA Step Does What is Intended!! | Arthur X. Li | The fundamental of SAS programming is DATA STEP programming. The essence of DATA STEP programming is to understand how SAS processes the data during the compilation and execution phases. In this paper, you will be exposed to what happens "behind the scenes" while creating a SAS dataset. You will learn how a new dataset is created, one observation at a time, from either a raw text file or an existing SAS dataset, to the program data vector (PDV) and from the PDV to the newly-created SAS dataset. Once you fully understand DATA STEP processing, learning the SUM and RETAIN statements will become easier to grasp. Relating to this topic, this paper will also cover BY-group processing |
dataset, output, automatic variable, retain, execution phase, input statement, set statement, out=, _n_, compilation phase, sas log, by group processing, proc step, missing value, in=, infile statement, put statement | 19 | |
| 107 | Technical Support in Biometrics | Wei Dong | Statistical programmers and biostatisticians in the biometrics department of bio-pharmaceutical firms typically perform analyses specific to clinical studies and at the same time maintain the biostatistical computing systems and applications among themselves. Because of the growth of the biometrics organization and the increasing complexity of drug development as well as the associated statistical programming and analysis, there is a growing need of establishing a separate technical support group within the organization. The support group maintains and develops the biostatistical computing systems and applications. It also provides technical services to all users. This paper discusses the organization and management of the support team as well as the benefits the support team brings to the biometrics organization | clinical trial, customer satisfaction, data science, clinical programming, data governance, macro definition, sas programming | 4 | |
| 108 | The Care and Feeding of SAS Macro Program Parameters | Don Boudreaux | Most parameterized macros that I have either written or reviewed have taken a great deal of care to correctly perform the primary programming task that they were originally designed for. In retrospect however, I would propose that most also do not spent the same effort in checking the values passed through their parameters. To help remedy this situation, a number of typical parameter value processing and validation examples are presented in this paper. The examples include checking for null values, numeric values, integer values, case specific character values, existing file names, existing libnames, valid dataset names, and validity of the syntax of SAS statements passed as parameter input. Suggestions are also made to help the macro program developer communicate the requirements of the parameters to the user | macro parameter, data step, macro variable, put statement, missing value, comment statement, proc step, macro conditional, data cleaning, macro definition | 9 | |
| 109 | The Existence of Maximum Likelihood Estimates for the Logistic Regression Model | William F. McCarthy, Nan Guo |
The existence of maximum likelihood estimates for the binary response logistic regression model depends on the configuration of the data points in your data set. There are three mutually exclusive and exhaustive categories for the configuration of data points in a data set: · Complete Separation · Quasi-Complete Separation · Overlap For this paper, a binary response logistic regression model is considered. A 2 x 2 tabular presentation of the data set to be modeled is provided for each of the three categories mentioned above. In addition, the paper will present an example of a data set whose data points have a linear dependency. Both unconditional maximum likelihood estimation (asymptotic inference) and exact conditional estimation (exact inference) will be considered and contrasted in terms of results. The statistical software package SAS will be used for the binary response logistic regression modeling | maximum likelihood estimation, likelihood function, estimate, logistic distribution, sas output, proc logistic, logistic regression, regression analysis, proc calis, confidence interval, response variable, null hypothesis, odds ratio, proc freq | 12 | |
| 110 | The MEANS/SUMMARY Procedure: Doing More | Arthur L. Carpenter | The MEANS/SUMMARY procedure is a workhorse for most data analysts. It is used to create tables of summary statistics as well as complex summary data sets. The user has a great many options which can be used to customize what the procedure is to produce. Unfortunately most analysts rely on only a few of the simpler basic ways of setting up the PROC STEP, never realizing that a number of less commonly used options and statements exist that can greatly simplify the procedure code, the analysis steps, and the resulting output. This tutorial introduces a number of important and useful options and statements that can provide the analyst with much needed tools. With this practical knowledge, you can greatly enhance the usability of the procedure and then you too will be doing more with MEANS/SUMMARY |
proc step, output, proc means, class variable | 14 | |
| 111 | Things Dr Johnson Did Not Tell Me: An Introduction to SAS Dictionary Tables | Peter W. Eberhardt | SAS maintains a wealth of information about the active SAS session, including information on libraries, tables, files and system options; this information is contained in the Dictionary Tables. Understanding and using these tables will help you build interactive and dynamic applications. Unfortunately, Dictionary Tables are often considered an 'Advanced' topic to SAS programmers. This paper will help novice and intermediate SAS programmers get started with their mastery of the Dictionary tables. Ever needed a list of the tables (datasets) in a library? How about the columns (variables) in a table? Need to make sure you reset any titles after you run a report? Got some pesky warning messages in your SAS log you would like to clean up? Sure, you can look them up in the table and column properties in the explorer window. Or you can run a PROC CONTENTS and check the listing. And of course you can ignore the warnings and errors in the SAS log since they 'almost always appear' |
dictionary tables, proc sql, proc step, sas log, data step, sas programmer, sashelp, sas library | 15 | |
| 112 | Those pesky SAS v5 transport files, what's inside? | John H. Adams, Boehringer Ingelheim |
The use of SAS V5 transport files, unfortunately, is still currently required for FDA submissions. Many users in the pharmaceutical industry, however, are not well versed on the structure or determining the contents of transport files. It is quite common for many of us to receive a SAS transport file from a vendor or a CRO. The first question is always - is it a .XPT file format or a .CPT file format. Next, we don't know what the contents are. Is there one dataset or are there multiple datasets. Of course, a proficient programmer could quickly write some code to look into and /or extract the desired datasets. The average user that doesn't do this task very often, however , needs a simpler solution. This paper describes a utility macro that automatically determines the transport file type (.XPT or .CPT), the list of datasets it contains, the list of variables (plus their attributes) in each dataset and allows the user to extract any or all datasets | sample, options statement, macro definition, proc step, proc cport | 12 | |
| 113 | Tiptoe through the Templates | Cynthia L. Zender | Are you confused about the difference between style templates, table templates, tagset templates, and graph templates? Do you wonder how they're all used with ODS? This paper provides an overview of all the different template types and how they're used with the Output Delivery System. From style and table templates, that first appeared with SAS 7 to the newest graph templates that appeared with SAS 9.2, this paper will provide an overview and several concrete examples for each template type. Along the way, we'll also discuss the template garden (SASHELP.TMPLMST) where all the templates live, how to transplant your templates to a different garden, how to come up with your own new variety of templates (PROC TEMPLATE), and how to find your way to the new template garden (ODS PATH). New features of PROC TEMPLATE syntax (such as the IMPORT statement) will be highlighted |
proc step, proc freq, proc template, proc means, ods html, proc print, proc report, sas log, ascii, ods pdf, sas output, txt, output delivery system, sas enterprise guide | 27 | |
| 114 | Toolkits for Simulation | Huei-Ling Chen | The purpose of this paper is to describe a toolkit to assist in the simulation process for users of the SAS system. In the current version of SAS, there is no clearly defined solution to trap warnings and errors associated with initial parameter settings fit into a statistical procedure such as PROC NLP. When simulation is conducted in the SAS System using a procedure like PROC NLP to find an optimization result, warnings and errors can be generated due to the conditions of how the optimization is run and are different from those warnings/errors that indicate the condition of how the program statements are executed. It is a common practice to use a remote computer to run the batch simulation job under these conditions, and it would be helpful to get a real-time email notification when the simulation batch job is completed. The toolkit described in this paper provides three key features to resolve these demands and helps create a smooth simulation process |
error message, proc step, txt, data step, put statement, macro put, automatic macro variable, batch job, maximum likelihood estimation | 6 | |
| 115 | Touring the SASHelp Neighborhood | William Turner | The SASHelp data library can be of tremendous help to a user who is interested in programmatically accessing metadata that describes data sets and catalogs in data libraries defined by the user, as well as key operational information for the SAS Environment. After a tour of some of the noteworthy landmarks in the SASHelp neighborhood, I will discuss ways in which that information can be employed to help you write analysis data set specifications and sanitize an interactive workspace in order to ensure you always submit your SAS programs with a clean slate. The principles in this presentation should be applicable to SAS versions 6.12 and higher on any operating system, and the ideas and methods are suitable for SAS users of all experience levels | macro variable, proc step, proc sql, libname statement, stored macro, work library, macro definition, dataset, sashelp, infile statement, excel, data step | 12 | |
| 116 | Translation of Drug Metabolic Enzyme and Transporter (DMET) Genetic Variants into Star Allele Notation using SAS | Mark Farmen | Conversion of genotyping results from metabolic enzyme and transporter (DMET) genetic assays into the consensus star allele nomenclature is necessary for clinical utilization of DMET genetics. The problem involves translation of variant genotypes, such as single nucleotide polymorphisms (SNPs) or small insertion-deletion events, into gene level star allele nomenclature. Genetic variants in the DMET genes can occur in combinations. In some instances a single variant or often these combinations define a star allele. When and how these variants combine is often poorly understood. However, given adequate definitions, a simple algorithm based on vector addition and comparison can be easily implemented in SAS PROC IML to perform the conversion. The simplicity and transparency of this algorithm can help de-mystify the translation process and allow statisticians and data management experts to handle this new type of patient information |
dataset, keep statement, missing value, proc iml, proc step | 17 | |
| 117 | Transposing Data Using PROC SUMMARY'S IDGROUP Option | John Henry King, Mount Ida |
When clinical data are stored with multiple observations per subject, a common task is to rearrange the data so there is only one observation per subject. That single observation contains all or part of the information previously spread over multiple observations. Such rearranging of data is commonly done with either PROC TRANSPOSE or with a DATA STEP that often contains one or more arrays. There is a little used alternative to these methods, the IDGROUP option in PROC SUMMARY. The method is little used since the task is not made explicit in the documentation for the procedure and it has not been described in any papers that the authors could find at SUGI, SAS Global Forum, or various regional user group meetings. This paper describes several situations and shows the SAS code needed for using the IDGROUP option in PROC SUMMARY as an alternative to the more common methods for rearranging data |
proc step, proc means, proc transpose, output, by group processing, macro variable, proc contents, proc sql, class variable, cmax, variable list | 6 | |
| 118 | TT05 The MEANS/SUMMARY Procedure | Arthur L. Carpenter | The MEANS/SUMMARY procedure is a workhorse for most data analysts. It is used to create tables of summary statistics as well as complex summary data sets. The user has a great many options which can be used to customize what the procedure is to produce. Unfortunately most analysts rely on only a few of the simpler basic ways of setting up the PROC STEP, never realizing that a number of less commonly used options and statements exist that can greatly simplify the procedure code, the analysis steps, and the resulting output. This tutorial begins with the basic statements of the MEANS/SUMMARY procedure and follows up with introductions to a number of important and useful options and statements that can provide the analyst with much needed tools. With this practical knowledge, you can greatly enhance the usability of the procedure and then you too will be doing more with |
proc step, proc means, output, class variable, standard deviation | 10 | |
| 119 | Understanding the define.xml and converting it to a relational database | Lex Jansen | When submitting clinical study data in electronic format to the FDA, not only information from trials has to be submitted, but also information to help understand the data. Part of this information is a data definition file, which is the metadata describing the format and content of the submitted data sets. When submitting data in the CDISC SDTM format it is required to submit the data definition file in the Case Report Tabulation Data Definition Specification (define.xml) format as prepared by the CDISC define.xml team. CDISC has made a basic style sheet available on their website to display the define.xml in a human readable form in a web browser. However, this style sheet is not suitable to generate a paper-based presentation of the define.xml. This paper illustrates how the define.xml can be transformed into relational SAS data sets by using SAS XML Mapper technology | dataset, csv, clinical trial, annotated crf, surrogate key, cdisc | 17 | |
| 120 | Using a Personality Inventory to Better Lead Your Team | Wayne F. Woo, Novartis Vaccines |
The field of organizational psychology studies and attempts to understand the way people act in groups. Behavior is in turn an expression of one's personality. An individual's personality influences many areas of work life. It affects how he communicates with colleagues, how he approaches a new task, how he manages a team, and how he views the organization. The result of this on the company can be measured by the individual's productivity and the cooperation of those working close to him. As a manager and leader, understanding the personalities of your team members can help to enhance team performance. This paper presents a tool that helps managers achieve this understanding and discusses how to make use of it | sas programmer, sample | 6 | |
| 121 | Using CDISC Lab Terminology and Determining Standard Units | Matthew Davis | In any clinical trial submission, laboratory test results are always necessary. However, there are many challenges that can face programming teams working through lab data. Lab test names can differ depending on what lab handles the testing. Units can vary from lab to lab, causing the need for standardization among units and conversions. Even within a submission, a need arises to maintain as much standardization as possible in lab test names, units and conversions. In addition to these difficulties, groups can also struggle with achieving the level of standardization required by CDISC (Clinical Data Interchange Standards Consortium) for SDTM (Study Data Tabulation Model) submissions. When submitting CDISC compliant Lab SDTMs, it is important you use CDISC compliant terminology for lab tests. This paper will discuss the help that this terminology can afford in both individual and ISS studies | controlled terminology, cdisc controlled terminology, clinical trial, quality control, excel, cdisc | 7 | |
| 122 | Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code | Ronald J. Fehd | Description : This paper explains how to conditionally execute statements in open code without having to wrap the code in a macro. This is accom- plished by combining the macro function sysfunc with the DATA STEP function IFC. The result is that parameterized include programs gain the power of conditional processing - %if ... %then - for which macros are usually used |
macro put, macro variable, proc step, macro function | 10 | |
| 123 | Using IBM Tivoli Storage Manager to Manage Large Datasets at IMS (and other data management tips) | Paul Doucette | During the course of a typical month, the LifeLink Statistical Services Programming Group at IMS processes 30-50 projects using datasets averaging approximately 50 gigabytes per dataset. One of the main tools used to manage this data volume is the IBM Tivoli Storage Manager (TSM) for Space Management. The use of TSM will be examined here as will other data management techniques | sas programming, flat file, permanent dataset, sas programmer, proc step | 7 | |
| 124 | Using SAS Formats to Generate Code and Format Your Reports | Marc Mucatel, W. L. Gore |
The purpose of this paper is to demonstrate how PROC FORMAT can be utilized to produce a standard coding mechanism when analyses based upon timeframe windows are required. This technique incorporates a series of two complimentary formats (i.e., one containing a sequence of value ranges and one containing the corresponding labels for each sequence of value ranges) which are used to create macro variables for use in data creation and building tables and listings. Using this technique is one way to ensure that standard timeframes required by your project are maintained. The benefits of such a mechanism are: 1. It establishes the building blocks, namely macro fields, for generating dynamic and consistent code within each program based upon expected values of the data 2. It allows for porting consistent code across programs 3. It eliminates the need to update pr ograms if timeframe ranges change or additional timeframes are required |
proc step, proc format, dataset, proc report, macro variable | 8 | |
| 125 | Using SAS to Create Graphs with Pop-up Functions | Wei Zhou | In addition to the static graph features, SAS provides another strong capability to create dynamic graph displays for information visualization. In this presentation, we will demonstrate a SAS component that can generate a SAS graph with pop-up and drill-down functions. In a pop-up graph, when the mouse is moved over different regions or points of such a graph, additional information will appear in a pop-up box. A drill-down graph is often used to link different graph area with different new graphs or tables. This type of SAS graph outputs are quite suitable for a web-based presentation. The topic is prepared for an intermediate and advanced audience. Key Words: SAS/GRAPH, information visualization, pop-up, drill-down, html, Javameta, web-based analysis |
regression analysis, sas output | 7 | |
| 126 | Using SAS/IML to Generate Weighted Chi-Square Statistics | Daniel DiPrimeo, Bruce Johnston, Lisa Price, Junming Yang |
SAS programmers are often confronted with the problem of performing a statistical analysis in which SAS/STAT does not readily lend itself to a solution. For this reason, we must leverage other tools in SAS to execute the results. One of those tools is the IML (Interactive Matrix Language) procedure, a powerful SAS module that can perform most standard matrix statistical operations. In this paper, we will demonstrate how we can use PROC IML to generate point estimates and confidence intervals for a weighted chi-square test |
confidence interval, proc step, proc freq, proc iml, binomial distribution | 8 | |
| 127 | Validation, SAS, and the Systems Development Life Cycle: An Oxymoron? | David J. Polus | Managing a group of experienced consultants can be challenging enough. Throw in some variables such as different time zones and communication styles and it can become a bit overwhelming. This paper uses real life examples to make a few keys points on working effectively with a team of consultants: - Managing a Virtual Team - working successfully with centralized AND remote consultants - Effective use of team leads in a consulting environment - Maintaining good communication - How to keep consultants accountable without feeling like "Big Brother" | 4 | ||
| 128 | When Simpler is Better - Visualizing Laboratory Data Using "SG Procedures" | Wei Cheng | In SAS 9.2, SAS/GRAPH introduces a family of new procedures to create stand-alone graphs that use the ODS Statistical Graphics infrastructure and are designed to use ODS styles. These new "SG procedures" include SGPLOT, SGPANEL, and SGSCATTER. With a simple and clear syntax, procedure-quality plots can be generated to assist your data exploration and presentation. This paper provides examples that illustrate how you can use these new procedures to examine and visualize laboratory data |
laboratory data, proc step, line chart, spaghetti plot, clinical trial | 10 | |
| 129 | Windows and Unix Computers Now Have Multiple CPU's; Why Not Control Two or Three or More Parallel Executing SAS Batch Jobs from One Master Job! | William E. Benjamin Jr. | This paper will show the processes required to start multiple, parallel batch copies of SAS on the SAME Microsoft Windows or UNIX based computer. It may be easy to click the SAS Short -cut button or type SAS in a command prompt window a few times, but those jobs are independent of each other, and use resources to update the screen images for the operator (you). The process proposed here allows one SAS job to start others as child batch processes, with no screen update requirements, with their own parameters and monitor their completion. This pa per exposes some of the tricks required to get two (or more) batch copies of SAS running on a Windows or Unix computer | macro variable, sas log, sas output, macro definition, %if-%then-%else | 10 | |
| 130 | Working with a CRO/TPO Using SDD to Implement an Adaptive Design Clinical Trial Monitored by a DMC | Maruful Chowdhury Eli Lilly | Traditional clinical trials are in of themselves complex due to various factors, such as dictionary look-ups, conversion of tables, different ways of collecting case report forms , and so forth. Although adaptive trial designs have become more accepted, with the expectation of improvements such as greater dose selection, efficiency and earlier conclusions, these can be even more complicated, with patient allocation schemes and such. Furthermore, with adaptive designs, another level of comp lexity is added, if and when it becomes necessary for a separate Data Monitoring Committee (DMC) to be set up to review safety and efficacy data. SAS Drug Development (SDD) will accommodate, or allow for, multiple entities to work on the same platform seamlessly, and so hopefully mitigate some of these complexities. However, there are then the challen ges, for example, to ensure that the study data is blinded when the sponsor and the Contract Research Organization (CRO) both are working in SDD | adaptive design, clinical trial | 3 | |
| 131 | XML for SAS Programmers | Frederick E. Pratter | XML (the eXtended Markup Language) is an open standard for the definition, transmission, validation, and interpretation of data. The standard was developed by the Worldwide Web Consortium (W3C) in order to provide a simple and efficient way to manage self-documenting data files. SAS Software includes a number of useful tools for creating and parsing XML data. These include: /square4 The XML LIBNAME engine is used to import and export documents in XML format into or from a SAS dataset, optionally using an XMLMap. The new XML92 engine now supports XML Maps on output as well as input. /square4 The XML Mapper application is a graphical interface to analyze the structure of an XML document or an XML schema and generate XML syntax for the XMLMap. /square4 The ODS MARKUP output destination is used to creat e XML from SAS output; ODS MARKUP creates but does not read XML documents |
libname engine, output delivery system, dataset, ods html | 8 | |
| 132 | Your Place or Mine: Data-Driven Summary Statistic Precision | Nancy Brucken | The number of decimal places required for displaying summary statistics on a specific parameter is generally a function of the precision of the raw values collected for that parameter and the specific summary statistic requested. This logic can easily be hard-coded for tables displaying only a limited number of parameters, but becomes more difficult to maintain for tables displaying many such parameters. This paper presents a data-driven solution to the problem of displaying summary statistics at the correct level of precision for a larger number of parameters, such as are commonly found on summaries of clinical laboratory data | proc means, proc step, format statement, raw data, proc sql, laboratory data | 4 |
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.
HOME
QUICK SEARCH
AUTHORS
KEYWORDS
HELP
BUGS