Ero sivun ”Vesiopas 2” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
(uudelleenohjattu)
 
(Yhtä välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
[[Luokka:Talousvesi]]
#REDIRECT [[Vesiopas]]
[[Luokka:Malli]]
[[Luokka:Vesiopas]]
[[Luokka:Sisältää R-koodia]]
{{metodi|moderaattori = Jouni}}
:''Tällä sivulla kehitetään [[Vesiopas]]-mallia. Tämä sivu sisältää päivitetyn työversion, jonka toimivuudesta ei anneta takuuta. {{kommentti|1 = #:|2 = Päivitys aloitettu [http://fi.opasnet.org/fi_wiki/index.php?title=Vesiopas&oldid=19783 tämänpäiväisestä versiosta].|3 = --[[Käyttäjä:Jouni|Jouni Tuomisto]] 30. lokakuuta 2013 kello 14.33 (EET)}}
 
<rcode
name="answer"
variables="
name:RaakaLuokka|description:Raakaveden luokitus|type:selection|
options:
'Pohjavesi - Puhdas';Pohjavesi - Puhdas;
'Pohjavesi - Pintavesikuormitus';Pohjavesi - Pintavesikuormitus;
'Pintavesi - Vähäinen kuormitus';Pintavesi - Vähäinen kuormitus;
'Pintavesi - Keskisuuri kuormitus';Pintavesi - Keskisuuri kuormitus;
'Pintavesi - Suuri kuormitus';Pintavesi - Suuri kuormitus|
category:Perustiedot|
name:patogeenit|description:Haluatko antaa yksittäisten patogeenien pitoisuustietoja?|
type:selection|options:FALSE;En, käytä raakaveden luokitusta;TRUE;Kyllä|default:FALSE|
name:prosessi|description:Haluatko antaa puhdistusprosessin tietoja?|
type:selection|options:FALSE;En, oleta tyypillinen pintavesilaitos;TRUE;Kyllä|default:FALSE|
name:väestö|description:Haluatko antaa väestötietoja?|
type:selection|options:FALSE;En, oleta 100000 asukasta;TRUE;Kyllä|default:FALSE|
name:intermediates|description:Näytetäänkö välivaiheiden tulokset?|
type:selection|options:FALSE;Ei, ainoastaan terveysvaikutukset;TRUE;Kyllä, myös pitoisuudet ja puhdistumat|default:FALSE|
name:Kampylo|description:Kampylobakteeri-pitoisuus arvio (mikrobia/l)|default:'Luokituksen mukainen'|
category:Patogeenipitoisuuksien tiedot|
category_conditions:patogeenit;TRUE|
name:Ecoli|description:E.coli O157:H7 -pitoisuus arvio (mikrobia/l)|default:'Luokituksen mukainen'|
name:Rota|description:Rotavirus-pitoisuus arvio (mikrobia/l)|default:'Luokituksen mukainen'|
name:Noro|description:Norovirus-pitoisuus arvio (mikrobia/l)|default:'Luokituksen mukainen'|
name:Crypto|description:Cryptosporidium-pitoisuus arvio (mikrobia/l)|default:'Luokituksen mukainen'|
name:Giardia|description:Giardia-pitoisuus arvio (mikrobia/l)|default:'Luokituksen mukainen'|
name:Kaupunki|description:Kaupungin oletusarvot|default:'Custom'|type:selection|
options:
'Custom';Käytä yllä määriteltyjä arvoja;
'Op_fi2603';Kuopio|
name:Puhdistus|description:Käytössä olevat puhdistusmenetelmät|type:checkbox|
options:
1;Perinteinen puhdistus;
2;Hyvin toimva puhdistus;
3;Tehostettu puhdistus;
4;Hidas hiekkasuodatus;
5;Kalkkikivisuodatus;
6;Aktiivihiilisuodatus;
7;UV suodatus;
8;Otsonointi|
default:1;4;5;6|
category:Vedenpuhdistus: Puhdistusprosessi ja klooraus|
category_conditions:prosessi;TRUE|
name:IKlooriAnnos|default:1.5|description:Klooriannos (mg/l)|
name:IVedenkulutus|default:1153|description:veden kulutus (ml)|
category:Väestötiedot|
category_conditions:väestö;TRUE|
name:Vaestonkoko|default:100000|description:Altistuvan väestön koko
"
>
library(OpasnetUtils)
library(reshape2)
 
if(patogeenit) IRaakaPitoisuus <- list(Kampylo, Ecoli, Rota, Noro, Crypto, Giardia) else IRaakaPitoisuus <- NA
 
if(!prosessi) {
Puhdistus <- c(1, 4, 5, 6)
IKlooriannos <- 1.5
}
if(!väestö) {
IVedenkulutus <- 1153
Vaestonkoko <- 100000
}
 
# Vedenkulutus
 
if (!is.na(suppressWarnings(as.numeric(IVedenkulutus)))) {
InpVedenkulutus = data.frame(VedenkulutusResult = IVedenkulutus)
InpVedenkulutus = Ovariable("Vedenkulutus", output = InpVedenkulutus)
}
 
# Patogeenien pitoisuudet
 
objects.latest("Op_fi2655", "muuttuja") # RaakaPitoisuus, customoitia varten [[Raakaveden_patogeenipitoisuudet]]
 
RaakaPitoisuus <- EvalOutput(RaakaPitoisuus)
 
temp <- RaakaPitoisuus@output
 
temp <- temp[as.character(temp$Raakavesilähde) == RaakaLuokka, ]
 
temp <- merge(
temp,
data.frame(
Patogeeni = c("Kampylobakteeri","E.coli O157:H7","Rotavirus","Norovirus","Cryptosporidium","Giardia"),
TempResult = suppressWarnings(as.numeric(IRaakaPitoisuus))
)
)
temp$RaakaPitoisuusResult <- ifelse(
is.na(temp$TempResult),
temp$RaakaPitoisuusResult,
temp$TempResult
)
RaakaPitoisuus@output <- temp[, !colnames(temp) %in% c("TempResult", "Raakavesilähde")]
 
temp <- rep(FALSE,9) # vaihtoehdot + klooraus joka on mallin rakenteesta johtuen aina epätosi
temp[Puhdistus] <- TRUE
Puhdistus <- temp
 
if (!is.na(suppressWarnings(as.numeric(IKlooriAnnos)))) if (IKlooriAnnos > 0) {
InpKlooriAnnos <- Ovariable("KlooriAnnos", output = data.frame(KlooriAnnosResult = IKlooriAnnos))
}
 
# Käsitellään puhdistusmenetelmät käsin tätä mallia varten
 
riippuvuudet <- data.frame(
Name = c("RaakaPitoisuus", "Desinfiointi", "PuhdistusTeho", "KloorausTeho"),
Ident = c("Op_fi2655/muuttuja", "Op_fi2993/muuttuja", "Op_fi2656/muuttuja", "Op_fi2667/tehokkuus")
)
 
objects.latest("Op_fi2993", "muuttuja") # Desinfiointi [[Juomaveden desinfiointi]]
 
objects.latest("Op_fi2656", "muuttuja") # PuhdistusTeho [[Vedenkäsittelyn tehokkuus]]
 
PuhdistusTeho <- EvalOutput(PuhdistusTeho)
Desinfiointi <- EvalOutput(Desinfiointi)
 
Puhdistus <- data.frame(
Käytössä = Puhdistus,
Puhdistusmenetelmä = c("Perinteinen puhdistus", "Hyvin toimva puhdistus",
"Tehostettu puhdistus" ,"Hidas hiekkasuodatus", "Kalkkikivisuodatus",
"Aktiivihiilisuodatus", "UV", "Otsonointi", "Klooraus")
)
 
PuhdistusTeho@output <- merge(PuhdistusTeho@output, Puhdistus[1:6,]) # Vedenkäsittelymenetelmät
 
Desinfiointi@output <- merge(Desinfiointi@output, Puhdistus[7:9,]) # Desinfiointimenetelmät
 
PuhdistusTeho@output$PuhdistusTehoResult <- ifelse(
PuhdistusTeho@output$Käytössä,
PuhdistusTeho@output$PuhdistusTehoResult,
0
)
Desinfiointi@output$DesinfiointiResult <- ifelse(
Desinfiointi@output$Käytössä,
Desinfiointi@output$DesinfiointiResult,
0
)
 
# Poistetaan "Käytössä" kolumin
PuhdistusTeho@output <- PuhdistusTeho@output[, !colnames(PuhdistusTeho@output) == "Käytössä"]
Desinfiointi@output <- Desinfiointi@output[, !colnames(Desinfiointi@output) == "Käytössä"]
 
objects.latest("Op_fi1759", "muuttuja") # Vaste [[Infektion todennäköisyys per henkilö]]
 
Vaste <- EvalOutput(Vaste, substitute = TRUE)
 
#################################################################################
 
dose.response = Vaste@output
 
Pathogen <- c("Kampylobakteeri","E.coli O157:H7","Rotavirus","Norovirus","Cryptosporidium","Giardia")
 
vaesto <- opbase.data("Op_fi2652")[,c("Ikä","Result")] # [[Suomen ikäjakauma]]
colnames(vaesto) <- c("Age", "Osuus")
 
vaesto$Populaatio <- vaesto$Osuus * Vaestonkoko
 
odotettu.elinika <- 81
 
colnames(dose.response)[colnames(dose.response) == "Patogeeni"] <- "Pathogen"
colnames(dose.response)[colnames(dose.response) == "VasteResult"] <- "P.inf"
colnames(dose.response)[colnames(dose.response) == "AltistuminenResult"] <- "Exp.pat"
 
P.ill.g.inf <- data.frame(Pathogen, P.ill.g.inf = c(0.33, 1 - (270 / 1540), 0.9, 0.7, 0.71, 1)) # todennäköisyys sairastua kun saa infektion
 
# Kampylobakteeri, DALYt per infektio
 
P.treat.g.ill.Kamp.Gastr <- data.frame(Pathogen = Pathogen[c(1,1,1)], Outcome = "Gastroenteritis", ill.treat = c("Untreated",
    "General practitioner", "Hospitalised", "Unspecified")[c(1,2,3)], P.treat.g.ill = c(0.7627, 0.2373, 0.0097))
 
P.treat.ill.g.inf.Kamp.Gastr <- merge(P.treat.g.ill.Kamp.Gastr, P.ill.g.inf)
P.treat.ill.g.inf.Kamp.Gastr$P.treat.ill.g.inf <- P.treat.ill.g.inf.Kamp.Gastr$P.ill.g.inf *
    P.treat.ill.g.inf.Kamp.Gastr$P.treat.g.ill
 
duration.ill.treat.Kamp.Gastr <- data.frame(Outcome = c("Gastroenteritis"), ill.treat = c("Untreated", "General practitioner",
    "Hospitalised", "Unspecified")[c(1,2,3)], dur.ill = c(5.1 / 365, 8.4 / 365, 14.39 / 365))
 
severity.ill.treat.Kamp.Gastr <- data.frame(Outcome = c("Gastroenteritis"), ill.treat = c("Untreated", "General practitioner",
    "Hospitalised", "Unspecified")[c(1,2,3)], sev.ill = c(0.067, 0.393, 0.393))
 
daly.ill.treat.Kamp.Gastr <- merge(P.treat.ill.g.inf.Kamp.Gastr, duration.ill.treat.Kamp.Gastr)
daly.ill.treat.Kamp.Gastr <- merge(daly.ill.treat.Kamp.Gastr, severity.ill.treat.Kamp.Gastr)
daly.ill.treat.Kamp.Gastr$dalys <- daly.ill.treat.Kamp.Gastr$P.treat.ill.g.inf * daly.ill.treat.Kamp.Gastr$dur.ill *
    daly.ill.treat.Kamp.Gastr$sev.ill
 
 
P.death.g.ill.Gastr <- 0.0004
P.death.g.inf.Gastr <- P.death.g.ill.Gastr * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]
death.Gastr.life.lost <- 13.2
daly.death.Kamp.Gastr <- P.death.g.inf.Gastr * death.Gastr.life.lost
 
## GBS Kamp.
 
P.gbs.g.ill <- 2e-004
P.gbs.g.inf <- P.gbs.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]
dur.sev.factor.gbs <- data.frame(Outcome = c("Clinical GBS", "Residual GBS"), dur.sev.factor = c(0.29, 5.8)) # duration * severity * fraction?
daly.Kamp.gbs <- data.frame(dur.sev.factor.gbs$Outcome, dalys = dur.sev.factor.gbs$dur.sev.factor * P.gbs.g.inf)
 
P.death.g.gbs <- 0.08 / 3 # triangular 0.01, 0.02, 0.05
P.death.g.inf.gbs <- P.death.g.gbs * P.gbs.g.inf
death.gbs.life.lost <- 18.7
daly.death.Kamp.gbs <- P.death.g.inf.gbs * death.gbs.life.lost
 
## reactive arthritis Kamp.
 
P.arth.g.ill <- 0.02 # triangluar 0.01, 0.02, 0.03
P.arth.g.inf <- P.arth.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]
duration.arth <- 6 / 52
severity.arth <- 0.21
daly.Kamp.arth <- P.arth.g.inf * duration.arth * severity.arth
 
