Economic,
Environmental,
and
Benefits
Analysis
of
the
Final
Metal
Products
and
Machinery
Rule
Programs
for
Lead
Benefits
Sensitivity
Analysis
Based
on
a
7
Percent
Discount
Rate
February
14,
2003
Prepared
for:
U.
S.
Environmental
Protection
Agency
Office
of
Science
and
Technology
Engineering
and
Analysis
Division
401
M
Street,
S.
W.
Washington,
D.
C.
20460
Dr.
Lynne
Tudor
Task
Manager
1
Sensitivity
Analysis
for
Lead
Benefits
MP&
M
Lead
Benefits
Input
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
Lead
Benefits
for
Adults
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
"
Lead
Benefits
(
Sub
12).
sas"
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
"
Subsistence
Lead
Benefits
(
Sub
17).
sas"
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
Lead
Benefits
for
Children
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
"
NeoNatal
Mortality
Benefits
(
Sub
15).
sas"
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
"
Child
Lead
Benefits
(
Sub
16).
sas"
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
2
MP&
M
Lead
Benefits
Input
Data
Sets
<
For
the
Proposed/
NODA
Option
see
DCN
37678.

<
For
the
Directs
+
413
to
433
Upgrade
Option
see
DCN
37701.

<
For
the
Directs
+
All
to
433
Upgrade
Option
see
DCN
37724.
3
Lead
Benefits
for
Adults
4
"
Lead
Benefits
(
Sub
12).
sas"
Using
data
from
the
lead
specific
data
set,
changes
in
blood
lead
levels
are
estimated
and
benefits
calculated
for
reductions
in
cases
of
hypertension,
CHD,
brain
infarctions,
and
mortality
for
recreational
fishermen
and
their
families.
5
/*
Program:
Lead
Benefits
(
Sub
12).
sas
Author:
Stuart
Smith,
Abt
Associates,
Inc.
Date:
07/
05/
2000
Updated:
11/
08/
2002
This
program
estimates
benefits
from
reduced
consumption
of
fish
tissue
containing
lead.
Reductions
in
MP&
M
facility
lead
loadings
result
in
lower
probabilties
of
lead
related
illnesses.
*/

title2
'
Lead
Related
Benefits
Recreational
(
Sub
12)';

data
lead;
set
rundat.
lead;

/*
Combine
the
exposed
populations
recreational
populations,
fresh
and
saltwater
*/

exppop
=
fwsptpop
+
swsptpop;

/*
Calculate
the
blood
lead
levels
under
the
baseline
and
post
compliance
scenarios
*/

PbB0m
=
4.55;
/*
Typical
PbB
conc.
in
absence
of
fish
cons.
for
men
*/
PbB0f
=
3.45;
/*
Typical
PbB
conc.
in
absence
of
fish
cons.
for
women
*/
bcf
=
49;
/*
Bioconcentration
factor
for
lead
L/
KG
*/
bksf
=
0.4;
/*
Biokinetic
slope
factor
for
lead
*/
ingm
=
17.5;
/*
Average
daily
fish
consumption
(
g/
day)
males
age
15­
44
*/
ingf
=
17.5;
/*
Average
daily
fish
consumption
(
g/
day)
females
age
15­
44
*/
ingm2
=
17.5;
/*
Average
daily
fish
consumption
(
g/
day)
males
over
age
45
*/
ingf2
=
17.5;
/*
Average
daily
fish
consumption
(
g/
day)
females
over
age
45
*/
af
=
0.03;
/*
Absorbtion
factor
*/
ef
=
365;
/*
Exposure
Frequency
*/
at
=
365;
/*
Average
timing,
or
duration
of
exposure
in
days
*/
cf
=
0.001;
/*
Conversion
factor
kg/
g
*/

/*
Uses
ingestion
for
males
ages
15­
44
*/
PbB_
bm
=
PbB0m
+
((
cnc_
base*
bcf*
ingm*
af*
bksf*
ef*
cf)/
at);
PbB_
1m
=
PbB0m
+
((
cnc_
trt1*
bcf*
ingm*
af*
bksf*
ef*
cf)/
at);
PbB_
2m
=
PbB0m
+
((
cnc_
trt2*
bcf*
ingm*
af*
bksf*
ef*
cf)/
at);

/*
Uses
ingestion
for
males
ages
45
and
older
*/
PbB_
bme
=
PbB0m
+
((
cnc_
base*
bcf*
ingm2*
af*
bksf*
ef*
cf)/
at);
PbB_
1me
=
PbB0m
+
((
cnc_
trt1*
bcf*
ingm2*
af*
bksf*
ef*
cf)/
at);
PbB_
2me
=
PbB0m
+
((
cnc_
trt2*
bcf*
ingm2*
af*
bksf*
ef*
cf)/
at);

/*
Uses
ingestion
for
females
ages
15­
44
*/
PbB_
bf
=
PbB0f
+
((
cnc_
base*
bcf*
ingf*
af*
bksf*
ef*
cf)/
at);
PbB_
1f
=
PbB0f
+
((
cnc_
trt1*
bcf*
ingf*
af*
bksf*
ef*
cf)/
at);
PbB_
2f
=
PbB0f
+
((
cnc_
trt2*
bcf*
ingf*
af*
bksf*
ef*
cf)/
at);

/*
Uses
ingestion
for
females
ages
45
and
older
*/
PbB_
bfe
=
PbB0f
+
((
cnc_
base*
bcf*
ingf2*
af*
bksf*
ef*
cf)/
at);
PbB_
1fe
=
PbB0f
+
((
cnc_
trt1*
bcf*
ingf2*
af*
bksf*
ef*
cf)/
at);
PbB_
2fe
=
PbB0f
+
((
cnc_
trt2*
bcf*
ingf2*
af*
bksf*
ef*
cf)/
at);
6
drop
fwsptpop
fwsubpop
swsptpop
swsubpop;
run;

data
men;
set
lead;

/*
Set
up
some
constants
*/
/*
All
percentages
based
on
the
1996
Census
numbers
*/

pctmale
=
0.319518;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
20­
74
*/
pctm4054
=
0.098405;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
40­
54
*/
pctm4059
=
0.118945;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
40­
59
*/
pctm4574
=
0.12933;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
45­
74
*/
pctm5564
=
0.03829;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
55­
64
*/
pctm6064
=
0.01775;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
60­
64
*/
pctm6574
=
0.031427;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
65­
74
*/

bbpm4054
=
79.9;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
40­
54
*/
bbpm4059
=
80.0;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
40­
59
*/
bbpm4574
=
78.8;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
45­
74
*/
bbpm5564
=
79.0;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
55­
64
*/
bbpm6064
=
77.8;
/*
Mean
diastolic
bp
from
NHANES
III,
males
age
60­
64
*/
bbpm6574
=
76.4;
/*
Mean
diastolic
bp
from
NHANES
III,
males
age
65­
74
*/

/**************************************************************************/
/*
Begin
Benefits
for
Males
*/
/**************************************************************************/

/*
Calculate
the
change
in
the
probability
of
hypertension
*/

pr_
hyp1
=
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
bm))))
­
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
1m))));

pr_
hyp2
=
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
bm))))
­
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
2m))));

ben_
hyp1
=
pr_
hyp1
*
exppop
*
pctmale
*
1141;
ben_
hyp2
=
pr_
hyp2
*
exppop
*
pctmale
*
1141;
hyppop
=
exppop
*
pctmale;
hyp_
red1
=
pr_
hyp1
*
exppop
*
pctmale;
hyp_
red2
=
pr_
hyp2
*
exppop
*
pctmale;

/*
Calculate
Benefits
from
Changes
in
CHD,
non­
fatal
cases
only,
which
are
2/
3
of
the
cases
*/

dbpm1
=
1.4
*
log(
PbB_
bm/
PbB_
1m);
dbpm2
=
1.4
*
log(
PbB_
bm/
PbB_
2m);

dbpm1e
=
1.4
*
log(
PbB_
bme/
PbB_
1me);
dbpm2e
=
1.4
*
log(
PbB_
bme/
PbB_
2me);

/*
Ages
40­
59,
change
in
the
10
year
prob
of
occ.
*/
d1m4059
=
bbpm4059
­
dbpm1;
d2m4059
=
bbpm4059
­
dbpm2;
7
pr1_
4059
=
(
1/(
1
+
exp(
4.996
­
0.030365*
bbpm4059)))
­
(
1/(
1
+
exp(
4.996
­
0.030365*
d1m4059)));

pr2_
4059
=
(
1/(
1
+
exp(
4.996
­
0.030365*
bbpm4059)))
­
(
1/(
1
+
exp(
4.996
­
0.030365*
d2m4059)));

/*
Ages
60­
64,
change
in
the
2
year
prob
of
occ.
*/
d1m6064
=
bbpm6064
­
dbpm1e;
d2m6064
=
bbpm6064
­
dbpm2e;

pr1_
6064
=
(
1/(
1
+
exp(
5.19676
­
0.02351*
bbpm6064)))
­
(
1/(
1
+
exp(
5.19676
­
0.02351*
d1m6064)));

pr2_
6064
=
(
1/(
1
+
exp(
5.19676
­
0.02351*
bbpm6064)))
­
(
1/(
1
+
exp(
5.19676
­
0.02351*
d2m6064)));

/*
Ages
65­
74,
change
in
the
2
year
prob
of
occ.
*/
d1m6574
=
bbpm6574
­
dbpm1e;
d2m6574
=
bbpm6574
­
dbpm2e;

pr1_
6574
=
(
1/(
1
+
exp(
4.90723
­
0.02031*
bbpm6574)))
­
(
1/(
1
+
exp(
4.90723
­
0.02031*
d1m6574)));

pr2_
6574
=
(
1/(
1
+
exp(
4.90723
­
0.02031*
bbpm6574)))
­
(
1/(
1
+
exp(
4.90723
­
0.02031*
d2m6574)));

b14059
=
(
pr1_
4059
*
exppop
*
pctm4059
*
74115
*
0.66)/
10;
b24059
=
(
pr2_
4059
*
exppop
*
pctm4059
*
74115
*
0.66)/
10;
b16064
=
(
pr1_
6064
*
exppop
*
pctm6064
*
74115
*
0.66)/
2;
b26064
=
(
pr2_
6064
*
exppop
*
pctm6064
*
74115
*
0.66)/
2;
b16574
=
(
pr1_
6574
*
exppop
*
pctm6574
*
74115
*
0.66)/
2;
b26574
=
(
pr2_
6574
*
exppop
*
pctm6574
*
74115
*
0.66)/
2;

/*
Number
of
reduced
cases
Multiply
by
the
2/
3
(.
66)
and
divide
by
the
years
of
occurance
associated
with
the
probability
to
get
cases
for
one
year.
*/

r14059
=
(
pr1_
4059
*
exppop
*
pctm4059
*
0.66)/
10;
r24059
=
(
pr2_
4059
*
exppop
*
pctm4059
*
0.66)/
10;
r16064
=
(
pr1_
6064
*
exppop
*
pctm6064
*
0.66)/
2;
r26064
=
(
pr2_
6064
*
exppop
*
pctm6064
*
0.66)/
2;
r16574
=
(
pr1_
6574
*
exppop
*
pctm6574
*
0.66)/
2;
r26574
=
(
pr2_
6574
*
exppop
*
pctm6574
*
0.66)/
2;

/*
Calculate
the
exposed
populations
at
each
age
group
*/
popm4059
=
exppop
*
pctm4059;
popm6064
=
exppop
*
pctm6064;
popm6574
=
exppop
*
pctm6574;

/*
Calculate
Benefits
from
Reduced
Cerebrovascular
Accidents
and
Brain
Infarctions,
affects
men
aged
45­
74
Non­
fatal
only,
which
is
70%
of
all
cases
*/
8
/*
Ages
45­
74,
change
in
the
2
year
prob
of
occ.
*/
d1m4574
=
bbpm4574
­
dbpm1e;
d2m4574
=
bbpm4574
­
dbpm2e;

pr1_
cba
=
(
1/(
1
+
exp(
8.58889
­
0.04066*
bbpm4574)))
­
(
1/(
1
+
exp(
8.58889
­
0.04066*
d1m4574)));

pr2_
cba
=
(
1/(
1
+
exp(
8.58889
­
0.04066*
bbpm4574)))
­
(
1/(
1
+
exp(
8.58889
­
0.04066*
d2m4574)));

pr1_
bi
=
(
1/(
1
+
exp(
9.9516
­
0.04840*
bbpm4574)))
­
(
1/(
1
+
exp(
9.9516
­
0.04840*
d1m4574)));

pr2_
bi
=
(
1/(
1
+
exp(
9.9516
­
0.04840*
bbpm4574)))
­
(
1/(
1
+
exp(
9.9516
­
0.04840*
d2m4574)));

