BASUG Quarterly Meeting Announcement
We are thrilled with the response we got to our Call-for-Papers for our Q4 Coders’ Corner meeting. This meeting will feature many presenters – some first-timers, some seasoned – covering a variety of topics. Please join us to learn lots of tips ‘n techniques from your fellow BASUG colleagues.
Please join us for these informative talks,
and consider staying for the afternoon class (separate event), taught by Ron
Cody. For more information on the
afternoon training, please visit www.basug.org/events/t200912.htm
Immediately
following the meeting, we will provide an informal light buffet lunch for all
morning meeting and afternoon training attendees. We hope you can stay for this
opportunity to network and socialize with your fellow SAS users.
Please note
that we are in a new venue for this meeting!
|
Topic: |
Coders’ Corner
2009 |
|
When: |
Wednesday,
December 2, 2009, 8:15am – Noon |
|
Where: |
Microsoft New
England Research & Development Center Conference
Center First Floor NEW LOCATION! (857) 453-6000 |
|
Directions: |
Please
visit: http://www.basug.org/directionsNERD.html
|
|
How: |
Individual, On-Line Registration
Required. No Email! |
|
To register: |
Please visit: http://www.basug.org/register.php3 |
|
Contact: |
If
you have questions about the meeting contact Lori Goldman (Goldman@hcp.med.harvard.edu)
or Sally Skinner (sally.skinner@tufts.edu) |
|
|
|
|
Agenda |
|
|
8:15 |
Sign in and Refreshments |
|
8:45 |
Announcements |
|
9:00 |
Acquiring
Data via FTP in SAS by
James Zeitler, |
|
9:12 |
Array
Processing with the Generic Macro by
Victor Pontes, Inatec, Inc. |
|
9:34 |
Statistical
Significance Testing with Stratified Samples by
Joan Yu, Data Rewards |
|
9:44 |
Break |
|
10:00 |
By Meena Doshi, |
|
10:12 |
Hash
Table Lookup from SAS Data Files by
Sue Szubzda, Ingenix |
|
10:24 |
Creating
Dynamic HTML pages with PC SAS, as a prelude to SAS INTRNET or Integration by Qiang Hou, Harvard Pilgrim
Health Care |
|
10:41 |
The
Colorful ODS by
Ali Sabouri, Blue Cross Blue Shield of |
|
10:51 |
Break |
|
11:11 |
Using Proc Transpose to Flip Your Output by
James K. West PhD, MA Department of
Public Health |
|
11:23 |
Using Systask to Dynamically create Libnames by Ray Cloutier, Health Dialog |
|
11:35 |
Combining Data Sets Containing Character Variables of Different Lengths by Ron Cody |
|
11:50 |
Closing remarks & announcements |
|
12:00-1:00 |
Informal buffet lunch (provided by BASUG) |
|
1:00-4:30 |
Afternoon
Training – separate event – click
here for details: www.basug.org/events/t200912.htm |
*Note: Times (and sequence) are approximate and
subject to change. Please re-visit the BASUG website (
www.basug.org) for updated information.
Abstracts and Bios
Acquiring Data via FTP in SAS
by
James Zeitler,
A simple FILENAME filref "pathname"; statement serves the purpose when reading from and writing to simple text files on disk. But SAS accommodates more exotic file access methods that open up new vistas to the data step. We'll look at one of these, the FTP access method, and see how it facilitated the acquisition of multiple data files from an external source.
James Zeitler is a Senior Information Research
Specialist at
Array Processing
with the Generic Macro
by Victor Pontes, Inatec, Inc.
The SAS Macro facility is a powerful tool for automated code generation. Most programmers regularly use Macro programming to add efficiency to Base SAS code generation. But the macro language isn't just for generating Base SAS code; it is used to simplify the production of repetitive Macro code as well. We will explore some of these possibilities using the Generic Macro, which will simplify the production of macro code by taking the code itself as a parameter.
Victor Pontes has spent his entire professional life programming, mostly using SAS but also as an applications programmer. Five years ago he founded Inatec, Inc., through which he works as an independent consultant, primarily in the areas of pharmaceutical and biomedical research. He is enamored with the SAS macro facility and enjoys using it creatively and testing its limits.
Statistical
Significance Testing with Stratified Samples
by Joan Yu, Data Rewards
When stratified sampling is used to select marketing treatment and control groups, one group, either the treatment or the control, needs to be weighted for the statistical comparison analysis. This talk will show how to use Proc Surveymeans to calculate the correct standard errors for statistical significance testing and to compare the results with those from Proc Ttest using a weight statement. The talk will be given in the context of marketing, and the analysis approach can be applied to other fields as well.
Joan has focused on the use of data and technology to
improve marketing performance throughout her 12-year career after she received
her Ph. D. and M.S. degrees in statistics from
by Meena
Doshi,
There is a notion that SAS/GRAPH is one of the most difficult components of SAS software; however once understood it is a very powerful tool for creating a wide range of charts, maps and plots in a variety of patterns, colors and arrangements. Simple SAS/GRAPH options will be demonstrated in easy steps to show even the beginner programmer or graph user how to make a customized forest plot in SAS.
Meena Doshi
is a Statistician at the New England Research Institutes, Inc in
Hash Table Lookup
from SAS Data Files
by Sue Szubzda, Ingenix
Accurate data is key in the
health care industry. One aspect to
improving the health care industry is providing the most accurate medical
history for patients possible. By grouping all health care records of the
patient together, we can provide a more accurate assessment of the member's
health care history and improve case management.
This presentation demonstrates the use of hash table lookup methodology to
update the member id on historical medical records with the most recent member ID;
thereby grouping all historical claims of the member.
Likewise, grouping all of a provider's patient(s) records under
one provider ID provides a more accurate assessment of the provider's
performance. This demonstration also shows how the process is used
simultaneously to update the provider's id on historical medical records with
the most recent provider id.
Sue Szubzda has worked at Ingenix (
Creating Dynamic
HTML pages with PC SAS, as a prelude to SAS INTRNET or Integration
by Qiang Hou, Harvard Pilgrim Health Care
This paper introduces a simple technique to create SAS dynamic web applications, employing PC SAS and freely-available open-source software, as an alternative to the SAS products IntrNet and Integration Technologies. Such an easily-implemented alternative may be especially desirable in the early or prototype stages of design or software development.
Utilizing PC SAS together with freely-available open-source software (Apache and PHP), this paper shows how to develop interactive web pages that can process a user request from any web browser, and convey results back to the user in real time, displaying virtually any type of data. Using an example of an interactive web page that charts the closing price of a user-supplied stock from a user-supplied date to a current date, the paper explains in detail how the technique works.
Qiang Hou works for Harvard Pilgrim Health Care as a
business analyst performing data analysis and predictive modeling. He holds a
doctorate in Statistics from
The Colorful ODS
by Ali Sabouri,
Blue Cross Blue Shield of
Ever since its inception in SAS® V8, Output Delivery System (ODS) has been a powerful tool in presenting reports in various formats (i.e. HTML, RTF, PDF, etc.). Examples here will show you how to efficiently apply simple codes to make your presentations more colorful. You’ll learn how to use Proc Report in conjunction with ODS to “traffic light” cell values within your HTML output.
Ali Sabouri is a Senior Network Technical Consultant at
Blue Cross Blue Shield of Massachusetts in
Using Proc
Transpose to Flip Your Output
by James K. West PhD, MA Department of Public Health
I often expend my programming energy and expertise coaxing numbers from data sets of thousands of records without paying any attention to the lay out of my output. I think this is proper. If I’d wanted to be a graphics artist, I wouldn’t have taught myself SAS, right? Wrong. I find that my output, though technically successful, doesn’t present the findings meaningfully -- there are columns where I want rows and rows where I want columns. Proc Transpose is a handy tool to flip these files.
In my work, I often have a large number of data sets with individual records like births, deaths, and hospitalizations. I aggregate the values of certain fields on individual records to state totals by age, sex, and race/ethnicity (strata). Here is my method using PROC TRANSPOSE.
James K. West has been a demographer and epidemiologist
at the Massachusetts State Department of Public Health for eight years. Before
working at the Department, he earned his PhD in Public Policy at the
Using Systask to Dynamically Create Libnames
By Ray Cloutier, Health Dialog
Spending a little extra time planning your directory structure can have big returns. When projects are stored in similar folder structures, it becomes very easy to create cross-project applications. This paper will demonstrate how to use the systask command to dynamically create libname statements to perform cross-project analysis.
Ray Cloutier (pronounced Clue-Chi) works at Health Dialog as a Analytics Manager for the Clinical Development department. He has been using SAS for over 10 years and currently uses SAS to manipulate over 200 terra bytes of medical claims data.
Combining Data
Sets Containing Character Variables of Different Lengths
By Ron Cody
This SAS tip has two purposes: First, it solves a fairly common problem that is encountered when you want to combine two data sets and, second, it uses an interesting (and powerful) technique where you have a SAS program that writes a SAS program that then gets submitted. If you want to append values in one data set to the end of another data set, you can either use PROC APPEND, or use a SET statement that lists the names of the data sets you want to combine.
However, what if the two data sets have the same variable names, but some of the character variables have different lengths in the two data sets? Furthermore, the character variables stored with longer lengths are not consistent in one or the other data set. You cannot use PROC APPEND because that procedure will use all the attributes from the base data set, which will truncate any character values that are longer in the second data set. You can use a SET statement, but you will have to manually enter the length of each character variable (in a LENGTH statement) from either data set one or data set two, whichever is longer.
Because this is a fairly common problem, there is a macro that combines two data sets and automatically uses the maximum length for each character variable.
Ron Cody is a retired professor from the
BASUG Membership
Keep your BASUG Membership up-to-date! Print out a membership form from our website, and bring it with you to the meeting (along with your check). Please note that we have discontinued Corporate Memberships – we now provide only Individual Membership at $30 annually. For more information on our membership policy, or to print out a form visit:
http://www.basug.org/basugj.shtml
Directions to Microsoft New England Research
& Development Center
Please visit: http://www.basug.org/directionsNERD.html
BASUG Contacts
Mailing Address:
BASUG
To email our Webmaster: basugwm@basug.org