# E.coli
 
P.wd.g.ill <- 0.53 # watery diarrhea
P.wd.g.inf <- P.wd.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]
severity.wd <- 0.067
duration.wd <- 3.4 / 365
daly.wd.Ecoli <- P.wd.g.inf * severity.wd * duration.wd
 
P.hc.g.ill <- 0.47
P.hc.g.inf <- P.hc.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]
severity.hc <- 0.39
duration.hc <- 5.6 / 365
daly.hc.Ecoli <- P.hc.g.inf * severity.hc * duration.hc
 
P.death.g.ill.Ecoli <- 0.00027
P.death.g.inf.Ecoli <- P.death.g.ill.Ecoli * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]
age.death.Ecoli <- 81 - 13.2
daly.death.Ecoli <- P.death.g.inf.Ecoli * (odotettu.elinika - age.death.Ecoli)
 
## Haemolytic uraemic syndrome (HUS)
 
P.hus.g.ill <- 0.01
P.hus.g.inf <- P.hus.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]
severity.hus <- 0.93
duration.hus <- 21 / 365
daly.hus.Ecoli <- P.hus.g.inf * severity.hus * duration.hus
 
P.death.g.hus <- 0.04
P.death.hus.g.inf <- P.death.g.hus * P.hus.g.inf
age.death.hus.Ecoli <- 81 - 26.2
daly.death.hus.Ecoli <- P.death.hus.g.inf * (odotettu.elinika - age.death.hus.Ecoli)
 
