AUTODOC: An Automated SAS- Programming Documentation ...

AUTODOC: An Automated SAS- Programming Documentation ... AUTODOC: An Automated SAS- Programming Documentation ...

sascommunity.org
from sascommunity.org More from this publisher
07.01.2013 Views

ABSTRACT AUTODOC: An Automated SAS- Programming Documentation System Kenneth P. Wilson, Quintiles Pacific, Inc., Mountain View, CA A problem that programmers in many industries face is deciding on the most expedient method to document programs, internally and externally. This poster demonstrates a SASe Macro that facilitates simple but thorough internal documenation of programs, as well as SAS· program documentation database maintenance for external documenation. The macro was designed to read and store program header information, reducing programmer time necessary to create an audit trail for a specific project. Historically, information used to be entered into a similar system manually, but can now be automatically input from the program header. Also demonstrated are a variety of reports that can be produced utiHzing the database that this macro updates and maintains. The reports include simple layouts for project archiving, as well as more complex reports such as program flow diagrams necessary to recreate an entire project. INTRODUCTION The primary task of a SAS Programmer at Quintiles Pacific, Inc., a contract research organization, is to produce output for inclusion in statistical and clinical summaries of clinical trials. Historically, programs have been documented internally only, and the programmer goes through the lengthy task of handwriting or typing a list of programs with descriptions of each. Because of regulatory requirements and Quintiles' high standards of quality, a perfect audit trail is expected. The primary objective of this task is the ability to recreate any project instantaneously, 968 utilizing documentation from project team members. Compilation of this documentation can be extremely programmer-intensive. A. macrO has been written to reduce programmer time spent on handwritten documentation, thereby freeing up time for other programming tasks. Although the header block and macro included in this poster cannot serve as the only internal documenation for each program, they function as excellent standard headers. Internal block documentation is still recommended. The information collected by utiHz;ing this macro also provides you with a variety of reporting opportunities. For example. you can select an option that will list, by category, each l!lld every program that must be run, and the order in which they should be run to reproduce output .for an entire project. Other reporting options include status or archival reports of an entire project. METIlODS Project Summary Information Each project has a separate database· for individual program information. In addition, there is a database that encompasses basic project information for all p!:,ojects. The pmpose of this database is to allow any programmer access to information necessary to locate project directories, as well as the person to contact for different issues concerning the project. The information is collected and stored using a simple SAS/FSP data entry screen. An example of a project summary is shown in figure 1:

ABSTRACT<br />

<strong>AUTODOC</strong>: <strong>An</strong> <strong>Automated</strong> <strong>SAS</strong>- <strong>Programming</strong> <strong>Documentation</strong> System<br />

Kenneth P. Wilson, Quintiles Pacific, Inc., Mountain View, CA<br />

A problem that programmers in many industries<br />

face is deciding on the most expedient method to<br />

document programs, internally and externally.<br />

This poster demonstrates a <strong>SAS</strong>e Macro that<br />

facilitates simple but thorough internal<br />

documenation of programs, as well as <strong>SAS</strong>·<br />

program documentation database maintenance<br />

for external documenation. The macro was<br />

designed to read and store program header<br />

information, reducing programmer time necessary<br />

to create an audit trail for a specific project.<br />

Historically, information used to be entered into<br />

a similar system manually, but can now be<br />

automatically input from the program header.<br />

Also demonstrated are a variety of reports that<br />

can be produced utiHzing the database that this<br />

macro updates and maintains. The reports<br />

include simple layouts for project archiving, as<br />

well as more complex reports such as program<br />

flow diagrams necessary to recreate an entire<br />

project.<br />

INTRODUCTION<br />

The primary task of a <strong>SAS</strong> Programmer at<br />

Quintiles Pacific, Inc., a contract research<br />

organization, is to produce output for inclusion in<br />

statistical and clinical summaries of clinical trials.<br />

Historically, programs have been documented<br />

internally only, and the programmer goes through<br />

the lengthy task of handwriting or typing a list of<br />

programs with descriptions of each. Because of<br />

regulatory requirements and Quintiles' high<br />

standards of quality, a perfect audit trail is<br />

expected. The primary objective of this task is<br />

the ability to recreate any project instantaneously,<br />

968<br />

utilizing documentation from project team<br />

members. Compilation of this documentation can<br />

be extremely programmer-intensive. A. macrO has<br />

been written to reduce programmer time spent<br />

on handwritten documentation, thereby freeing<br />

up time for other programming tasks.<br />

Although the header block and macro included in<br />

this poster cannot serve as the only internal<br />

documenation for each program, they function as<br />

excellent standard headers. Internal block<br />

documentation is still recommended.<br />

The information collected by utiHz;ing this macro<br />

also provides you with a variety of reporting<br />

opportunities. For example. you can select an<br />

option that will list, by category, each l!lld every<br />

program that must be run, and the order in which<br />

they should be run to reproduce output .for an<br />

entire project. Other reporting options include<br />

status or archival reports of an entire project.<br />

METIlODS<br />

Project Summary Information<br />

Each project has a separate database· for<br />

individual program information. In addition,<br />

there is a database that encompasses basic<br />

project information for all p!:,ojects. The pmpose<br />

of this database is to allow any programmer<br />

access to information necessary to locate project<br />

directories, as well as the person to contact for<br />

different issues concerning the project. The<br />

information is collected and stored using a simple<br />

<strong>SAS</strong>/FSP data entry screen.<br />

<strong>An</strong> example of a project summary is shown in<br />

figure 1:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!