NESUG Conference: Portland, Maine, 2011
Does SAS® implicit SQL pass-through sometimes fail to meet your needs? Do you sometimes need to communicate directly with your Oracle® or DB2® database in that database’s native language? Explicit SQL pass-through might be your solution. The author briefly introduces syntax for explicit SQL pass-through queries before showing examples of specific situations when explicit pass-through queries solve problems when extracting data. The author discusses the relationship between processing location and processing speed. She also gives specific examples of how differences between Oracle, DB2, and SAS sometimes make it necessary to do the initial extraction or transformation of data via pass-through. The examples used to illustrate the differences between the RDBMS and SAS include numeric precision and naming conventions. A brief discussion of differences in SQL dialects and functions between systems is also included.
10 Steps to Easier SAS Code Maintenance
NESUG Conference: Portland, Maine, 2011
Part of the author’s job at is to produce on a yearly basis a number of rates used in national healthcare quality surveys and accreditation performance measures. Each year when the revised specs came out, she got tired of having to update processes manually, hunting through programs for diagnosis codes and dates that needed to be changed, copying and pasting the same updates and code blocks so many times she lost count, and then inevitably finding out she’d missed a spot when the program either bombed, or – worse – ran all the way through but returned last year’s data instead of this year’s or outdated diagnosis codes. Then when the revisions to the revisions came out and those revised revisions begot new revisions as well, she had to keep going through the same tedious process.
This paper describes how to make yearly code maintenance tasks easier in 10 steps, using simple organization techniques, appropriate documentation, macro variables, and parameterized macros.
1. Break large processes into smaller steps.
2. Number programs.
3. Document using comments.
4. Document using program headers.
5. Create an initial startup program.
6. Create a final cleanup program.
7. Use macro variables for date selection criteria.
8. Use macro variables for file naming.
9. Use parameterized macros for similar processes.
10. Use macro variables for long lists that need frequent updating/referencing.
Dickens vs. Hemingway: Text Analysis and Readability Statistics in Base SAS
SAS Global Forum: Orlando, Florida, 2012
Although SAS® provides a specific product for text mining (SAS Text Miner), you may be surprised how much text analysis you can readily perform using just Base SAS. The author introduces the topic with some background on widely-used readability statistics and tests in addition to a brief comparison of Hemingway and Dickens. After selecting two appropriate readability tests and texts of similar length, she describes data preparation challenges, including how to deal with punctuation, case, common abbreviations, and sentence segmentation. Using a few simple calculated macro variables, she develops a program which can be re-used to calculate readability tests on any sample input text file. Finally, she validates her SAS output using published readability statistics from sources such as Amazon and searchlit.org.
NESUG Conference: Burlington, Vermont, 2013
This paper provides background information on survey design, with data from the Medical Expenditures Panel Survey (MEPS) as an example. SAS® survey procedures in SAS/STAT used to analyze such data sets include PROC SURVEYMEANS, PROC SURVEYFREQ, PROC SURVEYREG, and PROC SURVEYLOGISTIC. There is no PROC SURVEYCORR. One solution is to use a macro approach to extract r-squared values from multiple iterations of PROC SURVEYREG when there are many possible predictor variables to examine.
ACA and the New Individual Segment: Profiling the Uninsured and Non-Group Insured Populations with MEPS 2010 and SAS Survey Procedures
Central Connecticut State University (CCSU) Data Mining Conference: New Britain, Connecticut, 2013
As of January 1, 2014, most provisions of the Affordable Care Act (ACA) take full effect. For health insurers, this legislation is expected to dramatically expand the individual segment, as previously uninsured individuals purchase insurance through the exchanges and as others lose their private employer group coverage. Most of the existing literature focuses on data available prior to 2012 which describes the uninsured and non-group (individual) segments up through 2007. This project uses the consolidated data file from the Medical Expenditure Panel Survey (MEPS) 2010, available to the public as of September 2012, to profile these populations and explore the implications with regard to the 2014 changes.
MEPS is not a random sample of the population, but uses a complex survey design with multi-stage clustering and stratification. Person weights must be used to produce reliable population estimates from the data in this survey. Therefore, this project uses SAS survey procedures to profile these populations, compare mean expenditures across populations with regard to insurance coverage status, and estimate the size of these segments as of 2010. An introduction to these survey procedures is covered in this presentation.
Based on MEPS 2010 data and the uninsured population profile developed in this project, it seems likely that the expansion of the individual market in 2014 will decrease costs in the short term due to an influx of younger males without chronic medical diagnoses. However, in the long term, efforts to mitigate behavioral risk factors such as smoking and physical inactivity may be necessary to maintain the health of this population along with its lower associated costs. Since the uninsured and non-group insured segments believe that they are healthy enough to not need insurance and/or that it is not worth the cost, insurers may wish to target these groups with low cost, high deductible health plans (HDHPs). Customer segmentation strategies for acquisition, retention, and engagement of customers in the expanded individual market should take note of distinguishing characteristics of the uninsured profile.