Supporting a Global SAS Programming Envronment? Real World Applications in an Outsourcing Model



Similar documents
ABSTRACT INTRODUCTION WINDOWS SERVER VS WINDOWS WORKSTATION. Paper FC02

Effective Use of Individual User Profiles with Software Distribution

Scheduling in SAS 9.4 Second Edition

Scheduling in SAS 9.3

Downsizing : Client/Server Computing Joe Wang, The Upjohn Company, Kalamazoo, MI (616)

Guide to Operating SAS IT Resource Management 3.5 without a Middle Tier

SAS System and SAS Program Validation Techniques Sy Truong, Meta-Xceed, Inc., San Jose, CA

JD Edwards World. Database Audit Manager Release A9.3 E

Installing Print Audit 5 in a Citrix or Terminal Services Environment

9.1 SAS/ACCESS. Interface to SAP BW. User s Guide

SAS 9.4 Intelligence Platform: Migration Guide, Second Edition

Why you need an Automated Asset Management Solution

Oracle Enterprise Manager

Cross platform Migration of SAS BI Environment: Tips and Tricks

Discovery and Usage data for Software License Management

Successfully managing geographically distributed development

SPI Backup via Remote Terminal

QAD Enterprise Applications. Training Guide Demand Management 6.1 Technical Training

An Application of the Internet-based Automated Data Management System (IADMS) for a Multi-Site Public Health Project

Using Web Services to exchange information via XML

Feith Document Database Version 8.1 Install Guide

SAS IT Resource Management 3.2

Implementing a SAS Metadata Server Configuration for Use with SAS Enterprise Guide

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on Oracle WebLogic Server

An Introduction to SAS/SHARE, By Example

SAS Intelligence Platform. System Administration Guide

Operations Manager Comprehensive, secure remote monitoring and management of your entire digital signage network infrastructure

Grid Computing in SAS 9.4 Third Edition

Embarcadero Performance Center 2.7 Installation Guide

Best Practices for Managing and Monitoring SAS Data Management Solutions. Gregory S. Nelson

Oracle Fusion Middleware

SAS, Excel, and the Intranet

The following items are trademarks or registered trademarks of Kaba Mas in the United States and/or other countries. GITCON

Oracle Virtual Desktop Client for Android. Release Notes for Release 1.2

Centricity EMR Who should read these release notes? !!! Important! The installation process for this release has.

SAS 9.4 Intelligence Platform

AdminToys Suite. Installation & Setup Guide

Installation Instructions for Version 8 (TS M1) of the SAS System for Microsoft Windows

MOVING THE CLINICAL ANALYTICAL ENVIRONMENT INTO THE CLOUD

Statistical Operations: The Other Half of Good Statistical Practice

Feith Rules Engine Version 8.1 Install Guide

A Comparison of Two Commonly Used CRO Resourcing Models for SAS/ Statistical Programmers R. Mouly Satyavarapu, PharmaNet/ i3, Ann Arbor, MI

ABSTRACT INTRODUCTION SOFTWARE DEPLOYMENT MODEL. Paper

How To Migrate To Redhat Enterprise Linux 4

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

Application Interface Services Server for Mobile Enterprise Applications Configuration Guide Tools Release 9.2

High Availability Setup Guide

ORACLE CLINICAL. Globalization. Flexibility. Efficiency. Competition ORACLE DATA SHEET OVERVIEW ROBUST CLINICAL DATA MANAGEMENT SOLUTION

Medical 360 Network Edition and Citrix

Sage Intergy 6.10 Architecture Guide

Windows 7 Upgrade Risk Mitigation Planning: Ensuring Windows 7 Upgrade Success

About Node Manager and the WebLogic Scripting Tool

Fluency Direct. Proof of Concept Requirements

Managing and Integrating Clinical Trial Data: A Challenge for Pharma and their CRO Partners

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC

SAS 9.3 Intelligence Platform