/*
Number
of
reduced
cases
Multiply
by
the
70%
(.
7)
and
divide
by
the
years
of
occurance
associated
with
the
probability
to
get
cases
for
one
year.
*/

b1_
cba
=
(
pr1_
cba
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;
b2_
cba
=
(
pr2_
cba
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;
b1_
bi
=
(
pr1_
bi
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;
b2_
bi
=
(
pr2_
bi
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;

r1_
cba
=
(
pr1_
cba
*
exppop
*
pctm4574
*
0.7)/
2;
r2_
cba
=
(
pr2_
cba
*
exppop
*
pctm4574
*
0.7)/
2;
r1_
bi
=
(
pr1_
bi
*
exppop
*
pctm4574
*
0.7)/
2;
r2_
bi
=
(
pr2_
bi
*
exppop
*
pctm4574
*
0.7)/
2;

/*
Calculate
the
exposed
population*/
popm4574
=
exppop
*
pctm4574;

/*
Calculate
Benefits
from
Premature
Mortality
*/

/*
Ages
40­
54,
change
in
the
12
year
prob
of
death
*/
d1m4054
=
bbpm4054
­
dbpm1;
d2m4054
=
bbpm4054
­
dbpm2;

m1_
4054
=
(
1/(
1
+
exp(
5.3158
­
0.03516*
bbpm4054)))
­
(
1/(
1
+
exp(
5.3158
­
0.03516*
d1m4054)));

m2_
4054
=
(
1/(
1
+
exp(
5.3158
­
0.03516*
bbpm4054)))
­
(
1/(
1
+
exp(
5.3158
­
0.03516*
d2m4054)));

/*
Ages
55­
64,
change
in
the
2
year
prob
of
death
*/
d1m5564
=
bbpm5564
­
dbpm1e;
d2m5564
=
bbpm5564
­
dbpm2e;

m1_
5564
=
(
1/(
1
+
exp(
4.89528
­
0.01866*
bbpm5564)))
­
(
1/(
1
+
exp(
4.89528
­
0.01866*
d1m5564)));
9
m2_
5564
=
(
1/(
1
+
exp(
4.89528
­
0.01866*
bbpm5564)))
­
(
1/(
1
+
exp(
4.89528
­
0.01866*
d2m5564)));

/*
Ages
65­
74,
change
in
the
2
year
prob
of
death
*/
d1m6574
=
bbpm6574
­
dbpm1e;
d2m6574
=
bbpm6574
­
dbpm2e;

m1_
6574
=
(
1/(
1
+
exp(
3.05723
­
0.00547*
bbpm6574)))
­
(
1/(
1
+
exp(
3.05723
­
0.00547*
d1m6574)));

m2_
6574
=
(
1/(
1
+
exp(
3.05723
­
0.00547*
bbpm6574)))
­
(
1/(
1
+
exp(
3.05723
­
0.00547*
d2m6574)));

/*
Number
of
reduced
cases
and
Benefits
Divide
by
the
years
of
occurance
associated
with
the
probability
to
get
cases
for
one
year.
*/

m14054l
=
(
m1_
4054
*
exppop
*
pctm4054
*
2500000)/
12;
m24054l
=
(
m2_
4054
*
exppop
*
pctm4054
*
2500000)/
12;
m14054h
=
(
m1_
4054
*
exppop
*
pctm4054
*
13600000)/
12;
m24054h
=
(
m2_
4054
*
exppop
*
pctm4054
*
13600000)/
12;
mid40541
=
(
m1_
4054
*
exppop
*
pctm4054
*
6500000)/
12;
mid40542
=
(
m2_
4054
*
exppop
*
pctm4054
*
6500000)/
12;

m15564l
=
(
m1_
5564
*
exppop
*
pctm5564
*
2500000)/
2;
m25564l
=
(
m2_
5564
*
exppop
*
pctm5564
*
2500000)/
2;
m15564h
=
(
m1_
5564
*
exppop
*
pctm5564
*
13600000)/
2;
m25564h
=
(
m2_
5564
*
exppop
*
pctm5564
*
13600000)/
2;
mid55641
=
(
m1_
5564
*
exppop
*
pctm5564
*
6500000)/
2;
mid55642
=
(
m2_
5564
*
exppop
*
pctm5564
*
6500000)/
2;

m16574l
=
(
m1_
6574
*
exppop
*
pctm6574
*
2500000)/
2;
m26574l
=
(
m2_
6574
*
exppop
*
pctm6574
*
2500000)/
2;
m16574h
=
(
m1_
6574
*
exppop
*
pctm6574
*
13600000)/
2;
m26574h
=
(
m2_
6574
*
exppop
*
pctm6574
*
13600000)/
2;
mid65741
=
(
m1_
6574
*
exppop
*
pctm6574
*
6500000)/
2;
mid65742
=
(
m2_
6574
*
exppop
*
pctm6574
*
6500000)/
2;

r14054l
=
(
m1_
4054
*
exppop
*
pctm4054)/
12;
r24054l
=
(
m2_
4054
*
exppop
*
pctm4054)/
12;
r14054h
=
(
m1_
4054
*
exppop
*
pctm4054)/
12;
r24054h
=
(
m2_
4054
*
exppop
*
pctm4054)/
12;
r15564l
=
(
m1_
5564
*
exppop
*
pctm5564)/
2;
r25564l
=
(
m2_
5564
*
exppop
*
pctm5564)/
2;
r15564h
=
(
m1_
5564
*
exppop
*
pctm5564)/
2;
r25564h
=
(
m2_
5564
*
exppop
*
pctm5564)/
2;
r16574l
=
(
m1_
6574
*
exppop
*
pctm6574)/
2;
r26574l
=
(
m2_
6574
*
exppop
*
pctm6574)/
2;
r16574h
=
(
m1_
6574
*
exppop
*
pctm6574)/
2;
r26574h
=
(
m2_
6574
*
exppop
*
pctm6574)/
2;

/*
Calculate
the
exposed
populations
*/
popm4054
=
exppop
*
pctm4054;
10
popm5564
=
exppop
*
pctm5564;
run;

data
women;
set
lead;

/*
Set
up
some
constants
*/
/*
All
percentages
based
on
the
1996
Census
numbers
*/
pctfem
=
0.511735;
/*
Percentage
of
U.
S.
Pop.
who
are
female
*/
pctf4574
=
0.143282;
/*
Percentage
of
U.
S.
Pop.
who
are
female,
age
45­
74
*/

bbpf4574
=
74.8;
/*
Mean
diastolic
bp
from
NHANES
III,
females
age
45­
74
*/

/**************************************************************************/
/*
Begin
Benefits
for
Females
*/
/**************************************************************************/

/*
No
dose­
response
function
for
female
hypertension
*/

/*
Calculate
Benefits
from
Changes
in
CHD,
non­
fatal
cases
only
which
are
2/
3
of
the
cases
*/

dbpf1
=
(
0.6
*
1.4)
*
log(
PbB_
bfe/
PbB_
1fe);
dbpf2
=
(
0.6
*
1.4)
*
log(
PbB_
bfe/
PbB_
2fe);

/*
Ages
45­
74,
change
in
the
2
year
prob
of
occ.
*/
d1f4574
=
bbpf4574
­
dbpf1;
d2f4574
=
bbpf4574
­
dbpf2;

pr1_
4574
=
(
1/(
1
+
exp(
6.9401
­
0.03072*
bbpf4574)))
­
(
1/(
1
+
exp(
6.9401
­
0.03072*
d1f4574)));

pr2_
4574
=
(
1/(
1
+
exp(
6.9401
­
0.03072*
bbpf4574)))
­
(
1/(
1
+
exp(
6.9401
­
0.03072*
d2f4574)));

b1fchd
=
(
pr1_
4574
*
exppop
*
pctf4574
*
74115
*
0.66)/
2;
b2fchd
=
(
pr2_
4574
*
exppop
*
pctf4574
*
74115
*
0.66)/
2;

red_
chd1
=
(
pr1_
4574
*
exppop
*
pctf4574
*
0.66)/
2;
red_
chd2
=
(
pr2_
4574
*
exppop
*
pctf4574
*
0.66)/
2;

popf4574
=
exppop
*
pctf4574;

/*
Calculate
Benefits
from
Reduced
Cerebrovascular
Accidents
and
Brain
Infarctions,
affects
women
aged
45­
74
Non­
fatal
only
which
is
70%
of
all
cases
*/

/*
Ages
45­
74,
change
in
the
2
year
prob
of
occ.
*/

pr1f_
bi
=
(
1/(
1
+
exp(
10.6716
­
0.0544*
bbpf4574)))
­
(
1/(
1
+
exp(
10.6716
­
0.0544*
d1f4574)));

pr2f_
bi
=
(
1/(
1
+
exp(
10.6716
­
0.0544*
bbpf4574)))
­
11
(
1/(
1
+
exp(
10.6716
­
0.0544*
d2f4574)));

pr1f_
cba
=
(
1/(
1
+
exp(
9.07737
­
0.04287*
bbpf4574)))
­
(
1/(
1
+
exp(
9.07737
­
0.04287*
d1f4574)));

pr2f_
cba
=
(
1/(
1
+
exp(
9.07737
­
0.04287*
bbpf4574)))
­
(
1/(
1
+
exp(
9.07737
­
0.04287*
d2f4574)));

b1f_
cba
=
(
pr1f_
cba
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;
b2f_
cba
=
(
pr2f_
cba
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;
b1f_
bi
=
(
pr1f_
bi
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;
b2f_
bi
=
(
pr2f_
bi
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;

r1f_
cba
=
(
pr1f_
cba
*
exppop
*
pctf4574
*
0.7)/
2;
r2f_
cba
=
(
pr2f_
cba
*
exppop
*
pctf4574
*
0.7)/
2;
r1f_
bi
=
(
pr1f_
bi
*
exppop
*
pctf4574
*
0.7)/
2;
r2f_
bi
=
(
pr2f_
bi
*
exppop
*
pctf4574
*
0.7)/
2;

/*
Calculate
Benefits
from
Premature
Mortality
*/

/*
Ages
45­
74,
change
in
the
2
year
prob
of
death
*/

m1_
4574
=
(
1/(
1
+
exp(
5.40374
­
0.01511*
bbpf4574)))
­
(
1/(
1
+
exp(
5.40374
­
0.01511*
d1f4574)));

m2_
4574
=
(
1/(
1
+
exp(
5.40374
­
0.01511*
bbpf4574)))
­
(
1/(
1
+
exp(
5.40374
­
0.01511*
d2f4574)));

m14574l
=
(
m1_
4574
*
exppop
*
pctf4574
*
2500000)/
2;
m24574l
=
(
m2_
4574
*
exppop
*
pctf4574
*
2500000)/
2;
m14574h
=
(
m1_
4574
*
exppop
*
pctf4574
*
13600000)/
2;
m24574h
=
(
m2_
4574
*
exppop
*
pctf4574
*
13600000)/
2;
mid45741
=
(
m1_
4574
*
exppop
*
pctf4574
*
6500000)/
2;
mid45742
=
(
m2_
4574
*
exppop
*
pctf4574
*
6500000)/
2;

r14574l
=
(
m1_
4574
*
exppop
*
pctf4574)/
2;
r24574l
=
(
m2_
4574
*
exppop
*
pctf4574)/
2;
r14574h
=
(
m1_
4574
*
exppop
*
pctf4574)/
2;
r24574h
=
(
m2_
4574
*
exppop
*
pctf4574)/
2;
run;

/*
Sum
benefits
and
cases
and
print
out
results
*/

proc
means
sum
data=
men;
var
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
12
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
output
out
=
rundat.
msptsamp(
drop
=
_
type_
_
freq_)
sum
=
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
title3
'
Mens
Lead
Related
Benefits
(
Sample
Basis)';
quit;

proc
means
sum
data=
men;
weight
event_
wt;
var
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
output
out
=
rundat.
msptwght(
drop
=
_
type_
_
freq_)
sum
=
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
title3
'
Mens
Lead
Related
Benefits
(
National
Basis)';
quit;
13
%
macro
maleleadtable(
tbl_
in=,
tbl_
out=);
data
rundat.&
tbl_
out
(
keep=
gender
categ
agecat
type
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h);
set
rundat.&
tbl_
in;

length
gender
$
50
categ
$
50
agecat
$
50
type
$
50;

array
_
hyper[
4]
ben_
hyp1
ben_
hyp2
hyp_
red1
hyp_
red2;
array
_
chd[
12]
b14059
b24059
b16064
b26064
b16574
b26574
r14059
r24059
r16064
r26064
r16574
r26574;
array
_
cba[
4]
b1_
cba
b2_
cba
r1_
cba
r2_
cba;
array
_
bi[
4]
b1_
bi
b2_
bi
r1_
bi
r2_
bi;
array
_
mort[
24]
m14054l
mid40541
m14054h
m24054l
mid40542
m24054h
m15564l
mid55641
m15564h
m25564l
mid55642
m25564h
m16574l
mid65741
m16574h
m26574l
mid65742
m26574h
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
array
ben[
6]
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
array
cases[
2]
case1
case2;

do
i
=
1
to
9;
if
i
=
1
then
do;
ben[
1]
=
_
hyper[
1];
ben[
2]
=
_
hyper[
1];
ben[
3]
=
_
hyper[
1];
ben[
4]
=
_
hyper[
2];
ben[
5]
=
_
hyper[
2];
ben[
6]
=
_
hyper[
2];
cases[
1]
=
_
hyper[
3];
cases[
2]
=
_
hyper[
4];
categ
=
"
Hypertension";
agecat
=
"
All";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
2
then
do;
ben[
1]
=
_
chd[
1];
ben[
2]
=
_
chd[
1];
ben[
3]
=
_
chd[
1];
ben[
4]
=
_
chd[
2];
ben[
5]
=
_
chd[
2];
ben[
6]
=
_
chd[
2];
cases[
1]
=
_
chd[
7];
cases[
2]
=
_
chd[
8];
categ
=
"
CHD";
agecat
=
"
Age
40­
59";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
3
then
do;
ben[
1]
=
_
chd[
3];
ben[
2]
=
_
chd[
3];
ben[
3]
=
_
chd[
3];
ben[
4]
=
_
chd[
4];
ben[
4]
=
_
chd[
4];
ben[
6]
=
_
chd[
4];
cases[
1]
=
_
chd[
9];
cases[
2]
=
_
chd[
10];
categ
=
"
CHD";
agecat
=
"
Age
60­
64";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
4
then
do;
ben[
1]
=
_
chd[
5];
ben[
2]
=
_
chd[
5];
ben[
3]
=
_
chd[
5];
ben[
4]
=
_
chd[
6];
ben[
4]
=
_
chd[
6];
ben[
6]
=
_
chd[
6];
14
cases[
1]
=
_
chd[
11];
cases[
2]
=
_
chd[
12];
categ
=
"
CHD";
agecat
=
"
Age
65­
74";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
5
then
do;
ben[
1]
=
_
cba[
1];
ben[
2]
=
_
cba[
1];
ben[
3]
=
_
cba[
1];
ben[
4]
=
_
cba[
2];
ben[
5]
=
_
cba[
2];
ben[
6]
=
_
cba[
2];
cases[
1]
=
_
cba[
3];
cases[
2]
=
_
cba[
4];
categ
=
"
CBA";
agecat
=
"
All";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
6
then
do;
ben[
1]
=
_
bi[
1];
ben[
2]
=
_
bi[
1];
ben[
3]
=
_
bi[
1];
ben[
4]
=
_
bi[
2];
ben[
5]
=
_
bi[
2];
ben[
6]
=
_
bi[
2];
cases[
1]
=
_
bi[
3];
cases[
2]
=
_
bi[
4];
categ
=
"
BI";
agecat
=
"
All";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
7
then
do;
ben[
1]
=
_
mort[
1];
ben[
2]
=
_
mort[
2];
ben[
3]
=
_
mort[
3];
ben[
4]
=
_
mort[
4];
ben[
5]
=
_
mort[
5];
ben[
6]
=
_
mort[
6];
cases[
1]
=
_
mort[
19];
cases[
2]
=
_
mort[
20];
categ
=
"
Mortality";
agecat
=
"
Age
40­
54";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
8
then
do;
ben[
1]
=
_
mort[
7];
ben[
2]
=
_
mort[
8];
ben[
3]
=
_
mort[
9];
ben[
4]
=
_
mort[
10];
ben[
5]
=
_
mort[
11];
ben[
6]
=
_
mort[
12];
cases[
1]
=
_
mort[
21];
cases[
2]
=
_
mort[
22];
categ
=
"
Mortality";
agecat
=
"
Age
55­
64";
type
=
"
Sport";
gender
=
"
Male";
output;
end;
if
i
=
9
then
do;
ben[
1]
=
_
mort[
13];
ben[
2]
=
_
mort[
14];
ben[
3]
=
_
mort[
15];
ben[
4]
=
_
mort[
16];
ben[
5]
=
_
mort[
17];
ben[
6]
=
_
mort[
18];
cases[
1]
=
_
mort[
23];
cases[
2]
=
_
mort[
24];
categ
=
"
Mortality";
agecat
=
"
Age
65­
74";
type
=
"
Sport";
gender
=
"
Male";
15
output;
end;
end;
run;
%
mend;

%
maleleadtable(
tbl_
in=
msptsamp,
tbl_
out=
tblmssmp);
%
maleleadtable(
tbl_
in=
msptwght,
tbl_
out=
tblmswgt);

proc
means
sum
data=
women;
var
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
output
out
=
rundat.
fsptsamp(
drop
=
_
type_
_
freq_)
sum
=
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
title3
'
Female
Lead
Related
Benefits
(
Sample
Basis)';
quit;

proc
means
sum
data=
women;
weight
event_
wt;
var
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
output
out
=
rundat.
fsptwght(
drop
=
_
type_
_
freq_)
sum
=
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
title3
'
Female
Lead
Related
Benefits
(
National
Basis)';
quit;

%
macro
femaleleadtable(
tbl_
in=,
tbl_
out=);
data
rundat.&
tbl_
out
(
keep=
gender
categ
agecat
type
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h);
set
rundat.&
tbl_
in;

length
gender
$
50
categ
$
50
agecat
$
50
type
$
50;

array
_
chd[
4]
b1fchd
b2fchd
red_
chd1
red_
chd2;
array
_
cba[
4]
b1f_
cba
b2f_
cba
r1f_
cba
r2f_
cba;
array
_
bi[
4]
b1f_
bi
b2f_
bi
r1f_
bi
r2f_
bi;
16
array
_
mort[
8]
m14574l
mid45741
m14574h
m24574l
mid45742
m24574h
r14574l
r24574l;
array
ben[
6]
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
array
cases[
2]
case1
case2;

do
i
=
1
to
4;
if
i
=
1
then
do;
ben[
1]
=
_
chd[
1];
ben[
2]
=
_
chd[
1];
ben[
3]
=
_
chd[
1];
ben[
4]
=
_
chd[
2];
ben[
5]
=
_
chd[
2];
ben[
6]
=
_
chd[
2];
cases[
1]
=
_
chd[
3];
cases[
2]
=
_
chd[
4];
categ
=
"
CHD";
agecat
=
"
All";
type
=
"
Sport";
gender
=
"
Female";
output;
end;
if
i
=
2
then
do;
ben[
1]
=
_
cba[
1];
ben[
2]
=
_
cba[
1];
ben[
3]
=
_
cba[
1];
ben[
4]
=
_
cba[
2];
ben[
5]
=
_
cba[
2];
ben[
6]
=
_
cba[
2];
cases[
1]
=
_
cba[
3];
cases[
2]
=
_
cba[
4];
categ
=
"
CBA";
agecat
=
"
All";
type
=
"
Sport";
gender
=
"
Female";
output;
end;
if
i
=
3
then
do;
ben[
1]
=
_
bi[
1];
ben[
2]
=
_
bi[
1];
ben[
3]
=
_
bi[
1];
ben[
4]
=
_
bi[
2];
ben[
5]
=
_
bi[
2];
ben[
6]
=
_
bi[
2];
cases[
1]
=
_
bi[
3];
cases[
2]
=
_
bi[
4];
categ
=
"
BI";
agecat
=
"
All";
type
=
"
Sport";
gender
=
"
Female";
output;
end;
if
i
=
4
then
do;
ben[
1]
=
_
mort[
1];
ben[
2]
=
_
mort[
2];
ben[
3]
=
_
mort[
3];
ben[
4]
=
_
mort[
4];
ben[
5]
=
_
mort[
5];
ben[
6]
=
_
mort[
6];
cases[
1]
=
_
mort[
7];
cases[
2]
=
_
mort[
8];
categ
=
"
Mortality";
agecat
=
"
Age
45­
74";
type
=
"
Sport";
gender
=
"
Female";
output;
end;
end;
run;
%
mend;

%
femaleleadtable(
tbl_
in=
fsptsamp,
tbl_
out=
tblfssmp);
%
femaleleadtable(
tbl_
in=
fsptwght,
tbl_
out=
tblfswgt);

data
rundat.
tblspt_
s;
set
rundat.
tblmssmp
rundat.
tblfssmp;
17
run;

data
rundat.
tblspt_
w;
set
rundat.
tblmswgt
rundat.
tblfswgt;
run;

proc
means
sum
data=
men;
var
event_
wt;
title3
'
Number
of
Affected
Reaches
Nationally';
quit;

proc
sql;

create
table
malepop
as
select
sum(
exppop)
as
tpops,
sum(
exppop*
pctmale)
as
pm2074s,
sum(
exppop*
pctm4574)
as
pm4574s,
sum(
exppop*
event_
wt)
as
tpopn,
sum(
exppop*
pctmale*
event_
wt)
as
pm2074n,
sum(
exppop*
pctm4574*
event_
wt)
as
pm4574n
from
men;

create
table
fempop
as
select
sum(
exppop)
as
tpops,
sum(
exppop*
pctf4574)
as
pf4574s,
sum(
exppop*
event_
wt)
as
tpopn,
sum(
exppop*
pctf4574*
event_
wt)
as
pf4574n
from
women;
quit;

proc
print
data=
malepop;
var
tpops
pm2074s
pm4574s
tpopn
pm2074n
pm4574n;
label
tpops
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Smpl)'
pm2074s
=
'
Exposed
Males
Age
20­
74
(
Smpl)'
pm4574s
=
'
Exposed
Males
Age
45­
74
(
Smpl)'
tpopn
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Natl)'
pm2074n
=
'
Exposed
Males
Age
20­
74
(
Natl)'
pm4574n
=
'
Exposed
Males
Age
45­
74
(
Natl)';
title3
'
Exposed
Population
­
Males';
quit;

proc
print
data=
fempop;
var
tpops
pf4574s
tpopn
pf4574n;
label
tpops
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Smpl)'
pf4574s
=
'
Exposed
Females
Age
45­
74
(
Smpl)'
tpopn
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Natl)'
pf4574n
=
'
Exposed
Females
Age
45­
74
(
Natl)';
title3
'
Exposed
Population
­
Females';
quit;

/*
End
Lead
Benefits
(
Sub
12).
sas
*/
18
Program
Output
See
DCN
37748.
19
"
Subsistence
Lead
Benefits
(
Sub
17).
sas"
Using
data
from
the
lead
specific
data
set,
changes
in
blood
lead
levels
are
estimated
and
benefits
calculated
for
reductions
in
cases
of
hypertension,
CHD,
brain
infarctions,
and
mortality
for
subsistence
fishermen
and
their
families.
20
/*
Program:
Subsistence
Lead
Benefits
(
Sub
17).
sas
Author:
Stuart
Smith,
Abt
Associates,
Inc.
Date:
07/
11/
2000
Updated:
11/
08/
2002
This
program
estimates
benefits
from
reduced
consumption
of
fish
tissue
containing
lead.
Reductions
in
MP&
M
facility
lead
loadings
result
in
lower
probabilties
of
lead
related
illnesses.
*/

%
let
tbl_
path
=
%
sysfunc(
pathname(
rundat));

title2
'
Subsistence
Lead
Related
Benefits
(
Sub
17)';

data
lead;
set
rundat.
lead;

/*
Combine
the
exposed
populations
for
subsistence;
fresh
and
saltwater.
*/

exppop
=
fwsubpop
+
swsubpop;

/*
Calculate
the
blood
lead
levels
under
the
baseline
and
post
compliance
scenarios
*/

PbB0m
=
5.40;
/*
Typical
PbB
conc.
in
absence
of
fish
cons.
for
men
*/
PbB0f
=
4.12;
/*
Typical
PbB
conc.
in
absence
of
fish
cons.
for
women
*/
bcf
=
49;
/*
Bioconcentration
factor
for
lead
L/
KG
*/
bksf
=
0.4;
/*
Biokinetic
slope
factor
for
lead
*/
ingm
=
142.4;
/*
Average
daily
fish
consumption
(
g/
day)
males
age
15­
44
*/
ingf
=
142.4;
/*
Average
daily
fish
consumption
(
g/
day)
females
age
15­
44
*/
ingm2
=
142.4;
/*
Average
daily
fish
consumption
(
g/
day)
males
over
age
45
*/
ingf2
=
142.4;
/*
Average
daily
fish
consumption
(
g/
day)
females
over
age
45*/
af
=
0.03;
/*
Absorbtion
factor
*/
ef
=
365;
/*
Exposure
Frequency
*/
at
=
365;
/*
Average
timing,
or
duration
of
exposure
in
days
*/
cf
=
0.001;
/*
Conversion
factor
kg/
g
*/

/*
Uses
ingestion
for
males
ages
15­
44
*/
PbB_
bm
=
PbB0m
+
((
cnc_
base*
bcf*
ingm*
af*
bksf*
ef*
cf)/
at);
PbB_
1m
=
PbB0m
+
((
cnc_
trt1*
bcf*
ingm*
af*
bksf*
ef*
cf)/
at);
PbB_
2m
=
PbB0m
+
((
cnc_
trt2*
bcf*
ingm*
af*
bksf*
ef*
cf)/
at);

/*
Uses
ingestion
for
males
over
age
45
*/
PbB_
bme
=
PbB0m
+
((
cnc_
base*
bcf*
ingm2*
af*
bksf*
ef*
cf)/
at);
PbB_
1me
=
PbB0m
+
((
cnc_
trt1*
bcf*
ingm2*
af*
bksf*
ef*
cf)/
at);
PbB_
2me
=
PbB0m
+
((
cnc_
trt2*
bcf*
ingm2*
af*
bksf*
ef*
cf)/
at);

/*
Uses
ingestion
for
females
ages
15­
44
*/
PbB_
bf
=
PbB0f
+
((
cnc_
base*
bcf*
ingf*
af*
bksf*
ef*
cf)/
at);
PbB_
1f
=
PbB0f
+
((
cnc_
trt1*
bcf*
ingf*
af*
bksf*
ef*
cf)/
at);
PbB_
2f
=
PbB0f
+
((
cnc_
trt2*
bcf*
ingf*
af*
bksf*
ef*
cf)/
at);

/*
Uses
ingestion
for
females
over
age
45
*/
PbB_
bfe
=
PbB0f
+
((
cnc_
base*
bcf*
ingf2*
af*
bksf*
ef*
cf)/
at);
21
PbB_
1fe
=
PbB0f
+
((
cnc_
trt1*
bcf*
ingf2*
af*
bksf*
ef*
cf)/
at);
PbB_
2fe
=
PbB0f
+
((
cnc_
trt2*
bcf*
ingf2*
af*
bksf*
ef*
cf)/
at);

drop
fwsptpop
fwsubpop
swsptpop
swsubpop;
run;

/*
Print
reaches
in
the
lead
dataset
*/
proc
print;
var
reachnmb
PbB_
bm
PbB_
1m
PbB_
2m
cnc_
base
cnc_
trt1
cnc_
trt2
exppop
event_
wt;
quit;

data
men;
set
lead;

/*
Set
up
some
constants
*/
/*
All
percentages
based
on
the
1996
Census
numbers
*/

pctmale
=
0.319518;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
20­
74
*/
pctm4054
=
0.098405;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
40­
54
*/
pctm4059
=
0.118945;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
40­
59
*/
pctm4574
=
0.12933;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
45­
74
*/
pctm5564
=
0.03829;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
55­
64
*/
pctm6064
=
0.01775;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
60­
64
*/
pctm6574
=
0.031427;
/*
Percentage
of
U.
S.
Pop.
who
are
male,
age
65­
74
*/

bbpm4054
=
81.9;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
40­
54
*/
bbpm4059
=
81.8;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
40­
59
*/
bbpm4574
=
81.1;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
45­
74
*/
bbpm5564
=
80.6;
/*
Mean
diastolic
bp
from
NHANES
III,
males,
age
55­
64
*/
bbpm6064
=
79.5;
/*
Mean
diastolic
bp
from
NHANES
III,
males
age
60­
64
*/
bbpm6574
=
79.5;
/*
Mean
diastolic
bp
from
NHANES
III,
males
age
65­
74
*/

/**************************************************************************/
/*
Begin
Benefits
for
Males
*/
/**************************************************************************/

/*
Calculate
the
change
in
the
probability
of
hypertension
*/

pr_
hyp1
=
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
bm))))
­
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
1m))));