## End Stage Renal Disease (ESRD)
 
P.esrd.g.hus <- 0.118
P.esrd.g.inf <- P.hus.g.inf * P.esrd.g.hus
severity.duration.hus <- 8.7 # severity * duration
daly.esrd.Ecoli <- P.esrd.g.inf * severity.duration.hus
 
P.death.g.esrd <- 0.0252
P.death.esrd.g.inf <- P.esrd.g.inf * P.death.g.esrd
age.death.esrd.Ecoli <- 81 - 34
daly.death.esrd.Ecoli <- P.death.esrd.g.inf * (odotettu.elinika - age.death.esrd.Ecoli)
 
# Rotavirus
 
P.treat.g.ill.Rotavirus <- data.frame(Pathogen = "Rotavirus", ill.treat = c("Untreated",
    "General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.82,5),
    rep(0.95, 10), rep(0.99, 50), rep(0.97, 17), rep(0.137, 5), rep(0.0244, 5), rep(0.0511, 5), rep(0.0127, 50),
    rep(0.0299, 17), rep(0.0416, 5), rep(0.0213, 5), rep(0, 72)))
 
P.treat.ill.g.inf.Rotavirus <- merge(P.treat.g.ill.Rotavirus, P.ill.g.inf)
P.treat.ill.g.inf.Rotavirus$P.treat.g.inf <- P.treat.ill.g.inf.Rotavirus$P.ill.g.inf * P.treat.ill.g.inf.Rotavirus$P.treat.g.ill
 
