Variable Label Sum                                                           totd1 3.4263466E 8 totd2 9.4765719E 8 totb1_ lw Total Benefits  Low ( Opt 1) 0.0856587 totb1_ hg Total Benefits  High ( Opt 1) 0.4659831 totb2_ lw Total Benefits  Low ( Opt 2) 0.2369143 totb2_ hg Total Benefits  High ( Opt 2) 1.2888138 mid1 Mid Benefits ( Opt1) 0.2227125 mid2 Mid Benefits ( Opt2) 0.6159772                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 29 Cancer from Fish Consumption ( Sub 4) National Monetized Benefits 17: 36 Thursday, January 30, 2003  CAS Chemical Identifier= 86306  93 The MEANS Procedure Variable Label Sum                                                           totd1 1.9621917E 6 totd2 2.3890158E 6 totb1_ lw Total Benefits  Low ( Opt 1) 4.9054791 totb1_ hg Total Benefits  High ( Opt 1) 26.6858065 totb2_ lw Total Benefits  Low ( Opt 2) 5.9725396 totb2_ hg Total Benefits  High ( Opt 2) 32.4906152 mid1 Mid Benefits ( Opt1) 12.7542457 mid2 Mid Benefits ( Opt2) 15.5286029                                                           MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 31 Cancer from Fish Consumption ( Sub 4) National by Chemical Casno 17: 36 Thursday, January 30, 2003 Obs CASNO diff1 diff2 ben1low ben1hg ben2low ben2hg midpt1 midpt2 1 117817 .000007168 0.000008 17.9191 97.480 19.77 107.56 46.5896 51.41 2 123911 .000000010 0.000000 0.0252 0.137 0.08 0.46 0.0654 0.22 3 127184 .000000449 0.000001 1.1228 6.108 2.81 15.27 2.9194 7.30 4 62533 .000000032 0.000000 0.0800 0.435 0.51 2.79 0.2081 1.33 5 62759 0 0.000012 0.0000 0.000 29.23 159.03 0.0000 76.01 6 67663 .000000006 0.000000 0.0161 0.088 0.04 0.22 0.0420 0.10 7 7440382 .000009881 0.033609 24.7021 134.379 84022.20 457080.76 64.2254 218457.71 8 75003 .000000056 0.000000 0.1392 0.757 0.17 0.94 0.3619 0.45 9 75092 .000000002 0.000001 0.0048 0.026 1.35 7.33 0.0125 3.50 10 75354 .000000948 0.000002 2.3710 12.898 5.93 32.24 6.1646 15.41 11 78591 .000000005 0.000000 0.0125 0.068 0.02 0.10 0.0325 0.05 12 79016 .000000034 0.000000 0.0857 0.466 0.24 1.29 0.2227 0.62 13 86306 .000001962 0.000002 4.9055 26.686 5.97 32.49 12.7542 15.53 94 Cancer from Drinking Water 95 " Data for Brad preferred. sas" Generates a data set of pollutant loadings discharged to RF1 reaches from direct dischargers and POTWs ( with removals) for the water quality modeling program. 96 /* Program: Data for Brad. sas Author: Stuart Smith, Abt Associates Inc. Date: 03/ 27/ 2000 Updated: 07/ 17/ 2000 This program creates a data file for several carcinogens to be used in estimating downstream concentrations for benefits stemming from drinking water. */

/*****************************************************************************/ /*****************************************************************************/ /* Administrative Requirements */ /*****************************************************************************/ /*****************************************************************************/

/* Static Library */ libname mpm2 ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Data\ SAS Sets for Analysis\'; /* Static Data Sets */

/* Run Specific Library */ libname rundat ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Data\ Runs\ td\ Prefered\';

/* Run Specific LOADINGS file in SAS format */ data load; set rundat. td_ pf; run;

/* Set the Overall Title for Output */ title ' MP& M Benefits Preferred Option';

/*****************************************************************************/ /*****************************************************************************/ /* Read in Loadings Data */ /* */ /* This is the main set of loadings from the Access DB. All cutoffs and */ /* various other option settings have been done in Access. */ /*****************************************************************************/ /*****************************************************************************/

/* CALCULATE LOADINGS PER DAY IN UG/ DAY, LOADINGS GIVEN IN LBS/ YEAR CONVERSION FACTOR UG/ KG is 10** 9 CONVERSION FACTOR LB/ KG is 0.4535924 EVENT FREQUENCY FOR HUMAN HEALTH IS 365 DAYS Grab indirect and direct dischargers only I = indirect ( always included) D = direct ( always included) CH = contract hauling ( currently excluded, only 1 facility) Z = zero discharge ( never included) R = recycled ( never included)

Baseline closures are accounted for by including the baseclos dataset. If base = 1 then the facility is open in the baseline and is included in the 97 analysis. Incremental closures are also included by testing to see if the opt5 variable is equal to 1. If equal to 1, the facility closese due to the regulation and its loadings are set to 0. */

proc sql; create table loads as select siteid, casnum as casno, (( loads0/ 365) * 0.4535924) as base, case when loads5 is missing then (( loads0/ 365) * 0.4535924) when loads5 < 0 or opt5 = 1 then 0 else (( loads5/ 365) * 0.4535924) end as treat1, 0 as treat2, sitedest, weights from load, mpm2. poll2cas, mpm2. baseclos where loads0 is not missing and pollcode= polluta1 and sitedest in (' I',' D') and load. siteid = baseclos. sid and base = 1 order by siteid; quit;

proc sort data= loads; by siteid casno; quit;

/* MERGE FACILITY AND LOADINGS TO CREATE THREE FILES.

1. INDIRECT DISCHARGERS 2. DIRECT DISCHARGERS 3. FACILITIES WITH NO REACH INFORMATION ( REACHNMB)

*/

data facs; set mpm2. fac_ info; run;

proc sort data= facs; by siteid; quit;

data facs2; merge facs loads( keep = sitedest siteid casno base treat1 treat2 weights); by siteid;

if casno ^= ' 62533' and casno ^= ' 62759' and casno ^= ' 75003' and casno ^= ' 78591' and casno ^= ' 79016' and casno ^= ' 86306' and casno ^= ' 123911' then delete; run;

proc sql; create table datas as select siteid, reachnmb, facs2. casno, case when sitedest = ' I' then base*( 1( potw_ rem/ 100)) else base end as base, 98 case when sitedest = ' I' then treat1*( 1( potw_ rem/ 100)) else treat1 end as treat1, case when sitedest = ' I' then treat2*( 1( potw_ rem/ 100)) else treat2 end as treat2,( biodegre/ 24) as decay, weights as weight from facs2, mpm2. chemdata, mpm2. twf_ remr where facs2. casno = chemdata. casno and reachnmb ^= . and facs2. casno = twf_ remr. cas; quit;

data rundat. Brad_ pf; set datas; label siteid = ' Facility Identification Number' reachnmb = ' Reach RF1 Identifier' casno = ' Chemical Abstract Number' base = ' Baseline Chemical Loadings in kg/ day' treat1 = ' Preferred Option Chemical Loadings in kg/ day' treat2 = ' EMPTY PLACE HOLDER  NOT VALID DATA' decay = ' Decay Rate in 1/ hour' weight = ' Sample Weight'; run;

/* End Data for Brad Preferred. sas */ 99 Water Quality Modeling Pollutant in stream concentrations on RF1 reaches containing drinking water intakes downstream from MP& M facilities and POTWs are estimated for six carcinogens not covered by EPA drinking water criteria. The water quality model used is the Risk Screening Environmental Indicators developed for the EPA OPPT ( See DCN 37554). 100 " Drinking Water Cancer ( Sub 6). sas" Data from the water quality modeling is used to estimate cancer risk from drinking water employing reference doses for the six carcinogens. Reduced cancer risk is then applied to the exposed populations and the reduction in cancer cases is determined along with a monetary value. 101 /* Program: Drinking Water Cancer Revised ( Sub 6). sas Authors: Abt Associates Inc.; Rob Sartain, Elena Besedin, Stuart Smith Date: 04/ 21/ 2000 Updated: 01/ 10/ 2003 This program calculates cancer incidents due to drinking water consumption by exposed populations. */

title2 ' Drinking Water Cancer ( Sub 6)';

/* Load concentration data from Brad's run. */

data canc; set rundat. bradout; if baseconc > 0; if intakect > 0;

keep onreach casno dwpop baseconc t1conc t2conc weight; run;

proc sort data= canc; by onreach casno weight; quit;

/* BRING IN SLOPE FACTOR, REFERENCE DOSE, AND BIOCONCENTRATION FROM CHEMDATA */

proc sql;

create table canc1 as select onreach as reachnmb, canc. casno, sum( baseconc) as base, sum( t1conc) as treat1, sum( t2conc) as treat2, avg( dwpop) as pop, avg( slope_ fa) as sf, avg( referenc) as rfd, weight as smplwt from canc, mpm2. chemdata where canc. casno = chemdata. casno and slope_ fa is not missing group by onreach, canc. casno, weight order by reachnmb, canc. casno, smplwt; quit;

/* ESTIMATE CANCER EQUATIONS AND CALCULATE CANCER CASES DUE TO DRINKING WATER CONSUMPTION */

data canc2; set canc1; if sf; if smplwt > 1000 then delete; /* Drop obs with extreme sample weights */ if casno = ' 79016' then delete; /* Has DW criterion, so don't model */

/* DEFINE CONSTANTS */

cf1 = 0.001; /* conversion milligrams per microgram */ cf2 = 365; /* conversion: day per year */ cr = 1.24; /* consumption rate: liters of water per day */ ef = 350; /* exposure frequency: 350 days per year */ 102 ed = 70; /* exposure duration: 70 years */ bw = 70; /* body weight: 70 kg */ lt = 70; /* lifetime: 70 years */

/* CALCULATE CANCER RISK */

/* base values */ brisk = (( base * cf1 * cr * ef * ed) / ( bw * lt * cf2)) * sf;

