HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

PharmaSUG 2013 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "How Do I...?" There Is More Than One Way To Solve That Problem; Why Continuing To Learn Is So Important Arthur L. Carpenter In the SAS forums questions are often posted that start with "How do I . . . ?". Generally there are multiple solutions to the posted problem, and often these solutions vary from simple to complex. In many of the responses the simple solution is often inefficient and also reflects a somewhat naïve understanding of the SAS language. This would not be so very bad except sometimes the responder thinks that their response is the best solution, or perhaps worse, the only solution. Worse yet, when there is a range of solutions, the 'right answer' that the original poster selects often reflects the simplest solution that the original poster understands. In both cases these folks have stopped learning and have stopped expanding their understanding of the language. The examples in this presentation will illustrate the progression of solutions from the simple (simplistic) to the sophisticated for a number of 'How do I macro variable, proc sql, proc step, set statement, proc format, point= option, proc freq, whichc, input statement, dictionary tables, if-then-else, macro function, where statement, stop, call symputx, lookup, dataset, proc glm source 20
2 'Case-Control' the analysis of Biomarker data using SAS Genetic Procedure Jaya Baviskar Genetics aids to identify any susceptible diseases at the root cause level due its inherent ability to provide an array of information very specific to the building blocks of life. Hence, analysis of genetic data like Biomarkers or the genetic make-up is a crucial task and to derive accurate inferences adds complexity to it further. Taking this into consideration; SAS has introduced new procedures that helps analyze genetic data so as to arrive at accurate proc step, correlation, proc genetic source 8
3 A Closer Look at PROC SQL's FEEDBACK Option Kenneth W. Borowiak The FEEDBACK option on the PROC SQL statement controls whether an expanded or transformed version of a query using terse notations is written to the SAS R⃝log. This paper will review some of the documented features of this option and provide additional programming conventions that are explicitly stated when the option is enabled. It will be shown that the FEEDBACK option is an invaluable tool for understanding how PROC SQL processes a query and how it can be used as a code generator. Keywords: PROC SQL, feedback, select *, natural joins, macro variables, operator mnemonics proc sql, proc step, sas log, create table source 7
4 A Drug Safety Reporting System in SAS Yang Wang,
Shawn Hopkins,
Norm Fox,
Raghu Kumbharathi,
Tom Hunter
SAS is traditionally used as a primary programming language to report trial data from clinical studies. It is used in generating data sets, tables, listings and figures designed to answer study questions on safety and efficacy of the drug during clinical trials. This paper introduces a flexible reporting system that leverages the power of SAS, clinical reporting infrastructure and resources at Seattle Genetics to provide programming solutions in an unconventional setting oracle, dataset, clinical trial, regulatory submission source 7
5 A Generic Concept to Handle SDTM (and other CDISC) Data Sets Peter Schaefer CDISC-defined standards - like SEND, SDTM, or ADaM - are specified to be compatible with the SAS Transport Version 5 file format (".xpt-files"). Of course, this compatibility - and the widespread use of .SAS throughout the pharmaceutical industry - very often makes SAS the tool of choice when it comes to reading and writing study data in any of the CDISC-defined formats. In addition, other tools include SAS transport file access as an extension to their use of native data file formats - like the widely used open source package R with the 'SASxport' package. However, working with a CDISC data set requires more than reading or writing the specific .xpt-file for each domain; for example, standard compliance requires that certain relations between data are maintained or created or that controlled terminology is used throughout the data set staging area, sdtm domain, controlled terminology, web service, bds, proof of concept, dataset, excel, data wrangling, pk parameter, cdisc source 8
6 A GUI-Based Utility Macro for Creating a Version Controlled Project Directory Structure and Copying in Standard Tools and Template Files Hisham Madi,
Anna Maeser,
Michael Zichy
There are many considerable advantages to standardizing a directory structure for all projects/studies. A well defined project directory structure enhances the organization of study files such as data, SAS programs, output and study documentation. This paper illustrates an approach to creating a standardized directory using a utility macro, a default list of tools and files to be copied into the newly created study directory and an EXCEL spreadsheet which defines the directory structure. Additionally, the process is driven by a SAS pop up window interface that collects user specified options, a management controlled sponsor list/root directory naming convention, and call system commands to create the necessary subdirectories and copy template files, programs, specs, etc. into the newly created study directory excel, clinical research source 12
7 A Macro to Batch Submit a List of Programs with Real Time Feedback Andrew E. Hansen Once clinical projects are in the later stages of development or maintenance it is not uncommon to have the need to run a large group of programs due to new data or other updates. In recent years there have been multiple SAS papers authored by programmers in the pharmaceutical industry (Chen, Gilbert 2002; Shu 2006; Cawley, Prescod 2010; Sun, Wong 2010; Conover 2011) that describe methods and tools to automate this process. The purpose of this paper is to describe a macro tool for batch submitting a large number of SAS programs that is distinctly different from previous papers in that it provides real-time status feedback to the user as the programs are being executed sysrc, macro variable, macro definition, macro function source 7
8 A One Line Method to Extract a Substring from a String using PRX Joel Campbell Perl Regular Expressions (PRX) are powerful tools available in SAS and many other programming languages and utilities which allow precise and flexible pattern matching. The SAS 9 Language Reference provides examples to extract a substring from a string using PRX functions that require, at minimum, 5 elements and are potentially difficult to follow for someone looking for a basic example. In this paper, I'll demonstrate a single line method to extract a substring from a string using only the PRXCHANGE function prxchange, prxposn source 3
9 A Picture is worth 3000 words!! 3D Visualization using SAS Suhas R. Sanjee Data visualization is an important aspect in c linical research. Graphs provide means to convey information efficiently in a concise manner and three dimensional (3D) graphs are even better given that they provide another dimension. In general, 3D graphs seem to be under utilized in clinical research. Fortunately, SAS has a number of procedures that support data visualization in three dimensions. This paper explores the G3D procedures in detail and provides examples in the Oncology therapeutic area. 3D graphs are es pecially useful in oncology trials where the primary endpoints typically depend on a number of variables. For example, overall response computed using Response Evaluation In Solid Tumors, RECIST criteria depends upon change from baseline, change from nadir, appearance of new lesions etc. Plotting these variables in 3D allows for the visualization of all these variables together change from baseline, data visualization, bar chart, clinical trial, scatter plot, proc step source 6
10 A Quick Patient Profile: Combining External Data with EDC-generated Subject CRF Titania Dumas-Roberson,
Yang Han
This paper reads the current PDF files within a directory to generate a list of subjects which need their clinical data combined with external vendor data. It creates dynamic Visual Basic script which is used to merge multiple PDFs. The VB script is then executed to produce a combined PDF with active bookmarks. SAS 9.3 and Adobe Acrobat 9 Pro were utilized to develop this program edc, crf source 5
11 A SAS Based MedDRA Coding System Charley Z. Wu,
Dona-Lyn Wales
A simple and efficient MedDRA coding system is built wi th SAS. This system has three major components: 1) MedDRA Dictionary and MedDRA Synonym Dictionary. 2) MedDRA coding Transaction File. 3) Auto and Manual Coding Processes. The system has the following func tions: SAS MedDRA dictionary data loading, MedDRA Synonym Dictionary self-learning and self-cleaning, auto and manual Coding, audit trail, versioning, and query generation. Users can code against any version of MedDRA dictionary. The system is built on a modular basis. So it is easy to maintain and easy to extend its functionalities verbatim term, audit trail, adverse events, dataset, foreign key, key source 6
12 A SAS Users Guide to Regular Expressions When the Data Resides in Oracle Kunal Agnihotri,
Kenneth W. Borowiak
The popularity of the PRX functions and call routines has grown since they were introduced in SAS Version 9 due to the tremendous power they provide for matching patterns of text. Since the implementation of the regular expressions within these functions is rooted in the Perl-style syntax, there is portability outside of a SAS environment. It is not uncommon for SAS users to access data residing in an Oracle database. This paper explores the Oracle implementation of regular expressions by highlighting similarities and differences to the PRX implementation in series of queries using the PROC SQL Pass-Through facility against Oracle system tables proc sql, proc step, sql pass-through source 9
13 A Simple Approach to the Automated Unit Testing of Clinical SAS Macros Matthew Nizol Federal regulations require software used in the analysis of clinical trials to be validated. In the pharmaceutical industry, SAS programs used to generate data sets, tables, listings, and figures are often validated via double programming. However, unit testing is often a more appropriate solution for validating shared macros which are used across multiple studies. Unit testing is the process of executing the smallest component of a software system on a known set of inputs and comparing the resulting output to a predefined set of expected results. Unit tests provide confidence that code is implemented correctly; they are also a safety net that protects against unintentional changes to software. But, unit tests can be challenging to write and tedious to run independent qc, macro variable, proc step, data cleaning, clinical database, regression analysis, infile statement, proc compare, proc report, clinical sas, proc printto, macro definition source 12
14 A Simple Interface for Meta-Data Magnus Mengelbier The use of metadata in Life Sciences, and specifically clinical trials, has been around from the very beginning. The most common form is to embed information about the trial or analysis in evolving standards, documentation and different forms of specifications. Very seldom are these readable from SAS and other analytics environments. We consider a simple interface that will allow the same details to be captured and managed consistently and provide a few powerful utilities to use it in programming excel, clinical trial, clinical data, dataset source 8
15 A Strategy to Ensure Non-Estimable Confidence Intervals Having Equal Lower and Upper Confidence Limits are Displayed Correctly Claudia Jimenez-Castro This paper examines a particular case in which the scientific notation used by SAS to represent numeric variables resulted in an incorrect representation of non-estimable confidence intervals in an efficacy table. For these intervals both lower and upper confidence limits were equal. Intervals with both values equal are non- estimable and were coded to be displayed as such. To determine non-estimable values, the lower limit was subtracted from its corresponding upper limit. However, due to the floating point arithmetic used by SAS, subtracting "a" from "a" yielded a result different from zero. This paper describes the reason behind the error and suggests a strategy to fix the issue confidence interval, proc calis, geomean, sample, numeric variable source 5
16 Access to Relational Databases Using SAS Frederick E. Pratter SAS software currently provides many of the features of a database management system, including database views and an extended superset of ANSI SQL. However, it is often impractical or just plain impossible to convert desktop or organizational databases into SAS. Consequently, SAS software provides several procedures for access to relational databases. This paper will review how to use the various SAS/ACCESS products for linking networked workstations to remote servers. Most of the examples will use the SAS/ACCESS for Oracle, but the principles described apply equally to local databases in Microsoft Access, as well as other client/server systems such as DB2 and MySQL proc sql, relational database, sql pass-through, sample, proc step, libname statement, create table, sas enterprise guide, in-database processing, select source 10
17 ADaM Datasets for Graphs Kevin Lee,
Chris Holland
The paper is intended for clinical trial SAS programmers who create graphs using ADaM (Analysis Data Model) datasets. ADaM datasets are analysis-ready, so programmers need to apply CDISC principles and guidelines to create them, while at the same time being mindful of their intent as plotting datasets. The paper will discuss the basic principles of graph creation using ADaM datasets. We propose the use of PARAM, AVAL, AVISIT and AVISITN for pl otting. The paper will show in an example how to use AVAL for the y-axis and AVISITN for the x-axis for simple plotting. We will discu ss the role of AVISITN as a numeric representation of AVISIT and propose the use of AVISITN for plotting purposes. We will also discuss some of the graphs created by features of SAS/STAT, ODS GRAPH and Graph Template Language (GTL) adam dataset, dataset, study day, graph template language, kaplan-meier plot, randomization, cdisc source 15
18 Add a Little Magic to Your Joins Kirk Paul Lafler To achieve the best possible performance when joining two or more tables in the SQL procedure, a few considerations should be kept in mind. This presentation explores options that can be used to influence the type of join algorithm selected (i.e., step- loop, sort-merge, index, and hash) by the optimizer. Attendees learn how to add a little magic with MAGIC=101, MAGIC=102, MAGIC=103, IDXWHERE=Yes, and BUFFERSIZE= options to influence the SQL optimizer to achieve the best possible performance when joining tables proc sql, sas log source 6
19 Adjusted proportion difference and confidence interval in stratified randomized trials Yeonhee Kim,
Seunghyun Won
Stratified randomization is widely used in clinical trials to achieve treatment balance across strata. In the analysis, investigators are often interested in the estimation of common treatment effect adjusting for stratification factors. We developed the macro for stratified analysis when the primary endpoint is a difference in proportions between two treatment groups. The %strataCI macro estimates proportion difference using three different weighting schemes and calculates Wald and Newcombe confidence intervals. Keywords: Stratified analysis, weight-adjusted proportion, Minimum risk weight, Wald, Newcombe confidence interval confidence interval, treatment effect, randomization, proc freq, macro definition source 8
20 An alternate log axis using SAS PROC GPLOT Lucius Reinbolt It is typical in the pharmaceutical industry to plot Pharmacokinetic data using a log axis. Pharmacokinetic data is assumed to be log normally distributed. Setting the axis statement to use a log base of 10 allows SAS PROC GPLOT to create semi-log plots. These plots use intervals that correspond to the orders of magnitude as opposed to the standard linear scale. Each unit increase on the log scale represents an exponential increase in quantity for the given base. This gives the graph an appearance of having uneven tick marks. Also, these log plots will often force the upper or lower axis value to go up to the next power of 10, potentially leaving a lot of dead space in the graph. This can cause the range of values to look condensed and make it difficult to see a pattern. Sometimes it is necessary to remove this dead space while maintaining the log appearance of the graph sample, proc gplot source 7
21 Analysis of Concomitant Medication Data Joseph J. Hantsch,
Karl Miller
Concomitant medication (in parlance, conmeds) collection is mandated by GCP for clinical trials. However, conmeds are frequently unanalyzed. Well-analyzed conmeds can indicate which adverse events and first-line medications are linked to the experimental medication and which medications may interact. The integrated summary of safety (ISS) provides an opportunity to perform a good concomitant medication analysis before the approval process is complete and in time for label writing. Any concomitant medication analysis must consider all trial subjects exposed to both experimental medication and the placebo. Analyzing the placebo exposed subjects provides information about a baseline level of concomitant medications. Any category of medications which exceeds a pre-determined threshold, often 5% of the safety population, is reported. In CDISC, concomitant medication data is reported in the CM domain concomitant medications, adverse events, clinical trial, cdisc source 4
22 Anatomy of a Merge Gone Wrong James Lew,
Joshua M. Horstman
The merge is one of the SAS programmer's most commonly used tools. However, it can be fraught with pitfalls to the unwary user. In this paper, we look under the hood of the DATA STEP and examine how the program data vector works. We see what's really happening when datasets are merged and how to avoid subtle problems merge statement, pdv, by group processing, out= source 5
23 Application Interface for executing a batch of SAS Programs and Checking Logs Sneha Sarmukadam The most convenient way to execute multiple SAS programs of interest is by running them together in a batch. Usually, a programmer would think, ' what better way than to create a "batch file" (.bat) for this purpose? ' This is definitely the right solution. But, programmers do not usually stop at a batch run. They might also have to check the log files generated - either manually or by using a SAS macro. Since, these two are routine tasks which are performed manually in our clinical domain , what if we combine both these operations in one application - an application which, with just a few clicks, can carry out all the above activities? To serve this purpose, I have created a simple application - EzeeApp. In this paper, we shall see what EzeeApp is; learn how to use it and how beneficial it is to a SAS programmer excel, sas programmer source 5
24 Array, Hurray, Array; Consolidate or Expand Your Input Data Stream Using Arrays William E. Benjamin Jr. You have an input file with one record per month, but need a file with one record per year. But you cannot use the TRANSPOSE procedure because other fields need to be retained or the input file is sparsely populated. The techniques shown here enable you to either consolidate or expand your output data using arrays. Sorted files of data records can be processed as a unit using "BY Variable" groups and building an array of records to process. This technique allows access to all of the data records for a "BY Variable" group and gives the programmer access to the first, last, and all records in between at the same time. This will allow the selection of any data value for the final output record proc step, numeric variable, proc print, excel, dataset source 10
25 Atypical Applications of the UPDATE Statement John Henry King This paper explores uses of the UPDATE statement as it relates to programming clinical trials data. The UPDATE statement is often overlooked as tool for clinical trials programming, indeed it is often difficult to see how its transaction processing paradigm is directly applicable to programming tables, figures, and listings. Most of us know MERGE and SET, and they along with SQL suffice for most applications. This paper attempts to show through examples how the UPDATE can be applied to clinical trials programming problems update statement, transaction data, missing value, clinical trial, by group processing, output, excel source 5
26 Automated Validation of Third Party Data Imports Pranav Soanker When studies are outsourced to a Contract Research Organization (CRO) by a pharmaceutical company (client) they can include the requirement of using a third party database to configure and report study da ta. Once a study starts, in-stream changes to the structure of these databases can impact program f unctionality and/or create delays in development, either of which can be time and resource intensive. Therefore at the start of the study it is critical to have a consensus between the third party vendor and the CRO on the database structure to ensure imports throughout the study are consistent. After an initial agreement is reached a test transfer is typically performed to validate the import against the agreed up on specifications. Previously this validation was a manual process that, though critical, was cumbersome and required differences to be noted and compiled separately data cleaning, proc step source 7
27 Automating the Footnote Generation Sonali Garg,
Catherine DeVerter
Footnotes are always needed in outputs for clinical trial analysis. Due to this need programs often get littered with too many footnote statements, especially the programs which produce multiple outputs. What if a standard footnote could be included in every output produced without having to include a FOOTNOTE statement in each program? What if you could renumber standard footnotes without having to edit your programs? This paper will show how SAS programmers can automate the numbering of footnotes or titles without changing their programs. The method discussed in this paper will make use of the SQL procedure and SASHELP views footnote statement, macro variable, proc step, proc sql source 4
28 Automating the Labeling of X- Axis Sanjiv Ramalingam Labeling of the X-axis usually involves a tedious axis statement specifying tick marks and typing labels for each of the time points. A methodology to implement and automate the generation of the axis statement for X-axis labeling with real time representation of the X-axis is discussed macro variable, proc step, proc sql source 5
29 Automating Validation of Define.xml using SAS Prafulla Girase,
Robert Agostinelli
There are various methods that can be used to validate the define.xml. A community version of OpenCDISC is a popular and efficient way to validate define.xml. However, since it may not cover everything, it is important to supplement it with other validation checks to ensure the accuracy, validity and completeness of your define.xml. To do this additional validation manually can be cumbersome and time consuming. Since the define.xml is a machine readable file, it is possible to automate many of these additional validation checks. In this paper, we discuss an automated SAS-based approach. One important technique that makes this possible is getting define.xml contents into SAS data sets using a XMLMap. Once the define.xml contents are transformed into SAS data sets, one can perform a variety of tasks or checks using the flexibility and power of SAS. We developed several custom validation checks in our macro data cleaning, dataset, proc step, excel, macro call, cdisc source 8
30 Avoiding SAS Data Set Locks in a Windows Environment Brandon Graham,
Scott Osowski
If you have ever worked in a Windows environment where SAS data sets were stored in a common folder accessed by multiple users, you have likely encountered the frustrating situation of SAS data sets being locked by another user. This is a common occurrence when a reviewer or another programmer has opened the data set from the shared directory for viewing. This paper details a solution to avoid SAS data set locks through SAS and Windows registry modifications which alter the way SAS data sets are opened for viewing and help ensure the source data sets are not locked for other users dataset, work library, macro loop, macro conditional source 10
31 Bayesian Analysis of Survival Data with SAS PHREG Procedure Ryan Brady Bayesian analysis has advantages in flexibility and ease of interpretation, but is mathematically complex and computationally intense. Fortunately, the SAS BAYES statement obscures much of the complexity, allowing statisticians and programmers to easily take advantage of that increased flexibility. The BAYES statement is available for four procedures, including PHREG, which is used for analysis of survival data using the Cox proportional hazards model. PROC PHREG uses the partial likelihood as the likelihood, and uses a MCMC Gibbs sampler to generate a posterior distribution. Diagnostic plots are available to determine sampler properties such as mixing, convergence and stationarity bayesian statistics, sample, markov chain, clinical trial, monte carlo, hazard ratio, proc phreg, cpu time, posterior probability, likelihood function, sample size, proc step source 8
32 Be a Dead Cert for a SAS Cert: How to prepare for the most important SAS Certifications in the Pharmaceutical Industry Hannes Engberg Raeder It is a fact that SAS has become the standard for a nalyzing and reporting clinical data in the pharmac eutical industry, thus it is one of the most important tool s for the clinical database programmer, statistical programmer and statistician. Getting certified raises your ove rall programming awareness, improves the quality of your work and, earns official recognition from SAS. There are currently three certifications of relevance for th e clinical SAS programmer; SAS Certified Base Programmer, SAS Cert ified Advanced Programmer and SAS Certified Clinica l Trials Programmer. However, lack of time and good l earning strategies are potential obstacles that may discourage candidates from trying. Based on my own experience, the aim of this paper is to provide an overview, resources for self-study and advice on dealing with practical aspects like integrating learning into d aily work and on the exams themselves such as the type of questions encountered and exam strategy sas programmer, clinical trial, pharmaceutical industry, sas 9, macro facility, proc sql, clinical data, proc step, sas programming, macro definition, clinical database, raw data, proc compare, statistical programmer source 10
33 Beep, Beep, Beep, Back It Up! A Fool Proof Approach to Archiving with no Copying Kristen Reece Harrington Have you been asked to revise a derivation and then several months later asked to revert back to the previous derivation code? Or when a project ends, were you asked to remove it from the network to free up space? What if Archival Software is not an option? This paper presents an "archiving" macro (%Archive()) which takes the contents of a directory, including subdirectories, and creates a zip file which contains all files and mirrors the parent's directory structure. Like magic, your code is saved and easily retrieved! Using an elaborate array of SAS functions, an X command, and WinZip, the archiving macro determines the execution location and the contents of the subdirectories associated with that location. With virtually no specified parameters, anyone can archive and look like a pro macro variable, macro loop source 3
34 Bring Excel file with SDTM data in multiple sheets to SAS Mindy Wang In today's work place, EXCEL files seem to be the most common files that we deal with. Sometimes we encounter data come in as an EXCEL file with multiple spread sheets. This paper illustrates three approaches as to bring the spread sheets with SDTM data into SAS, where each sheet becomes a SAS data set. This first method is using DDE (Dynamic Data Exchange). The second method is using a simple macro program to import the multiple spreadsheets one by one. This third method is setting up the EXCEL file as a SAS library and bring in each sheet as a member in the library. The last method is definitely very convenient and easy to use when there are many sheets involved excel, dataset, cdisc source 7
35 Building Traceability for End Points in Analysis Data Sets Using SRCDOM, SRCVAR, and SRCSEQ Triplet Xiangchen (Bob) Cui,
Tathabbai Pakalapati,
Qunming Dong
To be compliant with ADaM Implementation Guide V1.0, traceability feature should be incorporated to possible extent in study analysis datasets. SRCDOM, SRCVAR, and SRCSEQ triplet are used to establish data point traceability in ADaM datasets. It can facilitate the transparency in FDA submission data, build confidence in analysis results, help efficient programming validation, speed up the overall review progress by FDA reviewers, and build a good relationship with FDA reviewers. This paper provides various examples of applying SRCDOM, SRCVAR, and SRCSEQ triplet to establish traceability in efficacy ADaM datasets from Cystic Fibrosis therapeutic area, and shows the art of applying the triplet to different scenarios adam dataset, sample, adamig, cdisc source 12
36 Can you export all the datasets into Excel for me? - A small dynamic macro that does it as fast as they think it should. Steven C. Black The purpose of this paper is to demonstrate the power of utilizing PROC SQL, the macro language, and the EXCELXP tagset to complete a seemingly simple task of exporting a number of datasets into a single EXCEL workbook. The secondary purpose of the paper is to briefly explain each section of code moving from basic syntax to a dynamically driven efficient code which let's SAS do all the hard work for you. The final result is code and an understanding which is transferable to any project with a limited number of key strokes macro variable, proc step, excel, proc template, proc report, proc sql, macro facility, output delivery system, xls, macro loop, macro definition, %if-%then-%else source 8
37 Clinical Reporting by Elements Magnus Mengelbier The reporting of clinical data within Life Sciences is a common and continuous process. The advent and pressures exerted by requests for short reporting timelines, real time data access and multiple channels of information may impact classical methods of data and information management in a very negative way. We consider common industry processes to generate, manage, verify and document summaries, and how this environment can be optimised. The current form of the programs, output formats and quality assurance requirements require several manual tasks that are time consuming, intensive and may require a larger accumulation of risk of reporting inconsistencies within summaries. We extend new paradigms in generating summaries to keep abreast of requests for real-time access to information while retaining the control over standards, quality and consistency raw data, clinical data source 9
38 Clinical Trials: If You Can Explain Them to Second Graders, You Can Explain Them to Anyone! Lara E.H. Guttadauro We work in a technical field and face complicated challenges daily. Discussing these issues with like-minded colleagues can be difficult at times. Another layer of complexity is added when you need to explain an issue to professionals outside your department. Yet another layer is added when you try explaining your career to friends and family. Now imagine explaining clinical trials to second graders! This is the challenge I faced when asked to participate in career day at my daughter's school. In this paper, I share my career day experience with hopes that you can benefit the next time you have a challenging issue to explain to a diverse audience clinical trial, sas programming, sas programmer source 5
39 Coding For the Long Haul With Managed Metadata and Process Parameters Mike Molter How robust is your SAS code? Put another way, as you look through your program, how sensitive is it to changing circumstances? How much code is affected when, for example, the names of data sets to be analyzed or the names of variable within those data sets change? How are those changes expected to be implemented? In this paper we discuss program optimization and parameter management through the use of metadata. In the wide open, free- text environment of Base SAS, we too often worry more about getting results out the door than producing code that will stand the test of time. We'll learn in this paper how to identify process parameters and discuss programming alternatives that allow us to manage them without having to touch core code. We'll look at SAS metadata tools such as SQL Dictionary tables and PROC CONTENTS, as well as tools for reading and processing metadata, such as CALL EXECUTE proc step, call execute, proc contents, dictionary tables, proc sql, proc freq, attrib statement, macro facility, proc sort, create table, set statement, sas base, macro parameter, macro variable, data cleaning, missing value source 20
40 Combining Analysis Results from Multiply Imputed Categorical Data Bohdana Ratitch,
Ilya Lipkovich,
Michael O'Kelly
Multiple imputation (MI) is a methodology for dealing with missing data that has been steadily gaining wide usage in clinical trials. Various methods have been developed and are readily available in SAS PROC MI for multiple imputation of both continuous and categorical varia bles. MI produces multiple copies of the original dataset, where missing data are filled in with values that differ slightly between imputed datasets. Each of these datasets is then analyzed using a standard statistical method for complete data, and the re sults from all imputed datasets are combined (pooled) for overall inference using Rubin's rules which account for the uncertainty associated with imputed values. Rubin's pooling methodology is very general and is essentially the same no matter what kind of statistic is estimated at the analysis stage for each imputed dataset. However, the combination rules assume that the estimates are asymptotically normally distributed, which may not always be the case imputation, odds ratio, proc step, logistic regression, regression analysis, proc mianalyze, multiple imputation, treatment arm, logistic distribution, proc calis, nominal variable, clinical trial, treatment effect, proc mi, out=, missing value, degrees of freedom, normal distribution, significance level, type i error, interval variable, baseline, proc freq, chi-square distribution, confidence interval, proc logistic, power analysis, binomial distribution, estimate, visit, correlation, data step, response variable, likelihood function source 19
41 Combining First Page of Multiple RTF Outputs in SAS using Bookmark and VBA Macro Ajay Gupta In order to expedite the review process and save programming time, it would be helpful if the programmer could create a document containing the first page of all the tables and listings. This will help both programmer/reviewer to review all tables and listings formats at once, and if required, make necessary updates. Traditionally, the programmer/reviewer has to open each table and listing to check the report formatting which can be tedious and prone to error, especially if there are too many reports. Unfortunately, SAS does not provide a function to get the first page of the rtf report. In my previous paper, I introduced a method to combine multiple rtf outputs. This paper will introduce a method to get the first page of each rtf document using bookmark, and later, combine the multiple documents (all first pages from respective reports) into one document in SAS using word basic commands and VBA macros via DDE (Dynamic Data Exchange) data step, macro variable, ods rtf, do loop, macro call source 8
42 Combining SAS LIBNAME and VBA Macro to Import Excel file in an Intriguing, Efficient way Ajay Gupta There are different methods such PROC IMPORT/LIBNAME to Import EXCEL file using SAS. While importing the data in SAS, due to technical limitations these traditional methods might corrupt your data by applying their own automatic formatting. Few examples are, importing column with mixed data types in numeric format or importing the regular data containing hyphen/slash/colon/letter 'e' into date/time/scientific formats. The best way to avoid automatic formatting is to import EXCEL data into pre-defined format for e.g. character. This paper will introduce a unique method where EXCEL file is imported using a combination of Visual Basic for Applications (VBA) macro via Dynamic Data Exchange (DDE) in SAS and SAS LIBNAME statement. This convenient and reliable solution will help SAS Programmers/Statisticians to have better control over the quality of data and save significant time with minimal coding excel, dataset, macro call, libname statement, proc step, sas programmer source 7
43 Communication of Statistical Findings by Tables and Graphs Howard Liang When communicating clinical trial results, tables summarizing data are useful. However, if we have data summarized by graphs in addition to tables, then the presentation will be more effective. Moreover, since the summary statistics do not explain what actually happen to individual subjects, if we add some graphical display of individual data, then we can make our conclusion more convincing. Examples will be used in this paper to show how to convert the summary statistics in a table to graphs and how to create graphs for individual subjects using the SAS/GRAPH GPLOT procedure clinical trial, create table source 12
44 Conditional Processing Using the Case Expression in PROC SQL Kirk Paul Lafler The SQL procedure supports conditionally selecting result values from rows in a table (or view) in the form of a case expression. Similar to an IF-THEN construct in the DATA STEP, a case expression uses one or more WHEN-THEN clause(s) to conditionally process some but not all the rows in a table. An optional ELSE expression can be specified to handle an alternate action should none of the expression(s) identified in the WHEN condition(s) be satisfied. This paper will illustrate the basic syntax associated with the two forms of case expression along with examples of each proc sql, if-then-else, character variable, missing value, proc step, select source 8
45 Considerations in Data Modeling when Creating Supplemental Qualifiers Datasets in SDTM-Based Submissions Fred Wood The Supplemental Qualifiers datasets described in the Study Data Tabulation Model (SDTM) and SDTM Implementation Guide (SDTMIG) provide a standard structure for the submission of non-standard variables (NSVs). Their naming follows the convention of SUPP--.xpt, where the two hyphens represent the two-letter domain code of the parent domain to which the NSVs belong. Despite the intended content of the SUPP-- datasets, instances have occurred where sponsors often include data in these that would actually be more accurately represented as either a separate domain or as additional records in the parent domain. Another challenge for sponsors lies in determining the merge key (represented in the IDVAR variable in SUPP-- datasets). When this is not chosen correctly, the values for the NSVs may appear on inappropriate parent records when data in the NSVs get merged onto the parent domain controlled terminology, sdtmig, cdisc source 12
46 Considerations in the Use of Timing Variables in Submitting SDTM-Compliant Datasets Jerry Salyers,
Richard Lewis,
Fred Wood
Often, the appropriate use and population of Timing variables can present many challenges for sponsors when converting their operational database or legacy data to an SDTM-compliant format. This presentation will discuss some of the issues commonly seen in three general areas. The first of these is where the case report form (CRF) allows for checking an "ongoing" or "continuing" box in lieu of providing an end date. In such cases, the SDTM-based datasets require the use of the Relative-Timing variables (i.e., --STRF, --ENRF, --STTPT, --STRTPT, --ENTPT, and --ENRTPT) sample, controlled terminology, adverse events, cdisc source 6
47 Creating a Batch Command File for Executing SAS with Dynamic and Custom System Options Gary E. Moore You would like to customize your Windows SAS environment, but as an employee or contractor without administrative privileges, you can't make the necessary changes to the configuration file in the !SASROOT directory. Or perhaps you would like to dynamically assign the destination of the .LOG and .LST file. How do I accomplish these with only user privileges? With a little knowledge of the Batch Command Language, you can create a batch file that will invoke SAS with the system options you need. This paper describes how this can be accomplished and gives examples of using batch files and the SAS System Options at SAS invocation options statement, do loop source 5
48 Creating a Clinical Summary Table within a Single DATA Step with the Dynamic Trio: DOSUBL(), Hash Objects, and ODS Objects Joseph W. Hinson SAS 9.3 provides new features like the DOSUBL function, which allows PROCs to be called within a DATA STEP, and makes the procedure output immediately available to the same DATA STEP upon procedure exit. This property of DOSUBL makes it somewhat superior to Call Execute. SAS 9.3 also features an updated ODS Report Writing Interface (RWI), an object-oriented pre-production tool that provides great flexibility in controlling how data appear in tables and figures. The Hash object interface, first introduced with SAS 9, is offered again with a few new methods. These three tools can interact within the DATA STEP: clinical data can be processed by calling statistical PROCs with DOSUBL, the results organized with hash objects, and the hash data transformed into a final report with the ODS RWI object. This novel approach very much streamlines the intricate task of managing different procedure outputs to generate a clinical summary report hash table, proc step, sas output, dosubl, demographics table, hash iterator, proc freq, proc means source 14
49 Creating and Customizing the Kaplan-Meier Survival Plot in PROC LIFETEST Warren F. Kuhfeld,
Ying C. So
If you are a medical, pharmaceutical, or life sciences researcher, you have probably analyzed time-to-event data (survival data). One of several survival analysis procedures that SAS/STAT provides, the LIFETEST procedure computes Kaplan-Meier estimates of the survivor functions and compares survival curves between groups of patients. Y ou can use the Kaplan-Meier plot to display the number of subjects at risk, confidence limits, equal-precision bands, Hall-Wellner bands, and homogeneity test p-value. Y ou can control the contents of the survival plot by specifying PROCEDURE OPTIONS with PROC LIFETEST. When the PROCEDURE OPTIONS are insufficient, you can modify the graph templates with SAS macros. This paper provides examples of survival plot modifications using PROCEDURE OPTIONS, graph template modifications using macros, and style template modifications kaplan-meier plot, macro variable, proc step, macro definition source 20
50 Creating Customized Spaghetti Plots Sanjiv Ramalingam Line Plots of individual subjects grouped by treatment for a parameter of interest can be used to observe the parameter of interest over time. The individual subject line plots are distinguished by unique symbols for each subject and the treatment associated with each subject is distinguished by different line styles. The plot also includes a double legend for subject identification and for associated treatments. A graph with such features is not directly implementable by SAS graphical procedures. A methodology including the use of the annotate feature used to implement such a graph is discussed in the paper line chart, group by source 4
51 Creating High Quality Statistical Graphs for Publications Kriss Harris Do you want to produce high quality graphs for publications or presentations? Do you want to add p-values on the graphs with annotations that show which groups are being compared? Do you want to learn more about the DPI option and how to use it? If you answered yes to any of the questions or have an interest in SAS Graphics then this paper is for you. This paper will demonstrate how to do the above plus show how to create first-rate Kaplan Meier Graphs, and Forest Plots using SAS 9.2 forest plot, graph template language, proc means, box plot source 8
52 Customizing Survival Plot Using ODS Graphics Template Language Fang Dong SAS has made enormous strides in advancing its statistical graphics capabilities over the last several releases of the software. Specifically, starting from SAS 9.1 when the ODS Graphics were experimental, to SAS 9.2 when ODS Graphics became production, and to SAS 9.3 where over 80 procedures now utilize the ODS Graphics capability. It is imperative for the programmer, including the veteran, to keep up with the advancement in order to produce highly customized quality graphs. This paper describes several key language components necessary to produce a highly customized graph. While the example is specific to a survival plot, the concepts should apply to customizing any other graphs kaplan-meier plot, proc step, proc means, macro definition, sample, output delivery system, macro variable source 10
53 Dances with Box Plot Xuefeng Yu Box plot is one of the basic, but commonly used graphic tools to display the distribution of data. Making a box plot with SAS can be as easy as using a single SAS procedure, such as PROC UNIVARIATE, with specific options. It can also be complicated in some situations where the data distribution needs to be displayed in details. This paper illustrated various SAS procedures for box plot, including the new procedures in SAS 9.2 and SAS 9.3. An advanced programming approach is discussed in detail to show how to combine a box plot with scatter plot box plot, proc step, proc sgplot, proc boxplot, proc univariate, scatter plot, outlier source 9
54 Data Standards Will Be Required: Challenges for Medical Device Submissions Carey G. Smoak,
Kit Howard,
Fred Wood,
Rhonda Facile
On October 25, 2012, the FDA made a clear statement at the annual CDISC Interchange in Baltimore, Maryland that electronic standards such as those developed by CDISC will be required. This has particular implications for medical device submissions due to the lack of familiarity with CDISC standards by sponsors and the FDA. While the FDA does accept SDTM domains for medical device submissions, there is currently no consistent data standards and/or requirements for medical device submissions. CDRH is required to develop standards for submissions and the work of the Device Team will be important in developing these standards. The Device Team (in cooperation with the FDA) has developed seven new SDTM domains. However, much work remains to define the standards for submission of medical device data in an electronic format. To that end a CDISC pilot with CDRH is planned. This paper will focus on the challenges for sponsors and the FDA in defining these standards sdtm domain, controlled terminology, cdisc source 5
55 Data Visualization Power Tools: Expedite the Easy, Implement the Difficult, or Handle Big Data LeRoy Bessler The power tools are SAS macros for ODS Graphics or SAS/GRAPH. You can use them As Is, modify them for similar, but different, tasks, or learn from them to build new solutions for very different problems. Power tools enable you to create results quickly and easily. Power tools that are poorly designed enable you to create scrap quickly and easily. Here, the standard of good design is communication effectiveness of the result. Some of the tools presented can enable you to show what's important when confronted with too much information, and to fit whatever is of importance into the web browser window, preventing any need for scrolling. To interpret a picture, you need to see the whole picture at one time. Other tools presented, which are not web-specific, but can be used in that context, enable you to get the best result out of SAS graphic software with minimal coding bar chart, proc step, macro call, horizontal bar chart, ods html, sas log, proc sgplot, macro loop, macro definition, proc gplot, macro conditional, macro variable, if-then-else, line chart, sas output, macro parameter, macro facility, sample source 68
56 Data Visualization Tips and Techniques for Effective Communication LeRoy Bessler This tutorial presents my principles of communication-effective data visualization, and shows widely usable ways to implement them with new technology (ODS Graphics and Statistical Graphics Procedures), or, when it is the better choice, old technology (SAS/GRAPH Procedures). Most of the solutions use the new technology, which is imbedded in Version 9.3 of Base SAS software at no additional cost. I identify what the new technology can do best, and what to be wary of when using that technology output delivery system, bar chart, series plot, proc step, time series analysis, ods listing, proc sgplot, ods graphics, if-then-else, line chart, horizontal bar chart, proc sgpanel, ods html, order by, proc template, title statement, proc gplot, excel, label statement source 55
57 DataSetBuilder - An Application for Creating Edit Check Test Cases within SAS Data Sets by Non-Programmers Richard Addy Validating edit checks is a necessary but cumbersome process - individual test cases must be created, and complex checks require many records across multiple data sets. The person validating the checks might not be a SAS programmer, and creating these records is a non-trivial task. Documentation of the test cases can be sparse (or non- existent), and it may be difficult for a second party to confirm the successfulness of the validation. We approached these problems by combining several tools to better handle sections of the validation process. The primary engine of the application is a SAS program (DataSetBuilder or DSB) which modifies the contents of SAS data sets based on the specifications of a validator. A macro-enhanced EXCEL spreadsheet is the intermediary between the validator and DSB; this spreadsheet has numerous tools to quickly and efficiently specify test cases data validation rules, data cleaning, excel, sas programmer, dataset source 9
58 Defensive Programming and Error-handling: The Path Less Travelled Tracy Sherman,
Angela S. Ringelberg
Defensive programming detects logic errors by determining whether the code represents a proper implementation of the specifications. Thus, defensive programming is a prospective approach that anticipates logic errors, even those not yet discovered. Once a logic error is identified, messages are written to the SAS log and, possibly, additional diagnostics commences. The process emulates a thought experiment that reduces logic errors. This paper explains defensive programming and error-handling techniques based on the implementation of CDISC ADaM (analysis) data sets, which can be easily extended to other programming tasks proc freq, proc step, adverse events, adam dataset, analysis set, sas log, concomitant medications, laboratory data, per protocol, excel, outlier, clinical trial, cdisc source 9
59 Deployment of SAS Programming Contract Staff: Pathway to Sinkhole or Best Strategy for Programming Division? Parag Shiralkar In pharmaceutical industry various factors decide the budget associated with the SAS programming service. These factors often relate to hiring policies, roles and responsibilities defined within the organization, and strategy defined by upper management as far as utilization of budget is concerned. Traditionally, SAS programming is often considered as an 'allied' function supporting other 'main' functions like Statistics and data management. Considering these circumstances and substantial fluctuation in resourcing needs, programming division is often 'forced' to adopt a strategy of hiring contract staff. Contract staff deployment in SAS programming often provides lot of benefits to the programming division. Such benefits are realized through co-employment risk reduction and no obligation for the division to keep the augmented contract staff on-board when project is over clinical trial, clinical data, data science, clinical research, pharmaceutical industry source 5
60 Derived observations and associated variables in ADaM datasets Arun Raj Vidhyadharan This paper focuses on the observations that we derive in ADaM datasets for various reporting and statistical requirements. It also gives an insight to the derived variables that are associated with these derived observations and explains how they are related to each other adam dataset, sdtm domain, cdisc source 7
61 Designing and Tuning ADaM Datasets Songhui Zhu The developers/authors of CDISC ADaM Model and ADaM IG made enormous effort to give detailed guidance on implementing ADaM for clinical study data. However, due to the complexity of the clinical trials, they also give the users some flexibilities while implementing ADaM standards. Even so, in practice, creating CDISC-compliant ADaM datasets is not easy. In some cases, a bad choice in the early stage may result that the datasets are not CDISC-compliant and almost impossible to make them CDISC- compliant in the end. This paper will present author's practice on some critical choices while designing the data structures of ADaM datasets adam dataset, trial elements, imputation, adverse events, cdisc source 9
62 Doctoring Your Clinical Trial with Adaptive Randomization: SAS Macros to Perform Adaptive Randomization Jenna Colavincenzo Adaptive randomization schemes have become increasingly common in beginning stages of clinical trials and in small clinical trials. This paper introduces two kinds of adaptive randomization schemes (treatment adaptive randomization and covariate adaptive randomization) and discusses the benefits and limitations of each. In addition, this paper demonstrates how to use SAS macros to perform these adaptive randomization schemes in a clinical setting, and how these macros can be modified to fit your randomization needs randomization, sample size, sample, clinical trial, group by, treatment effect, proc freq source 9
63 Doing the hashwork: Using the DATA step hash object to perform common clinical programming chores Miles Dunn The hash table is a widely used data structure in object oriented programming languages. The addition of the hash object to the base SAS software creates a small space of overlap between object oriented programming concepts and the procedural programming concepts used in SAS. The purpose of this paper is to give a taste of how object oriented programming concepts can be applied to common clinical programming tasks hash table, normalization, hash iterator, data step, set statement, proc sql, data merging, lookup, pharmaceutical industry, format statement, sas base, call missing, proc step source 9
64 Don't Get Blindsided by PROC COMPARE Joshua M. Horstman,
Roger D. Muller
"NOTE: No unequal values were found. All values compared are exactly equal." In the clinical trial world, that message is the holy grail for the programmer tasked with independently replicating a production dataset to ensure its correctness. Such a validation effort typically culminates in a call to PROC COMPARE to ascertain whether the production dataset matches the replicated one. It is often assumed that this message means the job is done. Unfortunately, it is not so simple. The unwary programmer may later discover that significant discrepancies slipped through. This paper surveys some common pitfalls in the use of PROC COMPARE and explains how to avoid them proc compare, proc step, data cleaning source 5
65 Due (Data) Diligence: Study Data Review for Acquisitions Adam Young,
Steven R. Kirby
Drug companies are increasingly using acquisitions to leverage promising drug candidates. Ensuring that the price paid for a drug candidate is supported by clinical results naturally demands thorough review prior to purchase; but drilling down to investigate whether those results can be easily traced back to the clinical data can be neglected until close to the time of a regulatory submission. As companies work to identify and purchase promising drugs, available study data should be carefully evaluated for consistency with regulatory submission requirements. Small deviations from submission requirements for study data can have a dramatic effect on timelines and cost. If those issues are identified early in the acquisitions process, mitigation plans can be put into place to minimize downstream impact and price can be adjusted to reflect the added time and effort needed to get the drug to market data cleaning, clinical data source 6
66 Dynamic Project Setup and Programming Using SAS Automatic Macro Variables and Environment Variables Gary E. Moore Often, we find ourselves working on multiple projects with multiple programmers. The projects are located in various directories. Some programmers prefer a particular editor, while others prefer working in the Display Manager System. All of the work, no matter how it was developed, will need to come together at completion and be updated. In this working environment it is important to have a flexible way to assign library names and create programs that will work no matter where the project is located or which programmer is working on it. This paper presents dynamic code using SAS automatic macro variables and environment variables that help resolve the conflicts that can occur in this working environment macro variable, automatic macro variable source 3
67 Effective Independent Validation: Tips to Improve the Independent Validation Process Daniel Butner,
Brandon Graham
Independent validation, a technique commonly used in the clinical research industry, is the act of two programmers working independently from a common set of specifications and comparing their results. This process enhances the quality of both the specifications and the output since the two programmers must reach the same result using independent approaches before it is considered "validated". Skilled SAS programmers who are effective at independent validation can greatly increase the quality and efficiency of a project. This paper examines the technical approaches that may be used to identify output differences between independent programmers. It includes approaches to validating data sets as well as "standard output" (e.g. table, list, or graph output). In addition, specific techniques to improve efficiency and detail are discussed. This paper also gives guidance on providing validation feedback data cleaning, sas output, unique key, proc compare, raw data, proc step source 6
68 Effectively Utilizing Loops and Arrays in the DATA Step Arthur X. Li The implicit loop refers to the DATA STEP repetitively reading data and creating observations, one at a time. The explicit loop, which utilizes the iterative DO, DO WHILE, or DO UNTIL statements, is used to repetitively execute certain SAS statements within each iteration of the DATA STEP execution. Utilizing explicit loops is often used to simulate data and to perform a certain computation repetitively. However, when an explicit loop is used along with array processing, the applications are extended widely, which includes transposing data, performing computations across variables, etc. Being able to write a successful program that uses loops and arrays, one needs to know the contents in the program data vector (PDV) during the DATA STEP execution, which is the fundamental concept of DATA STEP programming do loop, output, execution phase, array, conditional do loop, in=, out=, dataset, missing value, compilation phase, array bounds, implicit loop, temporary array, standard deviation, automatic variable, class variable, normal distribution, set statement source 17
69 Efficient Statistical Review Using the ExcelXP Tagset Bradford J. Danner Working with clinical trial data, and assisting in the preparation of programming deliveries needed for clinical study reports, as statisticians we are often confronted with the review of many outputs. Part of such a review often requires spot checking of numbers. Programmers are frequently required to produce series of individual outputs, created in an iterative manner from one or few centralized programs, so that all are cosmetically consistent. Alternatively, as a statistician, our goal is to efficiently review several related outputs from one or few comparative outputs. We have found that the use of the REPORT and PRINT procedures presented using the ExcelXP tagset, and some of the built-in options, provides an effective tool to centralize and accelerate review of many outputs produced from a SAS program or SAS dataset adverse events, quality control, csr, clinical trial, dataset, system organ class, create table, excel, proc step, proc sql, data cleaning source 5
70 Enhancements to Basic Patient Profiles Scott Burroughs Patient Data Viewers are becoming more prevalent in the pharmaceutical industry, but not all companies use them nor need them for all situations. Old-fashioned patient profiles still have use in today's industry, but how can they be enhanced? Missing data, bad data, and outliers can affect the output and/or the running of the program. Also, relying on analysis data sets that need to be run first by others can affect timing (vacations, out-of-office, busy, etc.). As always, there are things you can do to make them look prettier in general. This paper will show how to solve these issues and make the program more robust ods pdf, proc step, proc report, macro call, macro definition, %if-%then-%else source 11
71 Essentials of PDV: Directing the Aim to Understanding the DATA Step! Arthur X. Li Beginning programmers often tend to focus on learning syntax without understanding how SAS processes data during the compilation and execution phases. SAS creates a new data set, one observation at a time, from the program data vector (PDV). Understanding how and why each of the automatic or user-defined variables is initialized and retained in the PDV is essential for writing an accurate program. Among these variables, the following variables deserve special attention, including variables that are created in the DATA STEP, by using the RETAIN or the SUM statement, and via by-group processing (FIRST.VARIABLE and LAST.VARIABLE). In this paper, you will be exposed to what happens in the PDV and how these variables are retained from various applications input statement, automatic variable, dataset, output, by group processing, retain, missing value, sas log, compilation phase, execution phase, _n_, put statement, infile statement, subsetting if, error message, if-then-else, longitudinal data, raw data source 12
72 Everything You Need To Know About Standardised MedDRA Queries Rajkumar Sharma MedDRA (Medical Dictionary for Regulatory Activities) is very commonly used in Pharmaceutical and Biotech industry to classify adverse events information associated with th e use of biopharmaceuticals and other products. In order to retrieve cases related to drug safety problem, often user s combine MedDRA Preferred Terms from different System Organ Class (SOCs). The challenge with this approach is that different users may select different set of Preferred Terms to identify cases for the same drug safety problem. Also MedDRA has over ~ 18000 of Preferred Terms (PTs), which makes it difficult to group events that indicate the presence of condition that typically presents itself through different PTs. Standardised MedDRA Queries(SMQs) were developed to solve this problem. SMQs are grouping of MedDRA terms, ordinarily at the Preferred Term levels that relate to defined medical condition or area of interest adverse events, system organ class source 6
73 Experiences in Preparing Summary Level Clinical Site Data within NDA's Submission for FDA's Inspection Planning Xiangchen (Bob) Cui The Center for Drug Evaluation and Research (CDER) issued draft guidance in December 2012, which urges sponsors to submit a clinical dataset that describes and summarizes the characteristics and outcomes of clinical investigation at the level of the individual study site (summary level clinical site data). The agency uses it to facilitate use of a risk-based approach for the timely identification of clinical investigator sites for on-site inspection by CDER during the review of marketing applications. CDER approved Vertex Pharmaceuticals Incorporated two NDAs (hepatitis C and cystic fibrosis) in 2011 and 2012, respectively. This paper provides two different examples of preparing summary level clinical site data for these two drug NDAs. The sharing of hands-on experiences in this paper is intended to assist readers to fully prepare treatment arm, clinical trial, effect size, sample, primary endpoint, clinical data, phase iii, time-to-event endpoint, dataset source 19
74 Extend the Power of SAS to Use Callable VBS and VBA Code Files Stored in External Libraries to Control Excel Formatting Routines William E. Benjamin Jr. Did you ever wish you could use the power of SAS to take control of EXCEL and make EXCEL do what you wanted "WHEN YOU WANTED"? Well one letter is the key to doing just that, the letter "X" as in the SAS "X" Command that opens the door to all operating system commands from SAS. The Windows operating system comes with a facility to write a series of commands called scripts. These scripts have the ability to open and reach into the internals of EXCEL. Scripts can load, execute and remove VBA macro code and control EXCEL. This level of control allows you to make EXCEL do what you want, without leaving any traces of a macro behind. This is Power excel, sas enterprise guide, proc template source 12
75 Extending the PRX Functions with PROC FCMP Kunal Agnihotri,
Kenneth W. Borowiak
Beginning with SAS Version 9, users have been afforded the ability to perform complex string matching, replacement, and extraction with Perl regular expressions via the PRX functions and call routines. We present two user-written functions with PROC FCMP which extend the functionality of PRX. The first function (UPRXMATCH) augments the PRXMATCH function with two arguments, one which allows the users to control which position in the string to begin the match and the other to control whether the beginning or ending location of the string is returned. The second function (UPRXPOSN) eases the use of PRXPOSN by allowing the user to extract a capture buffer from a source in single call, as opposed to a sequence of calls to PRXPARSE, PRXMATCH and PRXPOSN proc fcmp, proc step, prxmatch, proc sql source 7
76 Flags for Facilitating Statistical Analysis Using CDISC Analysis Data Model Chun Feng,
Xiaopeng Li,
Nancy Wang
CDISC Analysis Data Model (ADaM) is designed to be analysis-ready for statistical summary and analysis. Driven by analyses in Statistical Analysis Plan (SAP), correct analysis flags should be set up in ADaM data sets prior to analyses. The ADaM subject-level analysis data set (ADSL) contains subject-level population flags which indicate whether subjects are in efficacy, safety, pharmacokinetic, pharmacodynamic, food effect, and dose proportionality analyses. In Basic Data Structure (BDS) data sets, common record-level analysis flags include, for example, recheck flags, flags for exclusion, baseline flags, early termination identifiers, and treatment emergent flags. However, from our early phase clinical trial experience with ADaM, some analyses require additional customized analysis flags data science, bds, adverse events, clinical trial, shift table, trial elements, proc freq, cdisc source 6
77 Four Useful VBA Utilities for SAS Programmers David W. Franklin While the SAS Programmer can stick strictly to SAS, where are other languages that will assist in making their job a little easier. This paper presents four VBA macro utilities, with code - one that will take all ASCII text files in a directory and save them as Word files; a second will print out the first two pages of all Word files in a directory; a third will take all Word files and concatenate these into a single Word file; and finally last but not least, a VBA macro that will search though all the LOG files in a directory and put any issues found into a Word file for review conditional do loop, sas programmer, sas log source 9
78 From Standards that Cost To Standards that Save: Cost Effective Standards Implementation Jeffrey M. Abolafia,
Frank C. DiIorio
Recent FDA guidances have made CDISC models the de facto standard for submissions. These standards are the foundation for systems that can improve workflow throughout the project life cycle. They create uniformity of metadata and data structures, which, in turn, provides an opportunity to write generalized, reusable code. When implemented properly, standards have tremendous potential for cost savings throughout the project life cycle. However, when implemented poorly, producing CDISC- compliant deliverables can actually increase the time and cost of drug development adam dataset, sdtm domain, clinical data, data governance, clinical research, clinical trial, data integration, data science, data standard, cdisc source 9
79 Get in line! How to make your data alignment easy! Ying (Evelyn) Guo On data-driven output, we strive for alignment of data that allows for ease of analysis and greater readability. While some outputs need left- or right-alignment, others need decimal-alignment or even alignment with brackets. To make the outputs visually pleasing, column centering is usually preferred, requiring that final datasets are lined up as desired. In order to achieve this, spaces are added to each column. When a column has values of various types, such as with a table having means, standard deviations, and ranges, consistent alignment is especially time- consuming. Instead of manually adding spaces for each value in that column through trial-and-error, the SAS macro program which I developed automatically lines up the values in each column according to a user-specified character. It can automatically search values in a given column, identify the location of the specified character, and add necessary spacing before or after the value to meet the alignment rules macro definition, index source 4
80 Getting Ready for PDUFA V - The New "GCP": Governance, Communication, Planning Joanna Koft With the recent approval of PDUFA V legislation, sponsors are both encouraged and hesitant of what lies ahead. For many, the day has come where upper management can finally be told…these data standards are required for submissions. For others, perhaps a blessing in disguise. For all, we now need to strategize and plan for our road to success in data standards implementation. This presentation will follow the 3 critical strategies for success: Planning, Communication, and Governance. Having gone through multiple standards-based submissions, these three strategies have been identified as key to accomplishing the daunting task of conformance. I will discuss the three strategies including lessons learned and recommendations for future submissions data standard, clinical programming source 5
81 Give the Power of SAS to Excel Users Without Making Them Write SAS Code William E. Benjamin Jr. Merging the ability to use SAS and Microsoft EXCEL can be challenging. However, with the advent of SAS Enterprise Guide, SAS Integration Technologies, SAS BI Server software, JMP software, and SAS Add-In for Microsoft Office; this process is less cumbersome. EXCEL has the advantages of being cheap, available, easy to learn, and flexible. On the surface, SAS and EXCEL seem widely separated without these additional SAS products. But wait, BOTH SAS AND EXCEL CAN INTERFACE WITH THE OPERATING SYSTEM. SAS can run EXCEL using the command and EXCEL can run SAS as an "APPLICATION." This is NOT DDE; each system works independently of the other. This paper gives an example of EXCEL controlling a SAS process and returning data to EXCEL excel, xls, data step, proc printto, conditional do loop, proc step, sas base, macro variable source 27
82 Good vs Better SDTM: Limitations as Operational Model Henry B. Winsor,
Mario Widel
The CDISC SDTM model since 2005 has demonstrated distinct advantages to FDA reviewers when they receive data in th is format. SDTM as well as ADaM are mentioned in FDA guidance as highly desirable, so more and more sponsors are including SDTM and ADaM as an integral part of the NDA/BLA/PLA submissions. While some sponsors create and submit these data sets as final products for review, others are trying to use these data sets , in particular SDTM, internally as well as in submissions. While there are distinct advantages to the latter method (fewer step s, a more efficient organization, etc.), there are many challenges that arise and need to be addressed before a sponsor can be in a position to successfully use SDTM internally. This paper addresses these challenges and offers a few proposed strategies that can be used to overcome them. Key Words: CDISC, SDTM, Operational Model crf, data review, cdisc source 4
83 Google Search Tips and Techniques for SAS and JMP Users Kirk Paul Lafler,
Charles E. Shipp
Google (www.google.com) is the world's most popular and widely-used search engine. As the premier search tool on the Internet today, SAS and JMP users frequently need to identify and locate SAS and JMP content wherever and in whatever form it resides. This paper provides insights into how Google works and illustrates numerous search tips and techniques for finding articles of interest, reference works, information tools, directories, PDFs, images, current news stories, user groups, and more to get search results quickly and easily source 6
84 Graph Your SAS Off Karena Kong This paper demonstrates three different SAS procedures for creating graphs. For illustration purposes, the bubble plot, which is created by these procedures, shows the ratio of broadband users (DSL, Cable, Other) ranked by population ("List of countries"). The three procedures are SAS/GRAPH - GPLOT, Statistical Graphics (SG) - SGPLOT and Graphics Template Language (GTL) - PROC TEMPLATE with SGRENDER. This paper will discuss the advantages and disadvantages between each one. Based on the comparisons, it recommends which procedure should be used to create a similar graph bubble plot, bar chart source 6
85 Handling Dynamic Variable Types in SAS Venkat Lajapathirajan The variable type plays a vital role in SAS datasets; it ca n be either numeric or character. If type changes on eac h data tra nsfer, programmers will ne ed to re vise a nalysis dataset sp ecifications an d programs mu ltiple times a nd it reducing effici ency, b urning additional hours an d affecti ng gross profit. This paper sh ows h ow t o h andle dynamic variable types through the m acro %ConvertType - this m acro converts the sp ecified input variable(s) to character type and the revised variable(s) can be referred in further developments macro call, character variable source 7
86 Hands-On ADaM ADAE Development Sandra Minjoe The Analysis Data Model (ADaM) Data Structure for Adverse Event Analysis1 was released by the Clinical Data Interchange Standards Consortium (CDISC) ADaM team in May, 2012. This document is an appendix to the ADaM Implementation Guide (IG)1, and describes the standard structure of the analysis dataset used for most of our typical adverse event reporting needs. This hands-on training focuses on creating metadata for a typical adverse event (AE) dataset. Attendees will work with sample SDTM and ADaM data, finding information needed to create the results specified in a sample set of table mock-ups. Variable specifications, including coding algorithms, will be written. Some familiarity with SDTM data, AE reporting needs, SAS DATA STEP programming, and Microsoft EXCEL is expected. Attendees will also learn how to apply the data structure for similar analyses other than adverse events adverse events, adam dataset, in=, concomitant medications, medical history, imputation, system organ class, cdisc source 7
87 How MEAN is T-test? Naina Pandurangi Statistical analysis is a blend of statistics and programming. Often the written description of the required analysis that is framed by the statistician may sound tricky to progr am and may make us fetch for the STAT procedures. But sometimes the underlying requirement can be easily derived using the regular basic non- STAT i.e. non-statistical SAS procedures! One such case is wh ere the t-test analysis is to be performed on one sample with the null hypothesis of population mean=0. This paper is going to explicate some steps on the bridge between the STAT and non-STAT SAS procedures with the help of two situations where the requ irement demands one sample t-test analysis and can be met using PROC proc step, proc ttest, sample, change from baseline, confidence interval source 4
88 How to make SAS Drug Development more efficient Xiaopeng Li,
Chun Feng,
Peng Chai
SAS Drug Development (SDD) is a web-based SAS system on UNIX operating system. Internet status, limited abilities to run multiple processes at a time and some SDD unique features take more time to operate a program in SDD. To run SDD efficiently is important for accomplishing tasks for programmers. In this paper, several methods that can make SDD more efficient will be examined clinical research, sas base source 6
89 If 'standard code' is so great ... Brian P. Fairfield-Carter Since CROs traditionally employ 'lean', 'do more with less' project teams, their use is increasingly attractive to sponsors as a cost-trimming solution. In the analysis and reporting world, the push for ever-greater efficiency typically focuses on the concepts of standardization and code re-use, and specifically on 'standard macro libraries'. But efficiency is an elusive concept: anyone who has performed code maintenance knows that gains in processor time can easily be dwarfed by issues of 'human readability', and that modifying code can turn out to be more time- consuming and error-prone than writing code from scratch; standard macros can be restrictive and involve a considerable learning curve. A review of conference papers dealing with 'standard code' illustrates a consistent thread: standard macro libraries, at least those involved in analysis and reporting, exist almost exclusively in the domain of pharmaceutical companies, and are virtually non-existent in CROs proc step, ctcae grade, data cleaning, sas base, proc freq, proc report, adverse events, adam dataset, group by, raw data, temporary dataset, proc sql, cdisc source 12
90 Implementation Considerations for PARAM/PARAMCD Using ADaM BDS Karl Miller,
Joseph J. Hantsch
One of the key variables to the Analysis Data Model (ADaM) Basic Data Structure (BDS) data set is the PARAM variable which describes the analysis parameter and is directly useable in Clinical Study Report (CSR) displays and/or analysis table headings. Current guidance consists of stuffing all essential information, including the full test name, specimen type, unit of measurement, etc. into PARAM and generating a system to squeeze this information into the eight characters of PARAMCD. Such PARAM variables frequently become too unwieldy for column headings in the CSR and analysis tables, and require an arcane process to generate a uniquely matched PARAMCD. Consequently, when too much data is stuffed into only eight characters an incomprehensible value is the result. Further, data set inquiries are hampered by an overly complex PARAM variable value adamig, bds, cdisc source 5
91 Implementation of Breast Cancer Risk Assessment Tool using SAS Yuqin Li,
Lihua Chen,
Xiaohai Wan,
Alan Chiang
In this paper, a SAS macro is developed to implement the breast cancer risk assessment (BCRA) tool designed by National Cancer Institute (NCI). The BCRA tool itself is based on a complex statistical model known as the Gail model. The Gail model provides an estimate of a woman's risk of developing invasive breast cancer over a specific period of time by utilizing an individual's demographic information and risk factors. Breast cancer risk factors considered in the Gail model include (1) the number of previous breast biopsies, (2) the presence of atypical hyperplasia in any previous breast biopsy specimen, (3) age at the start of menstruation, (4) age at the first live birth of a child, (5) the history of breast cancer among her first-degree relatives (mother, sisters, daughters), and (6) the individual's age and race. The statistical model calculates individualized invasive breast cancer risk in terms of probabilities based on both the relative risk and the baseline hazard rate hazard function, relative risk, out=, macro definition source 8
92 Imputing Dose Levels for Adverse Events John R. Gerlach,
Igor Kolodezh
Besides the standard reporting of adverse events in clinical trials, there is a growing interest in producing similar analyses in the context of exposure to treatment drug at the onset of an adverse event. Given an ADaM data set containing adverse events (ADAE), the intended analysis initially requires the inclusion of a variable denoting the dose level at the onset of an adverse event, called DOSEAEON. This variable would contain a null value for non- treatment emergent events, zero for placebo, and indicate the dose level, otherwise. Moreover, DOSEAEON would be used to create grouping variables for the actual analysis. This paper discusses the challenges of implementing a hierarchical methodology to determine the dose level at the onset of an adverse event adverse events, dose, proc compare, data cleaning, clinical trial, longitudinal data, missing value, trial elements, system organ class, nominal variable, proc sql, proc step, cdisc source 8
93 Introduction to the CDISC Standards Sandra Minjoe The Clinical Data Interchange Standards Consortium (CDISC) encompasses a suite of standards across the clinical space. The Study Data Tabulation Model (SDTM) and Analysis Data Model (ADaM) are probably the two standards most familiar to PharmaSUG attendees, but there are many others. This paper and presentation focus on the foundational standards of CDISC, from protocol to analysis reporting, along with data exchange and controlled terminology. Each of these standards is introduced, emphasizing how it fits into the big picture. Whether you want to discover these standards that are quickly becoming common place in our industry, or just add a few acronyms (PRM, CDASH, SDTM, SEND, ADaM, ODM, and NCI EVS) to your vocabulary, then this is for you! clinical research, clinical trial, controlled terminology, data standard, clinical data, adverse events, adam dataset, data science, concomitant medications, cdisc source 10
94 Is Your Data Set Really Validated: Beware of "Blind-Fold" Validation Nehan Mohan,
Gayatri Karkera
The aim of validation programming in clinical trial is to produce documented evidence that the trial data and reports meet the quality attributes as per clinical requirements. One of the basic and minimal necessities during validation is to match the numbers in both of the outputs, original as well as validation. In order to achieve this, some validation programmers often inadvertently perform what we term as "blind-fold" validation in this paper. We call it "blind-fold" validation because many a times the programmers have a tendency to, Follow the specifications "as is" - down to the punctuation Modify the validation output to match the orig inal output incase any differences are noticed This paper illustrates with simple examples of data sets validation from clinical trials how these practices can inadvertently lead to erroneous outputs passing validation data cleaning, proc compare, proc step, clinical trial, data science source 4
95 JMP versus JMP Clinical for Interactive Visualization of Clinical Trials Data Doug Robinson,
Jordan Hiller
JMP software has a large set of visualization and analysis tools that can be used to analyze many different kinds of data; JMP Clinical is designed specifically for point-and-click analysis of SDTM and/or ADaM formatted data. Both applications are widely used for cleansing, monitoring, and reviewing clinical trials data. Although JMP and JMP Clinical differ in terms of the input data format that is required and the output that is produced, they share the JMP philosophy of enabling users to produce interactive and dynamic data visualizations that enhance understanding of the data. This paper will show examples of analysis of clinical trials data in both JMP and JMP Clinical, and compare the benefits of each adverse events, dataset, clinical trial, treatment arm, clinical data, serious adverse event, data visualization, variable, cdisc source 11
96 Just Press the Button: Generation of SAS Code to Create Analysis Datasets directly from an SAP - Can it be Done? Endri Endri,
Rowland Hale
The CDISC SDTM and ADaM models are rapidly becoming adopted as the data standard for clinical trials and submissions of clinical trial data to the FDA. ADaM datasets in particular form an integral part of clinical study analysis and require significant data derivation to fulfil the needs of table, figure and listing (TFL) requirements. Since the move towards standardization is nothing new, are we now able to obtain not only SDTM and ADaM datasets but a full study analysis at the mere press of a button? The answer is of course still "No, not yet". The reason is that much still depends on the study design and the structure of the data, the derivation rules or maybe just a small footnote which needs to be printed on a particular table. The paper goes on to explain how it may be possible to "translate" information written in a Statistical Analysis Plan (SAP) (such as imputation rules, population flag, baseline flag, etc.) to generate SAS code which will produce the analysis dataset adam dataset, sdtm domain, data science, clinical data, macro definition, data cleaning, proc step, clinical trial, cdisc source 8
97 Let SAS Do Your DIRty Work Richann J. Watson Making sure you have all the necessary information to replicate a deliverable saved can be a cumbersome task. You want to make sure that all the raw data sets are saved, all the derived data sets, whether they are SDTM or ADaM data sets, are saved and you prefer that the date/time stamps are preserved. Not only do you need the data sets, you also need to keep a copy of all programs that were used to produce the deliverable as well as the corresponding logs when the programs were executed. Any other information that was needed to produce the necessary outputs needs to be saved. All of these needs to be done for each deliverable and it can be easy to overlook a step or some key information. Most people do this process manually and it can be a time-consuming process, so why not let SAS do the work for you? macro variable, dataset, cdisc source 7
98 Let SAS Set Up and Track Your Project Tom Santopoli,
Wayne (Weizhen) Zhong
When managing the programming activities in a clinical trial, a project tracking document can be a convenient place to store important information. This information may include an inventory of the datasets, tables, listings, and figures (DTLFs), the programs that produce the DTLFs, and the validation/completion status of the DTLFs. SAS can use this information to dynamically generate program shells and batch scripts before any of the programming work even begins. In addition, SAS can update the validation/completion status of each DTLF by examining the properties and contents of logs and other files in the project folder. In this paper, we will present several very powerful techniques that let SAS do all of this work for us, thereby ensuring high quality completion of the programming tasks in a clinical trial dataset, infile statement, raw data, sas function, excel source 8
99 Let's get SASsy Amie Bissonett The SAS language has a plethora of procedures, DATA STEP statements, functions, and options to boot. Most programmers with years of experience have yet to use all that SAS has to offer. This paper gives a variety of tips and introduces a few handy tools to add to your SAS arsenal, including good programming practices, uses of the RETAIN statement, and some macro tips retain, proc step, lag function, quit, macro variable, proc sort, macro definition source 6
100 Leveraging SDTM Standards to Cut Datasets at Any Visit Anthony L. Feliu,
Stephen W. Lyons
Clinical trials with complex design or long duration often include interim milestones for evaluation of safety and efficacy. Since clinical databases are seldom configured to deliver other than full extracts, the responsibility for subsetting data invariably falls to the statistical programmer. In this paper, the authors walk through the process of specifying, programming, and validating a generic macro to cut SDTM datasets at any scheduled visit. Three considerations dominated our ultimate design: (a) the tool could be used on any protocol; (b) the tool would first determine the timing variables present a given domain and then apply appropriate cascade logic; and a diagnostic footprint would allow for human review of the decisions made by the tool sample, date variable, sdtm domain, filtering, clinical data, clinical trial, reference data, lookup, adverse events, reject records, cdisc source 12
101 Life Cycle of a Data Point - A Tool to Educate the Clinical Development Team on What it Takes to Go From the Clinic to a Submission Arthur Collins,
Joanna Koft
A common issue facing Biometrics and Data Management groups is a lack of understanding from other members of the Clinical Development Team, leading to unrealistic expectations and pressure to shorten timelines. A cross functional group from Biostatistics, Statistical Programming, Statistical Submissions Management, Data Standards, and Data Management got together and developed a presentation to show all of the steps that must be carried out to take data from the point of collection to being included in a submission and discuss how deviating from standards can impact each step. This presentation was very well received by a group of MDs from Clinical and Drug Safety and was recorded as a standalone presentation to be included as mandatory training for those groups and for Clinical Operations going forward. This paper describes the process of developing the presentation and the contents. The conference presentation will include excerpts from the recorded presentation as well clinical research, clinical programming, data standard, adverse events source 4
102 LST in Comparison Sanket Kale,
Sajin Johnny
The need for producing error free programming deliverables combined with the increasing globalization of the pharmaceutical industry has led to the growing requirement for validation of programs associated with generating Clinical trial reports. Double pro gramming is the most commonly accepted and widely used standard method in the industry for validation of programming algorithms and to crosscheck adherence to specifications. Double programming involves two programmers programming independently based on sp ecifications and then utilizing procedures like COMPARE to match the outputs. Currently the accepted QC process followed in most companies requires programmers to manually review the PROC COMPARE results for verifying the similarity of the outputs produced. This manual process can be very cumbersome and resource intensive especially while handling large deliveries and also increases the likelihood of human error proc compare, proc step, data cleaning, independent qc source 11
103 Macro %D_ADSL - Automating ADSL Creation from Metadata File Jian Hua (Daniel) Huang As CDISC standards are being more broadly accepted in clinical trials, many tools have been developed for automating SDTM creation. Conversely, there are not many tools available for creating ADaM datasets due to two reasons: First, the ADaM data structures are more flexible than SDTM; and second, the ADaM derivations are more complex and study sp ecific. Both reasons make it difficult to handle ADaM derivations within one macro program. Fort unately, we can define the ADaM structure and algorithm in the metadata, and then use the meta data to create ADaM datasets. A macro program (called %D_ADSL) has been developed to automate ADSL creation by reading the information from its metadata file. The macro first creates each variable in a pre-specified order, from a simple copy of the SDTM variable to the variables with most complicated derivation. Then it reads all variable attributes (i.e. name, label, length, and controlled terms) from the metadata into ADSL adam dataset, clinical trial, macro loop, macro definition, excel, %if-%then-%else, cdisc source 9
104 Macro to Conduct Consistency Checks Walter H. Hufford Jr. Pharmaceutical organizations are transitioning from legacy data standards to the CDISC Study Data Tabulations Model (SDTM) and the Analysis Data Model (ADaM) in anticipation of the FDA mandating their use in electronic submissions. Moving to these new data standards is fraught with challenges and there is usually a steep learning curve followed by a bumpy implementation. Although most Data Managers and Statistical Programmers working in the pharmaceutical industry have been exposed to these data models, most are not experts in them yet. This often leads to inconsistent data set and variable attributes - the nemesis of all Statistical Programmers. PROC COMPARE is a useful tool when comparing 2 datasets for inconsistencies; however, it does not provide the ability to compare more than 2 datasets simultaneously proc report, proc step, cdisc source 6
105 Making the Log a Forethought Rather Than an Afterthought Emmy V Pahmer When we start programming, we simply hope that the log comes out with no errors or warnings, yet once we have programmed for a while, especially in the area of pharmaceutical research, we realize that having a log with specific useful information in it improves quality and accountability. We will discuss clearing the log, sending the log to an output file, helpful information to put in the log, which messages are permissible, automated log checking, adding messages regarding data changes, whether or not we want to see source code, and a few other log-related ideas. Hopefully, the log will become something that we keep in mind from the moment we start programming sas log, put statement, proc printto, options statement, proc step, macro variable source 9
106 Managing 21 CFR Part 11 Compliance: Using Checksums on Opens Systems Carey G. Smoak,
Mario Widel
Generally, closed systems are encouraged in order to ensure compliance with 21 CFR Part 11 regulations. Databases with audit trails are typically considered to be examples of closed systems, which are designed to ensure the authenticity, integrity, electronic records confidentiality while the signer cannot repudiate the signed record as not genuine. Open systems do not have these capabilities. In this paper the authors will show how to address record authenticity and integrity using checksums. They will describe the managing of electronic lab instrument data in an open system. Checksums can be used to ensure that data has not been accidentally modified during the process of acquisition from the lab instrument to its final destination as a SAS dataset on a secure server. While the lab instrument data is not maintained in a database with an audit trail, it is shown how the spirit of 21 CFR Part 11 compliance is kept with respect to data integrity and record authenticity 21 cfr part 11, audit trail, dataset, clinical database source 8
107 Managing Graphic Appearance for Grouped Data in ODS Graphics Yunzhi Ling,
Mei Wu
Analysis of clinical trial data typically involves graphical presentation of results by different treatment groups. Graphically displaying grouped data into desired layout with specific and consistent visual attributes such as colors, marker symbols, and line patterns for each treatment group, can sometimes be challenging. In ODS graphics, such challenges can be effectively overcome by properly leveraging four appearance-control components: attributes options, input dataset, style template, and graph template. This paper provides some general methods and techniques to manage graphic appearance, which is often desired for grouped data in clinical research scatter plot, regression analysis, in=, proc step, proc template, sas log, proc sgplot, label statement, if-then-else, delete source 14
108 Map Metadata - Going Beyond the Obvious/Connecting the Dots Gregory C. Steffens,
Praveen Garg
Much attention has been paid to the design and use of metadata to store data standards, study data specifications and creating the industry-standard metadata, i.e. the define.xml file. But not as much attention has been focused on the design and use of metadata to describe the transformations and derivations of data. We must expand beyond the focus on the stopping points of data flow and concentrate on the data movement from one stopping point to another. This paper describes the need for an industry standard for map metadata and presents a design that has been implemented with great success. The metadata design principles (described in earlier papers by Gregory Steffens and others) apply to map metadata, such as - 1.) Map metadata should not assume any one data standard, 2.) Well- designed map metadata supports meta-programming data standard, key, data cleaning, clinical data, macro definition, data science, cdisc source 8
109 Mapping Unique Aspects of Implantable Medical Device Study Data to CDISC SDTM Medical Device Domains Timothy L Bullock,
Sini Nair,
Ramkumar Krishnamurthy,
Todd M. Gross
The Clinical Data Interchange Standard Consortium (CDISC) recently released a set of standards specifically aimed at medical device studies. These standards consist of seven proposed domains supplemental to the main Study Data Tabulation Model (SDTM). We review current methods of reporting implantable medical device study data in light of the CDISC device supplement. We report methods of modeling the general features of device-related data in the new domains. Additionally, we include a description of a custom surgery domain, SG, to capture information arising from medical devices requiring multiple concurrent, or sequential, implants as well as procedural data associated with implantation adverse events, clinical data, active-controlled, sdtm domain, sdtmig, confidence level, clinical trial, sample, cdisc source 12
110 MedDRA - Beyond that Basic AE Report. How SMQs and MedDRA Structure can Enhance Reporting Pamela J. Giese The basic AE (Adverse Events) table, organized by MedDRA SOC (System Organ Class) is common across clinical reporting. Yet there is a whole structure of MedDRA that allows for more targeted reporting. In addition, MedDRA includes SMQs (Standard Medical Queries) whereby events (or histories) can be summarized across SOCs. SMQs can be especially helpful in pharmacovigilance, late phase, and health outcome analysis. This paper will describe the basic structure of MedDRA, the relationship of SMQs and SOCs, and examples of how these can be helpful adverse events, system organ class, sample, clinical trial, proc freq source 10
111 Methods to Derive COVAL-COVALn in CO Domain Chunxia Lin The COMMENTS (CO) domain contains free-text comments related to data in one or more SDTM domains. COVAL is the variable in CO to contain the text of comments. When text is longer than 200 characters, additional columns COVAL1-COVALn will be generated. This paper shares a couple of methods for how to split the content of comments into snippets of 200 characters long without truncating an intact word do loop, macro variable, proc compare, cdisc source 8
112 Mission Possible: Your Assignment is to Validate Output for a Study Susan Fehrer Coulson,
Kevin R. Coulson
You have been called into your manager's office and have been told that your next assignment is to validate the programming in a study that you did not work on before. Why does this task have to be done? It can be a daunting task to start validating a project, any project, if it is one that you worked on or not. And, where is the best place to start? With examples and best practices of where and how to start, you will have a Mission Possible data cleaning, sas log, proc step, proc freq, clinical trial, sample, raw data, merge statement, proc contents, data science source 7
113 Modern SAS Programming: Using SAS Grid Manager and Enterprise Guide in a Global Pharmaceutical Environment David Edwards,
Gregory S. Barnes Nelson,
Susan Wang
sas grid, sas enterprise guide, clinical research, clinical programming, data governance, latency, production run source 14
114 More Power to SAS - Embedding Other Programming Languages in SAS Through SAS/IML Studio Max Cherny Embedding code from different programming languages offers many new opportunities for SAS users to further enhance their SAS programs by taking full advantage of the features not yet available in SAS. SAS/IML Studio is a very powerful free SAS software which allows use of various programming languages together with SAS code. These languages include the IML programming language used for complex and fast data analysis, Java, C and R. This paper explains the purpose and the basic functions of SAS/IML Studio. Easy and reusable examples of running SAS/IML, Java and R code in SAS/IML Studio will be provided. These examples can function either as the stand- alone programs or as the starting point for further integration of IML, Java or R programming languages into SAS code. The paper will also provide side-by-side comparison of R and SAS syntax proc iml, data science, line chart, proc step, dataset source 10
115 Not All Equals are Created Equal: Nonstandard Statement Structures in the DATA Step Arthur L. Carpenter The expression is a standard building block of logical comparisons and assignment statements. Most of us use them so commonly that we do not give them a second thought. But in fact they definitely do deserve that second thought. A more complete understanding of their construction and execution can greatly expand our ability to more fully take advantage of this fundamental component of the SAS Language. Once we understand the basic form of the expression and how it is used in various statements, we can use this understanding to create statement forms that would otherwise appear to be illegal or just plain wrong. Further and perhaps even more importantly this deeper understanding can help to prevent us from committing errors in logic if-then-else, do loop, missing value, macro facility, macro variable, sign, conditional do loop source 10
116 Numeric and Decimal Place Alignment in RTF Files with Non-Monospaced Fonts Gary E. Moore Summary tables in RTF format for population data, laboratory data, vitals … they all have the same problem. Everyone wants that RTF table to look as sharp as possible. But, getting the alignment of numeric data using proportional fonts can drive you crazy. This paper presents simple approaches to solving this problem using column styles and RTF codes proc report, proc step, standard deviation source 6
117 Obesity and Weight Cycling: Use SAS Software for Epidemiological Studies Marina Komaroff Epidemic of obesity is a serious problem. According to CDC statistics for the United States population about 35.7% of adults and approximately 17% of children and adolescents (2 -19 years old) were obese in 2009 -2010. Numerous epidemiological studies demonstrated that obesity is a risk factor for multiple diseases like cancer and cardiovascular. The various weight loss and weight control programs were conducted in recent years and demonstrated effectiveness for the short period of time, yet, the majority of participants re-gained weight sooner or later. Such process of loss and re-gain weight is called weight cycling, and the prevalence of weight cyclers is growing in the United States. The phenomenon of weight cycling is less studied. Some research for association of weight cycling and morbidity and mortality was conducted in 90 th of last century and demonstrated controversial res ults standard deviation, proc freq source 12
118 Oh Quartile, Where Art Thou? David W. Franklin "Why is my first quartile number different from yours?" It was this question that led to a study of methods that can be used for calculating the first and third quartile for a set of data. SAS provides five methods for calculation of the quartile but other methods exist and are used in other common software packages. In this paper ten methods are discussed from the point of view of a SAS programmer and a macro presented that will calculate first and third quartiles for the five methods not provided in the Base SAS package sample, excel source 5
119 OpenCDISC: Beyond Point and Click Frank C. DiIorio The OpenCDISC validation framework has rapidly gained popularity with programmers and statisticians who have to validate data compliance with ADaM, SDTM and other CDISC standards. The most common way to use the software is via the user interface. Its clean design and simplicity make it an appealing tool. Given that the software is open source, however, it makes sense to go "under the hood" and explore some of its other capabilities. This presentation discusses some ways Rho, Inc. has ventured beyond the user interface and has effectively utilized OpenCDISC. Some of the topics require a rudimentary knowledge of XML. Accordingly, we will briefly discuss the structure of the standards' configuration files and some tools that work well with these XML files data cleaning, data validation rules, data standard, sas log, cdisc source 12
120 Patient Profile Graphs Using SAS Sanjay N. Matange Patient profiles provide detailed information for a specific subject participating in a study. The report includes relevant data for a subject that ca n help correlate adverse events, concomitant medications, and other significant events as a narrative or a visual report. This presentation cover s the creation of the graphs that are useful for visual reports from CDISC data. It includes a graph of the adv erse events by time and severity, graphs of concomitant medications, vital signs, and labs. All the graphs are plotted on a uniform timeline, so the adverse events can be correlated correctly with the concomitant medications, vital signs and labs. These graphs can be easily incorporated with the demographic and personal data of the individual patient in a report adverse events, proc sgplot, concomitant medications, proc sgpanel, vital signs, adverse event severity, proc freq, class variable, cdisc source 14
121 Practice of SMQs for Adverse Events in Analysis of Safety Data and Pharmacovigilance Gary Chen,
David Shen
MedDRA can not group adverse events that indicate the presence of a medical condition through PTs properly due to its high granularity. SMQs were developed specifically to address this issue and to maximize the likelihood that all terms related to a specific medical condition of interest can be identified. This paper describes the practical implementation of SMQs and how SMQs can be applied to search adverse events for statistical analysis and create tables, listings and graphics. SAS and PROC SQL are used to read in the SMQ dictionary files and then convert into appropriate data structure in searching for adverse events of concern. The practical techniques we present offer a good overview of SMQs and its applications in analysis of safety data and pharmacovigilance. This paper will educate all level SAS users who are interested in safety data analysis and pharmacovigilance with SAS programming adverse events, clinical trial, proc freq, data science, proc sql source 11
122 Pretty Please?! Making RTF Output "Pretty" with SAS Carol Matthews,
Elena Kalchenko
Output generated from SAS in the pharmaceutical industry invariably ends up in a document that is presented to regulatory authorities, review boards, publications, and a variety of other audiences. As SAS has evolved to more easily generate output that can be read directly into software packages such as Microsoft Word, the expectation that SAS output will look "published" is becoming the standard. Recipients of SAS output now expect actual superscript "a" as a footnote symbol rather than a regular text "a" or "*" symbol. While some features such as fonts, margins and tabs can be controlled directly with SAS, other features need to be added with RTF code. In this paper, we will discuss the combination of SAS and RTF code that is required to generate output directly from SAS that looks like it was word-processed ods rtf, proc step, proc report, proc template, footnote statement, sas output, output delivery system, title statement, medical history, options statement source 10
123 Probability Based Criteria in Early Phase Drug Development Howard Liang Probability based criteria is in the study design where many research scientists prefer to understand the power and probability of taking a new drug forward across the whole range of possible true treatment effects, rather than focusing on one particular value to power the study. Examples will be used in this paper to show how to compute probability using the SAS/STAT procedure PROC MIXED. Particular emphasis is given to the application on efficacy analysis, including the comparison to classical hypothesis testing. The application on safety analysis is also discussed clinical research, hypothesis testing, proc mixed, proc step source 5
124 Processing MedDRA SMQs: Using Recursive Programming to Handle Hierarchical Data Structures Paul Stutzman Programmers sometimes need to process information that is organized hierarchically. Recursive programming is an effective tool for handling these tasks. Recursive programs are programs or functions that call themselves. They are traditionally used in contexts where a basic task can be performed iteratively, as is the case when one processes an operating system's file system - moving through its directories and their subdirectories. The MedDRA adverse event coding system provides a hierarchical way to gather related adverse event Preferred Terms (PTs) into hierarchical groups based on defined medical conditions or areas of interest. These groupings are called Standardized MedDRA Queries (SMQs). Recursive SAS macros are an efficient tool for processing SMQs adverse events, macro variable, standardized meddra query, macro definition, txt, macro put, dataset source 7
125 Programming Validation Tips prior to using OpenCDISC validator Dany Guerendo In the years I have been working with the Clinical Data and Standards Consortium (CDISC), primarily using the standard data tabulation model (SDTM), validating the domains I create can prove to be challenging for programmers new to the standards. This paper provides tips and techniques, developed for validating domains created; prior to running into a validation tool like OpenCDISC or WebSDM. This paper's sole purpose is to help facilitate the task of the primary programmer or the validation programmer, if applicable, by automating some of the repetitive tasks occurring when programming SDTM. It may not be an exhaustive list of options but I hope it serves as guidance document for programmers. Although I worked mostly with version 3.1.2 of the SDTM Implementation Guide, these tips work well with version 3.1.3 which is now available. These programming tips were applied in SAS interactive (Window based version) version 9.2 and 9.3 as well as SAS Enterprise Guide version 3.1 and 5.3 controlled terminology, cdisc controlled terminology, data cleaning, label statement, sample, proc step, sdtm domain, cdisc source 12
126 PRXCHANGE: Accept No Substitutions Kenneth W. Borowiak SASprovides a variety of functions for removing and replacing text, such as COMPRESS, TRANSLATE and TRANWRD. However, when the replacement is conditional upon the text around the string the logic can become long and difficult tofollow. ThePRXCHANGEfunction is ideal for complicated text replacements, as it leverages the power of regular expressions. The PRXCHANGE function not only encapsulates the functionality of traditional character string functions, but exceeds them because of the tremendous flexibility afforded by concepts such as predefined and user-defined character classes, capture buffers, and positive and negative look-arounds proc sql, proc step, prxchange, compress function, order by source 9
127 Quick Results with PROC SQL Kirk Paul Lafler Structured Query Language (SQL) is a universal language that allows you to access data stored in relational databases or tables. This hands-on workshop presents core concepts and features on using PROC SQL to access data stored in relational database tables. Attendees learn how to define, access, and manipulate data from one or more tables using PROC SQL quickly and easily. Numerous examples are presented on how to construct simple queries, subset data, produce simple and effective output, summarize data with summary functions, and join two tables proc sql, proc step, dictionary tables, where statement, select, inner join, macro variable, sas library, sas log, macro facility, view, create table, group by, macro call, order by, relational database, right join source 17
128 Reliability Assessment of Image Data in Oncology and Psychology Studies Li Zhang,
David Shen,
Gary Chen
In oncology studies, the RECIST provides the method of evaluating solid tumor response using MRI, CT scans and X-ray. By using brain-imaging-techniques like fMRI, cognitive psychology is able to analyze the relation between the physiology of the brain and mental processes. It is crucial to obtain accurate and reliable measurements in clinical studies. The analysts need to undergo comprehensive reliability assessment measures, including inter-reliability, prior to study commencement to verify measurement consistency and ensure a high level of agreement across analysts. The purpose of this study is to evaluate the proposed analysis methods to check for consistency and precise of measurements for imagine data correlation, anova, regression analysis, confidence interval, proc reg, degrees of freedom, proc step, proc mixed, clinical trial, sample source 7
129 Running OpenCDISC in SAS Kevin Lee OpenCDISC provides great complianc e checks against CDISC outputs like SDTM, ADaM, SEND and Define.xml. OpenCDISC is an easy point-and-click software package fo r CDISC compliance checks. SAS programmers usually run OpenCDISC as an independent execut able file after creating CDISC dataset s, but there is a way to execute OpenCDISC from within a SAS program. This means that SAS programmers wi ll be able to create SDTM or ADaM datasets and check for CDISC compliance by running OpenCDISC in the same SAS program. This paper will show how to run OpenCDISC from within a SAS program. It will also show how to call the OpenCDISC compliance check software within a SAS program and how to assign the parameters such as SDTM, SAS Transport file, the location of the source data, the version of complia nce checks, the output type, and the location of OpenCDISC compliance check reports sas programmer, data cleaning, excel, cdisc source 7
130 SAS 9.3: Better graphs, Easier lives for SAS programmers, PK scientists and pharmacometricians Alice Zong Data visualization tools are widely used in PK analysis and PK/PD modeling and simulation. To date, even though the datasets are mostly in SAS data format, PK scientists and pharmacometricians usually choose to use other software for the production of graphs; however, this approach often requires changing data types and repeatedly transferring data between functional teams. With the new release of SAS 9.3 and the enhancement of SAS Graphs, it is now much easier for SAS programmers to make graphs to support analysis, modeling and simulation activities. This paper illustrates some commonly used graphs that are currently generated in other software applications, e.g. R/S-PLUS, that can now be generated in SAS. This change has the potential to significantly improve the process and productivity of model-support/based drug development clinical research, sas programmer source 8
131 SAS Enterprise Guide - Implementation Hints and Techniques for Insuring Success With Traditional SAS Programmers in a Pharmaceutical Development Role Roger D. Muller Traditional SAS programmers in the pharmaceutical industry develop SAS code in files and submit it for processing regardless of the operating environment (PC, Unix, mainframe, etc.). SAS Enterprise Guide (EG) follows this model, but adds some unique additional capabilities. This paper addresses setup, initialization and workflow ideas to smoothen and enhance the transition to the EG graphical user interface centered around a process flow window. This paper will address local vs. remote (server) processing. Starting with hardware and network capabilities, the paper then moves into a discussion on data location and how that affects work flow. Certain features in SAS EG may either be hidden or exposed with advantages to doing either. The number of process flows in an Enterprise Guide Project offers flexibility in constructing the total programming effort. The ability to store code at a central facility as Stored Processes for sharing with other users will be discussed sas enterprise guide, sas programmer, sas base, proc step, sas programming, data cleaning, proc sql source 9
132 SAS GTL: Improving Patients Safety and Study Efficiency Masaki Mihaila Due to the high cost and time required for clinical trials, optimizing data processing is highly desirable. A graphical presentation of clinical data and relationships in Programmed Assisted Patient Narratives (PANs) is more efficient and easier to understand. Graphical tools can shorten the lengthy drug development process while focusing attention on the review and communication of salient safety information across all company areas and functions. This paper describes how to achieve end-user friendly graphical integration into PANs by using SAS 9.3 ODS and Graphical Template Language (GTL) for 64-bit Windows. This paper only focuses on the RTF output destination ctcae grade, macro variable, clinical data, clinical trial, adverse events, vital signs, concomitant medications source 11
133 SAS Logic Coding Made Easy - Revisit User-defined Function Songtao Jiang SAS programmers deal with programming logics on a daily basis. Using regular logical operators can solve a complex logic problem, but oftentimes it is not intuitive, error -prone, and hard to read and maintain. Implementation also heavily depends on how wel l the individual understands the logics and how good the individual programmer's logical thinking is. In this paper, by using SAS User -defined Function, we lay out a universal way of implementing SAS logics without the dependence of individual's ability an d experience. The implementation is straight -forward, error-prove, and clear. Furthermore, these SAS user -defined functions for logical operators can be built into the standard library and utilized by all programmers within an organization. They are extremely useful to all levels of SAS programmers. To demonstrate the idea, the implementations of these functions are introduced sas programmer, missing value, binary variable source 6
134 SAS Programmer to Clinical SAS Programmer Gayatri Karkera,
Nehan Mohan
In the clinical programming industry, as hiring managers, we tend to select candidates with varied academic backgrounds spanning from life sciences to abstract subjects like mathematics, statistics and computer sciences. Many a times our selection bias for candidates with mathematics, statistics and computer sciences, as compared to candidates from other academic backgrounds, is emanating purely from their training of programming skills. Anyone who has been in the clinical programming industry for long would agree that SAS programming in this industry requires lot more than just programming. In this note, we attempt to bring out some dimensions of journey from pure SAS programmer to clinical SAS programmer. The trajectory of this exciting journey is full of learning. We share some of our learning and experiences basis our industry observations clinical trial, sas programmer, phase i, clinical programming, phase ii, sample size, data science, sample, interim analysis, phase iv, randomization, phase iii, statistical programmer, clinical sas, adverse events, clinical data source 7
135 SDTM Harmonization in the Absence of CDASH - A Modularized Approach to Domain Programming Annie S. Guo SDTM is the recommended format for submissions to the FDA. CDASH defines basic standards for the collection of clinical trial data. The two standards streamline the processes of converting CRF data to SDTM format. However, in the absence of CDASH, de-normalized database structure and lacking the use of controlled terms can cause SDTM programming time-consuming and error-prone. This paper presents a modularized approach to developing reusable code and facilitating programming. The outcome is reduced programming time and quality output SDTM data macro variable, rename statement, proc format, proc step, controlled terminology, user-defined format, response variable, sdtm domain, macro definition, raw data, length statement, clinical database, cdisc source 12
136 SDTM, ADaM and define.xml with OpenCDISC Angela S. Ringelberg,
Tracy Sherman
As programmers, many of us have spent hours reviewing SDTM/ADaM standards and implementation guides to generate "compliant" CDISC SAS data sets. Is there an easier way to ensure compliance with CDISC standards, including SDTM, ADaM, SEND, Define.xml, and others? OpenCDISC is an open source community which is focusing on creating frameworks and tools for the implementation and advancement of CDISC Standards. OpenCDISC has created a CDISC Validator which will eliminate the need for individuals to develop their own custom processes in order to ensure that their CDISC models are compliant with CDISC standards. By taking common validation rules, OpenCDISC has developed an open- source tool which is freely available and of commercial-quality to ensure data compliance with CDISC models such as SDTM, ADaM, SEND and Define.xml. The validation rules for each standard have been pooled into a CDISC Validation Rules Repository, providing users with a central listing data cleaning, excel, data validation rules, cdisc source 16
137 Serving SAS: A Visual Guide to SAS Servers Gregory S. Barnes Nelson SAS has been running on servers since the late 1960s. Despite the emergence of PCs and workstation-class machines, SAS still reigns supreme on the server. With the introduction of the SAS platform 9 in 2004, the number and types of servers have grown exponentially. As any good student of the DATA STEP will attest, knowing what SAS is doing is a critically important step in debugging and authoring efficient programs. In this paper, you will experience SAS through a visual tour - you will see what SAS is doing, how it works, which server is doing what, when the operating system plays a role, how security functions, and what happens to your data through the entire process business intelligence, sas 9 source 20
138 Sharpening Your Skills in Reshaping Data: PROC TRANSPOSE vs. Array Processing Arthur X. Li A common data managing task for SAS programmers is transposing data. One of the reasons for performing data transformation is that different statistical procedures require different data shapes. In SAS, two commonly used methods for transposing data are using either the TRANPOSE procedure or array processing in the DATA STEP. Using PROC TRANSPOSE mainly requires grasping the syntax and recognizing how to apply different statements and options in PROC TRANSPOSE to different types of data transposition. On the other hand, utilizing array processing in the DATA STEP requires programmers to understand how the DATA STEP processes data during the DATA STEP execution. In this talk, these two methods will be reviewed and compared through various examples proc transpose, array, proc step, by group processing, do loop source 15
139 Solving Samurai Sudoku Puzzles - A First Attempt John R. Gerlach Imagine a Sudoku puzzle that consists of a 9x9 matrix having about 30 out of 81 cells populated. Now, imagine five such Sudoku puzzles such that a center puzzle is joined to four others at their respective 3x3 corner sub-matrices. These five Sudoku puzzles define a Samurai Sudoku puzzle. The solution to the puzzle is the same: each puzzle having unique values per row, column, and sub-matrix. However, there is an obvious interdependence among the five puzzles that poses a new challenge. This paper explains an expanded version of a SAS solution that used a dynamic cube to solve a regular Sudoku puzzle, by incorporating five cubes to solve the Samurai puzzle missing value, macro definition source 15
140 Some Strategies for Validating Your Data before Submission Frank L. Roediger,
Sandeep Juneja
Everyone making clinical trial submissions tries for the process to go as smoothly as possible, but there are some places where missteps can cause delays. Avoiding these missteps can greatly streamline the submission review process. The CDISC SDTM Implementation Guides have hundreds of pages that provide exhaustive (and exhausting) detail about dozens of domains and their variables, but those Implementation Guides don't provide any information about how long any of the variables should be. Careful data design and some utility processes can take the guesswork out of assigning lengths to character variables in submission data sets.. V5 transport files are the approved mechanism for transmitting clinical trial data within a submission. The usual way for creating them is with PROC COPY and the XPORT LIBNAME Engine character variable, clinical trial, dataset, clinical data, clinical research, proc step, libname engine, proc copy, sas log, sample, numeric variable, sdtm domain, data cleaning, cdisc source 8
141 Some Techniques for Integrating SAS Output with Microsoft Excel Using Base SAS Vincent DelGobbo This paper explains some techniques to integrate your SAS output with Microsoft EXCEL. The techniques that are presented in this paper require Base SAS9.1.3 SP4 and above, and can be used regardless of the platform on which SAS is installed. You can even use them on a mainframe! Creating and delivering your workbooks on- demand and in real time using SAS server technology is discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented excel, xls, sas base, proc export, sas output, proc print, title statement, proc step, dataset, sas log, sample, ods html, sas 9, format statement, output delivery system, by group processing source 19
142 SQL Subqueries: Usage in Clinical Programming Sri Pavan Vemuri A feature of PROC SQL whic h provides flexibility to SAS users is that of a SUBQUERY. A SUBQUERY is a query inside a query. A SUBQUERY can be further classi fied into an INLINE VIEW, correlated SUBQUERY or noncorrelated SUBQUERY depending on the usage insi de the query. This paper explores the types of SUBQUERIES, their merits and demerits in comparison to a DATA STEP approach with examples relevant to clinical trials programming proc sql, create table, group by, proc step, clinical trial, in=, order by source 7
143 SQL, HASH Tables, FORMAT and KEY= - More Than One Way to Merge Two Datasets David W. Franklin The MERGE statement is the most common way to merge onetoone or onetomany data. This works very well most of the time but there are other methods that are useful, and sometime more efficient, that should be every SAS programmers toolbox. This paper touches on four methods that can be more efficient; quick look at PROC SQL and some of the options that help, HASH tables and some of the considerations for using this format, PROC FORMAT, and the KEY= option in the SET statement proc step, proc sql, merge statement, proc sort, hash table, proc format, set statement, index creation, key= source 5
144 Standardizing the Standards: A Road Map for Establishing, Implementing and Unifying Standards in Your Organization Amy Caison,
Jhelum Naik,
Tammy Jackson
Electronic data submission is the future of clinical trials and reviewers will soon have the statutory authority to reject submissions that do not conform to expectations (e.g., via PDUFA V, section XII in the US). Data standards comprise the core of these expectations with the Standard Data Tabulation model (SDTM) standards as the centerpiece. The extensive body of existing guidance is undergoing rapid development and expansion, including the addition of therapeutic area standards which supplement and extend the existing SDTM implementation guidance. As the deadline for standardized submissions approaches, it is incumbent upon all organizations involved in the pharmaceutical industry to internalize the standardization of data collection, transformation, and analysis to ensure compliance with emerging regulatory requirements clinical trial, data standard, data transformation, sdtm domain, controlled terminology, data science, data cleaning, cdisc source 9
145 Statistical Computing Environment Implementation - An Agile Approach Gary Cozzolino Historically, companies in the pharmaceutical industry have stored SAS data, programs, and output on Windows or UNIX file systems, and executed SAS on shared servers or locally on PCs. More organizations are now moving to "Statistical Computing Environments" (SCEs), which provide secure, audit-trailed computing platforms, enabling programmers to effectively manage their programs through the Software Development Lifecycle. As more companies move to SCEs, pharmaceutical, biotech, and CRO organizations face a number of challenges in implementing such systems. Regardless of the technology involved, and whether a commercial product is used or if it's a home grown system, significant changes to related business processes should be expected. Among these challenges, programmers will need to learn new processes for program development, management and execution. This paper outlines an agile approach to implementing these enterprise solutions data cleaning, clinical data management source 9
146 Submitting SAS Code On The Side Richard D. Langston This paper explains the new DOSUBL function and how it can submit SAS code to run "on the side" while your DATA STEP is still running. It also explains how this function differs from invoking CALL EXECUTE or invoking the RUN_COMPILE function of FCMP. Several examples are shown that introduce new ways of writing SAS code macro variable, proc step, proc sql, call execute, dosubl, data step, macro definition source 5
147 Taking a Census in Utero: An Introduction to Pregnancy Registries with an Emphasis on Identifying Multiple Gestations Britney D. Gilbert Clinical trials cannot effectively assess drug therapies and their effects within pregnant subjects, because of the ethical questions surrounding experimental treatments and their risks to the mother and fetus. Therefore, pregnancy registries are established for safety surveillance of exposures before and after conception. In these registries, analysis involving outcome statistics must go beyond simple demographical descriptions and disclose all confounding biases to properly understand the population. According to the National Vital Statistics Report, the twinning rate has increased more than 70% from 1980 to 2009 and the rate of higher order multiple births (triplet/+) increased more than 400% during the 1980s and 1990s. With these rate increases, it becomes important to properly identify multiple gestations within a pregnancy registry since they will impact the analysis, in particular the spontaneous abortion rates, preterm birth rates, and low birth weight rates medical history, sample source 8
148 The Armchair Quarterback: Writing SAS Code for the Perfect Pivot (Table, That Is) Peter W. Eberhardt "Can I have that in EXCEL?" This is a request that makes many of us shudder. Now your boss has discovered EXCEL pivot tables. Unfortunately, he has not discovered how to make them. So you get to extract the data, massage the data, put the data into EXCEL, and then spend hours rebuilding pivot tables every time the corporate data are refreshed. In this workshop, you learn to be the armchair quarterback and build pivot tables without leaving the comfort of your SAS environment. In this workshop, you learn the basics of EXCEL pivot tables and, through a series of exercises, you learn how to augment basic pivot tables first in EXCEL, and then using SAS. No prior knowledge of EXCEL pivot tables is required excel, dataset, proc step, proc tabulate, output delivery system, proc means, xls, raw data, macro variable source 36
149 The Baker Street Irregulars Investigate: Perl Regular Expressions and CDISC Peter W. Eberhardt,
Wei (Wesley) Liu
A true detective needs the help of a small army of assistants to track down and apprehend the bad guys. Likewise, a good SAS programmer will use a small army of functions to find and fix bad data. In this paper we will show how the small army of regular expressions in SAS can help you. The paper will first explain how regular expressions work, then show how they can be used with CDSIC data cleaning, data step source 18
150 The Bylaws of By Group Processing Tracee Vinson-Sorrentino One of the big challenges with health care claims data is that they contain multiple rows of transactions, e.g. rows, per patient, per visit, depending on the services rendered that day. Usually patients and their diseases are studied over time, and for this reason by group processing is a mandatory tool. This paper will showcase the power of by- group processing and will also cover what happens within SAS, behind the scenes. The process will be illustrated with an example of its usefulness by creating a physician targeting list, with metrics, where physicians practice in more than one location by group processing, proc step, automatic variable source 7
151 The Challenges and Opportunities for SAS Statistical Programmers in Two Commonly Used CRO Resourcing Models Mark Matthews,
R. Mouly Satyavarapu
Managing one's own career and aspirations as SAS programmers in the clinical trial space is always of interest. The Contract Research Organization (CRO) industry provides a diverse opportunity for SAS programmers to pursue and experience their daily work satisfaction and career. Two commonly used models in the CRO space are traditional "Deliverable Based Model" and "Full-Time Equivalent (FTE) Time and Material Model" (also called as role based model). Previously, a presentation at PharmaSUG 2012 identified and differentiated various parameters and methods followed by each model (See PharmaSUG 2012 -Satyavarapu1). This paper will take some of those parameters and share actual experiences on how it can provide influence on the career direction of a CRO SAS statistical programmer. The discussion will extend into 3 main categories: SAS and technical skills development, leadership and interpersonal skills development, and the hiring and working conditions sas programmer, sas programming, clinical research, clinical trial, proc sql source 6
152 The Hash of Hashes as a "Russian Doll" Structure: Application to Clinical Adverse Events Data Analysis Joseph W. Hinson The SAS DATA STEP hash objects have the unique ability to be generated as a nested structure, popularly known as "hash-of-hashes". Such structures are particularly well-suited for the processing and regrouping of hierarchical data, by splitting data into distinct tables within tables. In this paper, this approach has been applied to the processing of clinical adverse events data, which often need to be organized into number of events within preferred terms within system organ classes within treatment groups. Such complex reorganization has been accomplished with a multilevel nested groups of hash objects, all within a single DATA STEP, without any sorting or by-processing, and with just one pass through the unsorted raw data. It is yet another demonstration of the powerful flexibility and unique opportunities provided by the hash object technique hash table, adverse events, system organ class, hash iterator, treatment arm, key, proc freq, hash of hashes source 12
153 The SAS Data Step: Where Your Input Matters Peter W. Eberhardt Before the warehouse is stocked, before the stats are computed and the reports run, before all the fun things we do with SAS can be done, the data need to be read into SAS. A simple statement, INPUT, and its close cousins FILENAME and INFILE, do a lot. This paper will show you how to define your input file and how to read through it, whether you have a simple flat file or a more complex formatted file input statement, infile statement, raw data, sample, date variable, character variable, data step, sas log, cpu time, delimited file, length statement, dataset source 18
154 The Value of an Advanced Degree in Statistics as a Clinical Statistical SAS Programmer Mark Matthews,
Ying (Evelyn) Guo
Clinical statistical programmers often leverage the SAS software to process data in the form of a data set, table, figure or listing. Frequently there are a set of rules, also known as programming specifications, which can enable a non-statistician to compute some of the most complex statistical results. These specifications are generally created by a seasoned biostatistician. However, with current industry trends, more advanced statistical methods are available. The statistician needs to be free from creating those programming specification and rules to explore better analysis methods. A SAS programmer with an advanced degree in statistics is quite capable of closing those gaps which makes the SAS programmer, who is a statistician, a very effective role in the clinical field sas programmer, statistical programmer source 5
155 The Y2K17 Bug! Using Metadata to Respond to PDUFA V Requirements Vincent J. Amoruccio On July 9, 2012, President Obama signed into law the Food and Drug Administration Safety and Innovation Act (FDASIA). As part of FDASIA, the Prescription Drug User Fee Act (PDUFA) was reauthorized for the fifth time. PDUFA V requires submitting standardized data to the FDA. If the data submitted are not in standardized format, then PDUFA V gives the FDA the authority to refuse the submission. At the 2012 CDISC Interchange in Baltimore, Maryland the FDA's CDER and CBER Divisions reiterated the sentiments of PDUFA V and the eStudy Data Guidance with a very clear message: Standards will be mandated by 2017! While the standards are still in draft form, we have been enlightened by the FDA and CDISC of what to expect. First, the FDA has already announced its expectation to only receive electronic submissions. Second, the FDA has strongly alluded to mandating SDTM and ADaM Standards. Third, we anticipate the requirement of metadata as a standard component of SDTM and ADaM excel, analysis set, macro definition, cdisc source 12
156 Therapy Lessons Learned to Empower Programmers Shelley Dunn In the same way that educators teach much more than their subject matter, managers of programmers teach their employees much more than programming. Essentially teachers teach students and managers teach their employees. While it is imperative to know your subject matter in order to teach it to students or to know how to program in order to manage programmers; quite often, the interpersonal relationship that a manager maintains with her or her employees will have much more influence on an employee's work quality, productivity, job knowledge, creativity, job satisfaction, ability to work with others, and a whole host of other criteria which often form the basis of performance evaluations. So how does this relate to therapy? First of all, this is not to imply that all managers or all programmers need therapy. Nor is it meant to imply that those who have been in therapy somehow have a leg up on those who haven't problem solving, excel source 10
157 There's Nothing ODiouS about ODS Aaron J. Rabushka This presentation provides a look at SAS ODS capabilities with regard to enhancing output, suppressing output, and drawing information from SAS PROCs into working data sets. Its code examples were tested under SAS V9.1.3, SP4 proc step, proc freq source 7
158 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 source 15
159 Time to Event Analysis in the Pharmaceutical and Medical Device Industries Helen M. Chmiel,
Evan L. Ritzema
Time to event analysis, often referred to as survival analysis, is standard in many industries to evaluate clinically meaningful time to event outcomes, such as time to implant failure or death. In addition to this analysis being widespread, specific needs are varied based on the industry and require software with the ability to generate the required results as well being flexible and easy to use. Some examples of the current industry need for time to event analysis includes survival analysis for human subjects in a clinical trial environment, time to failure analysis in both cardiac stent and orthopedic device implantation, time to death toxicology profile for a dose level study in preclinical studies. With this great need for reliable measures to make risk/benefit assessment in the pharmaceutical and medical device industries there is a corresponding great need for software applications for analysts and clinicians survival analysis, macro call, proc step, proc phreg, treatment effect, regression analysis, clinical trial, likelihood function, interaction effect, hazard ratio, maximum likelihood estimation, macro definition, null hypothesis, data science source 8
160 TLFs: Replaying Rather than Appending William Coar In day-to-day operations of a Biostatistics and Statistical Programming department, we are often tasked with generating reports in the form of tables, listings, and figures (TLFs). Some requests come in the form of a small number of TLFs whereas others are more substantial in magnitude. Regardless, creating a single document for distribution and review may be required after all TLFs have been completed. A common setting in the pharmaceutical industry is to develop SAS code in which individual programs generate one or more TLFs in some standard formatted output such as RTF or PDF with a common look and feel. Furthermore, programs are developed over time, with the production run being in batch mode. The result is a set of TLFs completed at different times. Creation of a final (single) document with a properly sectioned and hyperlinked Table of Contents as well as dynamic page numbering may be desired proc step, proc report, delete, order by source 7
161 Traceability in the ADaM Standard Ed Lombardi Traceability is one of the fundamentals of the ADaM Standard. However, there is not currently a traceability appendix to aid in implementation. Traceability is key to a truly ADaM-compliant submission. Having a clear path from SDTM to ADaM, within ADaM, and from ADaM to statistical analyses are all necessary components of ADaM datasets. This paper presents basic and advanced traceability techniques that can be useful for both reviewers and programmers. It also poses questions about difficult analyses for traceability such as occurrence and time-to-event analyses adam dataset, system organ class, imputation, adverse events, sdtm domain, vital signs, concomitant medications, cdisc source 8
162 Tracking the Use of Standard Programs in Clinical Trials Adel Salem In pharmaceutical companies, hundreds of programs are used in each trial to generate the needed outputs (Tables, Listings and Graphs). Some of these programs are Standard Programs (programs that can be reused in other trials) and some of them are custom programs (programs that are special and cannot be reused in other trials). As a trial programmer it can be helpful to know how many outputs are generated by each program, and you must also be sure that you are using the newest version of a given standard program. Some companies use Programming Plans (EXCEL sheet with a lot of information about each output in the trial, like Title, Program Name, Program Type, Output Name, ID , Programmer, Reviewer, … etc.) . The Programming Plan can of course give an overview of the outputs, but you have to do a lot of filtering and you might get wrong information if the Programming Plan is updated manually. Besides you will not be informed if you are using an old version of a Standard Program txt, dataset, macro definition source 12
163 Transition from "hands-on" statistical programmer to leader of a team of role based statistical programmers. Tools and tips to help you succeed. Rodrigo Juarez y Ruiz This paper is inspired by Jim Grudzinski's PharmaSUG 2012 presentation titled "Managing a Blended Programming Staff of Permanent Emplo yees and Continge nt Workers". However, it also shares my personal experiences and perspectives as team leader (i.e. the permanen t em ployee), being responsible for managing projects and coordinating workers in a "role based" sourcing model (i. e. the contingent worker ). I will describe in detail what I consider four basic steps : attitude, know your team, adequate prioritization and track, as well as recommendations, tips, and my opinions in leading and coordinating role based statistical programmers that have helped me successfully exec ute and finish projects that were both planned and unplanned, simple and complex statistical programmer, pharmaceutical industry, data science, clinical programming source 9
164 Turn Your Plain Report into a Painted Report Using ODS Styles Cynthia L. Zender,
Allison M. Booth
In order to use STYLE= statement level overrides, you need to understand which pieces or areas of PRINT, REPORT, and TABULATE output you can change. And then you need to understand how and where in your procedure syntax to use the STYLE= override syntax. Last, but not least, you need to know the names of the style attributes that you want to change. This presentation illustrates with concrete examples how to use STYLE= overrides with PRINT, REPORT, and TABULATE. As the examples move from the simple to the complex, you will learn how to change fonts, add text decoration, alter the interior table lines, perform trafficlighting, and insert images into your ODS output files using some ODS magic to improve your reports proc step, proc print, proc report, proc tabulate, user-defined format, sas enterprise guide, output delivery system, proc format, class variable, ods html source 22
165 Useful Tips for Handling and Creating Special Characters in SAS Bob J. Hull,
Robert Howard
This paper will discuss various ways of creating and dealing with special characters in SAS. Many people experience difficulty when reading in EXCEL files and discover that strange "boxes" appear in the data. What these are and how they can be dealt with will be discussed. Can special characters be saved in the SAS program? How can these characters be typed if they aren't on the keyboard? We will also provide examples on how to include special characters like Greek letters (μ), less than or equal to (≤), and registered trademark () into your SAS programs and RTF output. This paper will help you better understand some ways that special characters can be used within SAS excel, sas output, dataset, ods rtf source 5
166 Using PROC FCMP to the Fullest: Getting Started and Doing More Arthur L. Carpenter The FCMP procedure is used to create user defined functions. Many users have yet to tackle this fairly new procedure, while others have only attempted to use only its simplest options. Like many tools within SAS, the true value of this procedure is only appreciated after the user has started to learn and use it. The basics can quickly be mastered and this allows the user to move forward to explore some of the more interesting and powerful aspects of the FCMP procedure. Starting with the basics of the FCMP procedure, this paper also discusses how to store, retrieve, and use user defined compiled functions. Included is the use of these functions with the macro language as well as with user defined formats. The use of PROC FCMP should not be limited to the advanced SAS user; even those fairly new to SAS should be able to appreciate the value of user defined functions macro facility, proc fcmp, proc step, macro function source 10
167 Using SAS Driver Programs to Automate Workflows and Respond to the Unexpected Brit Minor A driver is a program that runs another program. Typical uses for SAS drivers are to: Run several programs that must be run in a certain sequence. Parse program logs looking for potential problems. Drivers can perform other routine tasks as well, such as: Send success/failure emails. Log each run of a program to an activity log. * Upload program results to a study portal. Thus, driver programs can automate workflows, improve response to failures, and enforce best practices. This paper will describe SAS macros, techniques, and batch command files for writing driver programs sas log, macro variable, sysrc source 9
168 Using SAS to Locate and Rename External Files Lu Gan When reading in external data into SAS, a program needs to specify the data file location and file name in the related importing statements. If the raw data file is named with a TIMESTAMP, the import program will require an extra step which is updating the file name every time before it's run. This will be a hassle if the import is needed on a routine schedule and/or there are multiple external data files. Therefore, a SAS program can be written to eliminate the repeating manual update. This approach includes two steps, first searching for the latest data file in the specific file directory, then renaming it by removing the specific TIMESTAMP. After execution of the above steps, the import program will be able to read in the data files directly. The examples and syntax illustrated are in SAS 9.2. This paper assumes that the reader has a basic understanding of DATA STEP programming and the macro language dataset, macro variable source 8
169 Using the SAS Clinical Standards Toolkit 1.5 to Import CDISC ODM Files Lex Jansen The CDISC Operational Data Model (ODM) is a vendor neutral, platform independent XML format for interchange and archival of clinical study data. The model represents study metadata, administrative metadata, reference data and subject data associated with a clinical trial. The ODM format is defined by an XML schema and a specification. The SAS Clinical Standards Toolkit (CST) is a framework of SAS macros, metadata and configuration files to support clinical research activities. The CDISC ODM standard is one of the standards that are supported by CST. To enable ODM support, SAS has defined a relational data model that represents the ODM model as SAS data sets. This paper provides an introduction to the structure and content of ODM files and shows how the SAS Clinical Standards Toolkit supports: * Reading ODM files dataset, data cleaning, sample, format statement, reference data, output delivery system, clinical data, clinical research, macro parameter, raw data, macro variable, imputation, proc step, clinical trial, cdisc source 28
170 Using Workflows and Metadata Information to Standardize Business Processes in Pharmaceutical Programming Peng Yang,
Wei Liu,
Julie A. Maddox
Pharmaceutical programming teams are getting increasingly more distributed and the tasks are becoming more complex. Standardizing business processes and ensuring consistency is crucial to the successful statistical analysis of clinical studies. Workflow templates can be defined to combine business process activities with the best practice techniques to be used as standards across an organization. Workflows can integrate both manual steps and complex processing steps that can use programmatic actions. This paper describes how workflows can enable several common business processes in clinical data management, biostatistics and statistical programming. In addition, it demonstrates in technical detail how SAS Drug Development implements these workflows clinical research, data cleaning, clinical programming, clinical data, data governance, clinical data management, inferential statistics, clinical trial, independent qc, production run source 9
171 V is for Venn Diagrams Kriss Harris Would you like to produce Venn diagrams easily? This paper shows how you can produce stunning two-, three-, and four-way Venn diagrams by using the SAS Graph Template Language, in particular the DRAWOVAL and DRAWTEXT statements. From my experience, Venn diagrams have typically been created in the pharmaceutical industry by using Microsoft EXCEL and PowerPoint. EXCEL is used to first count the numbers in each group, and PowerPoint is used to generate the two- or three-way Venn diagrams. The four-way Venn diagram is largely unheard of. When someone is brave enough to tackle it manually, then working out the numbers that should go in each of the 16 groups and inputting the right number into the right group is usually done nervously! graph template language, macro variable, macro call, %if-%then-%else, excel source 12
172 Validating Listing Output: A Better Way Hunter Vega,
James Kniffen Jr.
When using the SAS System to create data listings for a clinical study, RTF output can range in size from one page to thousands of pages. In the past, this output was evaluated for accuracy using either the process of parallel programming and manual evaluation of selected records, or a comparison of output data sets using PROC COMPARE. While manual checks of long listings are demanding, they help identify errors such as truncation or incorrect formats that can be missed in a purely programmatic approach. The LISTCOMP macro extracts data directly from an RTF file, compares it to a parallel programmer's data set, and then provides a summary of each of the columns in the listings. Use of the macro is not dependent upon the version of SAS, but implementing the macro may require a moderate level of programming expertise proc compare, ods rtf, proc step, missing value, sas output source 4
173 What's Hot, What's Not - Skills for SAS Professionals Kirk Paul Lafler,
Charles E. Shipp
As a new generation of SAS user emerges, current and prior generations of users have an extensive array of procedures, programming tools, approaches and techniques to choose from. This presentation identifies and explores the areas that are hot and not-so-hot in the world of the professional SAS user. Topics include Enterprise Guide, PROC SQL, PROC REPORT, PROC FORMAT, Macro Language, ODS, DATA STEP programming techniques such as arrays and hashing, business intelligence, sasCommunity.org, JMP, SAS/GRAPH, SAS/STAT, and SAS/AF sas 9, sas base, proc step source 6
174 When Asked for Subject Incidences, Go Ahead and FREQ OUT Rod Norman A frequent task of the clinical programmer is to provide subject incidences or counts of specific values for relevant study variables. For complex ADaM datasets, table specifications may request counts structured from both the differing values of individual variables as well as values of different variables found with the dataset. To perform such counts, programmers frequently rely on restructuring the data so that subject incidences can be more directly calculated. Layers of SQL SELECT statements or macro looping are commonly employed. In this paper, I show that use of the FREQ procedure with ODS OUTPUT can more directly provide a data set that is relevant to obtaining incidences proc freq, proc step, adverse events, adverse event of special interest, flag variable, macro variable, proc sql, cdisc source 8
175 Why the Bell Tolls 108 times? Stepping Through Time with SAS Peter W. Eberhardt For most new SAS programmers SAS dates can be confusing. Once some of this confusion is cleared the programmer may then come across the ISO date formats in SAS, and another level of confusion sets in. This paper will review SAS date, SAS DATETIME, and SAS time variables and some of the ways they can be managed. It will then turn to the SAS ISO date formats and show how to make your dates international sysdate9, date variable, datetime variable, time variable, macro variable, datetime, time, sas programmer, proc sql, character variable, relational database, sas function, format statement source 12
176 Working Hard to Become Lazy Sunil Kumar Pusarla,
Paul D. Hamilton
SAS programmers in the pharmaceutical industry have to perform many common tasks across different study programs. Re-usability of the code we produce goes a long way to make our lives easier. Many situations arise when we need to modify our own code. In such times, rather than inspecting each line of a program for statements which need modification, we can constrain our attention to one easily identified location, which affects all subsequent code automatically. There are many simple yet effective techniques that will increase coding productivity and produce highly robust programs. This paper addresses some of those techniques: legacy procedures like format; new enhancements to procedures like PROC SUMMARY; obscure functions and options; as well as more recent resources such as PROC FCMP proc step, proc format, time variable, proc means source 7

Back to Conf go 2014 go 2012

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.