duration.ill.treat.Rotavirus <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(4.9 / 365,
    7.1 / 365, 7.7 / 365))
 
severity.ill.treat.Rotavirus <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067,
    0.393, 0.393))
 
daly.ill.treat.Rotavirus <- merge(P.treat.ill.g.inf.Rotavirus, duration.ill.treat.Rotavirus)
daly.ill.treat.Rotavirus <- merge(daly.ill.treat.Rotavirus, severity.ill.treat.Rotavirus)
daly.ill.treat.Rotavirus$dalys <- daly.ill.treat.Rotavirus$P.treat.g.inf * daly.ill.treat.Rotavirus$dur.ill *
    daly.ill.treat.Rotavirus$sev.ill
 
 
P.death.Rotavirus <- data.frame(Age = 0:81, P.death.g.ill = c(rep(2.13e-005, 5), rep(0, 77)))
P.death.Rotavirus$P.death.g.inf <- P.death.Rotavirus$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Rotavirus"]
P.death.Rotavirus$Life.lost <- odotettu.elinika - P.death.Rotavirus$Age
daly.death.Rotavirus <- data.frame(Age = P.death.Rotavirus$Age, dalys = P.death.Rotavirus$P.death.g.inf * P.death.Rotavirus$Life.lost)
 
# Norovirus
 