/* treatment values */ risk1 = (( treat1 * cf1 * cr * ef * ed) / ( bw * lt * cf2)) * sf;

risk2 = (( treat2 * cf1 * cr * ef * ed) / ( bw * lt * cf2)) * sf; run;

/* Sum up the risks over the pollutants by reach. Keep the reach statictics */ proc sql;

create table sumrsk as select reachnmb, sum( brisk) as rsk_ b , sum( risk1) as rsk_ 1, sum( risk2) as rsk_ 2 from canc2 group by reachnmb order by reachnmb;

/* Print out average lifetime risk */ proc means data= sumrsk; title3 ' Average Lifetime Cancer Risk'; quit;

data canc2a; merge canc2 sumrsk; by reachnmb;

lt = 70; /* lifetime */

/* calc cancer cases */ canc_ b = ( brisk * pop) / lt; canc_ 1 = ( risk1 * pop) / lt; canc_ 2 = ( risk2 * pop) / lt;

totpop = pop;

format brisk risk1 risk2 e12.;

label canc_ b = ' Cancer cases ( BL)' canc_ 1 = ' Cancer cases ( Opt 1)' canc_ 2 = ' Cancer cases ( Opt 2)' totpop = ' Total Exposed Population';

if canc_ b > 0.65 then delete; /* Drop unreasonably large cancer cases ( outliers) */ 103 run;

/* Determine the exposed population and sample weight */

proc sql;

create table smplpop as select reachnmb, avg( totpop) as pop, avg( smplwt) as samplwt from canc2a group by reachnmb order by reachnmb; quit;

proc means data= canc2a sum; var canc_ b canc_ 1 canc_ 2; title3 ' SAMPLE Cancer estimates'; quit;

proc means data= smplpop sum; var pop; title3 ' SAMPLE Cancer Exposed Population'; quit;

proc means data= canc2a sum; weight smplwt; var canc_ b canc_ 1 canc_ 2; title3 ' NATIONAL Cancer estimates'; quit;

proc means data= smplpop sum; weight samplwt; var pop; title3 ' National Cancer Exposed Population'; quit;

/* Calculate decrease in cancer cases under the options and the monetized benefit based on the value of a statistical life ( in $ 2001)

lower $ 2.6 mln  No longer used upper $ 13.6 mln  No longer used mid $ 6.5 mln*/

data cancdiff; set canc2a;

diff1 = canc_ b  canc_ 1; diff2 = canc_ b  canc_ 2;

b1_ lw = diff1* 2500000; b1_ hg = diff1* 13600000; mid1 = diff1* 6500000;

b2_ lw = diff2* 2500000; b2_ hg = diff2* 13600000; mid2 = diff2* 6500000; 104 run;

proc means sum; var diff1 diff2 b1_ lw b1_ hg b2_ lw b2_ hg mid1 mid2; title3 ' Sample Monetized Benefits'; label b1_ lw = ' Benefits  Low ( Opt 1)' b1_ hg = ' Benefits  High ( Opt 1)' b2_ lw = ' Benefits  Low ( Opt 2)' b2_ hg = ' Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; quit;

proc means sum; weight smplwt; var diff1 diff2 b1_ lw b1_ hg b2_ lw b2_ hg mid1 mid2; title3 ' National Monetized Benefits'; label b1_ lw = ' Benefits  Low ( Opt 1)' b1_ hg = ' Benefits  High ( Opt 1)' b2_ lw = ' Benefits  Low ( Opt 2)' b2_ hg = ' Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; quit;

proc sort; by casno; quit;

proc means sum; by casno; var diff1 diff2 b1_ lw b1_ hg b2_ lw b2_ hg mid1 mid2; title3 ' Sample Monetized Benefits'; label b1_ lw = ' Benefits  Low ( Opt 1)' b1_ hg = ' Benefits  High ( Opt 1)' b2_ lw = ' Benefits  Low ( Opt 2)' b2_ hg = ' Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; quit;

proc means sum; weight smplwt; by casno; var diff1 diff2 b1_ lw b1_ hg b2_ lw b2_ hg mid1 mid2; title3 ' National Monetized Benefits'; label b1_ lw = ' Benefits  Low ( Opt 1)' b1_ hg = ' Benefits  High ( Opt 1)' b2_ lw = ' Benefits  Low ( Opt 2)' b2_ hg = ' Benefits  High ( Opt 2)' mid1 = ' Mid Benefits ( Opt1)' mid2 = ' Mid Benefits ( Opt2)'; quit;

proc sql; 105 create table bychems as select casno, sum( diff1) as diff1a, sum( diff2) as diff2a, sum( b1_ lw) as ben1low, sum( b1_ hg) as ben1hg, sum( b2_ lw) as ben2low, sum( b2_ hg) as ben2hg, sum( mid1) as midpt1, sum( mid2) as midpt2 from cancdiff group by casno order by casno;

create table bychemn as select casno, sum( diff1* smplwt) as diff1a, sum( diff2* smplwt) as diff2a, sum( b1_ lw* smplwt) as ben1low, sum( b1_ hg* smplwt) as ben1hg, sum( b2_ lw* smplwt) as ben2low, sum( b2_ hg* smplwt) as ben2hg, sum( mid1* smplwt) as midpt1, sum( mid2* smplwt) as midpt2 from cancdiff group by casno order by casno; quit;

proc print data= bychems; label diff1a = ' Saved Cases ( opt1)' diff2a = ' Saved Cases ( opt2)' ben1low = ' Total Benefits  Low ( opt1)' ben1hg = ' Total Benefits  High ( opt1)' ben2low = ' Total Benefits  Low ( opt2)' ben2hg = ' Total Benefits  High ( opt2)' midpt1 = ' Midpoint Benefits ( opt1)' midpt2 = ' Midpoint Benefits ( opt2)'; title3 ' Sample by Chemical Casno'; quit;

proc print data= bychemn; label diff1a = ' Saved Cases ( opt1)' diff2a = ' Saved Cases ( opt2)' ben1low = ' Total Benefits  Low ( opt1)' ben1hg = ' Total Benefits  High ( opt1)' ben2low = ' Total Benefits  Low ( opt2)' ben2hg = ' Total Benefits  High ( opt2)' midpt1 = ' Midpoint Benefits ( opt1)' midpt2 = ' Midpoint Benefits ( opt2)'; title3 ' National by Chemical Casno'; quit;

/* End Drinking Water Cancer ( Sub 6). sas */ 106 Program Output: Traditional Extrapolation 107 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 34 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 Average Lifetime Cancer Risk The MEANS Procedure Variable N Mean Std Dev Minimum Maximum                                                                                reachnmb 38 6057476142 4302788226 2050107010 18070105001 rsk_ b 38 9.065142E 11 4.485846E 10 5.344196E 22 2.7381714E 9 rsk_ 1 38 9.063968E 11 4.48551E 10 5.343966E 22 2.7379907E 9 rsk_ 2 38 0 0 0 0                                                                                MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 37 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 NATIONAL Cancer estimates The MEANS Procedure Variable Label Sum                                                  canc_ b Cancer cases ( BL) 5.7480886E 6 canc_ 1 Cancer cases ( Opt 1) 5.7465428E 6 canc_ 2 Cancer cases ( Opt 2) 0                                                  MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 38 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 National Cancer Exposed Population The MEANS Procedure Analysis Variable : pop Sum              120643895              MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 40 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 National Monetized Benefits The MEANS Procedure Variable Label Sum                                                     diff1 1.5458453E 9 diff2 5.7480886E 6 b1_ lw Benefits  Low ( Opt 1) 0.0038646 b1_ hg Benefits  High ( Opt 1) 0.0210235 b2_ lw Benefits  Low ( Opt 2) 14.3702215 b2_ hg Benefits  High ( Opt 2) 78.1740052 mid1 Mid Benefits ( Opt1) 0.0100480 mid2 Mid Benefits ( Opt2) 37.3625760 108                                                     MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 43 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 National Monetized Benefits  CASNO= 123911

The MEANS Procedure Variable Label Sum                                                     diff1 1.0666704E 9 diff2 1.316445E 9 b1_ lw Benefits  Low ( Opt 1) 0.0026667 b1_ hg Benefits  High ( Opt 1) 0.0145067 b2_ lw Benefits  Low ( Opt 2) 0.0032911 b2_ hg Benefits  High ( Opt 2) 0.0179037 mid1 Mid Benefits ( Opt1) 0.0069334 mid2 Mid Benefits ( Opt2) 0.0085569                                                      CASNO= 62533

Variable Label Sum                                                     diff1 6.62521E 11 diff2 1.283883E 10 b1_ lw Benefits  Low ( Opt 1) 0.000165630 b1_ hg Benefits  High ( Opt 1) 0.000901029 b2_ lw Benefits  Low ( Opt 2) 0.000320971 b2_ hg Benefits  High ( Opt 2) 0.0017461 mid1 Mid Benefits ( Opt1) 0.000430639 mid2 Mid Benefits ( Opt2) 0.000834524                                                      CASNO= 62759

Variable Label Sum                                                     diff1 0 diff2 5.7462073E 6 b1_ lw Benefits  Low ( Opt 1) 0 b1_ hg Benefits  High ( Opt 1) 0 b2_ lw Benefits  Low ( Opt 2) 14.3655182 b2_ hg Benefits  High ( Opt 2) 78.1484188 mid1 Mid Benefits ( Opt1) 0 mid2 Mid Benefits ( Opt2) 37.3503472                                                      CASNO= 75003  109 Variable Label Sum                                                     diff1 1.865634E 10 diff2 1.943843E 10 b1_ lw Benefits  Low ( Opt 1) 0.000466409 b1_ hg Benefits  High ( Opt 1) 0.0025373 b2_ lw Benefits  Low ( Opt 2) 0.000485961 b2_ hg Benefits  High ( Opt 2) 0.0026436 mid1 Mid Benefits ( Opt1) 0.0012127 mid2 Mid Benefits ( Opt2) 0.0012635                                                     MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 44 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 National Monetized Benefits  CASNO= 78591

