/**********************************************************************\
/**********************************************************************\
PROGRAM: C:\MEPS\PROG\EXAMPLE03.SAS
DESCRIPTION: THIS EXAMPLE SHOWS THE USE OF ID VARIABLES ON DIFFERENT
MEPS PUBLIC-USE FILES (PUFs) AND HOW TO USE THESE ID
VARIABLES TO MERGE MEPS FILES.
THIS EXAMPLE SHOWS PRINTS OF PERSON-LEVEL AND CONDITION-
LEVEL FILES TO SHOW THE USE OF THE ID VARIABLES.
DUPERSID (HC-079) IS A PERSON-LEVEL IDENTIFIER.
CONDIDX (HC-078) IS A PERSON-CONDITION-LEVEL IDENTIFIER.
INPUT FILE: (1) C:\MEPS\DATA\H79.SAS7BDAT (2003 FULL-YEAR DATA FILE)
(2) C:\MEPS\DATA\H78.SAS7BDAT (2003 CONDITIONS FILE)
\**********************************************************************/
FOOTNOTE 'PROGRAM: C:\MEPS\PROG\EXAMPLE03.SAS';
LIBNAME CDATA V8 'C:\MEPS\DATA';
TITLE1 'AHRQ MEPS DATA USERS WORKSHOP -- JULY 2006';
TITLE2 'ILLUSTRATING THE USE OF ID VARIABLES (DUPERSID, CONDIDX)';
PROC FORMAT;
VALUE YESNO
-9 = '-9 NOT ASCERTAINED'
-1 = '-1 INAPPLICABLE'
1 = '1 YES'
2 = '2 NO';
VALUE SEXF
1 = '1 MALE'
2 = '2 FEMALE';
RUN;
/***** GET DUPERSID AND OTHER VARIABLES FROM HC-079 *****/
PROC SORT DATA= CDATA.H79 (KEEP= DUID PID DUPERSID AGE03X SEX PERWT03F
VARSTR VARPSU)
OUT= FY2003;
BY DUPERSID;
RUN;
TITLE3 'PRINT OF 50 HC-079 (2003 FULL-YEAR FILE) RECORDS TO SHOW DUPERSID';
PROC PRINT DATA= FY2003 (OBS= 50);
VAR DUID PID DUPERSID AGE03X SEX ;
FORMAT SEX SEXF. ;
RUN;
/***** GET DUPERSID, CONDIDX AND OTHER VARIABLES FROM HC-078 *****/
PROC SORT DATA= CDATA.H78 (KEEP= DUPERSID CONDN CONDIDX INJURY ICD9CODX)
OUT= COND2003;
BY DUPERSID CONDIDX;
RUN;
TITLE3 'PRINT OF 50 HC-078 (2003 CONDITIONS FILE) RECORDS TO SHOW';
TITLE4 'DUPERSID AND CONDIDX';
PROC PRINT DATA= COND2003 (OBS= 50);
VAR DUPERSID CONDN CONDIDX INJURY ICD9CODX;
FORMAT INJURY YESNO. ;
RUN;
/***** MERGE FILES TO CONNECT PERSON INFO WITH CONDITION INFO. *****/
/***** THE MERGE MATCHES RECORDS BY USING THE DUPERSID VARIABLE *****/
DATA CONDINFO;
MERGE FY2003 COND2003;
BY DUPERSID;
RUN;
TITLE3 'PRINT OF 50 RECORDS FROM MERGED, CONDITION-LEVEL, FILE';
PROC PRINT DATA= CONDINFO (OBS = 50);
VAR DUPERSID CONDIDX AGE03X SEX INJURY ICD9CODX;
FORMAT SEX SEXF. INJURY YESNO. ;
RUN;
/***** MERGE FILES BUT NOW ONLY KEEP MATCHING RECORDS *****/
DATA CONDINFO_B;
MERGE FY2003 (IN= A) COND2003 (IN= B);
BY DUPERSID;
IF A AND B;
RUN;
TITLE3 'PRINT OF 50 RECORDS FROM MERGED, CONDITION-LEVEL, FILE';
TITLE4 'WHERE ONLY MATCHED RECORDS WERE KEPT';
PROC PRINT DATA= CONDINFO_B (OBS = 50);
VAR DUPERSID CONDIDX AGE03X SEX INJURY ICD9CODX;
FORMAT SEX SEXF. INJURY YESNO. ;
RUN;