P.treat.g.ill.Norovirus <- data.frame(Pathogen = "Norovirus", ill.treat = c("Untreated",
    "General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.94876706,5),
    rep(0.9902, 5), rep(0.98239, 5), rep(0.98434, 51), rep(0.992741, 16), rep(0.0448,5), rep(8.6e-003, 5), rep(0.0154, 5),
    rep(0.0137, 51), rep(6.17e-003, 16), rep(6.43e-003,5), rep(1.2e-003, 5), rep(2.21e-003, 5), rep(1.96e-003, 51),
    rep(8.85e-004, 16)))
 
P.treat.ill.g.inf.Norovirus <- merge(P.treat.g.ill.Norovirus, P.ill.g.inf)
P.treat.ill.g.inf.Norovirus$P.treat.g.inf <- P.treat.ill.g.inf.Norovirus$P.ill.g.inf * P.treat.ill.g.inf.Norovirus$P.treat.g.ill
 
duration.ill.treat.Norovirus <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(3.8 / 365,
    5.73 / 365, 7.23 / 365))
 
severity.ill.treat.Norovirus <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067,
    0.393, 0.393))
 
daly.ill.treat.Norovirus <- merge(P.treat.ill.g.inf.Norovirus, duration.ill.treat.Norovirus)
daly.ill.treat.Norovirus <- merge(daly.ill.treat.Norovirus, severity.ill.treat.Norovirus)
daly.ill.treat.Norovirus$dalys <- daly.ill.treat.Norovirus$P.treat.g.inf * daly.ill.treat.Norovirus$dur.ill *
    daly.ill.treat.Norovirus$sev.ill
 
P.death.Norovirus <- data.frame(Age = 0:81, P.death.g.ill = c(rep(2.94e-006, 5), rep(0, 61), rep(2.04e-004, 16)))
P.death.Norovirus$P.death.g.inf <- P.death.Norovirus$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Norovirus"]
P.death.Norovirus$Life.lost <- odotettu.elinika - P.death.Norovirus$Age
daly.death.Norovirus <- data.frame(Age = P.death.Norovirus$Age, dalys = P.death.Norovirus$P.death.g.inf * P.death.Norovirus$Life.lost)
 
# Cryptosporidium
 
P.treat.g.ill.Crypt <- data.frame(Pathogen = "Cryptosporidium", ill.treat = c("Untreated",
    "General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.9175730049999999,5),
    rep(0.80937, 5), rep(0.6810499999999999, 5), rep(0.9774191, 50), rep(0.94706, 17), rep(0.082,5), rep(0.188, 5), rep(0.316, 5),
    rep(0.0209, 50), rep(0.0367, 17), rep(4.26e-004,5), rep(2.63e-003, 5), rep(2.95e-003, 5), rep(1.66e-003, 50), rep(0.0146, 17)))
 
P.treat.ill.g.inf.Crypt <- merge(P.treat.g.ill.Crypt, P.ill.g.inf)
P.treat.ill.g.inf.Crypt$P.treat.g.inf <- P.treat.ill.g.inf.Crypt$P.ill.g.inf * P.treat.ill.g.inf.Crypt$P.treat.g.ill
 
duration.ill.treat.Crypt <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(3.5 / 365,
    7 /365, 18.4 / 365))
 