The MEANS Procedure Variable Label Sum                                                     diff1 1.883605E 11 diff2 2.139805E 11 b1_ lw Benefits  Low ( Opt 1) 0.000047090 b1_ hg Benefits  High ( Opt 1) 0.000256170 b2_ lw Benefits  Low ( Opt 2) 0.000053495 b2_ hg Benefits  High ( Opt 2) 0.000291014 mid1 Mid Benefits ( Opt1) 0.000122434 mid2 Mid Benefits ( Opt2) 0.000139087                                                      CASNO= 86306

Variable Label Sum                                                     diff1 2.075234E 10 diff2 2.207379E 10 b1_ lw Benefits  Low ( Opt 1) 0.000518808 b1_ hg Benefits  High ( Opt 1) 0.0028223 b2_ lw Benefits  Low ( Opt 2) 0.000551845 b2_ hg Benefits  High ( Opt 2) 0.0030020 mid1 Mid Benefits ( Opt1) 0.0013489 mid2 Mid Benefits ( Opt2) 0.0014348                                                     MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 46 Drinking Water Cancer ( Sub 6) 16: 38 Thursday, January 30, 2003 National by Chemical Casno Obs CASNO diff1a diff2a ben1low ben1hg ben2low ben2hg midpt1 midpt2 110 1 123911 1.06667E 9 .000000001 .002666676 0.014507 0.0033 0.0179 .006933358 0.0086 2 62533 6.6252E 11 1.2839E 10 .000165630 0.000901 0.0003 0.0017 .000430639 0.0008 3 62759 0 .000005746 0 0.000000 14.3655 78.1484 0 37.3503 4 75003 1.8656E 10 1.9438E 10 .000466409 0.002537 0.0005 0.0026 .001212662 0.0013 5 78591 1.8836E 11 2.1398E 11 .000047090 0.000256 0.0001 0.0003 .000122434 0.0001 6 86306 2.0752E 10 2.2074E 10 .000518808 0.002822 0.0006 0.0030 .001348902 0.0014 111 Program Output: Post Stratification Extrapolation 112 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 34 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 Average Lifetime Cancer Risk The MEANS Procedure Variable N Mean Std Dev Minimum Maximum                                                                                reachnmb 38 6057476142 4302788226 2050107010 18070105001 rsk_ b 38 9.065142E 11 4.485846E 10 5.344196E 22 2.7381714E 9 rsk_ 1 38 9.063968E 11 4.48551E 10 5.343966E 22 2.7379907E 9 rsk_ 2 38 0 0 0 0                                                                                MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 37 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 NATIONAL Cancer estimates The MEANS Procedure Variable Label Sum                                                  canc_ b Cancer cases ( BL) 0.000011849 canc_ 1 Cancer cases ( Opt 1) 0.000011846 canc_ 2 Cancer cases ( Opt 2) 0                                                  MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 38 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 National Cancer Exposed Population The MEANS Procedure Analysis Variable : pop Sum              94548805.83              MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 40 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 National Monetized Benefits The MEANS Procedure Variable Label Sum                                                     diff1 2.5233566E 9 diff2 0.000011849 b1_ lw Benefits  Low ( Opt 1) 0.0063084 b1_ hg Benefits  High ( Opt 1) 0.0343177 b2_ lw Benefits  Low ( Opt 2) 29.6215144 b2_ hg Benefits  High ( Opt 2) 161.1410385 mid1 Mid Benefits ( Opt1) 0.0164018 mid2 Mid Benefits ( Opt2) 77.0159375 113                                                     MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 43 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 National Monetized Benefits  CASNO= 123911

The MEANS Procedure Variable Label Sum                                                     diff1 1.6889502E 9 diff2 2.3797521E 9 b1_ lw Benefits  Low ( Opt 1) 0.0042224 b1_ hg Benefits  High ( Opt 1) 0.0229697 b2_ lw Benefits  Low ( Opt 2) 0.0059494 b2_ hg Benefits  High ( Opt 2) 0.0323646 mid1 Mid Benefits ( Opt1) 0.0109782 mid2 Mid Benefits ( Opt2) 0.0154684                                                      CASNO= 62533

Variable Label Sum                                                     diff1 9.282959E 11 diff2 2.646952E 10 b1_ lw Benefits  Low ( Opt 1) 0.000232074 b1_ hg Benefits  High ( Opt 1) 0.0012625 b2_ lw Benefits  Low ( Opt 2) 0.000661738 b2_ hg Benefits  High ( Opt 2) 0.0035999 mid1 Mid Benefits ( Opt1) 0.000603392 mid2 Mid Benefits ( Opt2) 0.0017205                                                      CASNO= 62759

Variable Label Sum                                                     diff1 0 diff2 0.000011845 b1_ lw Benefits  Low ( Opt 1) 0 b1_ hg Benefits  High ( Opt 1) 0 b2_ lw Benefits  Low ( Opt 2) 29.6128862 b2_ hg Benefits  High ( Opt 2) 161.0941009 mid1 Mid Benefits ( Opt1) 0 mid2 Mid Benefits ( Opt2) 76.9935041                                                      CASNO= 75003  114 Variable Label Sum                                                     diff1 2.860082E 10 diff2 3.076403E 10 b1_ lw Benefits  Low ( Opt 1) 0.000715020 b1_ hg Benefits  High ( Opt 1) 0.0038897 b2_ lw Benefits  Low ( Opt 2) 0.000769101 b2_ hg Benefits  High ( Opt 2) 0.0041839 mid1 Mid Benefits ( Opt1) 0.0018591 mid2 Mid Benefits ( Opt2) 0.0019997                                                     MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 44 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 National Monetized Benefits  CASNO= 78591

The MEANS Procedure Variable Label Sum                                                     diff1 3.702949E 11 diff2 4.411586E 11 b1_ lw Benefits  Low ( Opt 1) 0.000092574 b1_ hg Benefits  High ( Opt 1) 0.000503601 b2_ lw Benefits  Low ( Opt 2) 0.000110290 b2_ hg Benefits  High ( Opt 2) 0.000599976 mid1 Mid Benefits ( Opt1) 0.000240692 mid2 Mid Benefits ( Opt2) 0.000286753                                                      CASNO= 86306

Variable Label Sum                                                     diff1 4.185392E 10 diff2 4.5509E 10 b1_ lw Benefits  Low ( Opt 1) 0.0010463 b1_ hg Benefits  High ( Opt 1) 0.0056921 b2_ lw Benefits  Low ( Opt 2) 0.0011377 b2_ hg Benefits  High ( Opt 2) 0.0061892 mid1 Mid Benefits ( Opt1) 0.0027205 mid2 Mid Benefits ( Opt2) 0.0029581                                                     MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 46 Drinking Water Cancer ( Sub 6) 17: 36 Thursday, January 30, 2003 National by Chemical Casno Obs CASNO diff1a diff2a ben1low ben1hg ben2low ben2hg midpt1 midpt2 115 1 123911 1.68895E 9 .000000002 .004222375 0.022970 0.0059 0.032 0.010978 0.0155 2 62533 9.283E 11 2.647E 10 .000232074 0.001262 0.0007 0.004 0.000603 0.0017 3 62759 0 .000011845 0 0.000000 29.6129 161.094 0.000000 76.9935 4 75003 2.8601E 10 3.0764E 10 .000715020 0.003890 0.0008 0.004 0.001859 0.0020 5 78591 3.7029E 11 4.4116E 11 .000092574 0.000504 0.0001 0.001 0.000241 0.0003 6 86306 4.1854E 10 4.5509E 10 .001046348 0.005692 0.0011 0.006 0.002721 0.0030 116 Systemic Risk from Fish Consumption 117 " Generate Discharge Events ( Sub1). sas" Generates a data set of pollutant loading events and their corresponding weights for each RF1 reach receiving MP& M discharges. See Estimating MP& M Discharge Loadings for program code. 118 " Human Health AWQC Exceedences ( Sub 2). sas" Calculates in stream pollutant concentrations and generates a data set of pollutant concentrations for each RF1 reach. See Cancer from Fish Consumption for program code and output. 119 " Systemic Cancer ( Sub 5). sas" Uses the data set of pollutant concentrations for each RF1 reach with pollutant specific reference doses to determine systemic risk. The overall hazard ratio for each RF1 reach is then estimated. 120 /* Program: Systemic Cancer ( Sub 5). sas Authors: Abt Associates, Inc.; Rob Sartain, Elena Besedin, Stuart Smith Date: 04/ 21/ 2000 Updated: 11/ 08/ 2002 This program calculates systemic hazard scores for fish consumption. */

title2 ' Systemic Cancer ( Sub 5)';

/* COUNTY LEVEL FISHING LICENSE DATA */

/* Load fishing license data here. Sum over the types by county. Sum over the counties containing a given reach.

Final data set contains reaches with the total possible number of affected anglers. This number will be multiplied by the ratio of reach length to total reach miles in affected counties to obtain an estimate of the number of affected anglers. */

data licens; set mpm2. fish_ lic;

fw_ lic = sum( fw_ res, fw_ reso, fw_ sres, fw_ smres, fw_ dres, trout, fw_ life, fw_ hunt1, fw_ 2hunt, fw_ hunts, fw_ hunt2, fw_ salt1, fw_ trout); sw_ lic = sum( fw_ salt1, sw_ res, sw_ dres);

if fw_ lic=. then fw_ lic= 0; if sw_ lic=. then sw_ lic= 0; cntyfip = fips;

keep cntyfip fw_ lic sw_ lic; run;

proc sort nodupkey data= licens; by cntyfip; quit;

/* DETERMINE COUNTIES AFFECTED BY REACH */ data facs; set mpm2. fac_ info; run;

proc sort data= facs; by siteid; quit;

data cnty; set facs;

