|
|
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" embed=1
| |
| 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>
| |