Application Interface for executing a batch of SAS Programs and Checking Logs Sneha Sarmukadam, inventiv Health Clinical, Pune, India

Similar documents
PharmaSUG Paper PO10

An Alternate Way to Create the Standard SDTM Domains

Scrambling of Un-Blinded Data without Scrambling Data Integrity! Jaya Baviskar, Pharmanet/i3, Mumbai, India

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

Submitting Code in the Background Using SAS Studio

PharmaSUG Paper IB11

Making the most of SAS Jobs in LSAF

Why SAS Programmers Should Learn Python Too

The Next Generation Smart Program Repository

TLF Management Tools: SAS programs to help in managing large number of TLFs. Eduard Joseph Siquioco, PPD, Manila, Philippines

PharmaSUG Paper TT11

User s Manual. Version

PhUSE Giuseppe Di Monaco, UCB BioSciences GmbH, Monheim, Germany

Submission-Ready Define.xml Files Using SAS Clinical Data Integration Melissa R. Martinez, SAS Institute, Cary, NC USA

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

Automation of makefile For Use in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA

Seqrite Cloud. Integrated cloud console for Endpoint Security and UTM. Seqrite Managed Security Service Portal (MSSP)

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

ishipdocs User Guide

Basic Intro to ETO Results

Enterprise Client Software for the Windows Platform

Cleaning up your SAS log: Note Messages

Oracle Banking Digital Experience

Extending the Scope of Custom Transformations

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

Be Your Own Task Master - Adding Custom Tasks to EG Peter Eberhardt, Fernwood Consulting Group Inc. Toronto, ON

IBM VisualAge for Java,Version3.5. External Version Control

From Clicking to Coding: Using ODS Graphics Designer as a Tool to Learn Graph Template Language

What s New in BID2WIN Service Pack 4

Building Flexible Jobs in DataFlux

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

Oracle Banking Digital Experience

PharmaSUG Paper BB01

SAS Studio: A New Way to Program in SAS

IF there is a Better Way than IF-THEN

Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China

Oracle Banking Digital Experience

Oracle Banking Digital Experience

A Mass Symphony: Directing the Program Logs, Lists, and Outputs

CTP SUBMISSION PLATFORM

A SAS Solution to Create a Weekly Format Susan Bakken, Aimia, Plymouth, MN

Doctor's Prescription to Re-engineer Process of Pinnacle 21 Community Version Friendly ADaM Development

Installation and Configuration Instructions. SAS Model Manager API. Overview

Chasing the log file while running the SAS program

Acrobat XI Pro Accessible Forms and Interactive Documents

The Output Bundle: A Solution for a Fully Documented Program Run

ASSEMBLER USER GUIDE. Developed and published by Expedience Software Copyright Expedience Software

Best Practice for Creation and Maintenance of a SAS Infrastructure

Word 2016 Advanced. North American Edition SAMPLE

Data Level Security. Installation and deployment guide

2017 NYSDOH Tableau Sepsis Audit Reports User Guide 1

Validation of Reference Data against. Member Profile

DataFlux Web Studio 2.5. Installation and Configuration Guide

SAS Model Manager 15.1: Quick Start Tutorial

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

SAS Clinical Data Integration 2.4

Multi-Sponsor Environment. SAS Clinical Trial Data Transparency User Guide

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China

epaystub for Canadian Payroll 2016

Project Zip Code. Version CUNA s Powerful Grassroots Program. User Manual. Copyright 2018, All Rights Reserved

SAS macro package to automate coding graphs with ClinXport.

Oracle Banking Digital Experience

Instructions to fill ecan form. 2. You have a provision to fill a new form as well as retrieve an already filled up form.

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

How to validate clinical data more efficiently with SAS Clinical Standards Toolkit

Desktop SMS Software. User Manual. SMSCountry Networks Pvt. Ltd. #408, Aditya Trade Center, Ameerpet, Hyderabad, Andhra Pradesh, India

SAS Business Rules Manager 1.2

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA

This will take you to the payment section of the Role Builder.

Easy CSR In-Text Table Automation, Oh My

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

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

SysInfoTools Excel Recovery

ipm Global CHAPTER 1 INSTALLATION CH 1 - p 1

Paper William E Benjamin Jr, Owl Computer Consultancy, LLC

Real Time Clinical Trial Oversight with SAS

PhUSE US Connect 2019

Tags, Categories and Keywords

SAS Model Manager 2.2. Tutorials

Workshop MedSciNet - Building an Electronic Data Capture System for a Clinical Trial

AirStick S-ID User Guide

INDEPENDENT PROCEDURE. Corporate FirstClass Conferences and FirstClass Procedures

SAS Simulation Studio 14.1: User s Guide. Introduction to SAS Simulation Studio

User Guide. Join us on

epaystub 2015 Build Notes ENCORE BUSINESS SOLUTIONS twitter.com/encorebusiness.com

Timeslips BillQuick 2011 Data Conversion

PRODUCT CONTENT C LOUD SUPPLIER PORTAL USER GUIDE

PRISM - FHF The Fred Hollows Foundation

LST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC

Data Entry Tool, version 3.0

A Hands-On Introduction to SAS Visual Analytics Reporting

Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico

Setting up a database for multi-user access

IMPORTANT INSTRUCTIONS:

SAS Clinical Data Integration 2.6

THE OUTPUT NONMEM DATASET - WITH ADDL RECORDS

PharmaSUG Paper SP09

A Utility Program for Quickly Identifying LOG Error or Warning Messages

New York State Department of Health Medicaid Perinatal Care Quality Improvement Project

Basic SAS Hash Programming Techniques Applied in Our Daily Work in Clinical Trials Data Analysis

Transcription:

PharmaSUG 2013 - Paper AD16 Application Interface for executing a batch of SAS Programs and Checking Logs Sneha Sarmukadam, inventiv Health Clinical, Pune, India ABSTRACT 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. INTRODUCTION As SAS programmers, we have always created batch files to execute multiple SAS programs. While creating a batch file, many aspects should be taken care of - the study (folder) paths need to be specified properly, program names need to be written down carefully and then this file has to be run with a UNIX command in SAS or by double clicking the batch file, etc. Moreover, the spellings of the study path and programs need to be checked thoroughly to prevent failure of the batch-run. Also, while writing down program names in a batch file, some programs may be accidentally missed out by us. The above process, though faster than manually executing each program, becomes time consuming when we have to execute a multitude of programs. The creation of batch file is a process which comes with a baggage of above mentioned risks. After carefully considering the above points, I would like to propose EzeeApp - a simple application designed to carry out batch runs and checking logs. EzeeApp has a very user friendly interface which requires minimal text inputs from the users. It is designed in such a way that it considerably reduces the efforts required by a programmer. For executing multiple SAS programs, EzeeApp requires very few inputs from the user like SAS.exe path, location of the folder of interest (where SAS programs are located), output location for the log files that will be created after the SAS programs are run, etc. The actual SAS programs need to be selected by the user only by clicking the required check boxes against the list of SAS programs. As a result, any spelling mistakes are ruled out completely. On the basis of these bare-minimum inputs, a batch file is created and executed by EzeeApp. The above mentioned process of executing multiple SAS programs is one aspect of EzeeApp. The other aspect in the application is a Log-Check utility. After a batch file is executed, user has an option to check the log files generated by batch run process. Here too, by providing few simple inputs such as setting the SAS.exe path, log folder path, results folder path/name, etc., the in-built Log-Check functionality would scan through the given folder locations for.log files. If any undesirable text such as error, warning, uninitialized, w.d etc. is found in any of the log files, then the results would be populated in Microsoft Excel file. Hence, by using EzeeApp, a user can become carefree about either the batch runs or checking logs and also save a lot of time and effort. In this paper we shall see how the above processes are carried out in detail and how EzeeApp can make a programmer s life easier.

