LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau, ClinOps LLC. San Francisco, CA.

Size: px
Start display at page:

Download "LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau, ClinOps LLC. San Francisco, CA."

Transcription

1 LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau, ClinOps LLC. San Francisco, CA. ABSTRACT LOCF stands for Last Observation Carried Forward and is a frequently used method in Clinical Trials Environment, and a popular imputation method used in the pharmaceutical industry. For example, if a patient drops out of the study after the second week, then the value is carried forward until the end of the treatment as a conservative estimate of how well the subject would have done had he or she remained in the study [1]. In another application, a vital signs dataset contains an observation for each time a patient has a scheduled/unscheduled visit with a doctor. If a patient missed an assigned visit, then the primary measure is missing. For this paper, we will be considering the weight, as measurement of interest. LOCF imputation would use non-missing weight from an early visit as the weight for the later missing visit. This paper introduces SAS syntax to accomplish LOCF, and demonstrates the use of RETAIN statement, ARRAY facility, and LAG function. THE ORGANIZATION OF THIS PAPER 1. Example data set before and after LOCF 2. LOCF using RETAIN statement 3. LOCF using ARRAY facility and LAG function 4. Conclusions 1. EXAMPLE OF DATA SET BEFORE AND AFTER LOCF Below is a SAS code that generates four distinct patients with 1 to 4 distinct visits and random measurements for weight. A couple of patients have missing weight information such as patient 1 at visits 2 and 3, patient 2 at visit 3, patient 3 at visit 2 and patient 4 at visits 1 and 3. We can use LOCF methods to retain the non-missing weight measurement from an early visit if the weight measurement for current visit is missing. data sda; input ptno visit weight; format ptno z3. ; cards; ; The data before applying LOCF looks like the one below figure 1. Please note all the patients have measurements available for visit 1 (considered baseline, or screening), except patient 4. Patient 4 is considered an exception. It doesn t have weight measurement available for visit 1. We will check for this particular patient after we apply LOCF method. If the LOCF method is applied correctly, the weight measurement will be missing in the final dataset for patient 4 at visit 1, while for the other patients the missing weights will be carried forward from previous non-missing visits. 1

2 Figure 1 Data set sda before LOCF After applying LOCF method, data should look like figure 2 below. Please note that patient 4 is missing weight information at visit 1. When applying LOCF methods we need to make sure the correct information for the correct patient is being carried forward from the non-missing visits. Figure 2 Data set sda after LOCF 2. LOCF USING THE RETAIN STATEMENT A very elegant way to use RETAIN statement is presented below. This approach is inspired by paperwork LOCF Method and Application in Clinical Data Analysis by Huijuan Xu[3]. It uses a RETAIN statement to create a temporary variable called tempval. This variable will retain the value that needs to be imputed from one patient to another. The only drawback of this procedure is the assumption that the baseline value (visit 1) will always be nonmissing. We need to create a list of common subjects using the code below. data all; format ptno z3.; do i=1 to 4; do j=1 to 4; ptno=i; visit=j; output; drop i j; A description of data all is presented in figure 3. The dataset includes four patients, each one being assigned a number of four scheduled visits for a total of sixteen observations. 2

3 Figure 3 data set all We will sort the common list of subjects called all and our regular dataset called sda by patient and visit. This will help us later on, when the two datasets will be merged by patient and visit. proc sort data=sda; by ptno visit; proc sort data=all; by ptno visit; Below we will RETAIN tempval as 0. data final (drop=tempval); retain tempval 0; merge sda(in=b) all (in=val); by ptno visit ; if all; if weight eq. then weight=tempval; else tempval=weight; Using the above code, we obtain the data presented in figure 4. Figure 4 Data set final Please note that using this method, for patient 4, we carried forward the weight measurement from previous patient (patient 3) at visit two (weight equals 112). Although the method gives valid results if visit 1 is present, in case data is missing for first visit, then LOCF will not be implemented correctly. It is a good idea to check the data before attempting any LOCF methods, and check the data after applying LOCF. 3

