The Public Health Disparities
Geocoding Project Monograph

Geocoding and Monitoring US Socioeconomic Inequalities in Health:
An introduction to using area-based socioeconomic measures
WHY?
READ MORE
HOW TO
TRY IT OUT!
TOOLS
Executive Summary
Introduction
Publications
Geocoding
Generating ABSMs
Analytic Methods
Multi-level Modeling
Visual Display
Case Example
U.S. Census Tract Poverty Data

Glossary

STEP BY STEP COMPARISON
A step by step comparison of each task of the Case Example, the relevant section of Analytic Methods, and sample SAS code

(click here for a pdf version of all 8 steps)

Step by Step 1
Step by Step 2
Step by Step 3
Step by Step 4
Step by Step 5
Step by Step 6
Step by Step 7
Step by Step 8
Step 8:
Calculate the population attributable fraction of all cause mortality due to CT poverty.
CASE EXAMPLE
ANALYTIC METHODS
SAS PROGRAMMING
click here to download SAS program

a. Starting with the data from Step 4, sum up over AREAKEY into strata defined by AGECAT and CT poverty.

b. Calculate (i) the total cases in each age stratum, over poverty; and (ii) the rate in the reference group of CT poverty.

c. Calculate stratum specific rates, rate ratios, and case fractions.

d. Calculate the age-stratum-specific population attributable fractions.

e. Calculate the grand total of all cases to use in calculating weights for all age strata.

f. Finally, calculate the aggregated population attributable fraction, using the age specific weights based on proportion of cases in each age stratum.

To calculate the age-standardized RIIst, we fit the following Poisson model for the expected cases:

Using the age-stratified numerators and denominators from Step 4, calculate the age-stratum specific population attributable risk fractions and aggregate population attributable risk fraction over all age strata following the method of Hanley8.


SOME NOTATION:

Assume that the dataset provided has stratum specific numbers of
cases (NUMER) and denominator (DENOM).

Subscript i as age, j as covariate (in this case, CINDPOV)


1. Sort data by AGECAT and CINDPOV.

2. Calculate the quantities
NUMERi+ = SUMj(NUMERij)
RATEiREF = rate in the reference group
and save them in a dataset.

3. Merge the quantities from (2) with the dataset and calculate

(a) rate RATEij=NUMERij/DENOMij
(b) case fractions CFij = NUMERij/NUMERi+
(c) rate ratio RRij = RATEij/RATEiREF

4. Calculate the (age)stratum-specific population attributable risk fraction

AFPi = CFi1 * (RRi1-1)/RRi1 + CFi2 * (RRi2-1)/RRi2 + ... CFij * (RRij-1)/RRij

5. Calculate the grand total of cases NUMER++ to use to calculate age-specific weights.

6. Determine age-stratum specific weights from the case distribution:

w_i = NUMERi+/NUMER++

and calculate the aggregated AFPagg = SUM(w_i * AFPi)

***********************************************************;

**********************************
STEP 8a SUM OVER AREAKEY INTO STRATA BY AGECAT AND CINDPOV
**********************************;

PROC SORT DATA=Step4 ;
BY AGECAT CINDPOV AREAKEY ;
RUN ;

DATA Step8a ;
SET Step4 (WHERE=(CINDPOV^=.)) ;
BY AGECAT CINDPOV ;

RETAIN NNN DDD ;

IF FIRST.CINDPOV THEN DO ;
NNN=0 ;
DDD=0 ;
END ;

NNN=NNN+NUMER ;
DDD=DDD+DENOM ;

IF LAST.CINDPOV THEN DO ;
OUTPUT ;
END ;

KEEP AGECAT CINDPOV NNN DDD ;

RUN ;


**********************************
STEP 8b: CALCULATE THE QUANTITIES

NUMERI+
RATEIREF

**********************************;

DATA Step8b ;
SET Step8a ;
BY AGECAT ;

RETAIN NIPLUS RATEIREF ;

IF FIRST.AGECAT THEN DO ;
NIPLUS=0 ;
END ;

NIPLUS=NIPLUS + NNN ;

IF CINDPOV=1 THEN DO ;
RATEIREF=NNN/DDD ;
END ;

IF LAST.AGECAT THEN DO ;
OUTPUT ;
END ;

KEEP AGECAT NIPLUS RATEIREF;

