/* * FILE NAME: SAS_SUD99.SAS * * DESCRIPTION: THIS PROGRAM CREATES A SUBSET OF THE SUMMARY PREVALENCE REPORT AND TABLES * * BEFORE RUNNING THIS PROGRAM THE FOLLOWING STEPS SHOULD BE FOLLOWED: * 1) CHANGE THE YEAR TO REFLECT THE CURRENT RUN, EX: 97, * ALSO ADD THE PREVIOUS YEAR FOR TE DIFFERENCE TABLES * 2) SET THE NAME OF PATH TO THE FORMAT LIBRARY * 3) SET THE PATH/NAME OF THE INPUT FILE * 4) SET THE PATH/NAME OF THE OUTPUT FILES * EXTERNAL REFERENCES: * * TYPE NAME DESCRIPTION OF REFERENCE * ---------- ------------ ------------------------------------------------ * FORMAT FORMAT.SC2 FORMAT LIBRARY FOR BRFSS PROJECT * * MACROS * ALLPCT DOES ALL CALCULATIONS OF PERCENT VALUES FOR TABLES (INCLUDING SUDAAN * CALCULATIONS AND CREATES TABLES USING PUT STATEMENTS * SEXPCT SAME AS ABOVE, EXCEPT BY SEX * YRDIFPCT SAME AS ABOVE, EXCEPT YEARS DIFFERENCE * YRDIFPC2 SAME AS ABOVE, EXCEPT ROTATING YEARS DIFFERENCE * ALLMEAN DOES ALL CALCULATIONS OF MEAN VALUES FOR TABLES (INCLUDING SUDAAN * CALCULATIONS AND CREATES TABLES USING PUT STATEMENTS * SEXMEAN SAME AS ABOVE, EXCEPT BY SEX * YRDIFMN SAME AS ABOVE, EXCEPT YEARS DIFFERENCE * */ *STEP 1 - CHANGE YEAR TO REFLECT CURRENT RUN; %LET YEAR=99; ***Previous year for difference tables***; *** If another, different year for some of the difference tables is needed, just create *** another year variable and create another data set name below***; %LET YR1=98; *STEP 2 - SET THE NAME OF PATH TO THE FORMAT LIBRARY; LIBNAME LIBRARY 'Q:\BRFSS\1999\PROGRAMS\FORMATS'; *STEP 3 - SET THE NAME OF THE INPUT LIBNAME; *LIBNAME INPATH 'c:\SASDATA' ; LIBNAME INPATH 'Q:\BRFSS\SASDATA' ; *STEP 4 - SET THE NAME OF THE OUTPUT FILES; FILENAME OUT "C:\SAMPLE99\WOMEN99.SUM" LRECL=145 ; FILENAME OUT1 "C:\SAMPLE99\CONTNT99.SUM"; ***Create the names of the input files used in the main program***; %LET INSASFA=DBRFS&YEAR; /*Data for current year*/ %LET INSASFB=DBRFS&YR1; /*Data for previous year for difference tables*/ FOOTNOTE ; RUN ; DM 'DLGPRTSETUP ORIENT = PORTRAIT NODISPLAY' ; OPTIONS LS=145 PS=94 SYSPRINTFONT='Letter Gothic' 8 ; RUN ; TABLE OF CONTENTS ; DATA _NULL_; FILE OUT NOTITLES; PUT #4 @44 ' TABLE OF CONTENTS'/// @8 "OVERVIEW OF THE 19&YEAR SUMMARY REPORT....................................................................IX"// @8 'EXPLANATION OF TABLES...................................................................................X'// @8 'DEFINITIONS OF RISK FACTORS & PREVENTIVE HEALTH MEASURES.............................................XVII'////// @44 ' SECTION III'// @35 'PREVALENCE REPORT FOR WOMEN''S HEALTH ISSUES'/// @8 'MAMMOGRAPHY'// @10 'TABLE 36.1 NEVER HAD MAMMOGRAM, AGE 18 AND OVER.................................................01'/ @10 " 36.2 NEVER HAD MAMMOGRAM, AGE 18 AND OVER, CHANGE 19&YR1-19&YEAR................................02"// @10 'TABLE 37.1 NEVER HAD MAMMOGRAM, AGE 40 AND OVER.................................................03'/ @10 " 37.2 NEVER HAD MAMMOGRAM, AGE 40 AND OVER, CHANGE 19&YR1-19&YEAR................................04"// @10 'TABLE 38.1 DID NOT HAVE A MAMMOGRAM WITHIN PAST TWO YEARS, AGE 50 AND OVER......................05'/ @10 ' 38.2 DID NOT HAVE A MAMMOGRAM WITHIN PAST TWO YEARS, AGE 50 AND OVER,' / @10 " CHANGE 19&YR1-19&YEAR......................................................................06" _PAGE_ ; PUT #4 @8 'BREAST EXAM'// @10 'TABLE 39.1 NEVER HAD BREAST EXAM, AGE 18 AND OVER...............................................07'/ @10 " 39.2 NEVER HAD BREAST EXAM, AGE 18 AND OVER, CHANGE 19&YR1-19&YEAR..............................08"// @10 'TABLE 40.1 NEVER HAD BREAST EXAM, AGE 40 AND OVER...............................................09'/ @10 " 40.2 NEVER HAD BREAST EXAM, AGE 40 AND OVER, CHANGE 19&YR1-19&YEAR..............................10"// @10 'TABLE 41.1 DID NOT HAVE A BREAST EXAM WITHIN PAST TWO YEARS, AGE 50 AND OVER....................11'/ @10 ' 41.2 DID NOT HAVE A BREAST EXAM WITHIN PAST TWO YEARS, AGE 50 AND OVER,' / @10 " CHANGE 19&YR1-19&YEAR......................................................................12"/// @8 'MAMMMOGRAM AND BREAST EXAM'// @10 'TABLE 42.1 NEVER HAD MAMMOGRAM & BREAST EXAM, AGE 40 AND OVER...................................13'/ @10 " 42.2 NEVER HAD MAMMOGRAM & BREAST EXAM, AGE 40 AND OVER, CHANGE 19&YR1-19&YEAR..................14"// @10 'TABLE 43.1 DID NOT HAVE MAMMOGRAM & BREAST EXAM W/IN PAST 2 YRS, AGE 50 AND OVER................15'/ @10 ' 43.2 DID NOT HAVE MAMMOGRAM & BREAST EXAM W/IN PAST 2 YRS, AGE 50 AND OVER,' / @10 " CHANGE 19&YR1-19&YEAR......................................................................16"// @8 'CERVICAL CANCER'// @10 'TABLE 44.1 NEVER HAD PAP SMEAR, WOMEN AGE 18 AND OVER...........................................17'/ @10 " 44.2 NEVER HAD PAP SMEAR, WOMEN AGE 18 AND OVER, CHANGE 19&YR1-19&YEAR..........................18"// @10 'TABLE 45.1 NEVER HAD PAP SMEAR, WOMEN WITH INTACT CERVIX........................................19'/ @10 " 45.2 NEVER HAD PAP SMEAR, WOMEN WITH INTACT CERVIX CHANGE 19&YR1-19&YEAR........................20"// @10 'TABLE 46.1 DID NOT HAVE PAP SMEAR IN PAST 3 YEARS, WOMEN WITH INTACT CERVIX.....................21'/ @10 ' 46.2 DID NOT HAVE PAP SMEAR IN PAST 3 YEARS, WOMEN WITH INTACT CERVIX,' / @10 " CHANGE 19&YR1-19&YEAR......................................................................22"; RUN; **** END OF TABLE OF CONTENTS **; START MACRO DEFINITIONS **; %MACRO ALLPCT(INPDD,ANNUM,VAR1,REPORTA,PG); * EXECUTE SUDAAN AND PRINT TOTAL TABLE; ***; * THIS MACRO CALLS SUDAAN AND ALL OF THE CALCULATIONS FOR THE PERCENT VALUES PRESENTED * ON THE RISK FACTOR TABLES AND THEN CREATES THE TABLES USING PUT STATEMENTS. * * INPUT VARIABLES: INPDD - INPUT DATA SET NAME * ANNUM - APPLICABLE YEAR * VAR1 - SPECIFIC VARIABLE OF INTEREST * REPORTA - TABLE NUMBER OF THE TABLE * PG - PAGE NUMBER FOR THE TABLE ***; PROC SORT DATA=&INPDD; BY _STSTR _PSU _RECORD; * OBTAIN PREVALANCE PERCENTS AND SE FOR TOTAL AND SEX GROUPS; PROC DESCRIPT DATA=&INPDD FILETYPE=SAS DESIGN=WR NOPRINT ; OUTPUT NSUM PERCENT SEPERCENT /FILENAME=SESUSTAT; VAR &VAR1; CATLEVEL 1; SUBGROUP _STATE SEX; LEVELS 72 2; SUBPOPN (&VAR1 < 7); NEST _STSTR _PSU / NOSORTCK MISSUNIT; WEIGHT _FINALWT; TABLES _STATE _STATE*SEX; *PROC PRINT DATA=_LAST_(OBS=50); * RENAME VARIABLES TO BE THE SAME AS IN SESUDAAN FOR THE CONVERSION; DATA SESUSTAT; SET SESUSTAT; RENAME NSUM=SAMSIZE PERCENT=STATIST SEPERCEN=STDERR; DATA RISK1T RISK1M RISK1F; SET SESUSTAT; * REMOVING THE TOTAL RECORD AND UNWANTED LEVEL OF RISK FACTOR; IF SAMSIZE NE 0; IF _STATE NE 0;IF SEX NE 0; * IF STATIST NE 0; * ROUNDING THE STATISTICS; STATIST=ROUND(STATIST,.01); STDERR=ROUND(STDERR,.01); * COMPUTING THE 95% CONFIDENCE INTERVAL FOR PERCENT; CIL=STATIST-1.96*STDERR; CIR=STATIST+1.96*STDERR; * CREATING DATA SETS OF TOTALS & SEX GROUPS FOR RISK FACTOR; IF TABLENO=1 THEN OUTPUT RISK1T; IF TABLENO=2 AND SEX=1 THEN OUTPUT RISK1M; IF TABLENO=2 AND SEX=2 THEN OUTPUT RISK1F; * KEEPING STATISTICS AND IDENIFICATION VARIABLE(_STATE); KEEP STATIST STDERR SAMSIZE _STATE CIL CIR; * SORT AND ORDERING FOR OUTPUT TO A DATASET FOR MAPPING; PROC SORT DATA=RISK1T OUT=SORTEDT; BY STATIST; DATA PREVRNKT(KEEP=_STATE RANKT); SET SORTEDT; RANKT=_N_; PROC SORT DATA=PREVRNKT; BY _STATE; * MERGING OF TOTAL AND SEX GROUPS DATASETS WITH RANKS AND STATISTICS; DATA RISKDATA; MERGE RISK1T PREVRNKT RISK1M (RENAME=(SAMSIZE=SAMSIZEM STATIST=STATISTM STDERR=STDERRM CIL=CILM CIR=CIRM)) RISK1F (RENAME=(SAMSIZE=SAMSIZEF STATIST=STATISTF STDERR=STDERRF CIL=CILF CIR=CIRF)) ; *IF STATISTM NE 0; * REMOVING CASES WITH 0 PREVALENCES; BY _STATE; * GENERATE SUMMARY STATISTICS FOR PREVALENCE ESTIMATES FOR EACH * SEX GROUP; PROC UNIVARIATE DATA=RISKDATA NOPRINT; VAR STATIST STATISTM STATISTF; OUTPUT OUT=OUTSTAT N=N MEDIAN=MEDIANT MEDIANM MEDIANF RANGE=RANGET RANGEM RANGEF MIN=MINT MINM MINF MAX=MAXT MAXM MAXF; OUTPUT THE TOTAL TABLE FOR REPORT ; DATA TEMP2; SET RISKDATA OUTSTAT ; LENGTH STATE $ 14; * CONVERT FIPCODE TO STATE NAME; STATE=FIPNAME(_STATE); CURRENT=DATE(); * CONVERT DATE OF REPORT TO SAS DATE; DATA _NULL_; SET TEMP2 END=EOF; PAGE=&PG; * PRODUCE PREVALANCE TABLE FOR RISK FACTORS ; * TABLE THE PREVALANCE PERCENT, SAMPLE SIZE, S.E., DESIGN EFFECT; FILE OUT HEADER=H NOTITLES PRINT MOD; IF _N_=1 THEN PUT _PAGE_; IF STATE=' ' THEN PUT / +26 'SUMMARY STATISTICS:' +3 'NO. OF PARTICIPANTS = ' N +1 'MEDIAN = ' MEDIANT 4.1 +1 'RANGE = ' MINT 4.1 '-' MAXT 4.1 +2 &OBJ2000 ; ELSE PUT +25 STATE $14. +7 SAMSIZE 4. +12 STATIST 4.1 +12 STDERR 4.1 +10 '(' CIL 5.1 ',' +1 CIR 5.1 ')' ; IF EOF THEN PUT +25 '* ' &DEFRISK @100 CURRENT WORDDATE. +1 ; RETURN; H: PUT @44 "TABLE &REPORTA 19&ANNUM BEHAVIORAL RISK FACTOR SURVEILLANCE DATA" @125 PAGE / @36 'ESTIMATED PREVALENCE AND RELEVANT STATISTICS FOR ' &TITLAB1 '*' / @49 'DENOMINATOR EXCLUDES MISSING, DON''T KNOW, AND REFUSED' // +45 'SAMPLE' +26 'STANDARD' +6 '95% CONFIDENCE' / +25 'PARTICIPANT' +10 'SIZE' +11 'PERCENT' +11 'ERROR' +10 'INTERVAL' /; RETURN; %MEND ALLPCT; /*/ **** TWO-YEAR DIFFERENCES OF PREVALENCE *; %MACRO YRDIFPCT(INPDD,ANNUM,VAR1,REPORTC,PG); * EXECUTE SUDAAN AND PRINT TOTAL TABLE; ***; * THIS MACRO CALLS SUDAAN AND ALL OF THE CALCULATIONS FOR THE YEAR DIFFERENCE * PERCENT VALUES PRESENTED ON THE RISK FACTOR TABLES AND THEN CREATES THE TABLES * USING PUT STATEMENTS. * * INPUT VARIABLES: INPDD - INPUT DATA SET NAME * ANNUM - APPLICABLE FIRST COMPARISON YEAR * VAR1 - SPECIFIC VARIABLE OF INTEREST * REPORTC - TABLE NUMBER OF THE TABLE * PG - PAGE NUMBER FOR THE TABLE ***; * OBTAIN PREVALANCE PERCENTS FOR TOTAL; PROC DESCRIPT DATA=&INPDD FILETYPE=SAS DESIGN=WR NOPRINT ; OUTPUT NSUM PERCENT SEPERCENT /FILENAME=STATP; VAR &VAR1; CATLEVEL 1; SUBGROUP _STATE; LEVELS 72; SUBPOPN (&VAR1 < 7) ; NEST _STSTR _PSU / NOSORTCK MISSUNIT; WEIGHT _FINALWT; TABLES _STATE; *PROC PRINT DATA=_LAST_(OBS=50); * RENAME VARIABLES TO BE THE SAME AS IN SESUDAAN FOR THE CONVERSION; DATA STATP; SET STATP; RENAME NSUM=SAMSIZE PERCENT=STATIST SEPERCEN=STDERR; *PROC PRINT DATA=_LAST_(OBS=100); DATA RISK1TPY; SET STATP; * REMOVING THE TOTAL RECORD AND UNWANTED LEVEL OF RISK FACTOR; IF SAMSIZE NE 0; IF _STATE NE 0; * ROUNDING THE STATISTICS; STATIST=ROUND(STATIST,.01); RENAME STATIST=STATISTP; * NOT TO ERASE THE CURRENT STAT DURING; * MERGING; PROC SORT DATA=RISK1T; * FROM FIRST PART OF PROGRAM (ALLPCT); BY _STATE; PROC SORT DATA=RISK1TPY; BY _STATE; DATA TEMP; MERGE RISK1T(IN=A) RISK1TPY(IN=B); * MERGE CURRENT & PREVIOUS YEARS; BY _STATE; IF A; DATA PRCNTDIF (KEEP = STATE CSTATP CSTAT DIF1 CDIF1) ; SET TEMP END=EOF; PAGE=&PG; LENGTH STATE $ 14; * CONVERT FIPCODE TO STATE NAME; *REMOVING NON PARTICIPANTS FOR THE YEAR DATA; *IF STATIST EQ 0 THEN DELETE; IF STATIST EQ 0 THEN STATIST=.; IF STATISTP EQ 0 THEN STATISTP=.; * CALCULATING THE DIFFERENCE FROM PREVIOUS TO CURRENT; IF STATISTP NE 0 THEN DIF1 = STATIST - STATISTP; STATE=FIPNAME(_STATE); * CONVERTING TO CHARACTER; * CONVERTING STATISTICS TO CHARACTER TO INSERT N/A; CSTAT=PUT(STATIST,4.1); CSTATP=PUT(STATISTP,4.1); CDIF1=PUT(DIF1,5.1); *IF CSTAT= ' . ' THEN CSTAT=' N/A '; IF CSTAT= ' . ' THEN DELETE; IF CSTATP=' . ' THEN CSTATP=' N/A '; IF CDIF1=' . ' THEN CDIF1=' N/A '; * IF (CSTAT= ' . ') AND (CSTATP=' . ') AND (CDIF1=' . ') THEN DELETE; CURRENT=DATE(); * CONVERT DATE OF REPORT TO SAS DATE; * PRODUCE PREVALANCE DIFFERENCES TABLE FOR RISK FACTORS; FILE OUT NOTITLES HEADER=H PRINT MOD; IF _N_=1 THEN PUT _PAGE_; PUT +43 STATE $14. +8 CSTATP $5. +7 CSTAT $5. +7 CDIF1 $6. ; IF EOF THEN PUT / +43 '* ' &DEFRISK / +44 'N/A - NOT AVAILABLE' @100 CURRENT WORDDATE. +1 ; RETURN; H: PUT @48 "TABLE &REPORTC 19&YEAR BEHAVIORAL RISK FACTOR SURVEILLANCE DATA" @125 PAGE / @51 "PREVALENCE DIFFERENCES FROM 19&ANNUM TO 19&YEAR" / @59 &TITLAB1 '*' / @46 'DENOMINATOR EXCLUDES MISSING, DON''T KNOW, AND REFUSED' / @52 ' ' / +65 "19&ANNUM" +8 "19&YEAR" +8 'PERCENT' / +43 'PARTICIPANT' +10 'PERCENT' +5 'PERCENT' +5 'DIFFERENCE' /; RETURN; /* DATA PRCNTDIF ; SET PRCNTDIF ; ADIF1 = ABS(DIF1) ; RUN ; OPTIONS NODATE ; RUN ; PROC UNIVARIATE DATA = PRCNTDIF ; VAR ADIF1 ; OUTPUT Q3=Q3 OUT=QUARTILE ; RUN ; DATA _NULL_ ; SET QUARTILE ; CALL SYMPUT('UPPER25',TRIM(LEFT(Q3))) ; CALL SYMPUT('NOW',TRIM(LEFT(PUT(TODAY(),WORDDATE18.)))) ; RUN ; DATA PRCNTDIF ; SET PRCNTDIF ; LENGTH FLAG $3. ; IF ADIF1 GE &UPPER25 THEN FLAG = 'YES' ; LABEL STATE = 'PARTICIPANT' CSTATP = "19&ANNUM PERCENT" CSTAT = "19&YEAR PERCENT" CDIF1 = 'PERCENT DIFFERENCE' FLAG = 'UPPER 25 PERCENT?' ; RUN ; TITLE1 "TABLE &REPORTC, PREVALENCE DIFFERENCES FROM 19&ANNUM TO 19&YEAR" ; TITLE2 "INCLUDING INDICATION OF STATES WITHIN UPPER 25% DIFFERENCE (>=+/-&UPPER25)" ; TITLE3 &TITLAB1 ; TITLE4 'DENOMINATOR EXCLUDES MISSING, DON''T KNOW, AND REFUSED' ; TITLE5 "&NOW" ; RUN ; PROC PRINT DATA = PRCNTDIF NOOBS UNIFORM LABEL ; VAR STATE CSTATP CSTAT CDIF1 FLAG ; RUN ; TITLE ; OPTIONS DATE ; */ RUN ; %MEND YRDIFPCT; /*/ ***Create input data sets for current year or previous year, set Risk Factors***; %MACRO INPDATA(INPDD); /* year 99 */ %if &INPDD = &INSASFA %then %do; DATA &INPDD; SET INPATH.&INPDD (KEEP=_STSTR _PSU _RECORD _FINALWT _STATE SEX AGE HADMAM HOWLONG PROFEXAM LENGEXAM HADPAP HADHYST LASTPAP ); IF _N_=1 THEN CALL SYMPUT('STNAME',TRIM(LEFT(FIPNAME(_STATE)))); %end; /* year 98 */ %else %if &INPDD = &INSASFB %then %do; DATA &INPDD; SET INPATH.&INPDD (KEEP=_STSTR _PSU _RECORD _FINALWT _STATE SEX AGE HADMAM HOWLONG PROFEXAM LENGEXAM HADPAP HADHYST LASTPAP ); IF _N_=1 THEN CALL SYMPUT('STNAME',TRIM(LEFT(FIPNAME(_STATE)))); %end; ; ***WOMEN HEALTH SECTION 1999; ***CREATE RISK FACTOR FOR NEVER HAD MAMMOGRAM; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 18 THEN DO ; IF HADMAM = 1 THEN RISK36 = 2 ; ELSE IF HADMAM = 2 THEN RISK36 = 1 ; ELSE RISK36 = 7; END ; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 40 THEN DO ; IF HADMAM = 1 THEN RISK37 = 2 ; ELSE IF HADMAM = 2 THEN RISK37 = 1 ; ELSE RISK37 = 7 ; END ; ***CREATE RISK FACTOR FOR DID NOT HAVE MAMMOGRAM WITHIN PAST 2 YRS; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 50 THEN DO ; IF HADMAM = 1 AND HOWLONG IN(1,2) THEN RISK38 = 2 ; ELSE IF (HADMAM = 1 AND HOWLONG IN(3,4,5)) OR HADMAM = 2 THEN RISK38 = 1 ; ELSE RISK38 = 7 ; END ; ***CREATE RISK FACTOR FOR DID NOT HAVE BREAST EXAM; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 THEN DO ; IF PROFEXAM = 1 THEN RISK39 = 2 ; ELSE IF PROFEXAM = 2 THEN RISK39 = 1 ; ELSE RISK39 = 7 ; END ; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 40 THEN DO ; IF PROFEXAM = 1 THEN RISK40 = 2 ; ELSE IF PROFEXAM = 2 THEN RISK40 = 1 ; ELSE RISK40 = 7 ; END ; ***CREATE RISK FACTOR FOR DID NOT HAVE BREAST EXAM WITHIN PAST 2 YRS; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 50 THEN DO ; IF PROFEXAM = 1 AND LENGEXAM IN(1,2) THEN RISK41 = 2 ; ELSE IF (PROFEXAM=1 AND LENGEXAM IN(3,4,5)) OR PROFEXAM = 2 THEN RISK41 = 1 ; ELSE RISK41 = 7 ; END ; ***CREATE RISK FACTOR FOR DID NOT HAVE MAMMOGRAM AND BREAST EXAM; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 40 THEN DO; IF HADMAM = 1 AND PROFEXAM = 1 THEN RISK42 = 2 ; ELSE IF (HADMAM = 1 AND PROFEXAM = 2) OR (PROFEXAM =1 AND HADMAM = 2) OR (HADMAM=2 AND PROFEXAM =2) THEN RISK42 = 1 ; ELSE RISK42 = 7 ; END ; ***CREATE RISK FACTOR FOR DID NOT HAVE MAMMOGRAM AND BREAST EXAM WITHIN PAST 2 YRS; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 50 THEN DO ; IF PROFEXAM = 1 AND LENGEXAM IN(1,2) AND HADMAM = 1 AND HOWLONG IN(1,2) THEN RISK43 = 2 ; ELSE IF (PROFEXAM = 1 AND LENGEXAM IN(1,2,3,4,5) AND HOWLONG IN(3,4,5)) OR (HADMAM = 1 AND HOWLONG IN(1,2,3,4,5) AND LENGEXAM IN(3,4,5)) OR (HADMAM = 2 OR PROFEXAM = 2) THEN RISK43 = 1 ; ELSE RISK43 = 7 ; END ; ***CREATE RISK FACTOR FOR NEVER HAD PAP SMEAR TEST, 18 AND OLDER ; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND AGE GE 18 THEN DO ; IF HADPAP = 1 THEN RISK44 = 2 ; ELSE IF HADPAP = 2 THEN RISK44 = 1 ; ELSE RISK44 = 7 ; END ; ***CREATE RISK FACTOR FOR NEVER HAD PAP SMEAR FOR WOMEN 18 AND OLDER WITH INTACT CERVIX; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND HADHYST = 2 THEN DO ; IF HADPAP = 1 THEN RISK45 = 2 ; ELSE IF HADPAP = 2 THEN RISK45 = 1 ; ELSE RISK45 = 7 ; END ; ***CREATE RISK FACTOR FOR DID NOT HAVE PAP SMEAR WITHIN PAST 3 YEARS FOR WOMEN 18 AND OLDER WITH INTACT CERVIX ; *IF _STATE IN(06) THEN DELETE; /**** EXCLUDES CA ON FINAL RUNS ****/ IF SEX = 2 AND HADHYST = 2 THEN DO ; IF LASTPAP IN (1,2,3) THEN RISK46 = 2 ; ELSE IF LASTPAP IN (4,5) OR HADPAP = 2 THEN RISK46 = 1 ; ELSE RISK46 = 7 ; END ; // PROC SORT DATA=&INPDD; BY _STSTR _PSU _RECORD; %MEND INPDATA; ** END OF MACRO SECTION ***; %INPDATA(&INSASFA) *FOR CURRENT YEAR DATA; %INPDATA(&INSASFB) *FOR PREVIOUS YEAR DATA; ***If another, previous year is needed for the difference tables, add another call ***to INPDATA ***; /**/ ***SECTION III WOMEN'S HEALTH ISSUES; %MACRO FEMM(INPDD,OUTDD); DATA &OUTDD; SET &INPDD; WHERE SEX=2 AND _STATE NOT IN(06); %MEND FEMM; %FEMM(DBRFS&YEAR,FEM&YEAR) %FEMM(DBRFS&YR1,FEM&YR1) %LET DEFRISK='NEVER HAD A MAMMOGRAM '; %LET TITLAB1='NO MAMMOGRAM, WOMEN AGE 18 AND OVER'; %LET OBJ2000=' '; /* Table36 */ %ALLPCT(FEM&YEAR,&YEAR,RISK36,36.1,01) %YRDIFPCT(FEM&YR1,&YR1,RISK36,36.2,02) %MACRO FEMF(INPDD,OUTDD); DATA &OUTDD; SET &INPDD; WHERE AGE>=40 AND _STATE NOT IN(06); %MEND FEMF; %FEMF(FEM&YEAR,FEM40&YEAR) %FEMF(FEM&YR1,FEM40&YR1) %LET DEFRISK='NEVER HAD A MAMMOGRAM '; %LET TITLAB1=' NO MAMMOGRAM, WOMEN AGE 40 AND OVER'; %LET OBJ2000=' '; /* Table37 */ %ALLPCT(FEM40&YEAR,&YEAR,RISK37,37.1,03) %YRDIFPCT(FEM40&YR1,&YR1,RISK37,37.2,04) %MACRO FEM5F(INPDD,OUTDD); DATA &OUTDD; SET &INPDD; WHERE AGE>=50 AND _STATE NOT IN(06); %MEND FEM5F; %FEM5F(FEM40&YEAR,FEM50&YEAR) %FEM5F(FEM40&YR1,FEM50&YR1) %LET DEFRISK='DID NOT HAVE A MAMMOGRAM IN PAST TWO YEARS'; %LET TITLAB1='NO MAMMOGRAM, WOMEN AGE 50 AND OVER' ; %LET OBJ2000=' '; /* Table38 */ %ALLPCT(FEM50&YEAR,&YEAR,RISK38,38.1,05) %YRDIFPCT(FEM50&YR1,&YR1,RISK38,38.2,06) %LET DEFRISK='NEVER HAD EXAM BY A DOCTOR, NURSE OR OTHER HEALTH PROFESSIONAL'; %LET TITLAB1='NO CLINICAL BREAST EXAM, WOMEN AGE 18 AND OVER'; %LET OBJ2000=' '; /* Table39 */ %ALLPCT(FEM&YEAR,&YEAR,RISK39,39.1,07) %YRDIFPCT(FEM&YR1,&YR1,RISK39,39.2,08) %LET DEFRISK='NEVER HAD EXAM BY A DOCTOR, NURSE OR OTHER HEALTH PROFESSIONAL'; %LET TITLAB1='NO CLINICAL BREAST EXAM, WOMEN AGE 40 AND OVER'; %LET OBJ2000=' '; /* Table40 */ %ALLPCT(FEM40&YEAR,&YEAR,RISK40,40.1,09) %YRDIFPCT(FEM40&YR1,&YR1,RISK40,40.2,10) %LET DEFRISK='DID NOT HAVE EXAM IN PAST TWO YEARS'; %LET TITLAB1='NO CLINICAL BREAST EXAM, WOMEN AGE 50 AND OVER'; %LET OBJ2000=' '; /* Table41 */ %ALLPCT(FEM50&YEAR,&YEAR,RISK41,41.1,11) %YRDIFPCT(FEM50&YR1,&YR1,RISK41,41.2,12) %LET DEFRISK='NEVER HAD A MAMMOGRAM AND BREAST EXAM'; %LET TITLAB1='NO MAMMOGRAM AND BREAST EXAM, WOMEN AGE 40 AND OVER'; %LET OBJ2000=' '; /* Table42 */ %ALLPCT(FEM40&YEAR,&YEAR,RISK42,42.1,13) %YRDIFPCT(FEM40&YR1,&YR1,RISK42,42.2,14) %LET DEFRISK='DID NOT HAVE MAMMOGRAM AND BREAST EXAM IN PAST TWO YEARS'; %LET TITLAB1='NO MAMMOGRAM AND BREAST EXAM, WOMEN AGE 50 AND OVER'; %LET OBJ2000='YEAR 2000 OBJ 16.11'; /* Table43 */ %ALLPCT(FEM50&YEAR,&YEAR,RISK43,43.1,15) %YRDIFPCT(FEM50&YR1,&YR1,RISK43,43.2,16) %LET DEFRISK='NEVER HAD PAP SMEAR'; %LET TITLAB1='NO PAP SMEAR, WOMEN AGE 18 AND OVER'; %LET OBJ2000='YEAR 2000 OBJ 16.11'; /* Table44 */ %ALLPCT(FEM&YEAR,&YEAR,RISK44,44.1,17) %YRDIFPCT(FEM&YR1,&YR1,RISK44,44.2,18) %MACRO CER(INPDD,OUTDD); DATA &OUTDD; SET &INPDD; WHERE HADHYST=2 AND _STATE NOT IN(06); %MEND CER; %CER(FEM&YEAR,CER&YEAR) %CER(FEM&YR1,CER&YR1) %LET DEFRISK='NEVER HAD PAP SMEAR, WOMEN WITH INTACT CERVIX'; %LET TITLAB1='NO PAP SMEAR, WOMEN WITH INTACT CERVIX, AGE 18 AND OVER' ; %LET OBJ2000=' '; /* Table45 */ %ALLPCT(CER&YEAR,&YEAR,RISK45,45.1,19) %YRDIFPCT(CER&YR1,&YR1,RISK45,45.2,20) %LET DEFRISK='DID NOT HAVE A PAP SMEAR IN PAST THREE YEARS'; %LET TITLAB1='NO PAP SMEAR, WOMEN WITH INTACT CERVIX, AGE 18 AND OVER'; %LET OBJ2000=' '; /* Table46 */ %ALLPCT(CER&YEAR,&YEAR,RISK46,46.1,21) %YRDIFPCT(CER&YR1,&YR1,RISK46,46.2,22) RUN; * REMOVE TEMPORARY DATASETS ; PROC DELETE DATA = _ALL_ ; RUN ;