/****************************************************************\ PROGRAM: C:\MEPS\PROG\EXAMPLE_E1.SAS DESCRIPTION: THIS EXAMPLE SHOWS HOW TO COMPUTE PERSON-LEVEL ESTIMATES FOR PERSON-LEVEL HEALTHCARE EXPENDITURES. ESTIMATES INCLUDE: MEANS, PROPORTIONS, TOTALS. INPUT FILE: C:\MEPS\DATA\H60.SAS7BDAT (2001 FULL-YEAR DATA FILE) -- PERSON-LEVEL FILE \****************************************************************/ LIBNAME CMEPS V8 'C:\MEPS\DATA' ; FOOTNOTE 'PROGRAM: C:\MEPS\PROG\EXAMPLE_E1.SAS'; TITLE1 'AHRQ MEPS DATA USERS WORKSHOP (ESTIMATION) -- NOV/DEC 2004'; TITLE2 'HEALTHCARE EXPENDITURES, 2001'; TITLE3 ' '; /***** THIS DATA STEP READS IN THE REQUIRED VARIABLES FROM THE *****/ /***** FULL-YEAR FILE (HC-060). *****/ /***** VARIABLE AGE IS CREATED BY TAKING THE VALUE OF AGE01X, *****/ /***** OR, IF AGE01X HAS A MISSING VALUE, USING THE VALUE OF *****/ /***** EITHER AGE42X OR AGE31X. *****/ /***** VARIABLE ANY_EXP IS CREATED AS DICHOTOMOUS VARIABLE *****/ /***** INDICATING IF A PERSON HAD EITHER ZERO OR SOME HEALTH- *****/ /***** CARE EXPENSES IN 2001. A VALUE OF '100' RATHER THAN '1' *****/ /***** IS USED TO ALLOW THE OUTPUT TO BE READ AS A PERCENTAGE. *****/ DATA H60; SET CMEPS.H60 (KEEP= TOTEXP01 SEX AGE01X AGE42X AGE31X PERWT01F VARPSU01 VARSTR01); IF AGE01X >= 0 THEN AGE = AGE01X; ELSE IF AGE42X >= 0 THEN AGE = AGE42X; ELSE IF AGE31X >= 0 THEN AGE = AGE31X; ELSE AGE = AGE01X; IF TOTEXP01 = 0 THEN ANY_EXP = 0; ELSE ANY_EXP = 100; LABEL TOTEXP01 = '2001 EXPENSES' ANY_EXP = 'SOME EXPENSES IN 2001'; RUN; /***** FORMATS FOR AGE AND SEX ARE USED TO CREATE CATEGORIES *****/ /***** FOR THE ANALYSIS PROCEDURES. *****/ PROC FORMAT; VALUE AGEF 0-64 = '0-64' 65-90 = '65-90'; VALUE SEXF 1 = 'MALE' 2 = 'FEMALE'; RUN; /********** MEANS **********/ TITLE4 'WEIGHTED MEAN FOR PERSON-LEVEL TOTAL EXPENDITURES'; TITLE5 'AND SUBGROUP ANALYSES FOR AGE AND SEX'; PROC SURVEYMEANS DATA= H60 NOBS SUMWGT MEAN STDERR CV CLM; VAR TOTEXP01 ; DOMAIN AGE SEX; STRATA VARSTR01; CLUSTER VARPSU01; WEIGHT PERWT01F; FORMAT AGE AGEF. SEX SEXF. ; RUN; TITLE4 'COMPARING MEAN EXPENDITURE DIFFERENCES'; TITLE5 ' '; TITLE6 'MALE [1] VERSUS FEMALE [0]'; /***** RECODE VARIABLE *SEX* SO THAT FEMALE= 0 AND *****/ /***** MALE = 1. *****/ /***** USE PROC SURVEYREG *****/ DATA H60V2; SET H60; IF SEX = 2 THEN SEX = 0; RUN; PROC SURVEYREG DATA= H60V2; MODEL TOTEXP01 = SEX; STRATA VARSTR01; CLUSTER VARPSU01; WEIGHT PERWT01F; RUN; /********** PROPORTIONS **********/ /***** TWO METHODS TO GENERATE PROPORTIONS: *****/ /***** (1) FREQUENCY TABLES *****/ /***** (2) MEANS OF DICHOTOMOUS VARIABLES *****/ /***** IN SAS V8 PROC FREQ CAN BE USED TO *****/ /***** GENERATE POINT ESTIMATES BUT NOT SEs *****/ /***** OR CONFIDENCE LIMITS. IN SAS V9 THE *****/ /***** SURVEYFREQ PROCEDURE CAN BE USED TO *****/ /***** GENERATE FREQUENCIES WITH SEs AND *****/ /***** CONFIDENCE LIMITS FOR COMPLEX SURVEYS. *****/ /***** HERE THE DICHOTOMOUS VARIABLE ANY_EXP *****/ /***** IS USED TO USE PROPORTION OF PEOPLE *****/ /***** WITH SOME HELATHCARE EXPENSES IN 2001. *****/ TITLE4 'MEAN OF THE DICHOTOMOUS VARIABLE ANY_EXP'; PROC SURVEYMEANS DATA= H60 NOBS SUMWGT MEAN STDERR CLM; VAR ANY_EXP; DOMAIN AGE SEX; STRATA VARSTR01; CLUSTER VARPSU01; WEIGHT PERWT01F; FORMAT AGE AGEF. SEX SEXF. ; RUN; /********** TOTALS **********/ /***** THE KEYWORD 'SUM' REQUESTS THE TOTAL FOR *****/ /***** THE VARIABLE TOTEXP01. *****/ /***** THE KEYWORD 'SUMWGT' REQUESTS THE SUM OF *****/ /***** THE WEIGHTS, i.e. THE POPULATION ESTIMATE. *****/ TITLE 'OVERALL TOTAL HEALTHCARE EXPENDITURES'; PROC SURVEYMEANS DATA= H60 NOBS SUMWGT SUM STD CLSUM; VAR TOTEXP01; STRATA VARSTR01; CLUSTER VARPSU01; WEIGHT PERWT01F; RUN;