severity.ill.treat.Crypt <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067,
    0.393, 0.393))
 
daly.ill.treat.Crypt <- merge(P.treat.ill.g.inf.Crypt, duration.ill.treat.Crypt)
daly.ill.treat.Crypt <- merge(daly.ill.treat.Crypt, severity.ill.treat.Crypt)
daly.ill.treat.Crypt$dalys <- daly.ill.treat.Crypt$P.treat.g.inf * daly.ill.treat.Crypt$dur.ill *
    daly.ill.treat.Crypt$sev.ill
 
P.death.Crypt <- data.frame(Age = 0:81, P.death.g.ill = c(rep(9.95e-007, 5), rep(0, 10), rep(2.09e-005, 50), rep(1.64e-003, 17)))
P.death.Crypt$P.death.g.inf <- P.death.Crypt$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Cryptosporidium"]
P.death.Crypt$Life.lost <- odotettu.elinika - P.death.Crypt$Age
daly.death.Crypt <- data.frame(Age = P.death.Crypt$Age, dalys = P.death.Crypt$P.death.g.inf * P.death.Crypt$Life.lost)
 
# Giardia
 
P.treat.g.ill.Giardia <- data.frame(Pathogen = "Giardia", ill.treat = c("Untreated",
    "General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.9376,5),
    rep(0.91034, 5), rep(0.72642, 5), rep(0.92486, 50), 0.54596, rep(0.5365, 16), rep(0.0609,5), rep(0.0852, 5), rep(0.272, 5),
    rep(0.0721, 50), rep(0.451, 17), rep(1.5e-003,5), rep(4.46e-003, 5), rep(1.58e-003, 5), rep(3.04e-003, 51), rep(0.0125, 16)))
 
P.treat.ill.g.inf.Giardia <- merge(P.treat.g.ill.Giardia, P.ill.g.inf)
P.treat.ill.g.inf.Giardia$P.treat.g.inf <- P.treat.ill.g.inf.Giardia$P.ill.g.inf * P.treat.ill.g.inf.Giardia$P.treat.g.ill
 
duration.ill.treat.Giardia <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(10 / 365,
    10 /365, 30 / 365))
 
severity.ill.treat.Giardia <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067,
    0.393, 0.393))
 
daly.ill.treat.Giardia <- merge(P.treat.ill.g.inf.Giardia, duration.ill.treat.Giardia)
daly.ill.treat.Giardia <- merge(daly.ill.treat.Giardia, severity.ill.treat.Giardia)
daly.ill.treat.Giardia$dalys <- daly.ill.treat.Giardia$P.treat.g.inf * daly.ill.treat.Giardia$dur.ill *
    daly.ill.treat.Giardia$sev.ill
 
# yhteenveto DALYistä
 
Health.effects <- vaesto[,c("Age","Populaatio")]
 
Health.effects$Untreated.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "Untreated", c("dalys")]
Health.effects$GP.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "General practitioner", c("dalys")]
Health.effects$Hospitalised.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "Hospitalised", c("dalys")]
Health.effects$Death.Gastr.Kamp <- daly.death.Kamp.Gastr
 
Health.effects$Clinical.GBS.Kamp <- daly.Kamp.gbs$dalys[1]
Health.effects$Residual.GBS.Kamp <- daly.Kamp.gbs$dalys[2]
Health.effects$Death.GBS.Kamp <- daly.death.Kamp.gbs
 
Health.effects$Arth.Kamp <- daly.Kamp.arth
 
Health.effects$WD.Ecoli <- daly.wd.Ecoli
Health.effects$HC.Ecoli <- daly.hc.Ecoli
Health.effects$Death.Ecoli <- daly.death.Ecoli
 
Health.effects$HUS.Ecoli <- daly.hus.Ecoli
Health.effects$Death.HUS.Ecoli <- daly.death.hus.Ecoli
 