4 3. LOCF USING ARRAY FACILITY AND LAG FUNCTION LAGN () returns the value of the nth previous observation. Example: if our data has 3 observations where x takes on the values of 1, 2 and 3, then LAG2(x) on the 3 rd observation will return 1, the value of the first observation. LAG () is the same as LAG1 (). This procedure is a lengthier one and obtains the last available non-missing observation using a set of conditions (in our case, the dataset final3 is set by patient and visit). Once the condition is met (first patient), we reset the LAGN () value to missing. After that we assign LOCF using ARRAY facility. FIRST STEP sort data set sda by patient and by visit. This way, the appropriate weight measurements will be used for LAGN () function in the data step. SECOND STEP - define the array reset by declaring the number of missing variables per patient. As a general rule, we should have a total of n-1 array elements (where n equals total number of possible or scheduled visits). In our case, n is 4 as total possible visits. The reason behind this logic is that we need to carry forward for a maximum number of possible visits less one (the original observation we use as primary for our LOCF). THIRD STEP set to missing the array reset lagx1, lagx2, lagx3 each time first observation for a patient occurs. This way, we prevent a weight measurement being carried forward from one patient to another. FOURTH STEP - we need to consider all LAGN () for weight values we need to carry forward from one visit to another. For example, if weight is missing for a particular visit and lagx1 is not missing, then we use lagx1 value to populate the current missing weight measurement. In another case, if the current weight and lagx1 are missing, then we use the earliest non-missing measurement available either one lagx2, or lagx3. data final3; set sda; by ptno visit; array reset(*) lagx1-lagx3; lagx1=lag(weight); lagx2=lag2(weight); lagx3=lag3(weight); if first.ptno then count=1; do i=count to dim(reset); reset(i)=.; count+1; if weight=. and lagx1 ne. then weight=lagx1; else if weight=. and lagx1 eq. and lagx2 ne. then weight=lagx2; else if weight=. and lagx1 eq. and lagx2 eq. then weight=lagx3; The dataset created using this method is presented below in figure 5. As we can observe, the weight for patient 1 will be retained from visit 1 for visits 2 and 3, while for patient 4 at visit 1 weight measurement will be missing since we have no information available for that particular visit. Please note the number of observations (eleven) is the same as original data set sda (figure 2) versus previous example data final (figure 4) - when we created a common dataset (sixteen observations) with all the possible (scheduled) visits a patient might have. Figure 5 Interim set final3 4

5 Final dataset of interest will look like figure 6 presented below. Figure 6 Data set final3 4. CONCLUSIONS It is a good idea to know there are multiple ways to obtain LOCF results because it encourages SAS programmers to become more creative while programming their code. Before starting LOCF, we need to ask ourselves what is the final dataset we want to obtain. Do we want to generate a common dataset with all the possible values for scheduled visits, or are we interested only in LOCF values for missing measurements in the dataset of interest to us? After we answer this question, we need to check the structure of our data and chose the most efficient method that produces accurate results. The most important thing to mention about LOCF is that we need to be familiar with our data. If we are not cautious enough, we could impute incorrect information to different patients or time points and that could affect the integrity of the information to be analyzed. REFERENCES [1] Definition: [2] Encyclopedia of biopharmaceutical statistics, by Shein-Chung Chow, page 176 [3] LOCF Method and Application in Clinical Data Analysis Huijuan Xu, Biogenidec, Inc. ACKNOWLEDGMENTS I would like to thank my manager Irina Walsh for continuous support, Patrick Thornton for helpful mentoring and Jeanina Worden for encouraging me to be one of the SAS gigs at WUSS Conference. CONTACT INFORMATION Iuliana Barbalau ClinOps LLC. 353 Sacramento Street, Suite 800 San Francisco, CA Work Phone: (415) Fax: (415) iuliana24@yahoo.com Web: 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

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA Paper 2917 Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA ABSTRACT Creation of variables is one of the most common SAS programming tasks. However, sometimes it produces

More information

Defining a Validation Process for End-user (Data Manager / Statisticians) SAS Programs

Defining a Validation Process for End-user (Data Manager / Statisticians) SAS Programs Defining a Validation Process for End-user (Data Manager / Statisticians) SAS Programs Andy Lawton, Boehringer Ingelheim UK Ltd., Berkshire, England INTRODUCTION The requirements for validating end-user

More information

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY Paper FF-007 Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT SAS datasets include labels as optional variable attributes in the descriptor

More information

Challenges in Moving to a Multi-tier Server Platform

Challenges in Moving to a Multi-tier Server Platform ABSTRACT Challenges in Moving to a Multi-tier Server Platform Carey Smoak, Roche Molecular Systems, Inc., Pleasanton, CA Moving from a simple server to a multi-tier server environment poses many challenges.

More information

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data Carter Sevick MS, DoD Center for Deployment Health Research, San Diego, CA ABSTRACT Whether by design or by error there

More information

Demonstrating a DATA Step with and without a RETAIN Statement

Demonstrating a DATA Step with and without a RETAIN Statement 1 The RETAIN Statement Introduction 1 Demonstrating a DATA Step with and without a RETAIN Statement 1 Generating Sequential SUBJECT Numbers Using a Retained Variable 7 Using a SUM Statement to Create SUBJECT

More information

Let SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA

Let SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA ABSTRACT PharmaSUG 2015 - Paper QT12 Let SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA It is common to export SAS data to Excel by creating a new Excel file. However, there

More information

Foundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC

Foundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC A PROC SQL Primer Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC ABSTRACT Most SAS programmers utilize the power of the DATA step to manipulate their datasets. However, unless they pull

More information

Changing the Shape of Your Data: PROC TRANSPOSE vs. Arrays