EZEEAPP DESIGN AND FUNCTIONALITY EzeeApp is a simple application designed to improve the efficiency of SAS programmers. Keeping that in mind, the application interface has been divided into two tabs SAS Programs and Log-Check Display 1: EzeeApp Interface Design SAS PROGRAMS In this tab, the first step is to set the SAS.exe path which is the user s local SAS.exe path. Following this, the program type is selected from a drop-down menu. This takes the value of either Datasets, Listings, Tables or Figures. Display 2: Program Type Drop-down Values Once the Program Type has been selected, next step is to click on the Add Folders button and select the folders in which SAS programs reside. This will make all the.sas programs appear in the grey box in the interface from a particular folder at a time. The user can select all programs displayed, for batch run, by simply clicking on the Select check-box (Please note that only the selected programs shall be considered by the application for batch run process). 2

If the user wishes to deselect some of the unwanted programs then same can be done by unchecking the check-box present in front of the program path. Similarly, the user can add multiple program types by repeating the above procedure. Display 3: Selected SAS programs list The steps mentioned in the above are mandatory and if the user does not carry out even a single step, EzeeApp shall notify the user accordingly. Example: If the Set SAS Path field is not populated and Program Type setting is attempted, then the below message pops up on screen. Display 4: Pop-up window if user does not select/enter any mandatory fields Once all the above steps are completed, EzeeApp is ready for the batch file operation. Execution of the batch can be carried out by clicking on the Execute SAS Programs button. 3

LOG-CHECK Now we proceed to the Log-Check. If the user performs a batch run prior to Log-Check then the Set SAS Path field will already be populated. If the user wants only a log check to be performed without a batch run, then the SAS path would need to be supplied by clicking on the Set SAS Path. The next field is the Log-Check result folder. This folder will have a compiled version of all the undesired errors, warnings, uninitialized, w.d, etc. messages from a folder after execution of Log-Check. To specify which log folders are to be checked, we proceed in a way similar to the batch file. Display 5: All details entered into the Log-check tab The user, having selected the required log files, can still update the log paths of the programs entered. This can be done by selecting a row (log path) from the list and editing the log path. Alternatively, the user can also use CTRL+A keys to select all the programs and change all paths at once. When the user is satisfied with all the information entered, he/she can click on the Run Log-Check button for initiating the process. 4

Once the log check is performed, the results of Log-Check shall be compiled in a single Microsoft Excel file. Example of a log-check result file would be as below- Display 6: Microsoft Excel file showing the errors/warnings, etc. One look at the excel file and the user can come to know whether the logs are error free or not and if not then what errors they contain. The last column Resolution can be used by reviewer to add comments such as message is valid or data issue or actual issue. Excel file also gives the flexibility of using filters based on program name or message, as required. CONCLUSION Applications make our life easy. This paper is an attempt to standardize a process which is routinely used by SAS programmers. The prime objective of increasing efficiency and decreasing efforts in a fool proof manner is met via this application interface. As we have seen above, EzeeApp is a simple interface designed to cut short the manual work done by programmers. The intention behind developing such application is solely to minimize the time and effort consumption and negate all procedural errors. Such an application can surely make a difference in a programmer s day-to-day life. EzeeApp has been created using the.net framework..net framework is not an exclusive framework to develop such applications and one may use Java or any other platform of comfort to create one of their own. All applications may have a different look, design or sub-functionality. Each can be as fancy and flashy or as simple and sweet. The basic requirement is - they should be able to create and execute a batch file. ACKNOWLEDGEMENTS I would sincerely like to thank Sumitsinh Thakur for all his help in developing the application. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Name: Sneha Sarmukadam Enterprise: inventiv Health Clinical Address: Building No.4, 6 th Floor, Commerzone, Yerwada City, State ZIP: Pune, Maharashtra, India - 411006 Work Phone: +91 20 3056 9113 E-mail: sneha.sarmukadam@inventivhealth.com 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. 5