cntyfip1= stco1; cntyfip2= stco2; cntyfip3= stco3; cntyfip4= stco4; cntyfip5= stco5; cntyfip6= stco6; cntyfip7= stco7; cntyfip8= stco8;

keep reachnmb cntyfip1 cntyfip8; run; 121 proc sort nodupkey data= cnty; by reachnmb; quit;

proc transpose data= cnty out= cnty2; by reachnmb; var cntyfip1 cntyfip8; quit;

data cnty3; set cnty2; cntyfip = col1/ 1; if cntyfip=. then delete; keep reachnmb cntyfip; run;

proc sort data= cnty3; by cntyfip; quit;

/* OBTAIN REACH MILES BY COUNTY */

data rchmile; set mpm2. us_ rchmi; cntyfip= fips; keep countymi cntyfip; run;

proc sort data= rchmile; by cntyfip;

/* PULL TOGETHER OUR REACHES WITH ASSOCIATED COUNTIES */

data tot_ mile; merge cnty3 rchmile; by cntyfip;

if reachnmb=. then delete; run;

proc sort data= tot_ mile; by reachnmb cntyfip; quit;

/* SUM REACH MILES OVER COUNTIES CONTAINING THE SAME REACH FINISHED DATA SET CONTAINS TOTAL NUMBER OF REACH MILES IN COUNTIES CONTAINING A GIVEN REACH. BRING IN THE FISHING LICNESE DATA BY COUNTY. */

proc sql;

create table miles as select tot_ mile. reachnmb, sum( countymi) as denom, min( segl) as leng, sum( fw_ lic) as fwlictot, sum( sw_ lic) as swlictot from tot_ mile, facs, licens where tot_ mile. reachnmb = facs. reachnmb and tot_ mile. cntyfip = licens. cntyfip group by tot_ mile. reachnmb order by tot_ mile. reachnmb; quit; 122 proc sort data= miles; by reachnmb; quit;

/* Merge in Fishing Advisory Data with County mile data */ proc sort data= mpm2. fishadv1; by reachnmb; quit;

data miles2; merge miles mpm2. fishadv1; by reachnmb;

/* Hard Wire Statewide Advisories */ if st = ' MI' or st = ' NJ' or st = ' RI' or st = ' MS' then advisory = ' yes';

/* Multiplier for 20% reduction in fishermen due to advisory */ if advisory = ' yes' or advisory = ' A yes' then advmult = 0.80; else advmult = 1.00; run;

/* ESTIMATE SPORT AND SUBSISTANCE FISHING POPULATIONS */

data pops; set miles2; by reachnmb; if first. reachnmb;

if leng=. then fwspt = fwlictot* 0.06* 2.62* advmult; else fwspt = fwlictot*( leng/ denom)* 2.62* advmult; fwsub = 0.05* fwspt;

if leng=. then swspt = swlictot* 0.06* 2.62* advmult; else swspt = swlictot*( leng/ denom)* 2.62* advmult; swsub = 0.05* swspt;

fwsptpop = round( fwspt); fwsubpop = round( fwsub); swsptpop = round( swspt); swsubpop = round( swsub);

keep reachnmb fwsptpop fwsubpop swsptpop swsubpop; run;

proc sort data= pops; by reachnmb; quit; proc sort data= rundat. cnc_ hh; by reachnmb; quit;

/* MERGE CONCENTRATION DATA BY REACH WITH THE NUMBER OF SPORT AND SUBSISTENCE ANGLERS */

data canc; merge rundat. cnc_ hh pops; by reachnmb;

if cnc_ base = . or cnc_ base = 0 then delete; if fwsptpop=. then delete; run; 123 proc sort data= canc; by reachnmb casno event_ wt; quit;

/* BRING IN SLOPE FACTOR, REFERENCE DOSE, AND BIOCONCENTRATION FROM CHEMDATA */

proc sql;

create table canc1 as select reachnmb, canc. casno, cnc_ base as base, cnc_ trt1 as treat1, cnc_ trt2 as treat2, fwsptpop, fwsubpop, swsptpop, swsubpop, slope_ fa as sf, referenc as rfd, bioconce as bcfval, event_ wt as weight, liver, kidney, eyes, gastro, bodywght, central, mort, other from canc, mpm2. chemdata where canc. casno = chemdata. casno order by reachnmb, canc. casno, weight; quit;

/* ESTIMATE SYSTEMIC EQUATIONS AND CALCULATE CANCER RISK DUE TO FISH CONSUMPTION */

data canc2; set canc1; if bcfval and rfd;

/* DEFINE CONSTANTS */

cf1 = 0.001; /* conversion milligrams per microgram */ cf2 = 365; /* conversion 365 days per year */ cr1 = 0.007; /* consumption rate 1 child : 7.27 ( rec.) grams/ day*/ cr2 = 0.017; /* consumption rate 2 adult: 17.5 ( rec.) grams/ day */ cr3 = 0.061; /* consumption rate 3 child: 60.58 ( sub.) grams/ day*/ cr4 = 0.142; /* consumption rate 4 adult: 142.4 ( sub.) grams/ day*/ ef = 365; /* exposure frequency: 365 days per year */ ed1 = 18; /* exposure duration 1 child: 18 years ( rec.) */ ed2 = 52; /* exposure duration 2 adult: 52 years ( rec.) */ ed3 = 18; /* exposure duration 3 child: 18 years ( sub.) */ ed4 = 52; /* exposure duration 4 adult: 52 years ( sub.) */ bw1 = 30; /* body weight 1 child: 30 kg */ bw2 = 70; /* body weight 2 adult: 70 kg */ lt = 70; /* lifetime: 70 years */

/* CALCULATE SYSTEMIC EFFECTS */

/* base values */ bsptrisk = ((( base * cf1 * cr1 * bcfval * ef * ed1) / ( bw1 * lt * cf2)) + (( base * cf1 * cr2 * bcfval * ef * ed2) / ( bw2 * lt * cf2))) / rfd;

bsubrisk = ((( base * cf1 * cr3 * bcfval * ef * ed3) / ( bw1 * lt * cf2)) + (( base * cf1 * cr4 * bcfval * ef * ed4) / ( bw2 * lt * cf2))) / rfd;

/* treatment values */ sptrisk1 = ((( treat1 * cf1 * cr1 * bcfval * ef * ed1) / ( bw1 * lt * cf2)) + 124 (( treat1 * cf1 * cr2 * bcfval * ef * ed2) / ( bw2 * lt * cf2))) / rfd;

subrisk1 = ((( treat1 * cf1 * cr3 * bcfval * ef * ed3) / ( bw1 * lt * cf2)) + (( treat1 * cf1 * cr4 * bcfval * ef * ed4) / ( bw2 * lt * cf2))) / rfd;

sptrisk2 = ((( treat2 * cf1 * cr1 * bcfval * ef * ed1) / ( bw1 * lt * cf2)) + (( treat2 * cf1 * cr2 * bcfval * ef * ed2) / ( bw2 * lt * cf2))) / rfd;

subrisk2 = ((( treat2 * cf1 * cr3 * bcfval * ef * ed3) / ( bw1 * lt * cf2)) + (( treat2 * cf1 * cr4 * bcfval * ef * ed4) / ( bw2 * lt * cf2))) / rfd;

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

format bsptrisk bsubrisk sptrisk1 subrisk1 sptrisk2 subrisk2 e12.; run;

data rundat. hz_ chem; set canc2; run;

data canc3; set canc2;

type1 = " Liver"; type2=" Kidney"; type3=" Eyes"; type4=" Gastrointenstinal"; type5=" Body weight"; type6=" Central Nervous System"; type7=" Mortality"; type8=" Other Systemic health";

array cats[ 8] liver kidney eyes gastro bodywght central mort other; array cat_ text[ 8] type1 type2 type3 type4 type5 type6 type7 type8;

do i = 1 to 8; spthaz_ b = bsptrisk* cats[ i]; subhaz_ b = bsubrisk* cats[ i]; spthaz_ 1 = sptrisk1* cats[ i]; subhaz_ 1 = subrisk1* cats[ i]; spthaz_ 2 = sptrisk2* cats[ i]; subhaz_ 2 = subrisk2* cats[ i]; hlth_ cat = cat_ text[ i]; output; end; run;

/* sum hazard scores by reach and event_ wt*/

proc sql;

create table hazard_ a as select reachnmb, min( sptpop) as sptpopl, min( subpop) as subpopl, weight as wght, hlth_ cat, sum( spthaz_ b) as spthaz_ b, sum( subhaz_ b) as subhaz_ b, sum( spthaz_ 1) as spthaz_ 1, sum( subhaz_ 1) as subhaz_ 1, sum( spthaz_ 2) as spthaz_ 2, sum( subhaz_ 2) as subhaz_ 2 125 from canc3 group by reachnmb, weight, hlth_ cat order by reachnmb, wght, hlth_ cat;

create table hazard as select reachnmb, min( sptpopl) as sptpopl, min( subpopl) as subpopl, wght, max( spthaz_ b) as spthaz_ b, max( subhaz_ b) as subhaz_ b, max( spthaz_ 1) as spthaz_ 1, max( subhaz_ 1) as subhaz_ 1, max( spthaz_ 2) as spthaz_ 2, max( subhaz_ 2) as subhaz_ 2 from hazard_ a group by reachnmb, wght order by reachnmb, wght; quit;

data haz1; set hazard; format spthaz_ b subhaz_ b spthaz_ 1 subhaz_ 1 spthaz_ 2 subhaz_ 2 e12.; run;

/* Keep hazard ratios */ data rundat. hazrats; set haz1; run;

data overb; set haz1;

if spthaz_ b> 1 then sptb = 1; else sptb= 0; if subhaz_ b> 1 then subb = 1; else subb= 0; if spthaz_ 1> 1 then spt1 = 1; else spt1= 0; if subhaz_ 1> 1 then sub1 = 1; else sub1= 0; if spthaz_ 2> 1 then spt2 = 1; else spt2= 0; if subhaz_ 2> 1 then sub2 = 1; else sub2= 0; run;

