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