Interactive Programming Using Task in SAS Studio

Similar documents
The Implementation of Display Auto-Generation with Analysis Results Metadata Driven Method

Metadata and ADaM.

Creating an ADaM Data Set for Correlation Analyses

PharmaSUG China. model to include all potential prognostic factors and exploratory variables, 2) select covariates which are significant at

An Efficient Solution to Efficacy ADaM Design and Implementation

Making a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets

SAS Instructions Entering the data and plotting survival curves

SAS Application to Automate a Comprehensive Review of DEFINE and All of its Components

Data Annotations in Clinical Trial Graphs Sudhir Singh, i3 Statprobe, Cary, NC

PSS weighted analysis macro- user guide

PharmaSUG2014 Paper DS09

An Introduction to Visit Window Challenges and Solutions

One Project, Two Teams: The Unblind Leading the Blind

Preparing the Office of Scientific Investigations (OSI) Requests for Submissions to FDA

Working with Composite Endpoints: Constructing Analysis Data Pushpa Saranadasa, Merck & Co., Inc., Upper Gwynedd, PA

Hands-On ADaM ADAE Development Sandra Minjoe, Accenture Life Sciences, Wayne, Pennsylvania

PharmaSUG Paper PO22

Developing Graphical Standards: A Collaborative, Cross-Functional Approach Mayur Uttarwar, Seattle Genetics, Inc., Bothell, WA

Sorting big datasets. Do we really need it? Daniil Shliakhov, Experis Clinical, Kharkiv, Ukraine

Module I: Clinical Trials a Practical Guide to Design, Analysis, and Reporting 1. Fundamentals of Trial Design

A Macro for Generating the Adverse Events Summary for ClinicalTrials.gov

Creating output datasets using SQL (Structured Query Language) only Andrii Stakhniv, Experis Clinical, Ukraine

ABSTRACT INTRODUCTION WHERE TO START? 1. DATA CHECK FOR CONSISTENCIES

PharmaSUG Paper DS24

Hands-On ADaM ADAE Development Sandra Minjoe, Accenture Life Sciences, Wayne, Pennsylvania Kim Minkalis, Accenture Life Sciences, Wayne, Pennsylvania

Deriving Rows in CDISC ADaM BDS Datasets

Applying ADaM Principles in Developing a Response Analysis Dataset

Kaplan-Meier Survival Plotting Macro %NEWSURV Jeffrey Meyers, Mayo Clinic, Rochester, Minnesota

The Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA

DCDISC Users Group. Nate Freimark Omnicare Clinical Research Presented on

PharmaSUG Paper PO10

Use of Traceability Chains in Study Data and Metadata for Regulatory Electronic Submission

Streamline SDTM Development and QC

/********************************************/ /* Evaluating the PS distribution!!! */ /********************************************/

Making the most of SAS Jobs in LSAF

Programming checks: Reviewing the overall quality of the deliverables without parallel programming

Combining Contiguous Events and Calculating Duration in Kaplan-Meier Analysis Using a Single Data Step

Paper HOW-06. Tricia Aanderud, And Data Inc, Raleigh, NC

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

Paper: PO19 ARROW Statistical Graphic System ABSTRACT INTRODUCTION pagesize=, layout=, textsize=, lines=, symbols=, outcolor=, outfile=,

How to write ADaM specifications like a ninja.

ADaM and traceability: Chiesi experience

PharmaSUG China

Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ

It s All About Getting the Source and Codelist Implementation Right for ADaM Define.xml v2.0

AUTOMATED CREATION OF SUBMISSION-READY ARTIFACTS SILAS MCKEE

Harmonizing CDISC Data Standards across Companies: A Practical Overview with Examples

Amie Bissonett, inventiv Health Clinical, Minneapolis, MN

Patricia Guldin, Merck & Co., Inc., Kenilworth, NJ USA

PharmaSUG Paper PO03

PharmaSUG 2014 PO16. Category CDASH SDTM ADaM. Submission in standardized tabular form. Structure Flexible Rigid Flexible * No Yes Yes

ADaM for Medical Devices: Extending the Current ADaM Structures

Quality Control of Clinical Data Listings with Proc Compare

Using The System For Medical Data Processing And Event Analysis: An Overview

esubmission - Are you really Compliant?

%EventChart: A Macro to Visualize Data with Multiple Timed Events

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ

Application of Modular Programming in Clinical Trial Environment Mirjana Stojanovic, CALGB - Statistical Center, DUMC, Durham, NC