Changing the Shape of Your Data: PROC TRANSPOSE vs. Arrays Changing the Shape of Your Data: PROC TRANSPOSE vs. Arrays Bob Virgile Robert Virgile Associates, Inc. Overview To transpose your data (turning variables into observations or turning observations into

More information

Preserving Line Breaks When Exporting to Excel Nelson Lee, Genentech, South San Francisco, CA

Preserving Line Breaks When Exporting to Excel Nelson Lee, Genentech, South San Francisco, CA PharmaSUG 2014 Paper CC07 Preserving Line Breaks When Exporting to Excel Nelson Lee, Genentech, South San Francisco, CA ABSTRACT Do you have imported data with line breaks and want to export the data to

More information

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. Paper 23-27 Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. ABSTRACT Have you ever had trouble getting a SAS job to complete, although

More information

A Many to Many Merge, Without SQL? Paper TU05

A Many to Many Merge, Without SQL? Paper TU05 A Many to Many Merge, Without SQL? Paper TU05 David Franklin Independent SAS Consultant TheProgrammersCabin.com While you are waiting, some trivia. The first U.S. Transcontinental Flight took 84 days,

More information

Using SAS/FSP Software for Ad hoc Reporting By Marc Schlessel SPS Software Services Inc.

Using SAS/FSP Software for Ad hoc Reporting By Marc Schlessel SPS Software Services Inc. Using SAS/FSP Software for Ad hoc Reporting By Marc Schlessel SPS Software Services Inc. Abstract This paper is geared towards mainframe SAS programmers who are looking for an easy solution of creating

More information

The SURVEYFREQ Procedure in SAS 9.2: Avoiding FREQuent Mistakes When Analyzing Survey Data ABSTRACT INTRODUCTION SURVEY DESIGN 101 WHY STRATIFY?

The SURVEYFREQ Procedure in SAS 9.2: Avoiding FREQuent Mistakes When Analyzing Survey Data ABSTRACT INTRODUCTION SURVEY DESIGN 101 WHY STRATIFY? The SURVEYFREQ Procedure in SAS 9.2: Avoiding FREQuent Mistakes When Analyzing Survey Data Kathryn Martin, Maternal, Child and Adolescent Health Program, California Department of Public Health, ABSTRACT

More information

PharmaSUG 2013 - Paper MS05

PharmaSUG 2013 - Paper MS05 PharmaSUG 2013 - Paper MS05 Be a Dead Cert for a SAS Cert How to prepare for the most important SAS Certifications in the Pharmaceutical Industry Hannes Engberg Raeder, inventiv Health Clinical, Germany

More information

Survey Analysis: Options for Missing Data

Survey Analysis: Options for Missing Data Survey Analysis: Options for Missing Data Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD Abstract A common situation researchers working with survey data face is the analysis of missing

More information

Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD

Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD NESUG 2012 Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD ABSTRACT PROC SQL is a powerful yet still overlooked tool within our SAS arsenal. PROC SQL can create tables, sort and summarize data,

More information

PharmaSUG 2013 - Paper AD08

PharmaSUG 2013 - Paper AD08 PharmaSUG 2013 - Paper AD08 Just Press the Button Generation of SAS Code to Create Analysis Datasets directly from an SAP Can it be Done? Endri Endri, Berlin, Germany Rowland Hale, inventiv Health Clinical,

More information

Transforming SAS Data Sets Using Arrays. Introduction

Transforming SAS Data Sets Using Arrays. Introduction Transforming SAS Data Sets Using Arrays Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ Introduction This paper describes how to efficiently transform SAS data sets using arrays.

More information

DATA CLEANING: LONGITUDINAL STUDY CROSS-VISIT CHECKS

DATA CLEANING: LONGITUDINAL STUDY CROSS-VISIT CHECKS Paper 1314-2014 ABSTRACT DATA CLEANING: LONGITUDINAL STUDY CROSS-VISIT CHECKS Lauren Parlett,PhD Johns Hopkins University Bloomberg School of Public Health, Baltimore, MD Cross-visit checks are a vital

More information

Paper TU_09. Proc SQL Tips and Techniques - How to get the most out of your queries

Paper TU_09. Proc SQL Tips and Techniques - How to get the most out of your queries Paper TU_09 Proc SQL Tips and Techniques - How to get the most out of your queries Kevin McGowan, Constella Group, Durham, NC Brian Spruell, Constella Group, Durham, NC Abstract: Proc SQL is a powerful

More information

Normalized EditChecks Automated Tracking (N.E.A.T.) A SAS solution to improve clinical data cleaning

Normalized EditChecks Automated Tracking (N.E.A.T.) A SAS solution to improve clinical data cleaning Normalized EditChecks Automated Tracking (N.E.A.T.) A SAS solution to improve clinical data cleaning Frank Fan, Clinovo, Sunnyvale, CA Ale Gicqueau, Clinovo, Sunnyvale, CA WUSS 2010 annual conference November

More information

PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL

PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL PharmaSUG 2015 - Paper QT06 PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL ABSTRACT Inspired by Christianna William s paper on

More information

Database Design Strategies in CANDAs Sunil Kumar Gupta Gupta Programming, Simi Valley, CA

Database Design Strategies in CANDAs Sunil Kumar Gupta Gupta Programming, Simi Valley, CA Database Design Strategies in CANDAs Sunil Kumar Gupta Gupta Programming, Simi Valley, CA ABSTRACT Developing a productive CANDA system starts with an optimal database design. Traditional objectives and

More information

Paper PO06. Randomization in Clinical Trial Studies

Paper PO06. Randomization in Clinical Trial Studies Paper PO06 Randomization in Clinical Trial Studies David Shen, WCI, Inc. Zaizai Lu, AstraZeneca Pharmaceuticals ABSTRACT Randomization is of central importance in clinical trials. It prevents selection

More information

PharmaSUG 2014 Paper CC23. Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA

PharmaSUG 2014 Paper CC23. Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA PharmaSUG 2014 Paper CC23 Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA ABSTRACT Wouldn t it be nice if all of the outputs in a deliverable

More information

Improving Maintenance and Performance of SQL queries

Improving Maintenance and Performance of SQL queries PaperCC06 Improving Maintenance and Performance of SQL queries Bas van Bakel, OCS Consulting, Rosmalen, The Netherlands Rick Pagie, OCS Consulting, Rosmalen, The Netherlands ABSTRACT Almost all programmers

More information

What Is Recursion? Recursion. Binary search example postponed to end of lecture

What Is Recursion? Recursion. Binary search example postponed to end of lecture Recursion Binary search example postponed to end of lecture What Is Recursion? Recursive call A method call in which the method being called is the same as the one making the call Direct recursion Recursion

More information

How to Create an XML Map with the XML Mapper

How to Create an XML Map with the XML Mapper How to Create an XML Map with the XML Mapper Wendi L. Wright CTB McGraw-Hill ABSTRACT You ve been given an XML file and told to read it into SAS. You open this file and think to yourself This looks like

More information

How to build ADaM from SDTM: A real case study

How to build ADaM from SDTM: A real case study PharmaSUG2010 - Paper CD06 How to build ADaM from SDTM: A real case study JIAN HUA (DANIEL) HUANG, FOREST LABORATORIES, NJ ABSTRACT: Building analysis data based on the ADaM model is highly recommended

More information

Data management and SAS Programming Language EPID576D

Data management and SAS Programming Language EPID576D Time: Location: Tuesday and Thursdays, 11:00am 12:15 pm Drachman Hall A319 Instructors: Angelika Gruessner, MS, PhD 626-3118 (office) Drachman Hall A224 acgruess@azcc.arizona.edu Office Hours: Monday Thursday

More information

SQL SUBQUERIES: Usage in Clinical Programming. Pavan Vemuri, PPD, Morrisville, NC

SQL SUBQUERIES: Usage in Clinical Programming. Pavan Vemuri, PPD, Morrisville, NC PharmaSUG 2013 Poster # P015 SQL SUBQUERIES: Usage in Clinical Programming Pavan Vemuri, PPD, Morrisville, NC ABSTRACT A feature of PROC SQL which provides flexibility to SAS users is that of a SUBQUERY.

More information

KEYWORDS ARRAY statement, DO loop, temporary arrays, MERGE statement, Hash Objects, Big Data, Brute force Techniques, PROC PHREG

KEYWORDS ARRAY statement, DO loop, temporary arrays, MERGE statement, Hash Objects, Big Data, Brute force Techniques, PROC PHREG Paper BB-07-2014 Using Arrays to Quickly Perform Fuzzy Merge Look-ups: Case Studies in Efficiency Arthur L. Carpenter California Occidental Consultants, Anchorage, AK ABSTRACT Merging two data sets when

More information

Qualification Process for Standard Scripts in the Open Source Repository with Cloud Services

Qualification Process for Standard Scripts in the Open Source Repository with Cloud Services PharmaSUG 2015 - Paper AD10 Qualification Process for Standard Scripts in the Open Source Repository with Cloud Services Hanming Tu, Accenture, Berwyn, PA, USA Dante Di Tommaso, Roche, Basel, Switzerland

More information

Quality Assurance: Best Practices in Clinical SAS Programming. Parag Shiralkar

Quality Assurance: Best Practices in Clinical SAS Programming. Parag Shiralkar Quality Assurance: Best Practices in Clinical SAS Programming Parag Shiralkar eclinical Solutions, a Division of Eliassen Group Abstract SAS programmers working on clinical reporting projects are often

More information

SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project

SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project Paper 156-29 SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project Ajaz (A.J.) Farooqi, Walt Disney Parks and Resorts, Lake Buena Vista, FL ABSTRACT

More information

Introduction to Criteria-based Deduplication of Records, continued SESUG 2012

Introduction to Criteria-based Deduplication of Records, continued SESUG 2012 SESUG 2012 Paper CT-11 An Introduction to Criteria-based Deduplication of Records Elizabeth Heath RTI International, RTP, NC Priya Suresh RTI International, RTP, NC ABSTRACT When survey respondents are

More information

SAS and Clinical IVRS: Beyond Schedule Creation Gayle Flynn, Cenduit, Durham, NC

SAS and Clinical IVRS: Beyond Schedule Creation Gayle Flynn, Cenduit, Durham, NC Paper SD-001 SAS and Clinical IVRS: Beyond Schedule Creation Gayle Flynn, Cenduit, Durham, NC ABSTRACT SAS is the preferred method for generating randomization and kit schedules used in clinical trials.

More information

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC Paper CC 14 Counting the Ways to Count in SAS Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT This paper first takes the reader through a progression of ways to count in SAS.

More information

Applications Development

Applications Development Portfolio Backtesting: Using SAS to Generate Randomly Populated Portfolios for Investment Strategy Testing Xuan Liu, Mark Keintz Wharton Research Data Services Abstract One of the most regularly used SAS

More information

CC03 PRODUCING SIMPLE AND QUICK GRAPHS WITH PROC GPLOT

CC03 PRODUCING SIMPLE AND QUICK GRAPHS WITH PROC GPLOT 1 CC03 PRODUCING SIMPLE AND QUICK GRAPHS WITH PROC GPLOT Sheng Zhang, Xingshu Zhu, Shuping Zhang, Weifeng Xu, Jane Liao, and Amy Gillespie Merck and Co. Inc, Upper Gwynedd, PA Abstract PROC GPLOT is a

More information

A Study to Predict No Show Probability for a Scheduled Appointment at Free Health Clinic

A Study to Predict No Show Probability for a Scheduled Appointment at Free Health Clinic A Study to Predict No Show Probability for a Scheduled Appointment at Free Health Clinic Report prepared for Brandon Slama Department of Health Management and Informatics University of Missouri, Columbia

More information

Converting Electronic Medical Records Data into Practical Analysis Dataset

Converting Electronic Medical Records Data into Practical Analysis Dataset Converting Electronic Medical Records Data into Practical Analysis Dataset Irena S. Cenzer, University of California San Francisco, San Francisco, CA Mladen Stijacic, San Diego, CA See J. Lee, University

More information

EXST SAS Lab Lab #4: Data input and dataset modifications

EXST SAS Lab Lab #4: Data input and dataset modifications EXST SAS Lab Lab #4: Data input and dataset modifications Objectives 1. Import an EXCEL dataset. 2. Infile an external dataset (CSV file) 3. Concatenate two datasets into one 4. The PLOT statement will

More information

Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD

Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD ABSTRACT This paper demonstrates important features of combining datasets in SAS. The facility to

More information

The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL

The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL The SET Statement and Beyond: Uses and Abuses of the SET Statement S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT The SET statement is one of the most frequently used statements in the SAS System.

More information

Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC

Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC ABSTRACT One of the most expensive and time-consuming aspects of data management

More information

SAS Logic Coding Made Easy Revisit User-defined Function Songtao Jiang, Boston Scientific Corporation, Marlborough, MA

SAS Logic Coding Made Easy Revisit User-defined Function Songtao Jiang, Boston Scientific Corporation, Marlborough, MA ABSTRACT PharmaSUG 2013 - Paper CC04 SAS Logic Coding Made Easy Revisit User-defined Function Songtao Jiang, Boston Scientific Corporation, Marlborough, MA SAS programmers deal with programming logics

More information

Table Lookups: From IF-THEN to Key-Indexing

Table Lookups: From IF-THEN to Key-Indexing Paper 158-26 Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter, California Occidental Consultants ABSTRACT One of the more commonly needed operations within SAS programming is to determine

More information

Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports

Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports Jeff Cai, Amylin Pharmaceuticals, Inc., San Diego, CA Jay Zhou, Amylin Pharmaceuticals, Inc., San Diego, CA ABSTRACT To supplement Oracle

More information

Programming Idioms Using the SET Statement

Programming Idioms Using the SET Statement Programming Idioms Using the SET Statement Jack E. Fuller, Trilogy Consulting Corporation, Kalamazoo, MI ABSTRACT While virtually every programmer of base SAS uses the SET statement, surprisingly few programmers

More information

USE CDISC SDTM AS A DATA MIDDLE-TIER TO STREAMLINE YOUR SAS INFRASTRUCTURE

USE CDISC SDTM AS A DATA MIDDLE-TIER TO STREAMLINE YOUR SAS INFRASTRUCTURE USE CDISC SDTM AS A DATA MIDDLE-TIER TO STREAMLINE YOUR SAS INFRASTRUCTURE Kalyani Chilukuri, Clinovo, Sunnyvale CA WUSS 2011 Annual Conference October 2011 TABLE OF CONTENTS 1. ABSTRACT... 3 2. INTRODUCTION...

More information

Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA

Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT Throughout the course of a clinical trial the Statistical Programming group is

More information

AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C. Y. Associates

AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C. Y. Associates AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C Y Associates Abstract This tutorial will introduce the SQL (Structured Query Language) procedure through a series of simple examples We will initially

More information

Paper PO12 Pharmaceutical Programming: From CRFs to Tables, Listings and Graphs, a process overview with real world examples ABSTRACT INTRODUCTION

Paper PO12 Pharmaceutical Programming: From CRFs to Tables, Listings and Graphs, a process overview with real world examples ABSTRACT INTRODUCTION Paper PO12 Pharmaceutical Programming: From CRFs to Tables, Listings and Graphs, a process overview with real world examples Mark Penniston, Omnicare Clinical Research, King of Prussia, PA Shia Thomas,

More information

C H A P T E R 1 Introducing Data Relationships, Techniques for Data Manipulation, and Access Methods

C H A P T E R 1 Introducing Data Relationships, Techniques for Data Manipulation, and Access Methods C H A P T E R 1 Introducing Data Relationships, Techniques for Data Manipulation, and Access Methods Overview 1 Determining Data Relationships 1 Understanding the Methods for Combining SAS Data Sets 3

More information

Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1

Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Institute for Health Care Research and Improvement, Baylor Health Care System 2 University of North

More information

PharmaSUG 2015 - Paper QT26

PharmaSUG 2015 - Paper QT26 PharmaSUG 2015 - Paper QT26 Keyboard Macros - The most magical tool you may have never heard of - You will never program the same again (It's that amazing!) Steven Black, Agility-Clinical Inc., Carlsbad,

More information

ABSTRACT INTRODUCTION %CODE MACRO DEFINITION

ABSTRACT INTRODUCTION %CODE MACRO DEFINITION Generating Web Application Code for Existing HTML Forms Don Boudreaux, PhD, SAS Institute Inc., Austin, TX Keith Cranford, Office of the Attorney General, Austin, TX ABSTRACT SAS Web Applications typically

More information

Anyone Can Learn PROC TABULATE

Anyone Can Learn PROC TABULATE Paper 60-27 Anyone Can Learn PROC TABULATE Lauren Haworth, Genentech, Inc., South San Francisco, CA ABSTRACT SAS Software provides hundreds of ways you can analyze your data. You can use the DATA step

More information

Conditional Processing Using the Case Expression in PROC SQL Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California

Conditional Processing Using the Case Expression in PROC SQL Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Conditional Processing Using the Case Expression in PROC SQL Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Abstract The SQL procedure supports conditionally selecting result

More information

Using Proc SQL and ODBC to Manage Data outside of SAS Jeff Magouirk, National Jewish Medical and Research Center, Denver, Colorado

Using Proc SQL and ODBC to Manage Data outside of SAS Jeff Magouirk, National Jewish Medical and Research Center, Denver, Colorado Using Proc SQL and ODBC to Manage Data outside of SAS Jeff Magouirk, National Jewish Medical and Research Center, Denver, Colorado ABSTRACT The ability to use Proc SQL and ODBC to manage data outside of

More information

. g .,, . . , Applicability of

More information

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide Paper 1557-2014 The Query Builder: The Swiss Army Knife of SAS Enterprise Guide ABSTRACT Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc. The SAS Enterprise Guide Query Builder

More information

Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua Horstman, Nested Loop Consulting, Indianapolis, IN

Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua Horstman, Nested Loop Consulting, Indianapolis, IN Paper S1-08-2013 Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua Horstman, Nested Loop Consulting, Indianapolis, IN ABSTRACT Are you still using TRIM, LEFT, and vertical bar operators

More information

Permuted-block randomization with varying block sizes using SAS Proc Plan Lei Li, RTI International, RTP, North Carolina

Permuted-block randomization with varying block sizes using SAS Proc Plan Lei Li, RTI International, RTP, North Carolina Paper PO-21 Permuted-block randomization with varying block sizes using SAS Proc Plan Lei Li, RTI International, RTP, North Carolina ABSTRACT Permuted-block randomization with varying block sizes using

More information

B A S I C S C I E N C E S

B A S I C S C I E N C E S B A S I C S C I E N C E S 10 B A S I C S C I E N C E S F I R S T S E M E S T E R C O U R S E S : H U M A N S T R U C T U R E A N D F U N C T I O N [ H S F I ] M O L E C U L A R B A S I S O F M E D I C

More information

ABSTRACT INTRODUCTION

ABSTRACT INTRODUCTION Automating Concatenation of PDF/RTF Reports Using ODS DOCUMENT Shirish Nalavade, eclinical Solutions, Mansfield, MA Shubha Manjunath, Independent Consultant, New London, CT ABSTRACT As part of clinical

More information

Introduction to Proc SQL Steven First, Systems Seminar Consultants, Madison, WI

Introduction to Proc SQL Steven First, Systems Seminar Consultants, Madison, WI Paper #HW02 Introduction to Proc SQL Steven First, Systems Seminar Consultants, Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into

More information

A Gentle Introduction to Hash Tables. Kevin Martin, Kevin.Martin2@va.gov Dept. of Veteran Affairs July 15, 2009

A Gentle Introduction to Hash Tables. Kevin Martin, Kevin.Martin2@va.gov Dept. of Veteran Affairs July 15, 2009 A Gentle Introduction to Hash Tables Kevin Martin, Kevin.Martin2@va.gov Dept. of Veteran Affairs July 15, 2009 ABSTRACT Most SAS programmers fall into two categories. Either they ve never heard of hash

More information

KEY FEATURES OF SOURCE CONTROL UTILITIES

KEY FEATURES OF SOURCE CONTROL UTILITIES Source Code Revision Control Systems and Auto-Documenting Headers for SAS Programs on a UNIX or PC Multiuser Environment Terek Peterson, Alliance Consulting Group, Philadelphia, PA Max Cherny, Alliance

More information

Paper PO03. A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet. Sijian Zhang University of Alabama at Birmingham

Paper PO03. A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet. Sijian Zhang University of Alabama at Birmingham Paper PO03 A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet Sijian Zhang University of Alabama at Birmingham BACKGROUND It is common to see that statisticians at the statistical

More information

A Method for Cleaning Clinical Trial Analysis Data Sets

A Method for Cleaning Clinical Trial Analysis Data Sets A Method for Cleaning Clinical Trial Analysis Data Sets Carol R. Vaughn, Bridgewater Crossings, NJ ABSTRACT This paper presents a method for using SAS software to search SAS programs in selected directories

More information

Building and Customizing a CDISC Compliance and Data Quality Application Wayne Zhong, Accretion Softworks, Chester Springs, PA

Building and Customizing a CDISC Compliance and Data Quality Application Wayne Zhong, Accretion Softworks, Chester Springs, PA WUSS2015 Paper 84 Building and Customizing a CDISC Compliance and Data Quality Application Wayne Zhong, Accretion Softworks, Chester Springs, PA ABSTRACT Creating your own SAS application to perform CDISC

More information

SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL. Frank Fan, Clinovo, Sunnyvale CA

SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL. Frank Fan, Clinovo, Sunnyvale CA SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL Frank Fan, Clinovo, Sunnyvale CA WUSS 2011 Annual Conference October 2011 TABLE OF CONTENTS 1. ABSTRACT... 3 2. INTRODUCTION... 3 3. SYSTEM CONFIGURATION...

More information

Missing Data: Part 1 What to Do? Carol B. Thompson Johns Hopkins Biostatistics Center SON Brown Bag 3/20/13

Missing Data: Part 1 What to Do? Carol B. Thompson Johns Hopkins Biostatistics Center SON Brown Bag 3/20/13 Missing Data: Part 1 What to Do? Carol B. Thompson Johns Hopkins Biostatistics Center SON Brown Bag 3/20/13 Overview Missingness and impact on statistical analysis Missing data assumptions/mechanisms Conventional

More information

Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP

Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP Paper 7-05 Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP Mark Keintz, Wharton Research Data Services ABSTRACT From stock price histories to hospital stay records, analysis of time series

More information

IDW -- The Next Generation Data Warehouse. Larry Bramblett, Data Warehouse Solutions, LLC, San Ramon, CA

IDW -- The Next Generation Data Warehouse. Larry Bramblett, Data Warehouse Solutions, LLC, San Ramon, CA Paper 170-27 IDW -- The Next Generation Larry Bramblett, Solutions, LLC, San Ramon, CA ABSTRACT systems collect, clean and manage mission critical information. Using statistical and targeted intelligence,

More information

ALS Configuration Management Plan. Nuclear Safety Related

ALS Configuration Management Plan. Nuclear Safety Related Westinghouse Non-Proprietary Class 3 Advanced Logic System 6002-00002-NP, Rev. 10 Function Author Nuclear Safety Related July 2014 APPROVALS Name and Signature Anthony C. Pagano* Integrated Process Lead,

More information

SAS FARANCADE - A Review and Summary

SAS FARANCADE - A Review and Summary Paper 3104-2015 Data Management Techniques for Complex Healthcare Data Gabriela Cantu-Perez MPH, Christopher Klekar MPH, MBA, Baylor Scott&White Health ABSTRACT Data sharing through healthcare collaboratives

More information

APP INVENTOR. Test Review

APP INVENTOR. Test Review APP INVENTOR Test Review Main Concepts App Inventor Lists Creating Random Numbers Variables Searching and Sorting Data Linear Search Binary Search Selection Sort Quick Sort Abstraction Modulus Division

More information

BUSINESS PROCESS DOCUMENTATION

BUSINESS PROCESS DOCUMENTATION BUSINESS PROCESS DOCUMENTATION TRAINING COURSE October, 2008 This publication was produced for review by the United States Agency for International Development. It was prepared by Ali Rammal, Tax Administration

More information

Oh No, a Zero Row: 5 Ways to Summarize Absolutely Nothing

Oh No, a Zero Row: 5 Ways to Summarize Absolutely Nothing Paper CC22 Oh No, a Zero Row: 5 Ways to Summarize Absolutely Nothing Stacey D. Phillips, i3 Statprobe, San Diego, CA Gary Klein, i3 Statprobe, San Diego, CA ABSTRACT SAS is wonderful at summarizing our

More information

Imputing Missing Data using SAS

Imputing Missing Data using SAS ABSTRACT Paper 3295-2015 Imputing Missing Data using SAS Christopher Yim, California Polytechnic State University, San Luis Obispo Missing data is an unfortunate reality of statistics. However, there are

More information

The entire SAS code for the %CHK_MISSING macro is in the Appendix. The full macro specification is listed as follows: %chk_missing(indsn=, outdsn= );

The entire SAS code for the %CHK_MISSING macro is in the Appendix. The full macro specification is listed as follows: %chk_missing(indsn=, outdsn= ); Macro Tabulating Missing Values, Leveraging SAS PROC CONTENTS Adam Chow, Health Economics Resource Center (HERC) VA Palo Alto Health Care System Department of Veterans Affairs (Menlo Park, CA) Abstract

More information

Taming the PROC TRANSPOSE

Taming the PROC TRANSPOSE Taming the PROC TRANSPOSE Matt Taylor, Carolina Analytical Consulting, LLC ABSTRACT The PROC TRANSPOSE is often misunderstood and seldom used. SAS users are unsure of the results it will give and curious

More information

Storing and Using a List of Values in a Macro Variable

Storing and Using a List of Values in a Macro Variable Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all unusual to need

More information

A Mixed Model Approach for Intent-to-Treat Analysis in Longitudinal Clinical Trials with Missing Values

A Mixed Model Approach for Intent-to-Treat Analysis in Longitudinal Clinical Trials with Missing Values Methods Report A Mixed Model Approach for Intent-to-Treat Analysis in Longitudinal Clinical Trials with Missing Values Hrishikesh Chakraborty and Hong Gu March 9 RTI Press About the Author Hrishikesh Chakraborty,

More information

Managing Data Issues Identified During Programming

Managing Data Issues Identified During Programming Paper CS04 Managing Data Issues Identified During Programming Shafi Chowdhury, Shafi Consultancy Limited, London, U.K. Aminul Islam, Shafi Consultancy Bangladesh, Sylhet, Bangladesh ABSTRACT Managing data

More information

Training/Internship Brochure Advanced Clinical SAS Programming Full Time 6 months Program

Training/Internship Brochure Advanced Clinical SAS Programming Full Time 6 months Program Training/Internship Brochure Advanced Clinical SAS Programming Full Time 6 months Program Domain Clinical Data Sciences Private Limited 8-2-611/1/2, Road No 11, Banjara Hills, Hyderabad Andhra Pradesh

More information

Paper 74881-2011 Creating SAS Datasets from Varied Sources Mansi Singh and Sofia Shamas, MaxisIT Inc, NJ

Paper 74881-2011 Creating SAS Datasets from Varied Sources Mansi Singh and Sofia Shamas, MaxisIT Inc, NJ Paper 788-0 Creating SAS Datasets from Varied Sources Mansi Singh and Sofia Shamas, MaxisIT Inc, NJ ABSTRACT Often SAS programmers find themselves dealing with data coming from multiple sources and usually

More information

Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT

Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT Paper AD01 Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT ABSTRACT The use of EXCEL spreadsheets is very common in SAS applications,

More information

Calculating Changes and Differences Using PROC SQL With Clinical Data Examples

Calculating Changes and Differences Using PROC SQL With Clinical Data Examples Calculating Changes and Differences Using PROC SQL With Clinical Data Examples Chang Y. Chung, Princeton University, Princeton, NJ Lei Zhang, Celgene Corporation, Summit, NJ ABSTRACT It is very common

More information

PharmaSUG 2013 - Paper CC18

PharmaSUG 2013 - Paper CC18 PharmaSUG 2013 - Paper CC18 Creating a Batch Command File for Executing SAS with Dynamic and Custom System Options Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas ABSTRACT You would

More information

Managing A Leadership Transition

Managing A Leadership Transition Managing A Leadership Transition A CHECK LIST OF KEY INTERVENTIONS FOR TRANSITION CONSULTANTS AND INTERIM EXECUTIVE DIRECTORS 706 Mission St. 5th Floor San Francisco CA 94103-3113 415.541.9000 ph 415.541.7708

More information

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY ABSTRACT PROC FREQ is an essential procedure within BASE

More information

Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI

Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI Paper 191-27 AN INTRODUCTION TO PROC SQL Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI ABSTRACT PROC SQL is a powerful Base SAS 7 Procedure that combines the

More information

Search and Replace in SAS Data Sets thru GUI

Search and Replace in SAS Data Sets thru GUI Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight

More information