pr_
hyp2
=
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
bm))))
­
(
1/(
1
+
exp(
2.744
­
0.793*
log(
PbB_
2m))));

ben_
hyp1
=
pr_
hyp1
*
exppop
*
pctmale
*
1141;
ben_
hyp2
=
pr_
hyp2
*
exppop
*
pctmale
*
1141;
hyppop
=
exppop
*
pctmale;
hyp_
red1
=
pr_
hyp1
*
exppop
*
pctmale;
hyp_
red2
=
pr_
hyp2
*
exppop
*
pctmale;

/*
Calculate
Benefits
from
Changes
in
CHD,
non­
fatal
cases
only
which
are
2/
3
of
the
cases
*/

dbpm1
=
1.4
*
log(
PbB_
bm/
PbB_
1m);
22
dbpm2
=
1.4
*
log(
PbB_
bm/
PbB_
2m);

dbpm1e
=
1.4
*
log(
PbB_
bme/
PbB_
1me);
dbpm2e
=
1.4
*
log(
PbB_
bme/
PbB_
2me);

/*
Ages
40­
59,
change
in
the
10
year
prob
of
occ.
*/
d1m4059
=
bbpm4059
­
dbpm1;
d2m4059
=
bbpm4059
­
dbpm2;

pr1_
4059
=
(
1/(
1
+
exp(
4.996
­
0.030365*
bbpm4059)))
­
(
1/(
1
+
exp(
4.996
­
0.030365*
d1m4059)));

