libname iden 'P:\'; libname deid 'P:\'; *sparcs identified data; proc freq data=; table Patient_Birth_date; format Patient_Birth_date $6.; run; data iden; set ; Patient_Birth_Date_num = input(Patient_Birth_Date, yymmdd8.); format Patient_Birth_Date_num mmddyy10.; run; data deid16 (keep=Discharge_Sequence_Number Patient_Sex Patient_County_Code Type_of_Admission Newborn_Flag Facility_Identifier Facility_Name Admission_Diagnosis_Code Principal_Diagnosis_Code Other_Diagnosis_Code_1-Other_Diagnosis_Code_24 Principal_Procedure_Code Procedure_Code_1-Procedure_Code_14); set deid.inpatient_s_2016; where Record_Sequence_Number=1; run; data deid17 (keep=Discharge_Sequence_Number Patient_Sex Patient_County_Code Type_of_Admission Newborn_Flag Facility_Identifier Facility_Name Admission_Diagnosis_Code Principal_Diagnosis_Code Other_Diagnosis_Code_1-Other_Diagnosis_Code_24 Principal_Procedure_Code Procedure_Code_1-Procedure_Code_14); set deid.inpatient_s_2017; where Record_Sequence_Number=1; run; data deid; set deid16 deid17; run; *merge deidentified data and identified data; proc sql; create table sparcs1 as select iden.*, deid.* from iden inner join deid on iden.Discharge_Sequence_Number=deid.Discharge_Sequence_Number; quit; *check if all records are in the study area; data sparcs2; set sparcs1; where Patient_County_Code in (02 04 06 14 18 26 29 34 56 58 55 39 33 37); run; data sparcs3; set sparcs2; if patient_birth_date => 20160701 then output sparcs3; run; proc freq data=sparcs3; tables patient_birth_date; format patient_birth_date $8.; run; /*proc sort data=sparcs3 nodupkey out=compare;*/ /*by Discharge_Sequence_Number;*/ /*run;*/ *only keep cases with birth defects; data cases_PA_VSD other; set sparcs3; array x Admission_Diagnosis_Code Principal_Diagnosis_Code Other_Diagnosis_Code_1-Other_Diagnosis_Code_24; do over x; if X in: ('74731' '74600' '7454' 'Q255' 'Q223' 'Q210') then a=1; END; if a=1 then output cases_PA_VSD; else output other; run;