proc means sum data= overb; var sptb subb spt1 sub1 spt2 sub2; title3 ' Sample Number of Reaches with Ratios > 1'; label sptb = ' Sport ( BL)' subb = ' Subsistence ( BL)' spt1 = ' Sport ( Opt 1)' sub1 = ' Subsistence ( Opt 1)' spt2 = ' Sport ( Opt 2)' sub2 = ' Subsistence ( Opt 2)'; quit;

proc means sum data= overb; weight wght; var sptb subb spt1 sub1 spt2 sub2; title3 ' National Number of Reaches with Ratios > 1'; label 126 sptb = ' Sport ( BL)' subb = ' Subsistence ( BL)' spt1 = ' Sport ( Opt 1)' sub1 = ' Subsistence ( Opt 1)' spt2 = ' Sport ( Opt 2)' sub2 = ' Subsistence ( Opt 2)'; quit;

proc sql; create table sportpop as select distinct reachnmb, sptpopl, wght from overb where sptb >= 1;

create table subpop as select distinct reachnmb, subpopl, wght from overb where subb >= 1; quit;

proc means sum data= sportpop; var sptpopl; title3 ' Exposed Sport Population'; title4 ' Sample'; quit;

proc means sum data= sportpop; weight wght; var sptpopl; title3 ' Exposed Sport Population'; title4 ' National'; quit;

proc means sum data= subpop; var subpopl; title3 ' Exposed Subsistence Population'; title4 ' Sample'; quit;

proc means sum data= subpop; weight wght; var subpopl; title3 ' Exposed Subsistence Population'; title4 ' National'; quit;

/* End Systemic Cancer ( Sub 5). sas */ 127 Program Output: Traditional Extrapolation 128 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 33 Systemic Cancer ( Sub 5) 16: 38 Thursday, January 30, 2003 National Number of Reaches with Ratios > 1 The MEANS Procedure Variable Label Sum                                                 sptb Sport ( BL) 0 subb Subsistence ( BL) 0 spt1 Sport ( Opt 1) 0 sub1 Subsistence ( Opt 1) 0 spt2 Sport ( Opt 2) 0 sub2 Subsistence ( Opt 2) 0                                                 129 Program Output: Post Stratification Extrapolation 130 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 33 Systemic Cancer ( Sub 5) 17: 36 Thursday, January 30, 2003 National Number of Reaches with Ratios > 1 The MEANS Procedure Variable Label Sum                                                 sptb Sport ( BL) 0 subb Subsistence ( BL) 0 spt1 Sport ( Opt 1) 0 sub1 Subsistence ( Opt 1) 0 spt2 Sport ( Opt 2) 0 sub2 Subsistence ( Opt 2) 0                                                 131 " Hazard ratio Tables. sas" Produces tables of populations exposed to varying levels of systemic health risk based on Fish Consumption and Drinking Water. 132 /* Program: Hazard Ratio Tables. sas Author: Stuart Smith Date: 06/ 26/ 2000 This program takes the hazard ratio output datasets and categorizes the ratios into ranges. The populations within these ranges are summed together and a final set containing the populations exposed to ratios within a given range are printed.

Hazard Ratio Range Value r = 0 1 0 < r <= 10 9 2 10 9 < r <= 10 8 3 10 8 < r <= 10 7 4 10 7 < r <= 10 6 5 10 6 < r <= 10 5 6 10 5 < r <= 10 4 7 10 4 < r <= 10 3 8 10 3 < r <= 10 2 9 10 2 < r <= 10 1 10 10 1 < r <= 1 11 r > 1 12 */

* Static Library; libname mpm2 ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Data\ SAS Sets for Analysis\';

* Run Specific Library; libname rundat ' H:\ ENVR\ Triton05 MP& M\ Benefits\ MP& M Phase 2 Analysis\ Data\ Runs\ td\ Prefered\';

title ' Fish Consumption Hazard Ratios'; data haz; set rundat. hazrats; run;

/* MACRO to assign a ratio to a range */ % macro asgnRng( ratio=, rnge=); if & ratio = 0 then & rnge= 1; if & ratio > 0 and & ratio <= 10** 9 then & rnge= 2; if & ratio > 10** 9 and & ratio <= 10** 8 then & rnge= 3; if & ratio > 10** 8 and & ratio <= 10** 7 then & rnge= 4; if & ratio > 10** 7 and & ratio <= 10** 6 then & rnge= 5; if & ratio > 10** 6 and & ratio <= 10** 5 then & rnge= 6; if & ratio > 10** 5 and & ratio <= 10** 4 then & rnge= 7; if & ratio > 10** 4 and & ratio <= 10** 3 then & rnge= 8; if & ratio > 10** 3 and & ratio <= 10** 2 then & rnge= 9; if & ratio > 10** 2 and & ratio <= 10** 1 then & rnge= 10; if & ratio > 10** 1 and & ratio <= 1 then & rnge= 11; if & ratio > 1 then & rnge= 12; % mend asgnRng;

/* MACRO to generate a summed set by a range variable */ % macro prcSum( theset=, thevar=, theout=, outvar=); proc sort data = & theset; by & thevar; 133 proc means noprint sum data= & theset; by & thevar; var pop; output out = & theout sum=& outvar; quit; data & theout; set & theout; rang = & thevar; keep rang & outvar; run; % mend prcSum;

/* Read in the hazard ratios and assign range values */ data all; set haz;

% asgnRng( ratio= spthaz_ b, rnge= sptb_ rng); % asgnRng( ratio= subhaz_ b, rnge= subb_ rng); % asgnRng( ratio= spthaz_ 1, rnge= spt1_ rng); % asgnRng( ratio= subhaz_ 1, rnge= sub1_ rng); % asgnRng( ratio= spthaz_ 2, rnge= spt2_ rng); % asgnRng( ratio= subhaz_ 2, rnge= sub2_ rng);

keep reachnmb sptpopl subpopl wght sptb_ rng subb_ rng spt1_ rng sub1_ rng spt2_ rng sub2_ rng;

run;

/* Pull the sport populations and ranges into a set */ data spt; set all;

pop = sptpopl; rng_ b = sptb_ rng; rng_ 1 = spt1_ rng; rng_ 2 = spt2_ rng; clas = ' sport';

keep pop rng_ b rng_ 1 rng_ 2 clas; run;

/* Pull the subsistence populations and ranges into a set */ data sub; set all;

pop = subpopl; rng_ b = subb_ rng; rng_ 1 = sub1_ rng; rng_ 2 = sub2_ rng; clas = ' subsis';

keep pop rng_ b rng_ 1 rng_ 2 clas; run;

/* Combine the sport and subsistence into one set, stacked */ 134 data both; set spt sub; run;

/***********************************************************/ /* Generate output datasets for combined sport and sub */ /* populations. Create set for base and selected option */ /* then combine into one set and print out. */ /***********************************************************/

/* Create the sets */ % prcSum( theset= both, thevar= rng_ b, theout= all_ b, outvar= pop_ b); % prcSum( theset= both, thevar= rng_ 1, theout= all_ 1, outvar= pop_ 1); % prcSum( theset= both, thevar= rng_ 2, theout= all_ 2, outvar= pop_ 2);

/* Merge them by range value */ data totrng; merge all_ b all_ 1 all_ 2; by rang;

if pop_ b=. then pop_ b= 0; if pop_ 1=. then pop_ 1= 0; if pop_ 2=. then pop_ 2= 0; run;

/* Print out the hazard table */ proc tabulate data= totrng; class rang; var pop_ b pop_ 1; table rang all, pop_ b pctsum* pop_ b=' '* all pop_ 1 pctsum* pop_ 1=' '* all; keylabel pctsum=' Percentage of Total'; label pop_ b = ' Population ( Base)' pop_ 1 = ' Population ( Pref)'; title2 ' Hazard Ratio Ranges and Populations'; title3 ' Combined Sport and Subsistence'; run;

/***********************************************************/ /* Generate output datasets for combined sport */ /* populations. Create set for base and selected option */ /* then combine into one set and print out. */ /***********************************************************/

/* Create the sets */ % prcSum( theset= spt, thevar= rng_ b, theout= spt_ b, outvar= pop_ b); % prcSum( theset= spt, thevar= rng_ 1, theout= spt_ 1, outvar= pop_ 1); % prcSum( theset= spt, thevar= rng_ 2, theout= spt_ 2, outvar= pop_ 2);

/* Merge them by range value */ data sptrng; merge spt_ b spt_ 1 spt_ 2; by rang; 135 if pop_ b=. then pop_ b= 0; if pop_ 1=. then pop_ 1= 0; if pop_ 2=. then pop_ 2= 0; run;

/* Print out the hazard table */ proc tabulate data= sptrng; class rang; var pop_ b pop_ 1; table rang all, pop_ b pctsum* pop_ b=' '* all pop_ 1 pctsum* pop_ 1=' '* all; keylabel pctsum=' Percentage of Total'; label pop_ b = ' Population ( Base)' pop_ 1 = ' Population ( Pref)'; title2 ' Hazard Ratio Ranges and Populations'; title3 ' Sport ONLY'; run;

/***********************************************************/ /* Generate output datasets for combined sport */ /* populations. Create set for base and selected option */ /* then combine into one set and print out. */ /***********************************************************/

/* Create the sets */ % prcSum( theset= sub, thevar= rng_ b, theout= sub_ b, outvar= pop_ b); % prcSum( theset= sub, thevar= rng_ 1, theout= sub_ 1, outvar= pop_ 1); % prcSum( theset= sub, thevar= rng_ 2, theout= sub_ 2, outvar= pop_ 2);

/* Merge them by range value */ data subrng; merge sub_ b sub_ 1 sub_ 2; by rang;

if pop_ b=. then pop_ b= 0; if pop_ 1=. then pop_ 1= 0; if pop_ 2=. then pop_ 2= 0; run;