Validating Analysis Data Set without Double Programming - An Alternative Way to Validate the Analysis Data Set

Reverse-engineer a Reference Curve: Capturing Tabular Data from Graphical Output Brian Fairfield-Carter, ICON Clinical Research, Redwood City, CA

Reducing SAS Dataset Merges with Data Driven Formats

The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC

Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database

A Picture is worth 3000 words!! 3D Visualization using SAS Suhas R. Sanjee, Novartis Institutes for Biomedical Research, INC.

ODS TAGSETS - a Powerful Reporting Method

CC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ

From SDTM to displays, through ADaM & Analyses Results Metadata, a flight on board METADATA Airlines

How to Create Data-Driven Lists

Best Practice for Creation and Maintenance of a SAS Infrastructure

The Submission Data File System Automating the Creation of CDISC SDTM and ADaM Datasets

Paper CC06. a seed number for the random number generator, a prime number is recommended

Document and Enhance Your SAS Code, Data Sets, and Catalogs with SAS Functions, Macros, and SAS Metadata. Louise S. Hadden. Abt Associates Inc.

A Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA

The Path To Treatment Pathways Tracee Vinson-Sorrentino, IMS Health, Plymouth Meeting, PA

Quick and Efficient Way to Check the Transferred Data Divyaja Padamati, Eliassen Group Inc., North Carolina.

Reproducibly Random Values William Garner, Gilead Sciences, Inc., Foster City, CA Ting Bai, Gilead Sciences, Inc., Foster City, CA

PharmaSUG China Big Insights in Small Data with RStudio Shiny Mina Chen, Roche Product Development in Asia Pacific, Shanghai, China

TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA

The Power of Combining Data with the PROC SQL

PharmaSUG Paper AD06

PharmaSUG China Mina Chen, Roche (China) Holding Ltd.

From SAP to BDS: The Nuts and Bolts Nancy Brucken, i3 Statprobe, Ann Arbor, MI Paul Slagle, United BioSource Corp., Ann Arbor, MI

Implementing CDISC Using SAS. Full book available for purchase here.

Useful Tips When Deploying SAS Code in a Production Environment

An Alternate Way to Create the Standard SDTM Domains

Main challenges for a SAS programmer stepping in SAS developer s shoes

Using SAS Enterprise Guide with the WIK

Speed Dating: Looping Through a Table Using Dates

Standard Safety Visualization Set-up Using Spotfire

RCASPAR: A package for survival time analysis using high-dimensional data

An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio

IF there is a Better Way than IF-THEN

Automation of SDTM Programming in Oncology Disease Response Domain Yiwen Wang, Yu Cheng, Ju Chen Eli Lilly and Company, China

JMP Clinical. Release Notes. Version 5.0

Create Flowcharts Using Annotate Facility. Priya Saradha & Gurubaran Veeravel

Let Hash SUMINC Count For You Joseph Hinson, Accenture Life Sciences, Berwyn, PA, USA

A SAS Macro for Generating Informative Cumulative/Point-wise Bar Charts

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

PharmaSUG Paper DS06 Designing and Tuning ADaM Datasets. Songhui ZHU, K&L Consulting Services, Fort Washington, PA

Transcription:

ABSTRACT PharmaSUG 2018 - Paper QT-10 Interactive Programming Using Task in SAS Studio Suwen Li, Hoffmann-La Roche Ltd., Mississauga, ON SAS Studio is a web browser-based application with visual point-and-click user interface tasks that generate SAS code. Users can create their own tasks using the common task model and the Velocity Template Language. This paper illustrates how to conduct interactive programming by creating customized tasks in SAS Studio. INTRODUCTION SAS Studio is a SAS development application that user can access through web browser. It has predefined tasks that are XML and Apache Velocity code files to generate SAS code and format results. You can select a dataset from a drop down list, filter data, explore data, and build model in task. SAS code is generated in the code window while you are making the selections. You can create your own tasks as well by editing the XML code to set up options that capture the inputs you want. Those inputs then pass into your code for execution. You can create different code for different analyses rather than creating complex macro program. This paper will show how to develop SAS program interactively with customized tasks for survival analyses, swimmer plots, and ADSL data creation as examples. SURVIVAL ANALYSIS A customized task was created in Figure 1 to compute Kaplan-Meier curve using PROC LIFETEST. The task also has an option to estimate Hazard ratio using the Cox model. When clicking the Value box, a list of distinct values of the variable selected in the Variable 1 box will appears. By selecting different value from the Value drop-down list, you can perform analysis for different end points for example overall survival, progression free survival, etc. Figure 1 Select Endpoint for Analysis When all the required variables for time and censor are entered, code is generated in Figure 2. The KM plot is displayed in Figure 3. As no strata variable is selected, only one survival function is displayed for all patients.