Backup Server DOC-OEMSPP-S/6-BUS-EN

SAS 9.4 PC Files Server

REx: An Automated System for Extracting Clinical Trial Data from Oracle to SAS

NetIQ AppManager for Self Monitoring UNIX and Linux Servers (AMHealthUNIX) Management Guide

MIGRATING TO AVALANCHE 5.0 WITH MS SQL SERVER

Autograph 3.3 Network Installation

Applications Manager Version 8.0

SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC

General Guide to Installation and Migration for Client/Server BAMS/DSS. Release 6.0

Implementing and Managing Windows Server 2008 Hyper-V

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

UNIX Operating Environment

Selecting the Right NAS File Server

Integration Guide: Using Unidesk 3.x with Citrix XenDesktop

OS/2: TELNET Access Method

Managing Clinical Trials Data using SAS Software

Configuring IBM HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on IBM WebSphere Application Server

Desktop Management, Profile Migration and Cross Platform Delivery. Technical Overview

Gregory S. Nelson ThotWave Technologies, Cary, North Carolina

Only Athena provides complete command over these common enterprise mobility needs.

vcenter Operations Manager for Horizon Supplement

Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL. Installation and System Administrator's Guide 4MASIN450-08

Installation Guide. Tech Excel January 2009

A simple tool to catalogue statistical outputs developed for submission by linking two in-house systems experience from a submission project

Practical application of SAS Clinical Data Integration Server for conversion to SDTM data

System Center Configuration Manager 2007

Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports

Deploying in a Distributed Environment

Pro-Watch Software Suite Installation Guide Honeywell Release 3.81

Installation Manual UC for Business Unified Messaging for Exchange 2010

ClearCube White Paper Best Practices Pairing Virtualization and Centralization Increasing Performance for Power Users with Zero Client End Points

PCmover Enterprise User Guide

Cluster Guide. Version: 9.0 Released: March Companion Guides:

Expanding the Value of the Windows Terminal Server Investment. HOBLink JWT HOB Enhanced Terminal Services

Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer

1. Installation Overview

Transcription:

Supporting a Global SAS Programming Envronment? Real World Applications in an Outsourcing Model Karen Curran and Mark Penniston, Omnicare Clinical Research, King of Prussia, PA ABSTRACT Talented individuals knowing SAS in the Pharmaceutical Industry are sought-after gems. One advantage to globalization is to tap into those markets where superior SAS programmers and statisticians can be trained to bolster the size of the group. Our experiences in providing worldwide, 24-hour support in 6 geographic regions have led to some interesting solutions both from a systems architecture basis and an implementation model. Integration Technologies, Enterprise Guide, and a CDISC platform have helped in creating an agreed-upon vocabulary among the various sites, but without other skills and tools there would not be a truly standardized programming environment. As early adapters for all three technologies, this paper presents our experience with implementing, supporting, communicating and upgrading a worldwide SAS programming environment and set of processes. INTRODUCTION This paper describes the thought process behind our development of a global SAS programming platform with use initially occurring in the U.S. but looking to the future with multiple international sites being initiated as company process harmonization and growth occur. It then describes the practical points that happened as the environment was used and the incorporation of CDISC as a global programming standard has been implemented within a CRO environment with multiple customers, each having their own standards. DESIGN AND IMPLEMENTATION OF A GLOBAL ENVIRONMENT The genesis for the system architecture was derived from the SAS programming population residing within the company. The populations were those of: Individuals accustomed to VMS and a command prompt Individuals accustomed to a PC SAS interface Individuals accustomed to Unix style editors In addition, the programming environment required: Directory and file naming conventions with rules A forward looking method to communicate with Web based platforms Reproducibility and audit trail methodology 1