/* Print out the hazard table */ proc tabulate data= subrng; class rang; var pop_ b pop_ 1; table rang all, pop_ b pctsum* pop_ b=' '* all pop_ 1 pctsum* pop_ 1=' '* all; keylabel pctsum=' Percentage of Total'; label pop_ b = ' Population ( Base)' pop_ 1 = ' Population ( Pref)'; title2 ' Hazard Ratio Ranges and Populations'; title3 ' Subsistence ONLY'; run;

/***************************************************/ 136 /* DRINKING WATER */ /***************************************************/

title ' Drinking Water Hazard Ratios'; data dw; set rundat. dwhazrat; run;

/* Read in the hazard ratios and assign range values */ data alldw; set dw;

% asgnRng( ratio= haz_ b, rnge= rng_ b); % asgnRng( ratio= haz_ 1, rnge= rng_ 1); % asgnRng( ratio= haz_ 2, rnge= rng_ 2);

keep reachnmb pop wght rng_ b rng_ 1 rng_ 2;

run;

/* Create the sets */ % prcSum( theset= alldw, thevar= rng_ b, theout= dw_ b, outvar= pop_ b); % prcSum( theset= alldw, thevar= rng_ 1, theout= dw_ 1, outvar= pop_ 1); % prcSum( theset= alldw, thevar= rng_ 2, theout= dw_ 2, outvar= pop_ 2);

/* Merge them by range value */ data totdw; merge dw_ b dw_ 1 dw_ 2; by rang;

if pop_ b=. then pop_ b= 0; if pop_ 1=. then pop_ 1= 0; if pop_ 2=. then pop_ 2= 0; run;

/* Print out the hazard table */ proc tabulate data= totdw; class rang; var pop_ b pop_ 1; table rang all, pop_ b pctsum* pop_ b=' '* all pop_ 1 pctsum* pop_ 1=' '* all; keylabel pctsum=' Percentage of Total'; label pop_ b = ' Population ( Base)' pop_ 1 = ' Population ( Pref)'; title2 ' Hazard Ratio Ranges and Populations'; title3 ' Drinking Water Based'; run;

/* End Hazard Ratio Tables. sas */ 137 Program Output 138 Fish Consumption Hazard Ratios 1 Hazard Ratio Ranges and Populations 09: 57 Friday, January 31, 2003 Combined Sport and Subsistence                                                                                *     Population   Percentage   Population   Percentage       ( Base)   of Total   ( Pref)   of Total     *              $              $              $                  Sum   All   Sum   All   *                        $              $              $              $                rang           *                                   1   0.00  0.00  122865.00  12.05  *                        $              $              $              $                2   13615.00  1.34  23196.00  2.28  *                        $              $              $              $                3   40363.00  3.96  18450.00  1.81  *                        $              $              $              $                4   32522.00  3.19  12084.00  1.19  *                        $              $              $              $                5   35314.00  3.46  49373.00  4.84  *                        $              $              $              $                6   101776.00  9.98  55568.00  5.45  *                        $              $              $              $                7   256700.00  25.18  209057.00  20.51  *                        $              $              $              $                8   321825.00  31.57  313497.00  30.76  *                        $              $              $              $                9   178380.00  17.50  177869.00  17.45  *                        $              $              $              $                10   37318.00  3.66  35924.00  3.52  *                        $              $              $              $                11   1503.00  0.15  1433.00  0.14  *                        $              $              $              $                All   1019316.00  100.00  1019316.00  100.00  S                                                                              ÿ Fish Consumption Hazard Ratios 2 Hazard Ratio Ranges and Populations 09: 57 Friday, January 31, 2003 Sport ONLY                                                                                *     Population   Percentage   Population   Percentage       ( Base)   of Total   ( Pref)   of Total     *              $              $              $                  Sum   All   Sum   All   *                        $              $              $              $                rang           *                                   1   0.00  0.00  117014.00  12.05  *                        $              $              $              $                2   12967.00  1.34  23196.00  2.39  *                        $              $              $              $                3   40363.00  4.16  17167.00  1.77  139 *                        $              $              $              $                4   30503.00  3.14  11348.00  1.17  *                        $              $              $              $                5   33789.00  3.48  48806.00  5.03  *                        $              $              $              $                6   100051.00  10.31  53092.00  5.47  *                        $              $              $              $                7   251139.00  25.87  205844.00  21.20  *                        $              $              $              $                8   309520.00  31.88  303259.00  31.24  *                        $              $              $              $                9   162382.00  16.73  162382.00  16.73  *                        $              $              $              $                10   30057.00  3.10  28663.00  2.95  *                        $              $              $              $                All   970771.00  100.00  970771.00  100.00  S                                                                              ÿ Fish Consumption Hazard Ratios 3 Hazard Ratio Ranges and Populations 09: 57 Friday, January 31, 2003 Subsistence ONLY                                                                                *     Population   Percentage   Population   Percentage       ( Base)   of Total   ( Pref)   of Total     *              $              $              $                  Sum   All   Sum   All   *                        $              $              $              $                rang           *                                   1   0.00  0.00  5851.00  12.05  *                        $              $              $              $                2   648.00  1.33  0.00  0.00  *                        $              $              $              $                3   0.00  0.00  1283.00  2.64  *                        $              $              $              $                4   2019.00  4.16  736.00  1.52  *                        $              $              $              $                5   1525.00  3.14  567.00  1.17  *                        $              $              $              $                6   1725.00  3.55  2476.00  5.10  *                        $              $              $              $                7   5561.00  11.46  3213.00  6.62  *                        $              $              $              $                8   12305.00  25.35  10238.00  21.09  *                        $              $              $              $                9   15998.00  32.95  15487.00  31.90  *                        $              $              $              $                10   7261.00  14.96  7261.00  14.96  *                        $              $              $              $                11   1503.00  3.10  1433.00  2.95  *                        $              $              $              $                All   48545.00  100.00  48545.00  100.00  S                                                                              ÿ 140 Drinking Water Hazard Ratios 4 Hazard Ratio Ranges and Populations 09: 57 Friday, January 31, 2003 Drinking Water Based                                                                                *     Population   Percentage   Population   Percentage       ( Base)   of Total   ( Pref)   of Total     *              $              $              $                  Sum   All   Sum   All   *                        $              $              $              $                rang           *                                   1   39822463.73  97.48  40723280.29  99.69  *                        $              $              $              $                2   1029333.23  2.52  128516.67  0.31  *                        $              $              $              $                All   40851796.96  100.00  40851796.96  100.00  S                                                                              ÿ 141 Systemic Risk from Drinking Water 142 " Data for Brad preferred. sas" Generates a data set of pollutant loadings discharged to RF1 reaches from direct dischargers and POTWs ( with removals) for the water quality modeling program. See Cancer from Drinking Water for program code. 143 Water Quality Modeling Pollutant in stream concentrations on RF1 reaches containing drinking water intakes downstream from MP& M facilities and POTWs are estimated for six carcinogens not covered by EPA drinking water criteria. The water quality model used is the Risk Screening Environmental Indicators developed for the EPA OPPT ( See DCN 37554). 144 " Systemic Cancer Assoc DW ( Sub 14). sas" Data from the water quality modeling is used to estimate systemic risk using pollutant specific reference doses. The overall hazard ratio for each RF1 reach is then estimated. 145 /* Program: Systemic Cancer Assoc DW ( Sub 14). sas Authors: Abt Associates Inc; Rob Sartain, Elena Besedin, Stuart Smith Date: 05/ 04/ 2000 Updated: 10/ 31/ 2002 This program calculates systemic hazard scores for drinking water consumption. Only reaches with intakes on them are evaluated. Downstream reaches are not included in the analysis. */

title2 ' Systemic Cancer Associated with DW ( Sub 14)';

/* Grab reach information from Brad's Output file */

data brad; set rundat. bradout; if intakect > 0;

keep reachnmb intakect casno baseconc t1conc t2conc weight dwpop siteid; run;

proc sort data= brad; by reachnmb casno; quit;

/* BRING IN SLOPE FACTOR, REFERENCE DOSE, AND BIOCONCENTRATION FROM CHEMDATA */

proc sql;

create table canc1 as select reachnmb, brad. casno, baseconc as base, t1conc as treat1, t2conc as treat2, dwpop, slope_ fa as sf, referenc as rfd, bioconce as bcfval, weight, liver, kidney, eyes, gastro, bodywght, central, mort, other from brad, mpm2. chemdata where brad. casno = chemdata. casno order by reachnmb, brad. casno, weight; quit;

/* ESTIMATE SYSTEMIC EQUATIONS AND CALCULATE CANCER RISK DUE TO FISH CONSUMPTION */

data canc2; set canc1; if rfd;

/* DEFINE CONSTANTS */

cf1 = 0.001; /* conversion milligrams per microgram */ cf2 = 365; /* conversion: day per year */ cr = 1.24; /* consumption rate: liters of water per day */ ef = 350; /* exposure frequency: 350 days per year */ ed = 70; /* exposure duration: 70 years */ bw = 70; /* body weight: 70 kg */ 146 lt = 70; /* lifetime: 70 years */

/* CALCULATE SYSTEMIC EFFECTS */

/* base values */ brisk = (( base * cf1 * cr * ef * ed) / ( bw * lt * cf2)) / rfd;

/* treatment values */ risk1 = (( treat1 * cf1 * cr * ef * ed) / ( bw * lt * cf2)) / rfd;

risk2 = (( treat2 * cf1 * cr * ef * ed) / ( bw * lt * cf2)) / rfd;

totpop = dwpop;

format brisk risk1 risk2 e12.; run;

data canc3; set canc2;

type1 = " Liver"; type2=" Kidney"; type3=" Eyes"; type4=" Gastrointenstinal"; type5=" Body weight"; type6=" Central Nervous System"; type7=" Mortality"; type8=" Other Systemic health";

