DataRich Consulting Training

CDISC CLASSES

This course will provide a high-level overview of some of basic ADaM concepts. It is assumed that the attendee will have a fundamental knowledge of the different ADaM structures and principles. The primary focus of the course is to illustrate the implementation of some of the concepts found in both the ADaM Implementation Guide (ADaM IG) and the ADaM Structure for Occurrence Data (OCCDS) documents. Items covered include setting up subject level analysis data set (ADSL) for common trial designs and walking through the process of creating a basic data structure (BDS) starting from a simple BDS and building on it to structure a data set that will support one or more analyses. Additionally, the course will demonstrate how to implement some variables that are only found in OCCDS, such as the standardized MedDRA query (SMQ) and customized query (CQ) variables.

This course will provide a high-level overview of some of the basic ADaM concepts; however, it is assumed that the attendee will be familiar with the different ADaM structures and principles. The course will delve into what is meant by traceability and analysis ready as well as look at some rules and best practices. However, the primary focus is to illustrate the implementation of some of the more difficult or less common concepts found in both the ADaM Implementation Guide (ADaMIG) and the ADaM Structure for Occurrence Data (OCCDS) documents. The course includes an illustration of the use of criterion variables (CRITy and MCRITy) and record-level and parameter-level population flags (-RFL and -PFL), as well as a demonstration of how to set up time-to-event and questionnaire/rating/scales analysis data sets. In addition, it will go into depth about AEs of special interest and the use of Standard MedDRA Queries (SMQ) and provide an illustration of how the OCCDS can be used to handle the non-typical analysis for events data.

SAS CLASSES

We have all been there. We write a program based on the data we have. Then, we get new data and we must update the program. Making these updates can be time consuming. Not only must you update the production version of the program, but someone must also update any associated validation or QC programs. Wouldn’t it be nice if there were ways around this? This is where data-driven techniques come in handy. Using detailed examples, you will learn how to write robust code that is ready to handle an unexpected bend in the road! This half-day course will cover advanced techniques such as: discovering and using information about data sets and variables even if it's not known in advance; generating dynamic formats that are based on the data instead of hard-coded into your program; using complex looping structures to control your program flow based on the data; building code on the fly, even from within a DATA step; and much more!

Functions are an invaluable part of the programmer’s toolbox. While some functions are extremely popular, for good reason, there are some that could be considered hidden gems. This training will highlight less commonly used functions, such as the PRXCHANGE and PRXPARSE functions, which are essential for efficient string manipulation. Another example is the COALESCE(C) function, which can facilitate the population of missing values based on parameters, and more. This course will illustrate through examples these and more FunKey functions. Additionally, this course will explore the utility of writing functions with the FCMP procedure, which combines the reusability of macro processing with the power of functions, and learn to enhance SAS reporting with user-written style functions. The course is designed for everybody of all skill levels.

Anyone who has produced a graph using ODS Graphics has unknowingly used the Graph Template Language (GTL). ODS graphics produced by SAS® procedures such as the Statistical Graphics (SG) procedures actually rely on pre-defined templates built with GTL. GTL generates graphs using a template definition that provides extensive control over its format and appearance. Although most of the graphs produced within a procedure are adequate for most situations, they sometimes lack those one or two extra features you need to really make your graphs stand out and impress your clients or customers. GTL, as an extension of ODS Graphics, allows users much greater flexibility in creating specialized graphs. In this class, you'll learn how to use GTL to create complex, highly customized graphics that you could only dream about before. We'll cover the different types of layouts provided by GTL as well as various types of plots. The focus of the course will be on three specific layouts (i.e., OVERLAY, GRIDDED and LATTICE) and the more common types of plots (e.g., BARCHART, BLOCKPLOT, BOXPLOT, HIGHLOWPLOT, SCATTERPLOT and SERIESPLOT). Through the use of detailed examples, you will learn how to build your own template to make customized graphs and how to create that one highly desired, unique graph that at first glance seems impossible.

Although PROC REPORT has been available since Version 6.07, the procedure is generally underutilized. One reason is that the syntax of the procedure is unique with the SAS System. Learning the basic structure in an organized way allows the programmer to easily transition from simple to increasingly more complex tables.

This Seminar will show how PROC REPORT works and thinks through a series of increasingly more complex examples. Examples will include:
• An introduction to the basic syntax of the PROC step
• Introduction to the COLMN, DEFINE, COMPUTE, BREAK, and RBREAK statements
• The demonstration of addition of text to headers and value descriptions
• The use of the DEFINE statement to form groups and columns
• The generation of breaks before and after groups
• The generation of breaks before and after the report
• Use of Aliases

This course was developed, copyrighted, and previously taught by Art Carpenter. For this course, it has been licensed to be taught by Richann Watson.

One of the unique features of the REPORT procedure is the Compute Block. This PROC step tool allows the use of most DATA step statements, logic, and functions. Through the use of the compute block you can modify existing columns, create new columns, write text, and more!

As is so often the case, this power and flexibility comes at a price. The compute block can be complicated. There are a number of column identification and timing issues that can confound the PROC REPORT user. Of course, to make matters even more interesting, there can be multiple compute blocks that can interact with each other and that can execute for different portions of the report table.

What is one to do?

This Seminar will discuss the essential elements of the compute block, its relationship to the Computed Summary Information, and how it interacts with temporary variables and report items. We will discuss timing issues and naming conventions through a series of example tables.

The Seminar participant should have a working knowledge of the REPORT procedure and should have at least attempted the occasional compute block.

This course was developed, copyrighted, and previously taught by Art Carpenter. For this course, it has been licensed to be taught by Richann Watson.