Figure 1 presents the initial physical architecture of the programming system. Server Room Production Machine (SAS) Unix sqlnet SAS Production Machine (Oracle Clinical) Unix Oracle Local and remote PC s with Enterprise Guide and Terminal Emulators installed SAS Integrated Technologies Oracle Clinical Unix SAS sqlnet Test Machine The decision was made to use a centralized server based on the experience of harmonizing multiple servers for SAS processing. We implemented first with only one site and progressed to others as project demand dictated. Validated program files would not require duplication (i.e. one global validated SAS Macro library) and team members from multiple geographic locations could access the same files and output, preventing management from worrying about duplication of work. Using SAS Integration Technologies and Enterprise Guide we were able to present a solution that those accustomed to working under a PC SAS platform would be comfortable with. Those users more accustomed to a Unix or command style environment used terminal emulators directly to the Unix platform editing the SAS programs on-line. Every programming environment on the production machine consisted of a development and production area for SAS processing to occur. Version control software was installed on the production machine such that a history of all changes would be recorded for audit purposes as programs were promoted from development to production. Stored within the version control database are such items as who last updated the production code, what was changed and the reason why the program was placed there. Users were at first uncomfortable with the idea of checking in code but now appreciate the tracking of changes with historical documentation. To ensure a person is only working on a single project setup, the Unix directory structure was created so that when working in one project a user cannot be in a second, unrelated project at the same time. Unix scripts were created and validated for directory structure configuration and accessing of files. Batch processing of the SAS programs could only be achieved by one first registering with that project. Example UNIX command registry to a project. OCRSAS% register myclient project Registering to task myclient project displays dev OCRSAS% 2

With Enterprise Guide this registration is accomplished before a user enters the system. A customer/project selection routine was designed and written to provide a pick list from which the desired project could be chosen. Once all options were selected, Enterprise Guide would then start up initializing to the appropriate customer specific macros for proper functionality. Example Enterprise Guide registry to a project In both instances a user can define if they are entering the development or production environment. Additionally, one is allowed to choose which version of Enterprise Guide to work with as there are certain interface characteristics that users prefer. The version of SAS that can be used for that project is stored within a particular projects information summary repository and is not an accessible item from either the interactive or command prompt project entry utility. Platform implementation occurred first in the U.S. sites (Pennsylvania and New York) followed by an international rollout (Germany and United Kingdom). It was believed that this staggered approach would help in identifying and correcting of unforeseen problems before release to a wider audience. There was no intention of migrating existing projects from other platforms to the new system which would allow us to have gradual growth of the platform and to monitor system performance. In retrospect, this proved to be an ideal situation for managing growth of the system and user acceptance for the new platform. Dataset harmonization was agreed to in 2003 with the publication of more defined CDISC standards. It was believed that as we moved toward harmonized default output, the data from which said output was based upon should be harmonized too. Initial Worldwide Implementation 3

SUPPORTING AND UPGRADING A GLOBAL ENVIRONMENT The support of a global environment requires: Training Documented processes Communication Feedback and review of performance metrics Constant reexamination Documentation of processes was performed through updates of Standard Operating Procedures and Working Practice Guidelines. This was supplemented with training and multiple communications to the user community. Feedback was always blunt and to the point from this particular community with the adverse effect of delayed acceptance toward migration to the new platform. The concept of using both a development and production environment separated by a version control software system caused a fair amount of communication within the community which had, to that point, not fully accepted the concept of code validation. Standard datasets based on CDISC definitions were met with skepticism until the community began seeing programming efficiencies. This was true both from an internal and external client base. Implementation Findings: New systems should not be slow. Determining why they are slow can be a difficult process. Agreement to database and output harmonization can be a difficult but very rewarding process Through methods of deduction we have discovered that: Enterprise Guide works better with servers assisting in the location of the SAS user community Network speeds are dependent upon internal, in-house hardware as well as external service provider speeds. Above a certain distance, desktop virtualization software such as CITRIX must be used even for terminal emulation software to be usable Everyone agrees that standards are required to gain the ability of sharing resources globally Adding additional sites to the platform, requires training and a high degree of project sharing to ensure all operational definitions are harmonized. Unix with Integration Technologies and SAS Enterprise Guide appear to communicate to one another more than initially thought. Where it was originally believed that EG sessions only required the information of where the SAS machine is located and what port to use, it appears that there are communications regarding binders, groups and folders on an ongoing basis during the applications execution. To assist in this communication process a series of local (distributed component object model) services were placed in each of the 4 offices. This increased the speed for an EG session tremendously. There was a large investment to increase the bandwidth of the remote offices to the central server to obtain acceptable performance standards for network speed. We discovered that one office (Germany), while having the same network connection as the United Kingdom office, could not achieve the same relative performance. It was discovered through a manual process that circuitry and hardware within this office was faulty, requiring upgrade or replacement. These problems were not discovered prior to this implementation as the SAS server and data were local to that office until this upgrade. Having the old system remain available for processing of data allowed for such findings to be worked through without impacting project work. As the company has since grown we have found that above a certain, undetermined, distance from the central server there is such a degradation of performance with Enterprise Guide or terminal emulation that programming cannot realistically be performed. To handle this we have since turned to using desktop virtualization software to get us to acceptable performance levels. 4

