/****************************************************************\
PROGRAM: C:\MEPS\PROG\EXAMPLE07.SAS
DESCRIPTION: THIS EXAMPLE SHOWS HOW TO COMPUTE PERSON-LEVEL
PRESCRIBED MEDICINE EXPENDITURES FOR PERSONS
WITH AT LEAST ONE PMED EVENT.
INPUT FILES: C:\MEPS\DATA\H77A.SAS7BDAT (2003 PMED EVENTS FILE)
C:\MEPS\DATA\H79.SAS7BDAT (2003 FULL-YEAR DATA FILE)
\****************************************************************/
FOOTNOTE 'PROGRAM: C:\MEPS\PROG\PMED\EXAMPLE07.SAS';
LIBNAME CDATA V8 'C:\MEPS\DATA';
TITLE1 'AHRQ MEPS DATA USERS WORKSHOP -- JULY 2006';
TITLE2 'PERSON LEVEL PRESCRIBED MEDICINE EXPENDITURES';
PROC FORMAT;
VALUE AGECAT
.='TOTAL'
1='UNDER 18'
2='18 - 64'
3='65 AND OLDER'
;
VALUE RACETHN
1 = 'HISPANIC'
2 = 'BLACK'
3 = 'ASIAN'
4 = 'OTHER';
VALUE INSCOV
1 = 'ANY PRIVATE'
2 = 'PUBLIC ONLY'
3 = 'UNINSURED';
RUN;
/***** USE THE PMED EVENTS FILE (HC-077A) TO IDENTIFY *****/
/***** PERSON WITH AT LEAST ONE PMED EVENT. *****/
PROC SORT DATA= CDATA.H77A (KEEP= DUPERSID) OUT= PUF77A NODUPKEY;
BY DUPERSID;
RUN;
DATA PUF79 ;
SET CDATA.H79 (KEEP= DUPERSID AGE: RX: RACETHNX
PERWT03F VAR: INSCOV03);
IF AGE03X>=0 THEN AGE=AGE03X;
ELSE IF AGE53X>=0 THEN AGE=AGE53X;
ELSE IF AGE42X>=0 THEN AGE=AGE42X;
ELSE IF AGE31X>=0 THEN AGE=AGE31X;
ELSE AGE=AGE03X;
IF 0<= AGE <18 THEN AGECAT=1;
ELSE IF 18 <= AGE <65 THEN AGECAT=2;
ELSE IF AGE>=65 THEN AGECAT=3;
OTHER=(RXEXP03-(RXMCD03+RXMCR03+RXPRV03+RXSLF03));
RXEXP03X=RXEXP03/1000;
RXMCD03X=RXMCD03/1000;
RXMCR03X=RXMCR03/1000;
RXPRV03X=RXPRV03/1000;
RXSLF03X=RXSLF03/1000;
OTHERX=OTHER/1000;
LABEL AGECAT='AGE IN YEARS'
RACETHNX='RACE/ETHNICITY'
INSCOV03='INSURANCE STATUS'
RXEXP03='TOTAL PMED EXP'
RXMCD03='MEDICAID'
RXMCR03='MEDICARE'
RXPRV03='PRIVATE'
RXSLF03='OUT-OF-POCKET'
OTHER='OTHER'
RXEXP03X='TOTAL PMED EXP'
RXMCD03X='MEDICAID'
RXMCR03X='MEDICARE'
RXPRV03X='PRIVATE'
RXSLF03X='OUT-OF-POCKET'
OTHERX='OTHER';
RUN;
PROC SORT DATA= PUF79;
BY DUPERSID;
RUN;
/***** USE FILE MERGE AS A FILTER, KEEP ONLY PERSONS *****/
/***** ON THE PMED EVENT FILE. *****/
DATA PUF79;
MERGE PUF77A (IN= A) PUF79;
BY DUPERSID;
IF A;
RUN;
PROC SURVEYMEANS DATA= PUF79 MEAN STDERR SUM STD;
VAR RXEXP03;
STRATA VARSTR;
CLUSTER VARPSU;
WEIGHT PERWT03F;
RUN;
TITLE3 'DOLLARS IN THOUSANDS';
PROC TABULATE DATA=PUF79 MISSING FORMAT=DOLLAR12.0 ;
CLASS AGECAT RACETHNX INSCOV03;
VAR RXEXP03X RXSLF03X RXPRV03X RXMCR03X RXMCD03X OTHERX;
FORMAT AGECAT AGECAT. RACETHNX RACETHN. INSCOV03 INSCOV. ;
TABLE ALL='TOTAL' AGECAT RACETHNX INSCOV03 ,
RXEXP03X*SUM RXSLF03X*SUM RXPRV03X*SUM RXMCR03X*SUM
RXMCD03X*SUM OTHERX*SUM
/RTS=24 BOX='2003 TOTAL PMED EXPENDITURES';
WEIGHT PERWT03F;
RUN;
TITLE3 'MEAN EXPENDITURES';
PROC TABULATE DATA=PUF79 MISSING FORMAT=DOLLAR12.0 ;
CLASS AGECAT RACETHNX INSCOV03 ;
VAR RXEXP03 RXSLF03 RXPRV03 RXMCR03 RXMCD03 OTHER;
FORMAT AGECAT AGECAT. RACETHNX RACETHN. INSCOV03 INSCOV. ;
TABLE ALL='TOTAL' AGECAT RACETHNX INSCOV03,
RXEXP03*MEAN RXSLF03*MEAN RXPRV03*MEAN RXMCR03*MEAN
RXMCD03*MEAN OTHER*MEAN
/RTS=24 BOX='2003 MEAN PMED EXPENDITURES';
WEIGHT PERWT03F;
RUN;