array cats[ 8] liver kidney eyes gastro bodywght central mort other; array cat_ text[ 8] type1 type2 type3 type4 type5 type6 type7 type8;

do i = 1 to 8; hazdb = brisk* cats[ i]; hazd1 = risk1* cats[ i]; hazd2 = risk2* cats[ i]; hlth_ cat = cat_ text[ i]; output; end; run;

/* sum hazard scores by reach and event_ wt ( summing over all pollutants) */

proc sql;

create table hazard_ a as select reachnmb, avg( totpop) as pop, weight as wght, hlth_ cat, sum( hazdb) as haz_ b, sum( hazd1) as haz_ 1, sum( hazd2) as haz_ 2 from canc3 group by reachnmb, weight, hlth_ cat order by reachnmb, wght;

create table hazard as select reachnmb, min( pop) as pop, min( wght) as wght, max( haz_ b) as haz_ b, max( haz_ 1) as haz_ 1, max( haz_ 2) as haz_ 2 147 from hazard_ a group by reachnmb, wght order by reachnmb, wght; quit;

data haz1; set hazard; format haz_ b haz_ 1 haz_ 2 e12.; run;

/* Keep hazard ratios */ data rundat. dwhazrat; set haz1; run;

data overb; set haz1;

if haz_ b> 1 then ovrb = 1; else ovrb= 0; if haz_ 1> 1 then ovr1 = 1; else ovr1= 0; if haz_ 2> 1 then ovr2 = 1; else ovr2= 0; run;

proc means sum data= overb; var ovrb ovr1 ovr2 pop; title3 ' Sample Number of Reaches with Ratios > 1'; label ovrb = ' Sport ( BL)' ovr1 = ' Subsistence ( BL)' ovr2 = ' Sport ( Opt 1)' pop = ' Exposed Population'; quit;

proc means sum data= overb; weight wght; var ovrb ovr1 ovr2; title3 ' National Number of Reaches with Ratios > 1'; label ovrb = ' Sport ( BL)' ovr1 = ' Subsistence ( BL)' ovr2 = ' Sport ( Opt 1)'; quit;

/* End Systemic Cancer Assoc DW ( Sub 14). sas */ 148 Program Output: Traditional Extrapolation 149 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 48 Systemic Cancer Associated with DW ( Sub 14) National Number of Reaches with Ratios > 1 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                              ovrb Sport ( BL) 0 ovr1 Subsistence ( BL) 0 ovr2 Sport ( Opt 1) 0                                              150 Program Output: Post Stratification Extrapolation 151 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 48 Systemic Cancer Associated with DW ( Sub 14) National Number of Reaches with Ratios > 1 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Label Sum                                              ovrb Sport ( BL) 0 ovr1 Subsistence ( BL) 0 ovr2 Sport ( Opt 1) 0                                              152 " Hazard ratio Tables. sas" Produces tables of populations exposed to varying levels of systemic health risk based on Fish Consumption and Drinking Water. See Systemic Risk from Fish Consumption for program code and output. 153 Lead Benefits for Adults 154 " Cancer fish ( Sub 4). sas" From the data set of pollutant concentrations for each RF1 reach, observations for in stream lead concentrations are outputed into a separate data set. See Cancer from Fish Consumption for program code and output. 155 " 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. 156 /* 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 probabilities 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); 157 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;

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); 158 /* 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 * 76347 * 0.66)/ 10; b24059 = ( pr2_ 4059 * exppop * pctm4059 * 76347 * 0.66)/ 10; b16064 = ( pr1_ 6064 * exppop * pctm6064 * 76347 * 0.66)/ 2; b26064 = ( pr2_ 6064 * exppop * pctm6064 * 76347 * 0.66)/ 2; b16574 = ( pr1_ 6574 * exppop * pctm6574 * 76347 * 0.66)/ 2; b26574 = ( pr2_ 6574 * exppop * pctm6574 * 76347 * 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; 159 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 */

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