Current World Wide Implementation (SAS Unix) SAS Integration Technologies Citrix Servers Current and Future Remote Sites Pennsylvania New York United Kingdom German y Local and Remote PCs with Enterprise Guide Terminal Emulators Installed Local and Remote Local and Remote Local and Remote PCs with PCs with PCs with Enterprise Guide Enterprise Guide Enterprise Guide Terminal Emulators Terminal Emulators Terminal Emulators Installed Installed Installed The figure above graphically displays the current worldwide SAS implementation. It allows the user community the greatest flexibility feasible in a central server system without implementation of Web based SAS tools. In parallel to the global architecture implementation, global process harmonization has been implemented as well. Written in SOPs and Working Practice Guidelines the processes are described to ensure conformity as best as possible. The balance of harmonization for efficiencies to the creation of bureaucracy is a serious concern within the organization. To that effect we choose CDISC as the standard data model to remove our internal conversations and to help new individuals to the company. Even with published standards there are unanticipated interpretation discussions that occurred. We have discovered that only by working together on projects are we able to completely ensure the primary vocabularies between groups are the same. Once a few projects are shared together the project teams become site based for further efficiencies in programming production. CONCLUSIONS Planning of Global systems is only the first step in harmonization activities. Implementation of systems requires constant communication and rethinking of initial assumptions when the SAS software is implemented in a version 1 or 2 form. SAS is an excellent tool to implement such efforts. The ability to take internal customer feedback about a system is just as important as initial rollout for user acceptance to occur. Only through user acceptance will the benefits of such systems be achieved and efficiencies realized. REFERENCES: Curran, Karen. Using SAS Enterprise Guide in a Global Programming Environment SAS Institute Inc. 2005. Proceedings of the Thirtieth Annual SAS Users Group International Conference. 10-13 April 2005, Paper 230-30. Cary, NC: SAS Institute Inc. 5

ACKNOWLEDGMENTS SAS is a Registered Trademark of the SAS Institute, Inc. of Cary, North Carolina. CDISC is a non profit organization dedicated to develop and support global, platform-independent data standards that enable information system interoperability to improve medical research and related areas of healthcare. Special thanks to Michelle Hayden for all her help in putting this document together. CONTACT INFORMATION In case a reader wants to get in touch with you, please put your contact information at the end of the paper.) Your comments and questions are valued and encouraged. Contact the author at: Karen Curran and Mark Penniston Omnicare Clinical Research 630 Allendale Road King of Prussia, PA 19406 Work Phone: (484) 679 2419 (484) 679 2436 Fax: (484) 679 2509 Email: Karen.Curran@omnicarecr.com Mark.Penniston@omnicarecr.com Web: www.omnicarecr.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6