pr2_
4059
=
(
1/(
1
+
exp(
4.996
­
0.030365*
bbpm4059)))
­
(
1/(
1
+
exp(
4.996
­
0.030365*
d2m4059)));

/*
Ages
60­
64,
change
in
the
2
year
prob
of
occ.
*/
d1m6064
=
bbpm6064
­
dbpm1e;
d2m6064
=
bbpm6064
­
dbpm2e;

pr1_
6064
=
(
1/(
1
+
exp(
5.19676
­
0.02351*
bbpm6064)))
­
(
1/(
1
+
exp(
5.19676
­
0.02351*
d1m6064)));

pr2_
6064
=
(
1/(
1
+
exp(
5.19676
­
0.02351*
bbpm6064)))
­
(
1/(
1
+
exp(
5.19676
­
0.02351*
d2m6064)));

/*
Ages
65­
74,
change
in
the
2
year
prob
of
occ.
*/
d1m6574
=
bbpm6574
­
dbpm1e;
d2m6574
=
bbpm6574
­
dbpm2e;

pr1_
6574
=
(
1/(
1
+
exp(
4.90723
­
0.02031*
bbpm6574)))
­
(
1/(
1
+
exp(
4.90723
­
0.02031*
d1m6574)));

pr2_
6574
=
(
1/(
1
+
exp(
4.90723
­
0.02031*
bbpm6574)))
­
(
1/(
1
+
exp(
4.90723
­
0.02031*
d2m6574)));

b14059
=
(
pr1_
4059
*
exppop
*
pctm4059
*
74115
*
0.66)/
10;
b24059
=
(
pr2_
4059
*
exppop
*
pctm4059
*
74115
*
0.66)/
10;
b16064
=
(
pr1_
6064
*
exppop
*
pctm6064
*
74115
*
0.66)/
2;
b26064
=
(
pr2_
6064
*
exppop
*
pctm6064
*
74115
*
0.66)/
2;
b16574
=
(
pr1_
6574
*
exppop
*
pctm6574
*
74115
*
0.66)/
2;
b26574
=
(
pr2_
6574
*
exppop
*
pctm6574
*
74115
*
0.66)/
2;

/*
Number
of
reduced
cases
*/
r14059
=
(
pr1_
4059
*
exppop
*
pctm4059
*
0.66)/
10;
r24059
=
(
pr2_
4059
*
exppop
*
pctm4059
*
0.66)/
10;
r16064
=
(
pr1_
6064
*
exppop
*
pctm6064
*
0.66)/
2;
r26064
=
(
pr2_
6064
*
exppop
*
pctm6064
*
0.66)/
2;
r16574
=
(
pr1_
6574
*
exppop
*
pctm6574
*
0.66)/
2;
r26574
=
(
pr2_
6574
*
exppop
*
pctm6574
*
0.66)/
2;

popm4059
=
exppop
*
pctm4059;
popm6064
=
exppop
*
pctm6064;
popm6574
=
exppop
*
pctm6574;

/*
Calculate
Benefits
from
Reduced
Cerebrovascular
Accidents
and
Brain
23
Infarctions,
affects
men
aged
45­
74
Non­
fatal
only
which
is
70%
of
all
cases
*/

/*
Ages
45­
74,
change
in
the
2
year
prob
of
occ.
*/
d1m4574
=
bbpm4574
­
dbpm1e;
d2m4574
=
bbpm4574
­
dbpm2e;

pr1_
cba
=
(
1/(
1
+
exp(
8.58889
­
0.04066*
bbpm4574)))
­
(
1/(
1
+
exp(
8.58889
­
0.04066*
d1m4574)));

pr2_
cba
=
(
1/(
1
+
exp(
8.58889
­
0.04066*
bbpm4574)))
­
(
1/(
1
+
exp(
8.58889
­
0.04066*
d2m4574)));

pr1_
bi
=
(
1/(
1
+
exp(
9.9516
­
0.04840*
bbpm4574)))
­
(
1/(
1
+
exp(
9.9516
­
0.04840*
d1m4574)));

pr2_
bi
=
(
1/(
1
+
exp(
9.9516
­
0.04840*
bbpm4574)))
­
(
1/(
1
+
exp(
9.9516
­
0.04840*
d2m4574)));