**********************************
STEP 8c: CALCULATE STRATUM SPECIFIC RATES, RATE RATIOS, AND CASE FRACTIONS
(a) rate RATEij=NUMERij/DENOMij
(b) case fractions CFij = NUMERij/NUMERi+
(c) rate ratio RRij = RATEij/RATEiREF

**********************************;

DATA Step8c ;
MERGE Step8a Step8b ;
BY AGECAT ;

RATEij=NNN/DDD ;

*******************************
NOTE: IF NIPLUS=0 THEN THERE ARE
NO CASES IN THIS AGE STRATUM AT ALL
SO SET CASE FRACTION TO ZERO
*******************************;
IF NIPLUS=0 THEN CFij=0 ;
ELSE CFij = NNN/NIPLUS ;

RRij = RATEIJ/RATEIREF ;
RUN ;



**********************************
STEP 8d: Calculate the (age)stratum-specific population attributable risk fraction
AFPi = CFi1 * (RRi1-1)/RRi1 + CFi2 * (RRi2-1)/RRi2 + ... CFij * (RRij-1)/RRij

**********************************;

DATA Step8d ;
SET Step8c ;
BY AGECAT ;

DUMMY=1 ;
RETAIN AFPI ;

IF FIRST.AGECAT THEN DO ;
AFPI=0 ;
END ;

*************************
NOTE: IF RRij=. because of an infinite risk ratio,
then (RR-1)/RR is basically equal to 1, so apply
the whole case fraction to the AFPI
*************************;
IF RRij in (.,0) THEN DO ;
AFPI=AFPI + CFij ;
END ;
ELSE DO ;
AFPI=AFPI + (CFij * (RRij-1)/RRij) ;
END ;

IF LAST.AGECAT THEN DO ;
OUTPUT ;
END ;

KEEP AGECAT NIPLUS AFPI DUMMY ;
RUN ;

**********************************
STEP 8e: CALCULATE THE GRAND TOTAL OF CASES TO USE IN CALCULATING WEIGHTS FOR EACH
AGE STRATUM

**********************************;

DATA Step8e ;
SET Step8d END=LASTOBS ;

RETAIN NPLUSPLUS ;
IF _N_=1 THEN DO ;
NPLUSPLUS=0 ;
END ;
NPLUSPLUS=NPLUSPLUS+NIPLUS ;
IF LASTOBS THEN OUTPUT ;

KEEP DUMMY NPLUSPLUS ;


**********************************
STEP 8f: CALCULATE THE AGGREGATED POPULATION ATTRIBUTABLE RISK
USING THE AGE SPECIFIC WEIGHTS.

Determine age-stratum specific weights from the case distribution:

w_i = NUMERi+/NUMER++

and alculate the aggregated AFPagg = SUM(w_i * AFPi)
**********************************;

DATA Step8f ;
MERGE Step8d END=LASTOBS Step8e ;
BY DUMMY ;

RETAIN AFPAGG ;

IF _N_=1 THEN DO ;
AFPAGG=0 ;
END ;

AFPAGG = AFPAGG + ((NIPLUS/NPLUSPLUS)*AFPi) ;

IF LASTOBS THEN DO ;

OUTPUT ;

END ;

RUN ;

proc print ;
var AFPAGG ;
run ;

Exponentiation of the
yields the RII, which is interpretable as an incidence rate ratio comparing the rates in the bottom to the top of the socioeconomic hierarchy. A larger RII indicates a greater the degree of inequality across a socioeconomic hierarchy, which may be due to a steep socioeconomic gradient or large inequalities in the distribution of the ABSM itself.
6. Population Attributable Fraction
The population attributable fraction (PAF) is a useful summary measure for characterizing the public health impact of an exposure on population patterns of health and disease. It is defined as “the fraction of all cases (exposed and unexposed) that would not have occurred if exposure had not occurred.”8 For a polytymous exposure, the population attributable fraction is a weighted sum of the attributable fractions for each level of the exposure, with the weights defined by the case fractions (number of exposed cases divided by overall number of cases):

In order to aggregate multiple PAFs over several age strata i=1,…,I, note that
that is, a weighted average of stratum specific PAFs, with the number of cases in each age stratum as weights.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Home Page
previous step
back to top
Who We Are
Acknowledgements
Contact Us
This work was funded by the National Institutes of Health (1RO1HD36865-01) via the National Institute of Child Health & Human Development (NICHD) and the Office of Behavioral & Social Science Research (OBSSR).
Copyright © 2004 by the President and Fellows of Harvard College - The Public Health Disparities Geocoding Project.