/* 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; 161 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; 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 * 76347 * 0.66)/ 2; b2fchd = ( pr2_ 4574 * exppop * pctf4574 * 76347 * 0.66)/ 2;

red_ chd1 = ( pr1_ 4574 * exppop * pctf4574 * 0.66)/ 2; red_ chd2 = ( pr2_ 4574 * exppop * pctf4574 * 0.66)/ 2; 162 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; 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; 163 /* 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 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 = 164 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; 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]; 165 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]; 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"; 166 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"; 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 167 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; 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]; 168 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; 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; 169 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 */ 170 Program Output: Traditional Extrapolation 171 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 66 Lead Related Benefits Recreational ( Sub 12) Mens Lead Related Benefits ( National Basis) 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          ben_ hyp1 1.0946735E 9 ben_ hyp2 64576.82 hyppop 133090.73 b14059  1.730615E 9 b24059 2594.12 b16064  4.39265E 10 b26064 728.9498374 b16574 1.0738534E 9 b26574 1127.67 popm4059 49544.87 popm6064 7393.51 popm6574 13090.48 b1_ cba  2.550368E 9 b2_ cba 6032.22 b1_ bi  7.43969E 10 b2_ bi 3398.68 popm4574 53870.59 m14054l  4.698668E 8 m14054h  2.556075E 7 m24054l 108167.53 m24054h 588431.38 m15564l 6.491298E 8 m15564h 3.5312661E 7 m25564l 58903.91 m25564h 320437.27 m16574l 9.2474451E 8 m16574h 5.0306101E 7 m26574l 28774.46 m26574h 156533.09 mid40541  1.221654E 7 mid40542 281235.59 mid55641 1.6877375E 7 mid55642 153150.17 mid65741 2.4043357E 7 mid65742 74813.61 popm4054 40989.22 popm5564 15949.16 hyp_ red1 9.593983E 13 hyp_ red2 56.5966874 r14059  2.26678E 14 r24059 0.0339781 r16064  5.75353E 15 r26064 0.0095479 r16574 1.406543E 14 172 r26574 0.0147703 r1_ cba  7.60997E 15 r2_ cba 0.0179994 r1_ bi  2.21991E 15 r2_ bi 0.0101412 r14054l  1.87947E 14 r24054l 0.0432670 r15564l 2.596519E 14 r25564l 0.0235616 r16574l 3.698978E 14 r26574l 0.0115098                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 68 Lead Related Benefits Recreational ( Sub 12) Female Lead Related Benefits ( National Basis) 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          b1fchd 1.0876977E 9 b2fchd 1784.50 popf4574 59682.10 b1f_ cba  3.34657E 10 b2f_ cba 2580.20 b1f_ bi  2.94075E 10 b2f_ bi 1579.60 m14574l 1.996832E 8 m14574h 1.0862766E 7 m24574l 62434.83 m24574h 339645.45 mid45741 5.1917631E 8 mid45742 162330.55 red_ chd1 1.424676E 14 red_ chd2 0.0233735 r1f_ cba  1.33143E 15 r2f_ cba 0.0102653 r1f_ bi  1.16998E 15 r2f_ bi 0.0062844 r14574l 7.987328E 15 r14574h 7.987328E 15 r24574l 0.0249739 r24574h 0.0249739                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 69 Lead Related Benefits Recreational ( Sub 12) Number of Affected Reaches Nationally 16: 38 Thursday, January 30, 2003 The MEANS Procedure Analysis Variable : EVENT_ WT Event Weight 173 Sum              23.7361201              MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 70 Lead Related Benefits Recreational ( Sub 12) Exposed Population  Males 16: 38 Thursday, January 30, 2003 Obs tpops pm2074s pm4574s tpopn pm2074n pm4574n 1 82069 26222.52 10613.98 416535.94 133090.73 53870.59 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 71 Lead Related Benefits Recreational ( Sub 12) Exposed Population  Females 16: 38 Thursday, January 30, 2003 Obs tpops pf4574s tpopn pf4574n 1 82069 11759.01 416535.94 59682.10 174 Program Output: Post Stratification Extrapolation 175 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 66 Lead Related Benefits Recreational ( Sub 12) Mens Lead Related Benefits ( National Basis) 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          ben_ hyp1 1.0946735E 9 ben_ hyp2 64576.82 hyppop 133090.73 b14059  1.730615E 9 b24059 2594.12 b16064  4.39265E 10 b26064 728.9498374 b16574 1.0738534E 9 b26574 1127.67 popm4059 49544.87 popm6064 7393.51 popm6574 13090.48 b1_ cba  2.550368E 9 b2_ cba 6032.22 b1_ bi  7.43969E 10 b2_ bi 3398.68 popm4574 53870.59 m14054l  4.698668E 8 m14054h  2.556075E 7 m24054l 108167.53 m24054h 588431.38 m15564l 6.491298E 8 m15564h 3.5312661E 7 m25564l 58903.91 m25564h 320437.27 m16574l 9.2474451E 8 m16574h 5.0306101E 7 m26574l 28774.46 m26574h 156533.09 mid40541  1.221654E 7 mid40542 281235.59 mid55641 1.6877375E 7 mid55642 153150.17 mid65741 2.4043357E 7 mid65742 74813.61 popm4054 40989.22 popm5564 15949.16 hyp_ red1 9.593983E 13 hyp_ red2 56.5966874 r14059  2.26678E 14 r24059 0.0339781 r16064  5.75353E 15 r26064 0.0095479 r16574 1.406543E 14 176 r26574 0.0147703 r1_ cba  7.60997E 15 r2_ cba 0.0179994 r1_ bi  2.21991E 15 r2_ bi 0.0101412 r14054l  1.87947E 14 r24054l 0.0432670 r15564l 2.596519E 14 r25564l 0.0235616 r16574l 3.698978E 14 r26574l 0.0115098                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 68 Lead Related Benefits Recreational ( Sub 12) Female Lead Related Benefits ( National Basis) 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          b1fchd 1.0876977E 9 b2fchd 1784.50 popf4574 59682.10 b1f_ cba  3.34657E 10 b2f_ cba 2580.20 b1f_ bi  2.94075E 10 b2f_ bi 1579.60 m14574l 1.996832E 8 m14574h 1.0862766E 7 m24574l 62434.83 m24574h 339645.45 mid45741 5.1917631E 8 mid45742 162330.55 red_ chd1 1.424676E 14 red_ chd2 0.0233735 r1f_ cba  1.33143E 15 r2f_ cba 0.0102653 r1f_ bi  1.16998E 15 r2f_ bi 0.0062844 r14574l 7.987328E 15 r14574h 7.987328E 15 r24574l 0.0249739 r24574h 0.0249739                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 69 Lead Related Benefits Recreational ( Sub 12) Number of Affected Reaches Nationally 17: 36 Thursday, January 30, 2003 The MEANS Procedure Analysis Variable : EVENT_ WT Event Weight 177 Sum              23.7361201              MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 70 Lead Related Benefits Recreational ( Sub 12) Exposed Population  Males 17: 36 Thursday, January 30, 2003 Obs tpops pm2074s pm4574s tpopn pm2074n pm4574n 1 82069 26222.52 10613.98 416535.94 133090.73 53870.59 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 71 Lead Related Benefits Recreational ( Sub 12) Exposed Population  Females 17: 36 Thursday, January 30, 2003 Obs tpops pf4574s tpopn pf4574n 1 82069 11759.01 416535.94 59682.10 178 " 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. 179 /* 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); 180 /* Uses ingestion for females over age 45 */ 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);

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

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 * 76347 * 0.66)/ 10; b24059 = ( pr2_ 4059 * exppop * pctm4059 * 76347 * 0.66)/ 10; b16064 = ( pr1_ 6064 * exppop * pctm6064 * 76347 * 0.66)/ 2; b26064 = ( pr2_ 6064 * exppop * pctm6064 * 76347 * 0.66)/ 2; b16574 = ( pr1_ 6574 * exppop * pctm6574 * 76347 * 0.66)/ 2; b26574 = ( pr2_ 6574 * exppop * pctm6574 * 76347 * 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; 182 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 */

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

/* 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; 184 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 = 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 * 76347 * 0.66)/ 2; b2fchd = ( pr2_ 4574 * exppop * pctf4574 * 76347 * 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)))  185 ( 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 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 186 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 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 187 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; 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"; 188 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; 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; 189 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);

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; 190 % 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]; 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"; 191 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'; 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; 192 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; 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; 193 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;

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 */ 194 Program Output: Traditional Extrapolation 195 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 74 Subsistence Lead Related Benefits ( Sub 17) Mens Lead Related Benefits ( National Basis) 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          ben_ hyp1 3.170567E 11 ben_ hyp2 23968.72 hyppop 6653.82 b14059  6.71535E 11 b24059 921.4129639 b16064 1.886868E 11 b26064 256.5073159 b16574 1.832393E 11 b26574 405.3839462 popm4059 2476.98 popm6064 369.6358339 popm6574 654.4532593 b1_ cba 1.054288E 10 b2_ cba 2242.89 b1_ bi  3.69268E 11 b2_ bi 1286.73 popm4574 2693.24 m14054l 3.760844E 11 m14054h 2.045899E 10 m24054l 38909.27 m24054h 211666.45 m15564l  2.71511E 9 m15564h  1.47702E 8 m25564l 20536.70 m25564h 111719.66 m16574l  4.689746E 9 m16574h  2.551222E 8 m26574l 9901.87 m26574h 53866.19 mid40541 9.778194E 11 mid40542 101164.11 mid55641  7.059286E 9 mid55642 53395.42 mid65741  1.219334E 8 mid65742 25744.87 popm4054 2049.24 popm5564 797.3721736 hyp_ red1 2.778761E 14 hyp_ red2 21.0067648 r14059  8.79583E 16 r24059 0.0120688 r16064 2.471437E 16 r26064 0.0033598 r16574 2.400086E 16 196 r26574 0.0053098 r1_ cba 3.145861E 16 r2_ cba 0.0066925 r1_ bi  1.10185E 16 r2_ bi 0.0038395 r14054l 1.504337E 17 r24054l 0.0155637 r15564l  1.08604E 15 r25564l 0.0082147 r16574l  1.8759E 15 r26574l 0.0039607                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 76 Subsistence Lead Related Benefits ( Sub 17) Female Lead Related Benefits ( National Basis) 16: 38 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          b1fchd  6.18291E 11 b2fchd 630.7469027 popf4574 2983.78 b1f_ cba 4.452345E 11 b2f_ cba 931.4497257 b1f_ bi  5.44731E 12 b2f_ bi 581.5365850 m14574l  1.352139E 9 m14574h  7.355638E 9 m24574l 21500.72 m24574h 116963.92 mid45741  3.515562E 9 mid45742 55901.87 red_ chd1  8.09843E 16 red_ chd2 0.0082616 r1f_ cba 1.771366E 16 r2f_ cba 0.0037058 r1f_ bi  2.16721E 17 r2f_ bi 0.0023136 r14574l  5.40856E 16 r14574h  5.40856E 16 r24574l 0.0086003 r24574h 0.0086003                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 77 Subsistence Lead Related Benefits ( Sub 17) Number of Affected Reaches Nationally 16: 38 Thursday, January 30, 2003 The MEANS Procedure Analysis Variable : EVENT_ WT Event Weight 197 Sum              23.7361201              MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 78 Subsistence Lead Related Benefits ( Sub 17) Exposed Population  Males 16: 38 Thursday, January 30, 2003 Obs tpops pm2074s pm4574s tpopn pm2074n pm4574n 1 4103 1310.98 530.641 20824.55 6653.82 2693.24 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 79 Subsistence Lead Related Benefits ( Sub 17) Exposed Population  Females 16: 38 Thursday, January 30, 2003 Obs tpops pf4574s tpopn pf4574n 1 4103 587.886 20824.55 2983.78 198 Program Output: Post Stratification Extrapolation 199 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 74 Subsistence Lead Related Benefits ( Sub 17) Mens Lead Related Benefits ( National Basis) 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          ben_ hyp1 3.170567E 11 ben_ hyp2 23968.72 hyppop 6653.82 b14059  6.71535E 11 b24059 921.4129639 b16064 1.886868E 11 b26064 256.5073159 b16574 1.832393E 11 b26574 405.3839462 popm4059 2476.98 popm6064 369.6358339 popm6574 654.4532593 b1_ cba 1.054288E 10 b2_ cba 2242.89 b1_ bi  3.69268E 11 b2_ bi 1286.73 popm4574 2693.24 m14054l 3.760844E 11 m14054h 2.045899E 10 m24054l 38909.27 m24054h 211666.45 m15564l  2.71511E 9 m15564h  1.47702E 8 m25564l 20536.70 m25564h 111719.66 m16574l  4.689746E 9 m16574h  2.551222E 8 m26574l 9901.87 m26574h 53866.19 mid40541 9.778194E 11 mid40542 101164.11 mid55641  7.059286E 9 mid55642 53395.42 mid65741  1.219334E 8 mid65742 25744.87 popm4054 2049.24 popm5564 797.3721736 hyp_ red1 2.778761E 14 hyp_ red2 21.0067648 r14059  8.79583E 16 r24059 0.0120688 r16064 2.471437E 16 r26064 0.0033598 r16574 2.400086E 16 200 r26574 0.0053098 r1_ cba 3.145861E 16 r2_ cba 0.0066925 r1_ bi  1.10185E 16 r2_ bi 0.0038395 r14054l 1.504337E 17 r24054l 0.0155637 r15564l  1.08604E 15 r25564l 0.0082147 r16574l  1.8759E 15 r26574l 0.0039607                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 76 Subsistence Lead Related Benefits ( Sub 17) Female Lead Related Benefits ( National Basis) 17: 36 Thursday, January 30, 2003 The MEANS Procedure Variable Sum                          b1fchd  6.18291E 11 b2fchd 630.7469027 popf4574 2983.78 b1f_ cba 4.452345E 11 b2f_ cba 931.4497257 b1f_ bi  5.44731E 12 b2f_ bi 581.5365850 m14574l  1.352139E 9 m14574h  7.355638E 9 m24574l 21500.72 m24574h 116963.92 mid45741  3.515562E 9 mid45742 55901.87 red_ chd1  8.09843E 16 red_ chd2 0.0082616 r1f_ cba 1.771366E 16 r2f_ cba 0.0037058 r1f_ bi  2.16721E 17 r2f_ bi 0.0023136 r14574l  5.40856E 16 r14574h  5.40856E 16 r24574l 0.0086003 r24574h 0.0086003                          MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 77 Subsistence Lead Related Benefits ( Sub 17) Number of Affected Reaches Nationally 17: 36 Thursday, January 30, 2003 The MEANS Procedure Analysis Variable : EVENT_ WT Event Weight 201 Sum              23.7361201              MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 78 Subsistence Lead Related Benefits ( Sub 17) Exposed Population  Males 17: 36 Thursday, January 30, 2003 Obs tpops pm2074s pm4574s tpopn pm2074n pm4574n 1 4103 1310.98 530.641 20824.55 6653.82 2693.24 MP& M National Benefits Preferred( Opt1= Pref, Opt2= NULL) 79 Subsistence Lead Related Benefits ( Sub 17) Exposed Population  Females 17: 36 Thursday, January 30, 2003 Obs tpops pf4574s tpopn pf4574n 1 4103 587.886 20824.55 2983.78 202 Lead Benefits for Children 203 " Cancer fish ( Sub 4). sas" From the data set of pollutant concentrations for each RF1 reach, observations for in stream lead concentrations are outputed into a separate data set. See Cancer from Fish Consumption for program code and output. 204 " 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. 205 /* 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; 206 run;

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)' 207 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)'; 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); 208 set rundat. chld_ neo;

length gender $ 50 categ $ 50 type $ 50;

gender = " Children"; categ = " Neo Natal Mortality"; 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;