Health.effects$ESRD.Ecoli <- daly.esrd.Ecoli
Health.effects$Death.ESRD.Ecoli <- daly.death.esrd.Ecoli
 
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "Untreated", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Rotavirus"
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "General practitioner", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Rotavirus"
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "Hospitalised", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Rotavirus"
Health.effects <- merge(Health.effects, daly.death.Rotavirus)
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Rotavirus"
 
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "Untreated", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Norovirus"
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "General practitioner", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Norovirus"
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "Hospitalised", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Norovirus"
Health.effects <- merge(Health.effects, daly.death.Norovirus)
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Norovirus"
 
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "Untreated", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Crypt"
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "General practitioner", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Crypt"
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "Hospitalised", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Crypt"
Health.effects <- merge(Health.effects, daly.death.Crypt)
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Crypt"
 
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "Untreated", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Giardia"
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "General practitioner", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Giardia"
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "Hospitalised", c("Age", "dalys")])
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Giardia"
 
Health.effects <- reshape(Health.effects, idvar = c("Age"), times = colnames(Health.effects)[-c(1,2)], timevar = "Outcome",
    varying = list(colnames(Health.effects)[-c(1,2)]), direction = "long")
colnames(Health.effects)[4] <- "P.daly.g.inf"
   
Health.effects$Pathogen <- NA
Health.effects$Pathogen[grep(".Kamp", Health.effects$Outcome)] <- Pathogen[1]
Health.effects$Pathogen[grep(".Ecoli", Health.effects$Outcome)] <- Pathogen[2]
Health.effects$Pathogen[grep(".Rotavirus", Health.effects$Outcome)] <- Pathogen[3]
Health.effects$Pathogen[grep(".Norovirus", Health.effects$Outcome)] <- Pathogen[4]
Health.effects$Pathogen[grep(".Crypt", Health.effects$Outcome)] <- Pathogen[5]
Health.effects$Pathogen[grep(".Giardia", Health.effects$Outcome)] <- Pathogen[6]
 
Health.effects <- merge(Health.effects, dose.response[,c("Pathogen", "P.inf")])
Health.effects$DALYs <- (1 - (1 - Health.effects$P.inf * Health.effects$P.daly.g.inf)^365) * Health.effects$Populaatio
 
temp <- merge(dose.response, P.ill.g.inf)
 
############# EXTRA ###########################################
 
MikrobienLogVähenemä <- combine(Desinfiointi, PuhdistusTeho, KloorausTeho, name = "MikrobienLogVähenemä")
 
MikrobienLogVähenemä@output[["Puhdistusmenetelmä"]][
MikrobienLogVähenemä@output[["MikrobienLogVähenemäSource"]] == "KloorausTehoFormula"
] <- "Klooraus"
 
#MikrobienLogVähenemä <- oapply(MikrobienLogVähenemä, cols = c("Puhdistusmenetelmä", "KlooriAnnosSource"), FUN = sum, na.rm = TRUE)
 
#MikrobienLogVähenemä@output <- fillna(MikrobienLogVähenemä@output, colnames(MikrobienLogVähenemä@output)[MikrobienLogVähenemä@marginal])
 
############# TULOKSET #########################################################################################################
 
oprint(head(Health.effects))
 
colnames(temp)
 
temp
 
if(intermediates) {
cat("Patogeenien konsentraatio raakavedessä\n")
oprint(RaakaPitoisuus) # Patogeenien konsentraatio raakavedessä
 
cat("Patogeenien log vähenemä puhdistuksessa\n")
oprint(MikrobienLogVähenemä)
 
cat("Patogeeneille altistuminen ja infektion todennäköisyys\n")
oprint(Vaste@output[,c("Patogeeni", "AltistuminenResult", "VasteResult")])
# Patogeeneille altistuminen ja infektion todennäköisyys (vaste)
}
 
cat("Taustatiedot: klooriannos", IKlooriAnnos, "(mg/l), vedenkulutus", IVedenkulutus, "(ml), väestön koko", Vaestonkoko, "\n")
 
cat("Arvioitu terveysvaikutus\n")
 
cat(round(sum((1 - (1 - temp$P.ill.g.inf * temp$P.inf)^365) * Vaestonkoko, na.rm = TRUE), 1), " vatsatautia vuodessa \n")
 
cat(round(sum(Health.effects$DALYs, na.rm = TRUE), 1), " DALY:ä vatsataudeista \n")   
 
</rcode>

Nykyinen versio 20. lokakuuta 2014 kello 07.05

Ohjaus sivulle: