/**********************************************************************\
/**********************************************************************\ 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;