Figure 2 Select Variables Figure 3 Kaplan-Meier Plot for All Patients You can run the same analysis by group if you enter variable in the Strata variable box. For example, Figure 4 is Kaplan-Meier plot by treatment arm when the variable ARMCD is entered. 2

Figure 4 Kaplan-Meier Plot by Treatment Arm If the Harzard Analysis box is checked, PROC PHREG to fit Cox regression is added into the code. Hazard ratio then is added in the summary in the Kaplan-Meier plot, see Figure 5 and Figure 6. Figure 5 Estimating Hazard Ratio 3

Figure 6 Kaplan-Meier Plot with Hazard Ratio in Summary SWIMMER PLOT The task in Figure 7 creates swimmer plot with custom data tips. The data tips can help QC and provide additional information which is not plotted in the figure for data review. The variables to be displayed in data points are specified in the box under Display Data Tips at the Point of the Cursor heading. Thus, the variable data that appears in the data tips can change dynamically on different output requests. The plot can be separated by different group if variable is selected in the Variable box. Figure 7 Swimmer Plot with Data Tips ADSL Some companies have standard data specifications with options for different scenario. For example, in below ADSL standard data specification template in Figure 8, there are 5 options for AAGE and 2 options for ITTFL. 4

Figure 8 ADSL Data Specification Below is the standard SAS program including code for different options but commenting out non-default ones. Programmer then needs to modify the code to select specific options based on his/her study. It is also not easy to validate the program with so many codes commented out. ***************** ITTFL for Randomized Study ******************; ********************Option 1 (default) *************************; data ittfl (keep = usubjid ittfl); attrib ittfl label="intent-to-treat Population Flag" length=$1; set sdtm.ds(where=(dsdecod="randomization" and ^missing(dsstdtc))); ittfl = 'Y'; run; data qc_adsl; merge qc_adsl(in=inadsl) ittfl ; by usubjid; if inadsl; if missing(ittfl) then ittfl = "N"; run; ***************** ITTFL for Non-Randomized Study ******************; ********************Option 2 *************************************; /*data ittfl; attrib ITTFL label="intent-to-treat Population Flag" length=$1; set sdtm.ds(where=(dsdecod="enrollment" and ^missing(dsstdtc))); ITTFL = 'Y'; run;*/ **********************Option 1 (default) **************************; ********************** age_analysis_refdt = randdt *****************; ********************** age_analysis_unit = Y **********************; aage = int((randdt - brthdt + 1)/365.25); aageu = "YEARS"; ************************* Option 2 **************************; ********************** age_analysis_refdt = trtsdt *****************; ********************** age_analysis_unit = Y **********************; *aage = int((trtsdt - brthdt + 1)/365.25); *aageu = "YEARS"; ********************** age_analysis_unit = M **********************; *aage = int((trtsdt - brthdt + 1)/30.4375); *aageu = "MONTHS"; Although a SAS macro can be developed to accommodate all options, the macro program is not easy to read. Especially when we submit the program used to create ADaM dataset, we hope the program is simple and readable. 5

With SAS Studio customized task, programmer can create readable code for his/her study without spending much time to modify the standard ADSL program. He/she only needs to point and click some options in the interface task. In Figure 9, the SAS program has a block of code to derive ITTFL and AAGE using randomization date RANDDT only for default. There is no code for other options in it; in Figure 10, when options 2 are selected for ITTFL and AAGE, the code automatically switches to use enrollment date to derive ITTFL and use TRTSDT for AAGE calculation. Changing program header and libname is handled in this task as well. It will ultimately reduce program development time. On top of that, it is very easy to validate the program with different option combination. Figure 9 ADSL Program with Default Options Figure 10 ADSL Program with Options 2 for ITTFL and AAGE 6

CONCLUSION With custom task in SAS Studio, you can create SAS program interactively for different requests or options by point-and-click only. It saves your time to modify code or develop complicated SAS macro. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Suwen Li Hoffmann-La Roche Limited 7070 Mississauga Road Mississauga, ON L5N 5M8, Canada SAS 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. Other brand and product names are trademarks of their respective companies. 7