b1_
cba
=
(
pr1_
cba
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;
b2_
cba
=
(
pr2_
cba
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;
b1_
bi
=
(
pr1_
bi
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;
b2_
bi
=
(
pr2_
bi
*
exppop
*
pctm4574
*
335135
*
0.7)/
2;

r1_
cba
=
(
pr1_
cba
*
exppop
*
pctm4574
*
0.7)/
2;
r2_
cba
=
(
pr2_
cba
*
exppop
*
pctm4574
*
0.7)/
2;
r1_
bi
=
(
pr1_
bi
*
exppop
*
pctm4574
*
0.7)/
2;
r2_
bi
=
(
pr2_
bi
*
exppop
*
pctm4574
*
0.7)/
2;

popm4574
=
exppop
*
pctm4574;

/*
Calculate
Benefits
from
Premature
Mortality
*/

/*
Ages
40­
54,
change
in
the
12
year
prob
of
death
*/
d1m4054
=
bbpm4054
­
dbpm1;
d2m4054
=
bbpm4054
­
dbpm2;

m1_
4054
=
(
1/(
1
+
exp(
5.3158
­
0.03516*
bbpm4054)))
­
(
1/(
1
+
exp(
5.3158
­
0.03516*
d1m4054)));

m2_
4054
=
(
1/(
1
+
exp(
5.3158
­
0.03516*
bbpm4054)))
­
(
1/(
1
+
exp(
5.3158
­
0.03516*
d2m4054)));

/*
Ages
55­
64,
change
in
the
2
year
prob
of
death
*/
d1m5564
=
bbpm5564
­
dbpm1e;
d2m5564
=
bbpm5564
­
dbpm2e;

m1_
5564
=
(
1/(
1
+
exp(
4.89528
­
0.01866*
bbpm5564)))
­
(
1/(
1
+
exp(
4.89528
­
0.01866*
d1m5564)));

m2_
5564
=
(
1/(
1
+
exp(
4.89528
­
0.01866*
bbpm5564)))
­
(
1/(
1
+
exp(
4.89528
­
0.01866*
d2m5564)));
24
/*
Ages
65­
74,
change
in
the
2
year
prob
of
death
*/
d1m6574
=
bbpm6574
­
dbpm1e;
d2m6574
=
bbpm6574
­
dbpm2e;

m1_
6574
=
(
1/(
1
+
exp(
3.05723
­
0.00547*
bbpm6574)))
­
(
1/(
1
+
exp(
3.05723
­
0.00547*
d1m6574)));

m2_
6574
=
(
1/(
1
+
exp(
3.05723
­
0.00547*
bbpm6574)))
­
(
1/(
1
+
exp(
3.05723
­
0.00547*
d2m6574)));

m14054l
=
(
m1_
4054
*
exppop
*
pctm4054
*
2500000)/
12;
m24054l
=
(
m2_
4054
*
exppop
*
pctm4054
*
2500000)/
12;
m14054h
=
(
m1_
4054
*
exppop
*
pctm4054
*
13600000)/
12;
m24054h
=
(
m2_
4054
*
exppop
*
pctm4054
*
13600000)/
12;
mid40541
=
(
m1_
4054
*
exppop
*
pctm4054
*
6500000)/
12;
mid40542
=
(
m2_
4054
*
exppop
*
pctm4054
*
6500000)/
12;

m15564l
=
(
m1_
5564
*
exppop
*
pctm5564
*
2500000)/
2;
m25564l
=
(
m2_
5564
*
exppop
*
pctm5564
*
2500000)/
2;
m15564h
=
(
m1_
5564
*
exppop
*
pctm5564
*
13600000)/
2;
m25564h
=
(
m2_
5564
*
exppop
*
pctm5564
*
13600000)/
2;
mid55641
=
(
m1_
5564
*
exppop
*
pctm5564
*
6500000)/
2;
mid55642
=
(
m2_
5564
*
exppop
*
pctm5564
*
6500000)/
2;

m16574l
=
(
m1_
6574
*
exppop
*
pctm6574
*
2500000)/
2;
m26574l
=
(
m2_
6574
*
exppop
*
pctm6574
*
2500000)/
2;
m16574h
=
(
m1_
6574
*
exppop
*
pctm6574
*
13600000)/
2;
m26574h
=
(
m2_
6574
*
exppop
*
pctm6574
*
13600000)/
2;
mid65741
=
(
m1_
6574
*
exppop
*
pctm6574
*
6500000)/
2;
mid65742
=
(
m2_
6574
*
exppop
*
pctm6574
*
6500000)/
2;

r14054l
=
(
m1_
4054
*
exppop
*
pctm4054)/
12;
r24054l
=
(
m2_
4054
*
exppop
*
pctm4054)/
12;
r14054h
=
(
m1_
4054
*
exppop
*
pctm4054)/
12;
r24054h
=
(
m2_
4054
*
exppop
*
pctm4054)/
12;
r15564l
=
(
m1_
5564
*
exppop
*
pctm5564)/
2;
r25564l
=
(
m2_
5564
*
exppop
*
pctm5564)/
2;
r15564h
=
(
m1_
5564
*
exppop
*
pctm5564)/
2;
r25564h
=
(
m2_
5564
*
exppop
*
pctm5564)/
2;
r16574l
=
(
m1_
6574
*
exppop
*
pctm6574)/
2;
r26574l
=
(
m2_
6574
*
exppop
*
pctm6574)/
2;
r16574h
=
(
m1_
6574
*
exppop
*
pctm6574)/
2;
r26574h
=
(
m2_
6574
*
exppop
*
pctm6574)/
2;

popm4054
=
exppop
*
pctm4054;
popm5564
=
exppop
*
pctm5564;
run;

data
women;
set
lead;

/*
Set
up
some
constants
*/
/*
All
percentages
based
on
the
1996
Census
numbers
*/
25
pctfem
=
0.511735;
/*
Percentage
of
U.
S.
Pop.
who
are
female
*/
pctf4574
=
0.143282;
/*
Percentage
of
U.
S.
Pop.
who
are
female,
age
45­
74
*/

bbpf4574
=
76.5;
/*
Mean
diastolic
bp
from
NHANES
III,
females
age
45­
74
*/

/**************************************************************************/
/*
Begin
Benefits
for
Females
*/
/**************************************************************************/

/*
No
dose­
response
function
for
female
hypertension
*/

/*
Calculate
Benefits
from
Changes
in
CHD,
non­
fatal
cases
only
which
are
2/
3
of
the
cases
*/

dbpf1
=
(
0.6
*
1.4)
*
log(
PbB_
bfe/
PbB_
1fe);
dbpf2
=
(
0.6
*
1.4)
*
log(
PbB_
bfe/
PbB_
2fe);

/*
Ages
45­
74,
change
in
the
2
year
prob
of
occ.
*/
d1f4574
=
bbpf4574
­
dbpf1;
d2f4574
=
bbpf4574
­
dbpf2;

pr1_
4574
=
(
1/(
1
+
exp(
6.9401
­
0.03072*
bbpf4574)))
­
(
1/(
1
+
exp(
6.9401
­
0.03072*
d1f4574)));

pr2_
4574
=
(
1/(
1
+
exp(
6.9401
­
0.03072*
bbpf4574)))
­
(
1/(
1
+
exp(
6.9401
­
0.03072*
d2f4574)));

b1fchd
=
(
pr1_
4574
*
exppop
*
pctf4574
*
74115
*
0.66)/
2;
b2fchd
=
(
pr2_
4574
*
exppop
*
pctf4574
*
74115
*
0.66)/
2;

red_
chd1
=
(
pr1_
4574
*
exppop
*
pctf4574
*
0.66)/
2;
red_
chd2
=
(
pr2_
4574
*
exppop
*
pctf4574
*
0.66)/
2;

popf4574
=
exppop
*
pctf4574;

/*
Calculate
Benefits
from
Reduced
Cerebrovascular
Accidents
and
Brain
Infarctions,
affects
women
aged
45­
74
Non­
fatal
only
which
is
70%
of
all
cases
*/

/*
Ages
45­
74,
change
in
the
2
year
prob
of
occ.
*/

pr1f_
bi
=
(
1/(
1
+
exp(
10.6716
­
0.0544*
bbpf4574)))
­
(
1/(
1
+
exp(
10.6716
­
0.0544*
d1f4574)));

pr2f_
bi
=
(
1/(
1
+
exp(
10.6716
­
0.0544*
bbpf4574)))
­
(
1/(
1
+
exp(
10.6716
­
0.0544*
d2f4574)));

pr1f_
cba
=
(
1/(
1
+
exp(
9.07737
­
0.04287*
bbpf4574)))
­
(
1/(
1
+
exp(
9.07737
­
0.04287*
d1f4574)));

pr2f_
cba
=
(
1/(
1
+
exp(
9.07737
­
0.04287*
bbpf4574)))
­
(
1/(
1
+
exp(
9.07737
­
0.04287*
d2f4574)));

b1f_
cba
=
(
pr1f_
cba
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;
26
b2f_
cba
=
(
pr2f_
cba
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;
b1f_
bi
=
(
pr1f_
bi
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;
b2f_
bi
=
(
pr2f_
bi
*
exppop
*
pctf4574
*
251351
*
0.7)/
2;

r1f_
cba
=
(
pr1f_
cba
*
exppop
*
pctf4574
*
0.7)/
2;
r2f_
cba
=
(
pr2f_
cba
*
exppop
*
pctf4574
*
0.7)/
2;
r1f_
bi
=
(
pr1f_
bi
*
exppop
*
pctf4574
*
0.7)/
2;
r2f_
bi
=
(
pr2f_
bi
*
exppop
*
pctf4574
*
0.7)/
2;

/*
Calculate
Benefits
from
Premature
Mortality
*/

/*
Ages
45­
74,
change
in
the
2
year
prob
of
death
*/

m1_
4574
=
(
1/(
1
+
exp(
5.40374
­
0.01511*
bbpf4574)))
­
(
1/(
1
+
exp(
5.40374
­
0.01511*
d1f4574)));

m2_
4574
=
(
1/(
1
+
exp(
5.40374
­
0.01511*
bbpf4574)))
­
(
1/(
1
+
exp(
5.40374
­
0.01511*
d2f4574)));

m14574l
=
(
m1_
4574
*
exppop
*
pctf4574
*
2500000)/
2;
m24574l
=
(
m2_
4574
*
exppop
*
pctf4574
*
2500000)/
2;
m14574h
=
(
m1_
4574
*
exppop
*
pctf4574
*
13600000)/
2;
m24574h
=
(
m2_
4574
*
exppop
*
pctf4574
*
13600000)/
2;
mid45741
=
(
m1_
4574
*
exppop
*
pctf4574
*
6500000)/
2;
mid45742
=
(
m2_
4574
*
exppop
*
pctf4574
*
6500000)/
2;

r14574l
=
(
m1_
4574
*
exppop
*
pctf4574)/
2;
r24574l
=
(
m2_
4574
*
exppop
*
pctf4574)/
2;
r14574h
=
(
m1_
4574
*
exppop
*
pctf4574)/
2;
r24574h
=
(
m2_
4574
*
exppop
*
pctf4574)/
2;
run;

/*
Sum
up
benefits
and
reduced
cases
and
print
results
*/

proc
means
sum
data=
men;
var
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
output
out
=
rundat.
msubsamp(
drop
=
_
type_
_
freq_)
sum
=
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
27
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
title3
'
Mens
Lead
Related
Benefits
(
Sample
Basis)';
quit;

proc
means
sum
data=
men;
weight
event_
wt;
var
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
output
out
=
rundat.
msubwght(
drop
=
_
type_
_
freq_)
sum
=
ben_
hyp1
ben_
hyp2
hyppop
b14059
b24059
b16064
b26064
b16574
b26574
popm4059
popm6064
popm6574
b1_
cba
b2_
cba
b1_
bi
b2_
bi
popm4574
m14054l
m14054h
m24054l
m24054h
m15564l
m15564h
m25564l
m25564h
m16574l
m16574h
m26574l
m26574h
mid40541
mid40542
mid55641
mid55642
mid65741
mid65742
popm4054
popm5564
hyp_
red1
hyp_
red2
r14059
r24059
r16064
r26064
r16574
r26574
r1_
cba
r2_
cba
r1_
bi
r2_
bi
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
title3
'
Mens
Lead
Related
Benefits
(
National
Basis)';
quit;

%
macro
maleleadtable(
tbl_
in=,
tbl_
out=);
data
rundat.&
tbl_
out
(
keep=
gender
categ
agecat
type
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h);
set
rundat.&
tbl_
in;

length
gender
$
50
categ
$
50
agecat
$
50
type
$
50;

array
_
hyper[
4]
ben_
hyp1
ben_
hyp2
hyp_
red1
hyp_
red2;
28
array
_
chd[
12]
b14059
b24059
b16064
b26064
b16574
b26574
r14059
r24059
r16064
r26064
r16574
r26574;
array
_
cba[
4]
b1_
cba
b2_
cba
r1_
cba
r2_
cba;
array
_
bi[
4]
b1_
bi
b2_
bi
r1_
bi
r2_
bi;
array
_
mort[
24]
m14054l
mid40541
m14054h
m24054l
mid40542
m24054h
m15564l
mid55641
m15564h
m25564l
mid55642
m25564h
m16574l
mid65741
m16574h
m26574l
mid65742
m26574h
r14054l
r24054l
r15564l
r25564l
r16574l
r26574l;
array
ben[
6]
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
array
cases[
2]
case1
case2;

do
i
=
1
to
9;
if
i
=
1
then
do;
ben[
1]
=
_
hyper[
1];
ben[
2]
=
_
hyper[
1];
ben[
3]
=
_
hyper[
1];
ben[
4]
=
_
hyper[
2];
ben[
5]
=
_
hyper[
2];
ben[
6]
=
_
hyper[
2];
cases[
1]
=
_
hyper[
3];
cases[
2]
=
_
hyper[
4];
categ
=
"
Hypertension";
agecat
=
"
All";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
2
then
do;
ben[
1]
=
_
chd[
1];
ben[
2]
=
_
chd[
1];
ben[
3]
=
_
chd[
1];
ben[
4]
=
_
chd[
2];
ben[
5]
=
_
chd[
2];
ben[
6]
=
_
chd[
2];
cases[
1]
=
_
chd[
7];
cases[
2]
=
_
chd[
8];
categ
=
"
CHD";
agecat
=
"
Age
40­
59";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
3
then
do;
ben[
1]
=
_
chd[
3];
ben[
2]
=
_
chd[
3];
ben[
3]
=
_
chd[
3];
ben[
4]
=
_
chd[
4];
ben[
4]
=
_
chd[
4];
ben[
6]
=
_
chd[
4];
cases[
1]
=
_
chd[
9];
cases[
2]
=
_
chd[
10];
categ
=
"
CHD";
agecat
=
"
Age
60­
64";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
4
then
do;
ben[
1]
=
_
chd[
5];
ben[
2]
=
_
chd[
5];
ben[
3]
=
_
chd[
5];
ben[
4]
=
_
chd[
6];
ben[
4]
=
_
chd[
6];
ben[
6]
=
_
chd[
6];
cases[
1]
=
_
chd[
11];
cases[
2]
=
_
chd[
12];
categ
=
"
CHD";
agecat
=
"
Age
65­
74";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
5
then
do;
29
ben[
1]
=
_
cba[
1];
ben[
2]
=
_
cba[
1];
ben[
3]
=
_
cba[
1];
ben[
4]
=
_
cba[
2];
ben[
5]
=
_
cba[
2];
ben[
6]
=
_
cba[
2];
cases[
1]
=
_
cba[
3];
cases[
2]
=
_
cba[
4];
categ
=
"
CBA";
agecat
=
"
All";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
6
then
do;
ben[
1]
=
_
bi[
1];
ben[
2]
=
_
bi[
1];
ben[
3]
=
_
bi[
1];
ben[
4]
=
_
bi[
2];
ben[
5]
=
_
bi[
2];
ben[
6]
=
_
bi[
2];
cases[
1]
=
_
bi[
3];
cases[
2]
=
_
bi[
4];
categ
=
"
BI";
agecat
=
"
All";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
7
then
do;
ben[
1]
=
_
mort[
1];
ben[
2]
=
_
mort[
2];
ben[
3]
=
_
mort[
3];
ben[
4]
=
_
mort[
4];
ben[
5]
=
_
mort[
5];
ben[
6]
=
_
mort[
6];
cases[
1]
=
_
mort[
19];
cases[
2]
=
_
mort[
20];
categ
=
"
Mortality";
agecat
=
"
Age
40­
54";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
8
then
do;
ben[
1]
=
_
mort[
7];
ben[
2]
=
_
mort[
8];
ben[
3]
=
_
mort[
9];
ben[
4]
=
_
mort[
10];
ben[
5]
=
_
mort[
11];
ben[
6]
=
_
mort[
12];
cases[
1]
=
_
mort[
21];
cases[
2]
=
_
mort[
22];
categ
=
"
Mortality";
agecat
=
"
Age
55­
64";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
if
i
=
9
then
do;
ben[
1]
=
_
mort[
13];
ben[
2]
=
_
mort[
14];
ben[
3]
=
_
mort[
15];
ben[
4]
=
_
mort[
16];
ben[
5]
=
_
mort[
17];
ben[
6]
=
_
mort[
18];
cases[
1]
=
_
mort[
23];
cases[
2]
=
_
mort[
24];
categ
=
"
Mortality";
agecat
=
"
Age
65­
74";
type
=
"
Sub";
gender
=
"
Male";
output;
end;
end;
run;
%
mend;

%
maleleadtable(
tbl_
in=
msubsamp,
tbl_
out=
tblmbsmp);
%
maleleadtable(
tbl_
in=
msubwght,
tbl_
out=
tblmbwgt);
30
proc
means
sum
data=
women;
var
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
output
out
=
rundat.
fsubsamp(
drop
=
_
type_
_
freq_)
sum
=
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
title3
'
Female
Lead
Related
Benefits
(
Sample
Basis)';
quit;

proc
means
sum
data=
women;
weight
event_
wt;
var
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
output
out
=
rundat.
fsubwght(
drop
=
_
type_
_
freq_)
sum
=
b1fchd
b2fchd
popf4574
b1f_
cba
b2f_
cba
b1f_
bi
b2f_
bi
m14574l
m14574h
m24574l
m24574h
mid45741
mid45742
red_
chd1
red_
chd2
r1f_
cba
r2f_
cba
r1f_
bi
r2f_
bi
r14574l
r14574h
r24574l
r24574h;
title3
'
Female
Lead
Related
Benefits
(
National
Basis)';
quit;

%
macro
femaleleadtable(
tbl_
in=,
tbl_
out=);
data
rundat.&
tbl_
out
(
keep=
gender
categ
agecat
type
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h);
set
rundat.&
tbl_
in;

length
gender
$
50
categ
$
50
agecat
$
50
type
$
50;

array
_
chd[
4]
b1fchd
b2fchd
red_
chd1
red_
chd2;
array
_
cba[
4]
b1f_
cba
b2f_
cba
r1f_
cba
r2f_
cba;
array
_
bi[
4]
b1f_
bi
b2f_
bi
r1f_
bi
r2f_
bi;
array
_
mort[
8]
m14574l
mid45741
m14574h
m24574l
mid45742
m24574h
r14574l
r24574l;
array
ben[
6]
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
array
cases[
2]
case1
case2;

do
i
=
1
to
4;
if
i
=
1
then
do;
ben[
1]
=
_
chd[
1];
ben[
2]
=
_
chd[
1];
ben[
3]
=
_
chd[
1];
ben[
4]
=
_
chd[
2];
ben[
5]
=
_
chd[
2];
ben[
6]
=
_
chd[
2];
31
cases[
1]
=
_
chd[
3];
cases[
2]
=
_
chd[
4];
categ
=
"
CHD";
agecat
=
"
All";
type
=
"
Sub";
gender
=
"
Female";
output;
end;
if
i
=
2
then
do;
ben[
1]
=
_
cba[
1];
ben[
2]
=
_
cba[
1];
ben[
3]
=
_
cba[
1];
ben[
4]
=
_
cba[
2];
ben[
5]
=
_
cba[
2];
ben[
6]
=
_
cba[
2];
cases[
1]
=
_
cba[
3];
cases[
2]
=
_
cba[
4];
categ
=
"
CBA";
agecat
=
"
All";
type
=
"
Sub";
gender
=
"
Female";
output;
end;
if
i
=
3
then
do;
ben[
1]
=
_
bi[
1];
ben[
2]
=
_
bi[
1];
ben[
3]
=
_
bi[
1];
ben[
4]
=
_
bi[
2];
ben[
5]
=
_
bi[
2];
ben[
6]
=
_
bi[
2];
cases[
1]
=
_
bi[
3];
cases[
2]
=
_
bi[
4];
categ
=
"
BI";
agecat
=
"
All";
type
=
"
Sub";
gender
=
"
Female";
output;
end;
if
i
=
4
then
do;
ben[
1]
=
_
mort[
1];
ben[
2]
=
_
mort[
2];
ben[
3]
=
_
mort[
3];
ben[
4]
=
_
mort[
4];
ben[
5]
=
_
mort[
5];
ben[
6]
=
_
mort[
6];
cases[
1]
=
_
mort[
7];
cases[
2]
=
_
mort[
8];
categ
=
"
Mortality";
agecat
=
"
Age
45­
74";
type
=
"
Sub";
gender
=
"
Female";
output;
end;
end;
run;
%
mend;

%
femaleleadtable(
tbl_
in=
fsubsamp,
tbl_
out=
tblfbsmp);
%
femaleleadtable(
tbl_
in=
fsubwght,
tbl_
out=
tblfbwgt);

data
rundat.
tblsub_
s;
set
rundat.
tblmbsmp
rundat.
tblfbsmp;
run;

data
rundat.
tblsub_
w;
set
rundat.
tblmbwgt
rundat.
tblfbwgt;
run;

proc
means
sum
data=
men;
var
event_
wt;
title3
'
Number
of
Affected
Reaches
Nationally';
32
quit;

proc
sql;

create
table
malepop
as
select
sum(
exppop)
as
tpops,
sum(
exppop*
pctmale)
as
pm2074s,
sum(
exppop*
pctm4574)
as
pm4574s,
sum(
exppop*
event_
wt)
as
tpopn,
sum(
exppop*
pctmale*
event_
wt)
as
pm2074n,
sum(
exppop*
pctm4574*
event_
wt)
as
pm4574n
from
men;

create
table
fempop
as
select
sum(
exppop)
as
tpops,
sum(
exppop*
pctf4574)
as
pf4574s,
sum(
exppop*
event_
wt)
as
tpopn,
sum(
exppop*
pctf4574*
event_
wt)
as
pf4574n
from
women;
quit;

proc
print
data=
malepop;
var
tpops
pm2074s
pm4574s
tpopn
pm2074n
pm4574n;
label
tpops
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Smpl)'
pm2074s
=
'
Exposed
Males
Age
20­
74
(
Smpl)'
pm4574s
=
'
Exposed
Males
Age
45­
74
(
Smpl)'
tpopn
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Natl)'
pm2074n
=
'
Exposed
Males
Age
20­
74
(
Natl)'
pm4574n
=
'
Exposed
Males
Age
45­
74
(
Natl)';
title3
'
Exposed
Population
­
Males';
quit;

proc
print
data=
fempop;
var
tpops
pf4574s
tpopn
pf4574n;
label
tpops
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Smpl)'
pf4574s
=
'
Exposed
Females
Age
45­
74
(
Smpl)'
tpopn
=
'
Total
Exposed
Pop
(
male
+
fem)
(
Natl)'
pf4574n
=
'
Exposed
Females
Age
45­
74
(
Natl)';
title3
'
Exposed
Population
­
Females';
quit;

data
rundat.
leadtbls;
if
_
n_
=
1
then
do;
do
i
=
1
to
13;
set
rundat.
tblspt_
s
point
=
i;
output;
set
rundat.
tblsub_
s
point
=
i;
output;
end;
end;
run;

data
rundat.
leadtblw;
33
if
_
n_
=
1
then
do;
do
i
=
1
to
13;
set
rundat.
tblspt_
w
point
=
i;
output;
set
rundat.
tblsub_
w
point
=
i;
output;
end;
end;
run;

proc
summary
data=
rundat.
leadtbls
nway;
class
gender
categ;
var
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h;
output
out
=
rundat.
leadsums
(
drop=
_
type_
_
freq_)
sum
=
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h;
run;

proc
summary
data=
rundat.
leadtblw
nway;
class
gender
categ;
var
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h;
output
out
=
rundat.
leadsumw
(
drop=
_
type_
_
freq_)
sum
=
case1
ben1l
ben1m
ben1h
case2
ben2l
ben2m
ben2h;
run;

proc
summary
data=
rundat.
leadtbls;
var
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
output
out
=
rundat.
ldalls
(
drop=
_
type_
_
freq_)
sum
=
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
run;

proc
summary
data=
rundat.
leadtblw;
var
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
output
out
=
rundat.
ldallw
(
drop=
_
type_
_
freq_)
sum
=
ben1l
ben1m
ben1h
ben2l
ben2m
ben2h;
run;

data
exlleadw
(
keep=
titlecol
col1­
col10
label="
Adult
Lead
Benefits
­
Weighted");
set
rundat.
leadsumw
rundat.
ldallw;
length
titlecol
$
50
col1
­
col10
$
128;

if
_
n_
=
1
then
do;
titlecol
=
"
Table:
Adult
Lead
Benefits,
Weighted
Estimates";
output;
titlecol
=
"
Run
on
&
sysdate";
output;
titlecol
=
"
";
output;
col3
=
"
Option
1";
col7
=
"
Option
2";
output;
col3
=
"
Reduced
Cases";
col4
=
"
Low";
col5
=
"
Mid";
col6
=
"
High";
col7
=
"
Reduced
Cases";
col8
=
"
Low";
col9
=
"
Mid";
col10
=
"
High";
output;
end;
34
if
_
n_
=
1
or
_
n_
=
6
then
do;
col1
=
gender;
end;

if
_
n_
=
10
then
do;
col1
=
"
Total";
end;

col2
=
trim(
categ);
col3
=
trim(
case1);
col4
=
trim(
ben1l);
col5
=
trim(
ben1m);
col6
=
trim(
ben1h);
col7
=
trim(
case2);
col8
=
trim(
ben2l);
col9
=
trim(
ben2m);
col10
=
trim(
ben2h);
output;
run;

proc
export
data
=
exlleadw
outfile
=
"
C:\
Output
Files\
Adult
Lead.
xls"
dbms=
excel2000
replace;
run;

/*
End
Subsistence
Lead
Benefits
(
Sub
17).
sas
*/
35
Program
Output
See
DCN
37748.
36
Lead
Benefits
for
Children
37
"
NeoNatal
Mortality
Benefits
(
Sub
15).
sas"
Using
data
from
the
lead
specific
data
set,
changes
in
blood
lead
levels
for
women
of
childbearing
age
are
estimated.
Reduced
risk
of
neonatal
mortality
is
calculated
and
monetized.
38
/*
Program:
NeoNatal
Mortality
Benefits
(
Sub
15).
sas
Author:
Stuart
Smith,
Abt
Associates,
Inc.
Date:
07/
11/
2000
Updated:
11/
08/
2002
This
program
estimates
benefits
from
reduced
consumption
of
fish
tissue
containing
lead.
Reductions
in
MP&
M
facility
lead
loadings
result
in
lower
probabilties
of
lead
related
illnesses.
*/

title2
'
NeoNatal
Mortality
Lead
Benefits
(
Sub
15)';

data
lead;
set
rundat.
lead;

/*
Combine
the
exposed
recreational
and
subsistence
populations;
fresh
and
salt
water
*/

sptpop
=
fwsptpop
+
swsptpop;
subpop
=
fwsubpop
+
swsubpop;

/*
Calculate
the
blood
lead
levels
under
the
baseline
and
post
compliance
scenarios
*/

PbB0f
=
2.05;
/*
Typical
PbB
conc.
in
absence
of
fish
cons.
for
women
Aged
15­
45
*/
bcf
=
49;
/*
Bioconcentration
factor
for
lead
L/
KG
*/
bksf
=
0.4;
/*
Biokinetic
slope
factor
for
lead
*/
ing
=
17.5;
/*
Average
daily
fish
consumption
(
g/
day)
recreational
*/
ing2
=
142.4;
/*
Average
daily
fish
consumption
(
g/
day)
subsistence
*/
af
=
0.03;
/*
Absorbtion
factor
*/
ef
=
365;
/*
Exposure
Frequency
*/
at
=
365;
/*
Average
timing,
or
duration
of
exposure
in
days
*/
cf
=
0.001;
/*
Conversion
factor
kg/
g
*/

/*
Recreational
*/
PbB_
bfr
=
(
PbB0f
+
(
cnc_
base*
bcf*
ing*
af*
bksf*
ef*
cf))/
at;
PbB_
1fr
=
(
PbB0f
+
(
cnc_
trt1*
bcf*
ing*
af*
bksf*
ef*
cf))/
at;
PbB_
2fr
=
(
PbB0f
+
(
cnc_
trt2*
bcf*
ing*
af*
bksf*
ef*
cf))/
at;

/*
Subsistence
*/
PbB_
bfs
=
(
PbB0f
+
(
cnc_
base*
bcf*
ing2*
af*
bksf*
ef*
cf))/
at;
PbB_
1fs
=
(
PbB0f
+
(
cnc_
trt1*
bcf*
ing2*
af*
bksf*
ef*
cf))/
at;
PbB_
2fs
=
(
PbB0f
+
(
cnc_
trt2*
bcf*
ing2*
af*
bksf*
ef*
cf))/
at;

/*
Changes
in
blood
lead
levels
*/
diff1r
=
PbB_
bfr
­
PbB_
1fr;
diff2r
=
PbB_
bfr
­
PbB_
2fr;

diff1s
=
PbB_
bfs
­
PbB_
1fs;
diff2s
=
PbB_
bfs
­
PbB_
2fs;

drop
fwsptpop
fwsubpop
swsptpop
swsubpop;
run;
39
proc
print;
var
reachnmb
PbB_
bfr
PbB_
1fr
PbB_
2fr
PbB_
bfs
PbB_
1fs
PbB_
2fs
diff1r
diff2r
diff1s
diff2s
cnc_
base
cnc_
trt1
cnc_
trt2
sptpop
subpop
event_
wt;
quit;

data
neo;
set
lead;

pctfem
=
0.22531;
/*
Percentage
of
Women
Aged
15­
45
(
Childbearing
Age)
*/;

expspt
=
sptpop*
pctfem;
expsub
=
subpop*
pctfem;

red1r
=
diff1r
*
sptpop
*
pctfem
*
0.0001;
red2r
=
diff2r
*
sptpop
*
pctfem
*
0.0001;

red1s
=
diff1s
*
subpop
*
pctfem
*
0.0001;
red2s
=
diff2s
*
subpop
*
pctfem
*
0.0001;

ben1_
lr
=
red1r
*
2500000;
ben1_
hr
=
red1r
*
13600000;
ben2_
lr
=
red2r
*
2500000;
ben2_
hr
=
red2r
*
13600000;
mid1r
=
red1r
*
6500000;
mid2r
=
red2r
*
6500000;

ben1_
ls
=
red1s
*
2500000;
ben1_
hs
=
red1s
*
13600000;
ben2_
ls
=
red2s
*
2500000;
ben2_
hs
=
red2s
*
13600000;
mid1s
=
red1s
*
6500000;
mid2s
=
red2s
*
6500000;

tot1_
l
=
ben1_
lr
+
ben1_
ls;
tot1_
h
=
ben1_
hr
+
ben1_
hs;
tot2_
l
=
ben2_
lr
+
ben2_
ls;
tot2_
h
=
ben2_
hr
+
ben2_
hs;
mid1
=
mid1r
+
mid1s;
mid2
=
mid2r
+
mid2s;
run;

proc
means
sum
data=
neo;
var
red1r
red2r
red1s
red2s
ben1_
lr
ben1_
ls
ben1_
hr
ben1_
hs
ben2_
lr
ben2_
ls
ben2_
hr
ben2_
hs
tot1_
l
tot1_
h
tot2_
l
tot2_
h
mid1r
mid1s
mid2r
mid2s
mid1
mid2
expspt
expsub;
label
red1r
=
'
Number
of
Reductions
rec
(
Opt
1)'
red2r
=
'
Number
of
Reductions
rec
(
Opt
2)'
red1s
=
'
Number
of
Reductions
sub
(
Opt
1)'
red2s
=
'
Number
of
Reductions
sub
(
Opt
2)'
ben1_
lr
=
'
Sport
Low
(
Opt1)'
ben1_
ls
=
'
Sub
Low
(
Opt1)'
ben1_
hr
=
'
Sport
High
(
Opt1)'
ben1_
hs
=
'
Sub
High
(
Opt1)'
40
ben2_
lr
=
'
Sport
Low
(
Opt2)'
ben2_
ls
=
'
Sub
Low
(
Opt2)'
ben2_
hr
=
'
Sport
High
(
Opt2)'
ben2_
hs
=
'
Sub
High
(
Opt2)'
tot1_
l
=
'
Total
Benefits
­
Low
(
Opt
1)'
tot1_
h
=
'
Total
Benefits
­
High
(
Opt
1)'
tot2_
l
=
'
Total
Benefits
­
Low
(
Opt
2)'
tot2_
h
=
'
Total
Benefits
­
High
(
Opt
2)'
mid1
=
'
Mid
Benefits
(
Opt1)'
mid2
=
'
Mid
Benefits
(
Opt2)'
expspt
=
'
Exposed
Sport
Pop
(
15­
45yrs)'
expsub
=
'
Exposed
Sub
Pop
(
15­
45yrs)';
title3
'
Sample
Basis';
quit;

proc
means
sum
data=
neo;
weight
event_
wt;
var
red1r
red2r
red1s
red2s
ben1_
lr
ben1_
ls
ben1_
hr
ben1_
hs
ben2_
lr
ben2_
ls
ben2_
hr
ben2_
hs
tot1_
l
tot1_
h
tot2_
l
tot2_
h
mid1r
mid1s
mid2r
mid2s
mid1
mid2
expspt
expsub;
label
red1r
=
'
Number
of
Reductions
rec
(
Opt
1)'
red2r
=
'
Number
of
Reductions
rec
(
Opt
2)'
red1s
=
'
Number
of
Reductions
sub
(
Opt
1)'
red2s
=
'
Number
of
Reductions
sub
(
Opt
2)'
ben1_
lr
=
'
Sport
Low
(
Opt1)'
ben1_
ls
=
'
Sub
Low
(
Opt1)'
ben1_
hr
=
'
Sport
High
(
Opt1)'
ben1_
hs
=
'
Sub
High
(
Opt1)'
ben2_
lr
=
'
Sport
Low
(
Opt2)'
ben2_
ls
=
'
Sub
Low
(
Opt2)'
ben2_
hr
=
'
Sport
High
(
Opt2)'
ben2_
hs
=
'
Sub
High
(
Opt2)'
tot1_
l
=
'
Total
Benefits
­
Low
(
Opt
1)'
tot1_
h
=
'
Total
Benefits
­
High
(
Opt
1)'
tot2_
l
=
'
Total
Benefits
­
Low
(
Opt
2)'
tot2_
h
=
'
Total
Benefits
­
High
(
Opt
2)'
mid1
=
'
Mid
Benefits
(
Opt1)'
mid2
=
'
Mid
Benefits
(
Opt2)'
expspt
=
'
Exposed
Sport
Pop
(
15­
45yrs)'
expsub
=
'
Exposed
Sub
Pop
(
15­
45yrs)';
output
out
=
rundat.
chld_
neo
(
drop=
_
type_
_
freq_)
sum
=
red1r
red2r
red1s
red2s
ben1_
lr
ben1_
ls
ben1_
hr
ben1_
hs
ben2_
lr
ben2_
ls
ben2_
hr
ben2_
hs
tot1_
l
tot1_
h
tot2_
l
tot2_
h
mid1r
mid1s
mid2r
mid2s
mid1
mid2
expspt
expsub;
title3
'
National
Basis';
quit;

data
rundat.
neo_
tbl
(
keep=
gender
categ
type
exppop
case1
case2
benlow1
benlow2
benmid1
benmid2
benhigh1
benhigh2);
set
rundat.
chld_
neo;

length
gender
$
50
categ
$
50
type
$
50;

gender
=
"
Children";
categ
=
"
Neo­
Natal
Mortality";
41
type
=
"
Sport";
exppop
=
expspt;
case1
=
red1r;
case2
=
red2r;
benlow1
=
ben1_
lr;
benlow2
=
ben2_
lr;
benmid1
=
mid1r;
benmid2
=
mid2r;
benhigh1
=
ben1_
hr;
benhigh2
=
ben2_
hr;
output;

gender
=
"
Children";
categ
=
"
Neo­
Natal
Mortality";
type
=
"
Sub";
exppop
=
expsub;
case1
=
red1s;
case2
=
red2s;
benlow1
=
ben1_
ls;
benlow2
=
ben2_
ls;
benmid1
=
mid1s;
benmid2
=
mid2s;
benhigh1
=
ben1_
hs;
benhigh2
=
ben2_
hs;
output;
run;

/*
End
NeoNatal
Mortality
Benefits
(
Sub
15).
sas
*/
42
Program
Output
See
DCN
37749.
43
"
Child
Lead
Benefits
(
Sub
16).
sas"
Using
data
from
the
lead
specific
data
set
and
results
of
the
IEUBK
lead
model,
child
blood
lead
levels
are
estimated
based
on
fish
consumption
in
recreational
and
subsistence
fishing
families.
44
/*
Program:
Child
Lead
Benefits
(
Sub
16).
sas
Author:
Stuart
Smith,
Abt
Associates,
Inc.
Date:
06/
12/
2000
Updated:
11/
27/
2002
This
program
estimates
benefits
from
reduced
consumption
of
fish
tissue
containing
lead.
Reductions
in
MP&
M
facility
lead
loadings
result
in
lower
probabilties
of
lead
related
illnesses.
*/

libname
library
'
H:\
ENVR\
Triton05
MP&
M\
Benefits\
MP&
M
Phase
2
Analysis\
Data\
SAS
Sets
for
Analysis\';

%
let
tbl_
path
=
%
sysfunc(
pathname(
rundat));

title2
'
Child
Lead
Related
Benefits
(
Sub
16)';

data
lead;
set
rundat.
lead;

/*
Combine
the
exposed
populations,
recreational
and
subsistence;
fresh
and
salt
water
*/

expspt
=
fwsptpop
+
swsptpop;
expsub
=
fwsubpop
+
swsubpop;

/*
Calculate
the
lead
concentration
in
fish
tissue
available
for
intake
*/
/*
=
instream
conc
(
ug/
L)*
biocon
factor
(
kg/
L)*
ingestion
rate(
kg/
day)
*/

bcncspt
=
cnc_
base*
49*
0.00603;
t1cncspt
=
cnc_
trt1*
49*
0.00603;
t2cncspt
=
cnc_
trt2*
49*
0.00603;

bcncsub
=
cnc_
base*
49*
0.03033;
t1cncsub
=
cnc_
trt1*
49*
0.03033;
t2cncsub
=
cnc_
trt2*
49*
0.03033;

keep
reachnmb
expspt
expsub
bcncspt
t1cncspt
t2cncspt
bcncsub
t1cncsub
t2cncsub
event_
wt;
run;

proc
print;
var
reachnmb
expspt
expsub
bcncspt
t1cncspt
t2cncspt
bcncsub
t1cncsub
t2cncsub
event_
wt;
title3
'
Exposed
Pops
and
Pb
conc
in
fish
tissue';
quit;

data
lead2;
set
lead;

/*
Determine
sport
blood
levels
*/
/*
cnc_
fmt.
is
a
special
format
which
translates
the
concentration
in
the
fish
tissue
into
an
index
value
for
a
lookup
table
of
corresponding
blood
lead
levels
*/

/*
Get
base
pbp
level
*/
45
lookup
=
input(
put(
round(
bcncspt,.
1),
cnc_
fmt.),
4.0);
if
lookup
=
9999
then
lookup
=
1;
set
mpm2.
ubklook4
point
=
lookup;
pb_
bspt
=
bloodPb;

/*
Get
t1
pbp
level
*/
lookup
=
input(
put(
round(
t1cncspt,.
1),
cnc_
fmt.),
4.0);
if
lookup
=
9999
then
lookup
=
1;
set
mpm2.
ubklook4
point
=
lookup;
pb_
1spt
=
bloodPb;

/*
Get
t2
pbp
level
*/
lookup
=
input(
put(
round(
t2cncspt,.
1),
cnc_
fmt.),
4.0);
if
lookup
=
9999
then
lookup
=
1;
set
mpm2.
ubklook4
point
=
lookup;
pb_
2spt
=
bloodPb;

/*
Determine
subsistence
blood
levels
*/
/*
Get
base
pbp
level
*/
lookup
=
input(
put(
round(
bcncsub,.
1),
cnc_
fmt.),
4.0);
if
lookup
=
9999
then
lookup
=
1;
set
mpm2.
ubklook4
point
=
lookup;
pb_
bsub
=
bloodPb;

/*
Get
t1
pbp
level
*/
lookup
=
input(
put(
round(
t1cncsub,.
1),
cnc_
fmt.),
4.0);
if
lookup
=
9999
then
lookup
=
1;
set
mpm2.
ubklook4
point
=
lookup;
pb_
1sub
=
bloodPb;

/*
Get
t2
pbp
level
*/
lookup
=
input(
put(
round(
t2cncsub,.
1),
cnc_
fmt.),
4.0);
if
lookup
=
9999
then
lookup
=
1;
set
mpm2.
ubklook4
point
=
lookup;
pb_
2sub
=
bloodPb;

run;

proc
print;
var
reachnmb
pb_
bspt
pb_
1spt
pb_
2spt
pb_
bsub
pb_
1sub
pb_
2sub;
title3
'
Blood
lead
levels';
quit;

data
lead3;
set
lead2;

kidspct
=
0.1177;
/*
Percent
of
kids
aged
0­
7,
U.
S.
Statistical
Abstract
1997
*/

popspt
=
expspt*
kidspct;
popsub
=
expsub*
kidspct;

GM1_
spt
=
pb_
bspt
­
pb_
1spt;
GM2_
spt
=
pb_
bspt
­
pb_
2spt;

GM1_
sub
=
pb_
bsub
­
pb_
1sub;
46
GM2_
sub
=
pb_
bsub
­
pb_
2sub;

/*
Avoided
lost
IQ
points
*/
avIQ1spt
=
(
GM1_
spt)*
0.25*(
popspt/
7);
avIQ2spt
=
(
GM2_
spt)*
0.25*(
popspt/
7);

avIQ1sub
=
(
GM1_
sub)*
0.25*(
popsub/
7);
avIQ2sub
=
(
GM2_
sub)*
0.25*(
popsub/
7);

IQ1_
spt
=
avIQ1spt
*
1817;
IQ2_
spt
=
avIQ2spt
*
1817;

IQ1_
sub
=
avIQ1sub
*
1817;
IQ2_
sub
=
avIQ2sub
*
1817;

/*
Fewer
children
with
IQ
below
70
*/

if
GM1_
spt
>
0
then
do;
num1spt
=
(
70
­
(
100
+
0.25*
GM1_
spt))/
15;
sv701spt
=
0.02275
­
cdf('
NORMAL',
num1spt);
b70_
1spt
=
sv701spt
*
(
popspt/
7)
*
36831;
end;
else
do;
sv701spt
=
0;
b70_
1spt
=
0;
end;

if
GM2_
spt
>
0
then
do;
num2spt
=
(
70
­
(
100
+
0.25*
GM2_
spt))/
15;
sv702spt
=
0.02275
­
cdf('
NORMAL',
num2spt);
b70_
2spt
=
sv702spt
*
(
popspt/
7)
*
36831;
end;
else
do;
sv702spt
=
0;
b70_
2spt
=
0;
end;

if
GM1_
sub
>
0
then
do;
num1sub
=
(
70
­
(
100
+
0.25*
GM1_
sub))/
15;
sv701sub
=
0.02275
­
cdf('
NORMAL',
num1sub);
b70_
1sub
=
sv701sub
*
(
popsub/
7)
*
36831;
end;
else
do;
sv701sub
=
0;
b70_
1sub
=
0;
end;

if
GM2_
sub
>
0
then
do;
num2sub
=
(
70
­
(
100
+
0.25*
GM2_
sub))/
15;
sv702sub
=
0.02275
­
cdf('
NORMAL',
num2sub);
b70_
2sub
=
sv702sub
*
(
popsub/
7)
*
36831;
end;
else
do;
sv702sub
=
0;
b70_
2sub
=
0;
47
end;

/*
Number
of
cases
of
IQ<
70
saved
*/

c70_
1spt
=
sv701spt
*
(
popspt/
7);
c70_
2spt
=
sv702spt
*
(
popspt/
7);
c70_
1sub
=
sv701sub
*
(
popsub/
7);
c70_
2sub
=
sv702sub
*
(
popsub/
7);

check1
=
pdf('
LOGNORMAL',
20,
pb_
bspt,
2.09);
check2
=
pdf('
LOGNORMAL',
20,
pb_
bsub,
2.09);

spt1_
20=(
check1
­
pdf('
LOGNORMAL',
20,
pb_
1spt,
2.09))*
0.2*(
popspt/
7)*
12169;
spt2_
20=(
check1
­
pdf('
LOGNORMAL',
20,
pb_
2spt,
2.09))*
0.2*(
popspt/
7)*
12169;
sub1_
20=(
check2
­
pdf('
LOGNORMAL',
20,
pb_
1sub,
2.09))*
0.2*(
popsub/
7)*
12169;
sub2_
20=(
check2
­
pdf('
LOGNORMAL',
20,
pb_
2sub,
2.09))*
0.2*(
popsub/
7)*
12169;

red201sp=(
check1
­
pdf('
LOGNORMAL',
20,
pb_
1spt,
2.09))*
0.2*(
popspt/
7);
red202sp=(
check1
­
pdf('
LOGNORMAL',
20,
pb_
2spt,
2.09))*
0.2*(
popspt/
7);
red201sb=(
check2
­
pdf('
LOGNORMAL',
20,
pb_
1sub,
2.09))*
0.2*(
popsub/
7);
red202sb=(
check2
­
pdf('
LOGNORMAL',
20,
pb_
2sub,
2.09))*
0.2*(
popsub/
7);
run;

proc
means
sum
data=
lead3;
var
avIQ1spt
avIQ1sub
avIQ2spt
avIQ2sub
IQ1_
spt
IQ1_
sub
IQ2_
spt
IQ2_
sub
b70_
1spt
b70_
1sub
b70_
2spt
b70_
2sub
sv701spt
sv702spt
sv701sub
sv702sub
c70_
1spt
c70_
2spt
c70_
1sub
c70_
2sub
spt1_
20
spt2_
20
sub1_
20
sub2_
20
red201sp
red202sp
red201sb
red202sb
popspt
popsub;
title3
'
Benefits
(
sample)';
quit;

proc
means
sum
data=
lead3;
weight
event_
wt;
var
avIQ1spt
avIQ1sub
avIQ2spt
avIQ2sub
IQ1_
spt
IQ1_
sub
IQ2_
spt
IQ2_
sub
b70_
1spt
b70_
1sub
b70_
2spt
b70_
2sub
sv701spt
sv702spt
sv701sub
sv702sub
c70_
1spt
c70_
2spt
c70_
1sub
c70_
2sub
spt1_
20
spt2_
20
sub1_
20
sub2_
20
red201sp
red202sp
red201sb
red202sb
popspt
popsub;
output
out
=
rundat.
chld_
ld
sum
=
avIQ1spt
avIQ1sub
avIQ2spt
avIQ2sub
IQ1_
spt
IQ1_
sub
IQ2_
spt
IQ2_
sub
b70_
1spt
b70_
1sub
b70_
2spt
b70_
2sub
sv701spt
sv702spt
sv701sub
sv702sub
c70_
1spt
c70_
2spt
c70_
1sub
c70_
2sub
spt1_
20
spt2_
20
sub1_
20
sub2_
20
red201sp
red202sp
red201sb
red202sb
popspt
popsub;
title3
'
Benefits
(
national)';
48
quit;

data
rundat.
chld_
tbl
(
keep=
gender
categ
type
exppop
case1
case2
benlow1
benlow2
benmid1
benmid2
benhigh1
benhigh2);
set
rundat.
chld_
ld;

length
gender
$
50
categ
$
50
type
$
50;

array
IQ[
8]
IQ1_
spt
avIQ1spt
IQ2_
spt
avIQ2spt
IQ1_
sub
avIQ1sub
IQ2_
sub
avIQ2sub;
array
RD[
8]
b70_
1spt
c70_
1spt
b70_
2spt
c70_
2spt
b70_
1sub
c70_
1sub
b70_
2sub
c70_
2sub;
array
PB[
8]
spt1_
20
red201sp
spt2_
20
red202sp
sub1_
20
red201sb
sub2_
20
red202sb;

gender
=
"
Children";

if
_
n_
=
1
then
do;
do
i
=
1
to
6;
if
i
=
1
then
do;
categ
=
"
Avoided
IQ
Loss";
type
=
"
Sport";
case1
=
IQ[
2];
case2
=
IQ[
4];
benlow1
=
IQ[
1];
benlow2
=
IQ[
3];
benmid1
=
benlow1;
benmid2
=
benlow2;
benhigh1
=
benlow1;
benhigh2
=
benlow2;
output;
end;
if
i
=
2
then
do;
categ
=
"
Avoided
IQ
Loss";
type
=
"
Sub";
case1
=
IQ[
6];
case2
=
IQ[
8];
benlow1
=
IQ[
5];
benlow2
=
IQ[
7];
benmid1
=
benlow1;
benmid2
=
benlow2;
benhigh1
=
benlow1;
benhigh2
=
benlow2;
output;
end;
if
i
=
3
then
do;
categ
=
"
Reduced
IQ
<
70";
type
=
"
Sport";
case1
=
RD[
2];
case2
=
RD[
4];
benlow1
=
RD[
1];
benlow2
=
RD[
3];
benmid1
=
benlow1;
benmid2
=
benlow2;
benhigh1
=
benlow1;
benhigh2
=
benlow2;
output;
end;
if
i
=
4
then
do;
categ
=
"
Reduced
IQ
<
70";
type
=
"
Sub";
case1
=
RD[
6];
case2
=
RD[
8];
benlow1
=
RD[
5];
benlow2
=
RD[
7];
benmid1
=
benlow1;
benmid2
=
benlow2;
benhigh1
=
benlow1;
benhigh2
=
benlow2;
output;
end;
if
i
=
5
then
do;
categ
=
"
Reduced
Pb
>
20";
type
=
"
Sport";
49
case1
=
PB[
2];
case2
=
PB[
4];
benlow1
=
PB[
1];
benlow2
=
PB[
3];
benmid1
=
benlow1;
benmid2
=
benlow2;
benhigh1
=
benlow1;
benhigh2
=
benlow2;
output;
end;
if
i
=
6
then
do;
categ
=
"
Reduced
Pb
>
20";
type
=
"
Sub";
case1
=
PB[
6];
case2
=
PB[
8];
benlow1
=
PB[
5];
benlow2
=
PB[
7];
benmid1
=
benlow1;
benmid2
=
benlow2;
benhigh1
=
benlow1;
benhigh2
=
benlow2;
output;
end;
end;
end;
run;

data
rundat.
chld_
all;
set
rundat.
neo_
tbl
rundat.
chld_
tbl;
run;

proc
summary
data=
rundat.
chld_
all;
var
benlow1
benmid1
benhigh1
benlow2
benmid2
benhigh2;
output
out
=
rundat.
chld_
tot
(
drop=
_
type_
_
freq_)
sum
=
benlow1
benmid1
benhigh1
benlow2
benmid2
benhigh2;
run;

data
exlchld
(
keep=
titlecol
col1­
col11
label="
Child
Lead
Benefits
­
Weighted");
set
rundat.
chld_
all
rundat.
chld_
tot;
length
titlecol
$
50
col1
­
col11
$
128;

if
_
n_
=
1
then
do;
titlecol
=
"
Table:
Child
Lead
Benefits,
Weighted
Estimates";
output;
titlecol
=
"
Run
on
&
sysdate";
output;
titlecol
=
"
";
output;
col4
=
"
Option
1";
col8
=
"
Option
2";
output;
col2
=
"
Category";
col3
=
"
Type";
col4
=
"
Reduced
Cases";
col5
=
"
Low";
col6
=
"
Mid";
col7
=
"
High";
col8
=
"
Reduced
Cases";
col9
=
"
Low";
col10
=
"
Mid";
col11
=
"
High";
output;
end;

if
_
n_
=
9
then
col1
=
"
Total";
else
col1
=
gender;

col2
=
trim(
categ);
col3
=
trim(
type);
50
col4
=
trim(
case1);
col5
=
trim(
benlow1);
col6
=
trim(
benmid1);
col7
=
trim(
benhigh1);
col8
=
trim(
case2);
col9
=
trim(
benlow2);
col10
=
trim(
benmid2);
col11
=
trim(
benhigh2);
output;
run;

proc
export
data
=
exlchld
outfile
=
"
C:\
Output
Files\
Child
Lead.
xls"
dbms=
excel2000
replace;
run;

/*
End
Child
Lead
Benefits
(
Sub
16).
sas
*/
51
Program
Output
See
DCN
37749.
