This week’s author tip is from Matthew Gillingham and his new book SAS Programming with Medicare Administrative Data. Gillingham has been programming in SAS for 15 years and has spent 10 of those years specifically dealing with health care use, cost and quality measurement.
Here’s Gillingham’s tip for you:
To gain a complete picture of each Medicare beneficiary’s medical history, use claims data for beneficiaries continuously enrolled in Medicare for your study period.
Identifying beneficiaries who have been continuously enrolled in Medicare FFS (be it for a calendar year or a period prior to or following a specific medical event, like a hospitalization) is a common task in research programming with Medicare administrative data. Because Medicare administrative claims data include all FFS claims submitted on behalf of a beneficiary, and most likely will not include claims for managed care enrollees, focusing on beneficiaries who are enrolled in Medicare FFS helps to ensure that we have a complete picture of each beneficiary’s medical history for the period being studied.
SAS Programming with Medicare Administrative Data shows you how to determine the impact of a demonstration program on payment, utilization, and quality. In order to do so comprehensively, you must limit the population you’re studying to those beneficiaries who have been continuously enrolled in Medicare FFS for the period of time being studied (in the case of my book, for all twelve months of the calendar year) to help ensure that you have an accurate picture of their claims data during that time. To accomplish this task, use the following code.
/* STEP 6.1: BUILD CONTINUOUS ENROLLMENT INFORMATION IN 2010 MBSF FILE */ data enr.contenr_2010; set src.mbsf_ab_2010; length contenrl_ab_2010 contenrl_hmo_2010 $5.; /* FLAG BENEFICIARIES WITH PARTS A AND B OR HMO COVERAGE */ if bene_hi_cvrage_tot_mons=12 and bene_smi_cvrage_tot_mons=12 then contenrl_ab_2010='ab'; else contenrl_ab_2010='noab'; if bene_hmo_cvrage_tot_mons=12 then contenrl_hmo_2010='hmo'; else contenrl_hmo_2010='nohmo'; /* FLAG BENEFICIARIES THAT DIED IN 2010 */ if death_dt ne . then death_2010=1; else death_2010=0; run;
In Step 6.2, we output the following frequency distribution of the enrollment flags we created in Step 6.1, the results of which are illustrated by Output 6.1:
/* STEP 6.2: FREQUENCY OF CONTINUOUS ENROLLMENT VARIABLES */ ods html file="C:\Users\mgillingham\Desktop\SAS Book\FINAL_DATA\ODS_OUTPUT\Gillingham_fig6_2_ENRL.html" image_dpi=300 style=GrayscalePrinter; ods graphics on / imagefmt=png; title "VARIABLES USED TO DETERMINE CONTINUOUS ENROLLMENT IN 2010 DATA"; proc freq data=enr.contenr_2010; tables contenrl_ab_2010 contenrl_hmo_2010 death_2010 / missing; run; ods html close;
Output 6.1: Continuous Enrollment Variables
Finally, in Step 6.3 we create our file of continuously enrolled beneficiaries by delimiting the ENR.CONTENR_2010 file created in Step 6.1 by the enrollment flags we defined in that same step. A beneficiary is defined as continuously enrolled in Medicare Parts A and B in calendar year 2010 if the value of CONTENRL_AB_2010 is equal to ‘AB,’ the value of CONTENRL_HMO_2010 is equal to ‘NOHMO,’ and the value of DEATH_2010 is not equal to 1. We keep only these records.
/* STEP 6.3: CREATE A 2010 ENROLLMENT FILE OF ONLY CONTINUOUSLY ENROLLED BENEFICIARIES */ data enr.contenr_2010_fnl; set enr.contenr_2010; if contenrl_ab_2010='ab' and contenrl_hmo_2010='nohmo' and death_2010 ne 1; run;
If this piqued your interest, get a copy of the book to learn more on defining continuous enrollment, or more on research programming using Medicare data.
The excerpt is from SAS Press author Matthew Gillingham’s book “SAS Programming with Medicare Administrative Data” Copyright © 2014, SAS Institute Inc., Cary, North Carolina, USA. ALL RIGHTS RESERVED. (please note that results may vary depending on your version of SAS software).