Ero sivun ”Kotimaisen kalan edistämisohjelma” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
 
(14 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 33: Rivi 33:
=== Tulokset ===
=== Tulokset ===


:''Arviointimallin keskeiset tulokset.
[[File:Kotimaisen kalan edistämisen terveysvaikusus.png|500px|thumb|Tautitaakka erilaisissa kalankulutuksen skenaarioissa. Negatiivinen luku tarkoittaa terveyshyötyä.]]
'''Arviointimallin keskeiset tulokset löytyvät [https://drive.google.com/open?id=1FcCOLxOmtIs3unvVFUZPARuJYdYflqWZ tästä HTML-tiedostosta].


=== Päätelmät ===
=== Päätelmät ===


:''Vastaus arvioinnin pääkysymykseen ja muihin kysymyksiin tulosten perusteella.
Kalansyönti vuonna 2017 vähensi tautitaakkaa n. 100 000 haittapainotettua elinvuotta (DALY) Suomessa. Jos kalansyönti lisääntyisi oheisen taulukon mukaisesti, tautitaakka vähenisi edelleen n. 40 000 DALY /a suomalaista kalankulutusta lisäämällä ja n. 35 000 DALY /a kalantuontia lisäämällä.


== Perustelut ==
== Perustelut ==
Rivi 71: Rivi 72:
* Kalansyönnin edistämistä suunnataan tietyille väestöryhmille, ja vaikutukset tulevat siellä (mihin?).
* Kalansyönnin edistämistä suunnataan tietyille väestöryhmille, ja vaikutukset tulevat siellä (mihin?).
* Vaikutukset jakautuvat satunnaisessa määrin eri yksilöille.
* Vaikutukset jakautuvat satunnaisessa määrin eri yksilöille.
=== Laskenta ===
Avoimen arvioinnin mallikoodi on kirjoitettu R:llä ja se löytyy [https://github.com/jtuomist/fishhealth Githubista].
=== Data ===
Mitä kaikkea kuuluu vähäiseen hedelmien tai vihannesten syöntiin?
* Vähähedelmäinen ruokavalio: hedelmien kulutus alle 3 annosta päivässä (310 g yhteensä) (sisältää tuoreet, pakastetut, keitetyt, säilötyt ja kuivatut hedelmät mutta ei sisällä hedelmämehuja tai suolaan tai etikkaan säilöttyjä hedelmiä) http://www.healthdata.org/terms-defined. Diet low in fruits: Consumption of less than 3 servings (310 g total) of fruits per day (includes fresh, frozen, cooked, canned, or dried fruit but excludes fruit juices and salted or pickled fruits).
* Vähävihanneksinen ruokavalio: vihannesten kulutus alle 4 annosta  (400 g yhteensä) (sisältää tuoreet, pakastetut, keitetyt, säilötyt ja kuivatut vihannekset mukaan lukien palkokasvit mutta ei sisällä suolaan tai etikkaan säilöttyjä vihanneksia eikä pähkinöitä, siemeniä tai tärkkelyspitoisia vihanneksia kuten perunaa tai maissia). Diet low in vegetables: Consumption of less than 4 servings (400 g total) of vegetables per day (includes fresh, frozen, cooked, canned, or dried vegetables including legumes but excluding salted or pickled, juices, nuts and seeds, and starchy vegetables such as potatoes or corn).
Luken tilastoista löytyy tietoja kalansyönnistä Suomessa. Järvikalaa ei ole eritelty, mutta muut kuin viljellyt ja merilajit ovat yhteensä 2.6 kg/a henkeä kohti. [https://stat.luke.fi/en/fish-consumption-2017_en]. Kalansyöntidatat löytyvät myös Opasnetistä [[:op_en:Goherr: Fish consumption study]].
Voiko DALYt muuntaa euroiksi, ja miten se tehdään?
* Drake ehdottaa globaalin arvon päättämistä DALYn hinnaksi, samaan tapaan kuin 1,25 dollarin alittava päivätulo on määritelty absoluuttiseksi köyhyydeksi. Tällöin kaikki tuota hintaa kustannustehokkaammat toimet kannattaisi tehdä joko kansallisin, tai jos se ei jostain syystä onnistu, kansainvälisin toimin. Hän ei kuitenkaan ehdota suuruutta tälle hinnalle.<ref>Drake T. (2014) Priority setting in global health: towards a minimum DALY value. Health Economics Letter 23:2:248-252. https://doi.org/10.1002/hec.2925</ref>
* Brent on analysoinut implisiittisiä hintoja DALYlle Global Fund for AIDS, Tuberculosis, and Malaria -säätiön rahoituspäätöksistä. DALYn hinta näyttää olevan 6300 USD kaikille taudeille keskimäärin, ja 11900 USD erityisesti HIV/AIDSille<ref>Brent RJ. (2011) An implicit price of a DALY for use in a cost-benefit analysis of ARVs. Applied Economics 43:11:1413-1421. https://doi.org/10.1080/00036840802600475</ref>. Globaalit luvut ovat toki pienemmät kuin mitä rikkaissa länsimaissa katsottaisiin aiheelliseksi käyttää.
* Erilaisista arvioinneista löytyy vaihtelevia lukuja yhden DALYn rahalliselle hinnalle. Esimerkiksi IOMin Shecan-projekti käytti arvoa 50393 €/menetetty elinvuosi<ref>Minstry R. (2011) Methodology for valuing health impacts on the SHEcan project. IOM Research Project P937/96. http://ec.europa.eu/social/BlobServlet?docId=10178&langId=en</ref>, ja IGCB(N)-meluarviointiryhmä käyttää arvoa 60000 GBP/QALY (laatupainotettu elinvuosi) mutta samalla toteaa, että eri arvioinneissa arvot voivat vaihdella välillä 29000 - 130000 GBP/QALY<ref>The Interdepartmental Group on Costs and Benefits Noise Subject Group. (2014) Environmental Noise: Valuing impacts on sleep disturbance, annoyance, hypertension, productivity and quiet. https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/380852/environmental-noise-valuing-imapcts-PB14227.pdf</ref><ref>The Interdepartmental Group on Costs and Benefits Noise Subject Group (IGCB(N)). (2010) Noise & Health – Valuing the Human Health Impacts of Environmental Noise Exposure. https://khub.net/c/document_library/get_file?uuid=6a229977-e27a-43c5-a780-e224649bd2df&groupId=6197021</ref>.
* Berryn ja Flindellin mukaan Isossa-Britanniassa käytäntö on muodostunut sellaiseksi, että lääkkeet tai muut lääketieteelliset toimenpiteet saavat kansallisessa terveysjärjestelmässä helposti puollon, jos ne tuottavat yhden terveen elinvuoden alle 20000 GBP:n kustannuksilla. Tyypillisesti toteutetaan hankkeita tasolla 30000 GBP/QALY, mutta hankkeilta hinnaltaan yli 50000 GBP/QALY vaaditaan erityisiä perusteluja<ref>Berry BF, Flindell IH. (2009) Estimating  Dose-Response  Relationships between Noise Exposure and Human Health Impacts in the UK. BEL Technical Report 2009-002. https://webarchive.nationalarchives.gov.uk/20130123222353/http://archive.defra.gov.uk/environment/quality/noise/igcb/documents/tech-report.pdf</ref>.
* Toisaalta Hammitt todistelee, että hinta per tilastollinen elämä (value per statistical life, VSL) ja hinta per DALY muuttuvat epälineaarisesti suhteessa toisiinsa, eikä näin ollen olisi mahdollista käyttää hyvinvointimuutoksen mittarina vakiolla kerrottua DALY-arvoa, ainakaan taloudellisen hyvinvointiteorian (economic welfare theory) puitteissa.<ref>Hammitt, J.K. (2013) Admissible utility functions for health, longevity, and wealth: integrating monetary and life-year measures. J Risk Uncertain 47: 311. https://doi.org/10.1007/s11166-013-9178-4</ref>
Pitoisuusanalyysien kustannukset on poistettu tästä.
Trikiinin valvontakustannukset: Tämän artikkelin mukaan trikiinin DALYt ovat vain luokkaa 100 DALY/miljardi ihmistä, joten valvonta ei ole mielekästä<ref>Brecht Devleesschauwer, Nicolas Praet, Niko Speybroeck, Paul R. Torgerson, Juanita A. Haagsma, KrisDe Smet, K. Darwin Murrell, Edoardo Pozio, Pierre Dorny. (2015) The low global burden of trichinellosis: evidence and implications. International Journal for Parasitology 45, 2–3, 95-99. [https://doi.org/10.1016/j.ijpara.2014.05.006] [https://www.sciencedirect.com/science/article/pii/S0020751914001374]</ref>.
==== Skenaarioista ====
Tyydyttyneen rasvan ja suolan osalta tarkastellaan sydänmerkkiaterioita. Oletetaan, että kaikki lounasruokaloiden ateriat muuttuvat sydänmerkkiaterioiksi. Väestön suuruudeksi oletetaan nykyinen lounaspaikkaruokailijoiden päivittäinen määrä eli 279000, ja heille oletetaan pysyvä muutos ruokavalioon.
Kun ei murehdita altistusjakaumasta, voidaan keskimääräisestä saannista vähentää vähennys, ja tämä muutos kohdennetaan vain 25-69-vuotiaaseen alaryhmään (jos alaryhmä on kyseiselle vasteelle määritelty). Skenaariossa kerrotaan PAF luvulla, joka saa arvon 1 nykyisellä altistuksella ja arvon 0 suosituksen mukaisella arvolla. Tätäitä laimennetaan altistujien osuudella. Niinpä käytetään tätä kaavaa kertoimen laskemiseksi:
PAF_factor = 1-(reduction / (intake-recommendation)) * eaters / population
'''Suola:
Sydänmerkki vähensi 2016 suolan saantia 1 g/d eli 4.2-5.2 g/vk eli 10 %. Tässä oletetaan 3.3-5.1 g/vk vähennys eli 0.471 - 0.729 g/d myös viikoloput huomioiden. Jula (2011) arvioi, että 1 g/d vähennys koko väestössä alentaa kustannuksia 70 Me/a. (Tarkista onko tautitaakkaa!)
Suositus on enintään 5 g/d. Nykysaanti (Valsta 2018) on miehillä 8.7 g/d ja naisilla 6.4 g/d ja tätä käytetään tasajakaumana koko väestölle, koska sukupuolia ei tarkastella erikseen.
'''Rasva:
Sydänmerkkiateria vähensi saantia 14 E%:sta 10 E%:iin. Tässä oletetaan, että vähennys on 22.0-58.1 g/vk.
Suositus on enintään 10 E%.
Valsta (2018): Tyydyttyneiden rasvahappojen osuus kokonaisenergiasta oli naisilla 14 % (28 g/vrk) ja miehillä 15 % (38 g/vrk). Naisilla muuntosuhde on 2 g /d /E% ja miehillä 2.53 g /d /E%, käytetään 2.25 g /d /E%. Grammamääräinen altistus on muutettava energiaosuudeksi.
22.0-58.1 g/vk / (7d/vk) / (2.25 g /d /E%) = 1.397 - 3.689 E%
Näiden tietojen avulla lasketaan PAF-kertoimen jakauma, joka sijoitetaan päätöstauluun päätöksenä Scenario ja vaihtoehtona Action.


==== Malliparametrit ====
==== Malliparametrit ====
Rivi 124: Rivi 78:


{{piilotettu|
{{piilotettu|
Kalankulutus on ilmoitettu fileepainona eikä tuorepainona, eli oletetaan että kaikki tämä tulee syödyksi.


<t2b name="Malliparametrit" index="Response,Exposure_agent,Type,Subgroup,Unit" obs="Result" desc="Description" unit="various">
<t2b name="Malliparametrit" index="Response,Exposure_agent,Type,Subgroup,Unit" obs="Result" desc="Description" unit="various">
||amount|Kala:Kirjolohi; Scenario: BAU|Gg /a|6.7|KKE-skenaario
||amount|Kala:Kasvatettu; Scenario: BAU|Gg /a|0.6|KKE-skenaario
||amount|Kala:Silakka; Scenario: BAU|Gg /a|1.6|KKE-skenaario
||amount|Kala:Kaupallinen; Scenario: BAU|Gg /a|3.2|KKE-skenaario
||amount|Kala:Vapaa-ajan; Scenario: BAU|Gg /a|9.9|KKE-skenaario
||amount|Kala:Tuontilohi; Scenario: BAU|Gg /a|23.6|KKE-skenaario
||amount|Kala:Tuontikirjolohi; Scenario: BAU|Gg /a|4.8|KKE-skenaario
||amount|Kala:Muu tuonti; Scenario: BAU|Gg /a|28|KKE-skenaario
||amount|Kala:Kirjolohi; Scenario: Kotimaa|Gg /a|19|KKE-skenaario
||amount|Kala:Kasvatettu; Scenario: Kotimaa|Gg /a|5|KKE-skenaario
||amount|Kala:Silakka; Scenario: Kotimaa|Gg /a|8|KKE-skenaario
||amount|Kala:Kaupallinen; Scenario: Kotimaa|Gg /a|7|KKE-skenaario
||amount|Kala:Vapaa-ajan; Scenario: Kotimaa|Gg /a|10|KKE-skenaario
||amount|Kala:Tuontilohi; Scenario: Kotimaa|Gg /a|32|KKE-skenaario
||amount|Kala:Tuontikirjolohi; Scenario: Kotimaa|Gg /a|5|KKE-skenaario
||amount|Kala:Muu tuonti; Scenario: Kotimaa|Gg /a|28|KKE-skenaario
||amount|Kala:Kirjolohi; Scenario: Tuonti|Gg /a|6.7|KKE-skenaario
||amount|Kala:Kasvatettu; Scenario: Tuonti|Gg /a|2|KKE-skenaario
||amount|Kala:Silakka; Scenario: Tuonti|Gg /a|3|KKE-skenaario
||amount|Kala:Kaupallinen; Scenario: Tuonti|Gg /a|4|KKE-skenaario
||amount|Kala:Vapaa-ajan; Scenario: Tuonti|Gg /a|10|KKE-skenaario
||amount|Kala:Tuontilohi; Scenario: Tuonti|Gg /a|44|KKE-skenaario
||amount|Kala:Tuontikirjolohi; Scenario: Tuonti|Gg /a|10|KKE-skenaario
||amount|Kala:Muu tuonti; Scenario: Tuonti|Gg /a|28|KKE-skenaario
CHD death||BoD|Age:Female 25-69|DALY|9876 (9103 - 10784)|Z:\Projects\RUORI\tautitaakka\Rasvat\IHD_data_IHME.csv
CHD death||BoD|Age:Female 25-69|DALY|9876 (9103 - 10784)|Z:\Projects\RUORI\tautitaakka\Rasvat\IHD_data_IHME.csv
CHD death||BoD|Age:Male 25-69|DALY|48851 (54035 - 46123)|Z:\Projects\RUORI\tautitaakka\Rasvat\IHD_data_IHME.csv
CHD death||BoD|Age:Male 25-69|DALY|48851 (54035 - 46123)|Z:\Projects\RUORI\tautitaakka\Rasvat\IHD_data_IHME.csv
Rivi 132: Rivi 112:
CHD death||BoD|Age:Male 70+|DALY|48150 (46327 - 51255)|Z:\Projects\RUORI\tautitaakka\Rasvat\IHD_data_IHME.csv
CHD death||BoD|Age:Male 70+|DALY|48150 (46327 - 51255)|Z:\Projects\RUORI\tautitaakka\Rasvat\IHD_data_IHME.csv
CHD death||BoD|Age:Age 70+|DALY|90900 (87334 - 97164)|Summed from previous
CHD death||BoD|Age:Age 70+|DALY|90900 (87334 - 97164)|Summed from previous
Diet high in sodium||BoD|Age:Total population|DALY|1310 : 27670 : 66420|IHME GBD2017. Triangular distribution used because normal would go below zero
IQ loss||case burden||DALY /IQ|0.11 (0.06 - 0.16)|Arja used 0.013 but here we use Goherr value instead
Diet low in fruits||BoD|Age:Total population|DALY|36050 (20570 - 54800)|IHME GBD2017 http://ghdx.healthdata.org/gbd-results-tool?params=gbd-api-2017-permalink/da3bde44e863adb438c5fb47a89942fb
Cancer morbidity||case burden||DALY/case|0 - 0.28|Goherr assessment
Diet low in vegetables||BoD|Age:Total population|DALY|28440 (14190 - 45960)|IHME GBD2017
Cancer morbidity||case burden||DALY/case|0 - 0.28|Goherr assessment
Liver cancer||BoD|Age:Age 25-64|DALY|2499 (2018 - 3115)|From IHME (2014)
Sperm concentration||case burden||DALY/case|0 - 5|Goherr assessment
Liver cancer||BoD|Age:Age 65-74|DALY|2745 (2245 - 3311)|From IHME (2014)
Yes or no dental defect||case burden||DALY/case|0 - 0.12|Goherr assessment
dummy||case burden|Age:Female 25-69|DALY /case|0|Needed for case_burden to cover all Ages
CHD2 mortality||case burden||DALY /case|5 - 15|Goherr assessment
dummy||case burden|Age:Female 70+|DALY /case|0|Needed for case_burden to cover all Ages
Stroke mortality||case burden||DALY /case|5 - 15|Goherr assessment
dummy||case burden|Age:Male 25-69|DALY /case|0|Needed for case_burden to cover all Ages
Yes or no dental defect||case burden||DALY /case|0 - 0.12|Goherr assessment
dummy||case burden|Age:Male 70+|DALY /case|0|Needed for case_burden to cover all Ages
Cancer morbidity||case burden||DALY /case|0.3937391 (0.3566650 - 0.4356150)|Goherr assessment
dummy||case burden|Age:Age 25-64|DALY /case|0|Needed for case_burden to cover all Ages
Vitamin D recommendation||case burden||DALY /case|0.0001 - 0.0101|Goherr assessment
dummy||case burden|Age:Age 65-74|DALY /case|0|Needed for case_burden to cover all Ages
Sperm concentration||case burden||DALY /case|0 - 5|Goherr assessment
IQ loss||case burden|Age:Age 1|DALY /IQ|0.11 (0.06 - 0.16)|Arja used 0.013 but here we use Goherr value instead
Loss in child's IQ points||case burden||DALY /case|0.11 (0.06 - 0.16)|Goherr assessment
Listeriosis||case burden|Age:Total population|DALY/case|10 (5 - 13.3)|WHO 2015 report, European values (Table A8.2)
Noro infection||case burden|Age:Total population|DALY/case|0.0015 - 0.0025|WHO 2015 report, European values (Table A8.2)
Toxoplasmosis||case burden|Age:Age 0 (congenital)|DALY/case|7 (3 - 10)|WHO 2015 report, European values (Table A8.4) 2 (1-3) / 0.3
Toxoplasmosis||case burden|Age:Age 1+ (acquired)|DALY/case|0.05 (0.03 - 0.08)|WHO 2015 report, European values (Table A8.4) 6 (4 - 10) / 119
Cancer morbidity||case burden|Age:Female 18-45|DALY/case|0 - 0.28|Goherr assessment
Cancer morbidity||case burden|Age:Non female 18-45|DALY/case|0 - 0.28|Goherr assessment
Sperm concentration||case burden|Age:Age 1|DALY/case|0 - 5|Goherr assessment
Yes or no dental defect||case burden|Age:Age 1|DALY/case|0 - 0.12|Goherr assessment
|Aflatoxin|exposure|Exposure:To eater; Age:Age 25-64|ng /kg /d|0.85 - 1.14|Finravinto 2012
|Aflatoxin|exposure|Exposure:To eater; Age:Age 65-74|ng /kg /d|0.5 - 0.67|Finravinto 2012
|TEQ|exposure|Exposure:To child; Age: Age 1|pg /g|1.65 (0.38 - 3.47)|Ruori code; data from Goherr assessment
|TEQ|exposure|Exposure:To child; Age: Age 1|pg /g|1.65 (0.38 - 3.47)|Ruori code; data from Goherr assessment
|TEQ|exposure|Exposure:To eater; Age: Female 18-45|pg /d|4.79 (1.07 - 11.48)|Ruori code; data from Goherr assessment
|TEQ|exposure|Exposure:To eater; Age: Female 18-45|pg /d|4.79 (1.07 - 11.48)|Ruori code; data from Goherr assessment
|TEQ|exposure|Exposure:To eater; Age: Non female 18-45|pg /d|22.61 (9.43 - 44.75)|Ruori code; data from Goherr assessment
|TEQ|exposure|Exposure:To eater; Age: Non female 18-45|pg /d|22.61 (9.43 - 44.75)|Ruori code; data from Goherr assessment
|Lead|exposure|Exposure:To eater; Age:Age 1|ug /l|2:12:30|Measured as blood concentration, triangular distribution for Age 1. RASKURI, Z:\Projects\RUORI\tautitaakka\Lyijy\Lyijy_tautitaakkadata.xlsx
|Saturated fat|exposure|Exposure:To eater; Age:Age 25-69|E%|13.1 (12.9 - 13.4)|Finland, 2010 situation from Wang et al. Supplementary
|Saturated fat|exposure|Exposure:To eater; Age:Age 70+|E%|13.2 (12.8 - 13.6)|Finland, 2010 situation from Wang et al. Supplementary
|Aflatoxin|frexposed|Age:Age 25-64|fraction|1|dummy variable
|Aflatoxin|frexposed|Age:Age 65-74|fraction|1|dummy variable
|Lead|frexposed|Age:Age 1|fraction|1|Already in the exposure distribution
|TEQ|frexposed|Age:Age 1|fraction|1|frexposed is already in the exposure distribution
|TEQ|frexposed|Age:Age 1|fraction|1|frexposed is already in the exposure distribution
|TEQ|frexposed|Age:Female 18-45|fraction|1|frexposed is already in the exposure distribution
|TEQ|frexposed|Age:Female 18-45|fraction|1|frexposed is already in the exposure distribution
|TEQ|frexposed|Age:Non female 18-45|fraction|1|frexposed is already in the exposure distribution
|TEQ|frexposed|Age:Non female 18-45|fraction|1|frexposed is already in the exposure distribution  
IQ loss||incidence|Age:Age 1|IQ /100000py|596000|On average, a population has ca. 6 IQ points per person below 100: mean(abs(rnorm(10000, 100,15)-100))/2
IQ loss||incidence|Age:Age 1|IQ /100000py|596000|On average, a population has ca. 6 IQ points per person below 100: mean(abs(rnorm(10000, 100,15)-100))/2
Listeriosis||incidence|Age:Total population|# /100000py|1.22|Tartuntatautirekisteri 2016: 66 kpl. WHO 2015 report, European values (Table A8.2): 0.2 (0.2 - 0.3)
Liver cancer||incidence|Age:Age 25-64|# /100000py|4.06|Finnish Cancer Registry, average 2011-2015
Liver cancer||incidence|Age:Age 65-74|# /100000py|26.16|Finnish Cancer Registry, average 2011-2015
Noro infection||incidence|Age:Total population|# /100000py|1652 (630 - 3294)|WHO 2015 report, European values (Table A8.2)
Toxoplasmosis||incidence|Age:Age 0 (congenital)|# /100000py|35 (23 - 81)|WHO 2015 report, European values (Table A8.4) Numbers are per whole population, so scale up to Age0: 0.3 (0.2 - 0.7) * 5517919/47663
Toxoplasmosis||incidence|Age:Age 1+ (acquired)|# /100000py|119 (79 - 188)|WHO 2015 report, European values (Table A8.4)
Cancer morbidity||incidence|Age:Female 18-45|# /100000py|657|Statistics Finland https://tilastot.syoparekisteri.fi/syovat/ applies to all subgroups because cancer is lifetime risk
Cancer morbidity||incidence|Age:Female 18-45|# /100000py|657|Statistics Finland https://tilastot.syoparekisteri.fi/syovat/ applies to all subgroups because cancer is lifetime risk
Cancer morbidity||incidence|Age:Non female 18-45|# /100000py|657|Statistics Finland https://tilastot.syoparekisteri.fi/syovat/ applies to all subgroups because cancer is lifetime risk
Cancer morbidity||incidence|Age:Non female 18-45|# /100000py|657|Statistics Finland https://tilastot.syoparekisteri.fi/syovat/ applies to all subgroups because cancer is lifetime risk
Sperm concentration||incidence|Age:Age 1|# /100000py|7000|Male infertility rate is 7 % (Wikipedia)
Sperm concentration||incidence|Age:Age 1|# /100000py|7000|Male infertility rate is 7 % (Wikipedia)
Yes or no dental defect||incidence|Age:Age 1|# /100000py|22400|Alaluusua et al 2004 found 11/49 cases in two lowest groups
Yes or no dental defect||incidence|Age:Age 1|# /100000py|22400|Alaluusua et al 2004 found 11/49 cases in two lowest groups
Diet low in fruits|Fruits|PAF|Age:Total population|fraction|1|dummy variable
Listeriosis|Listeria|PAF|Age:Total population|fraction|1|dummy variable
Noro infection|Noro virus|PAF|Age:Total population|fraction|1|dummy variable
CHD death|Saturated fat|PAF|Age:Age 25-69|fraction|0.064 (0.050 - 0.078)|Finland, 2010 situation from Wang et al. Supplementary
CHD death|Saturated fat|PAF|Age:Age 70+|fraction|0.048 (0.033 - 0.063)|Finland, 2010 situation from Wang et al. Supplementary
Diet high in sodium|Sodium|PAF|Age:Total population|fraction|1|dummy variable
Toxoplasmosis|Toxoplasma gondii|PAF|Age:Age 0 (congenital)|fraction|1|dummy variable
Toxoplasmosis|Toxoplasma gondii|PAF|Age:Age 1+ (acquired)|fraction|1|dummy variable
Diet low in vegetables|Vegetables|PAF|Age:Total population|fraction|1|dummy variable
||population|Age:Age 1||50934|Statistics Finland, 2018 https://pxnet2.stat.fi:443/PXWeb/sq/ac3373d0-e303-4c67-b32a-73c6d26df809
||population|Age:Age 1||50934|Statistics Finland, 2018 https://pxnet2.stat.fi:443/PXWeb/sq/ac3373d0-e303-4c67-b32a-73c6d26df809
||population|Age:Age 25-64|#|2814305|Statistics Finland
||population|Age:Age 25-64|#|2814305|Statistics Finland
Rivi 196: Rivi 145:
||population|Age:Female 18-45|#|923697|Statistics Finland
||population|Age:Female 18-45|#|923697|Statistics Finland
||population|Age:Non female 18-45|#|4594222|Statistics Finland
||population|Age:Non female 18-45|#|4594222|Statistics Finland
Hepatitis||prevalence|Hepatitis:Hepatitis B-|fraction|0.005|TerveSuomi
Hepatitis||prevalence|Hepatitis:Hepatitis B+|fraction|0.995|TerveSuomi
|Saturated fat|scenario exposure|Age:Male 18-24|E%|14.9|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Male 25-44|E%|15.2|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Male 45-64|E%|15.3|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Male 65-74|E%|14.4|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Female 18-24|E%|13.8|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Female 25-44|E%|14.8|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Female 45-64|E%|14.3|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
|Saturated fat|scenario exposure|Age:Female 65-74|E%|14.0|Finravinto 2017. Supplementary table 7.12. Average daily intake of saturated fats by gender and age.
IQ loss|Lead|threshold|Age:Age 1|ug /l|0-24|Lanphear et al 2005 https://doi.org/10.1289/ehp.7688 CHECK THRESHOLD
Liver cancer|Aflatoxin|UR|Hepatitis:Hepatitis B-|# /(ng /kg /d /100000py)|0.01 (0.002 - 0.03)|WHO Is this per year or per lifetime?
Liver cancer|Aflatoxin|UR|Hepatitis:Hepatitis B+|# /(ng /kg /d /100000py)|0.3 (0.01 - 0.5)|WHO Is this per year or per lifetime?
IQ loss|Lead|UR|Age:Age 1|IQ l /ug|0.039 (0.024 - 0.053)|Lanphear et al 2005 https://doi.org/10.1289/ehp.7688 using the first increment from 24 to 100 ug/l
|Sodium|reduction|Age:Total population|g /d|0.471 - 0.729|RUORI estimates 3.3-5.1 g/week reduction for workplace lunches with heart-friendly label
|Sodium|intake|Age:Total population|g /d|6.4 - 8.7|Valsta 2018 estimated the lower value for females and upper for males.
|Sodium|recommendation|Age:Total population|g /d|5|Finnish recommendation by Ruokavirasto
|Sodium|eaters|Age:Total population|#|279000|RUORI estimate based on Taloustutkimus 2010
|Saturated fat|reduction|Age:Age 25-69|E%|1.397 - 3.689|RUORI estimates 22.0 - 58.1 g /week, and on average 2.25 g /d /E%
|Saturated fat|intake|Age:Age 25-69|E%|14 - 15|Valsta 2018 estimated the lower value for females and upper for males.
|Saturated fat|recommendation|Age:Age 25-69|E%|10|Recommendation by Ruokavirasto?
|Saturated fat|eaters|Age:Age 25-69|#|279000|RUORI estimate based on Taloustutkimus 2010
|Vegetables|reduction|Age:Total population|g /d|-30 - 0|RUORI estimates that the consumption increases by 0-14% (up to the % change of tax reduction) i.e. 0.14*213.
|Vegetables|intake|Age:Total population|g /d|196 - 213|Valsta 2018 estimated the lower value for males and upper for females. (vegetables, legumes, nuts)
|Vegetables|recommendation|Age:Total population|g /d|400|Recommendation by IHME
|Vegetables|eaters|Age:Total population|#|5470256|RUORI estimate based on Taloustutkimus 2010
|Fruits|reduction|Age:Total population|g /d|-26 - 0|RUORI estimates that the consumption increases by 0-14% (up to the % change of tax reduction) i.e. 0.14*189.
|Fruits|intake|Age:Total population|g /d|135 - 189|Valsta 2018 estimated the lower value for males and upper for females. (fruits and berries)
|Fruits|recommendation|Age:Total population|g /d|310|Recommendation by IHME
|Fruits|eaters|Age:Total population|#|5470256|RUORI estimate based on Taloustutkimus 2010
</t2b>
</t2b>
Annos-vasteet on tässä vain näytillä, ja oikeat käyttöön tulevat luvut ovat sivulla [[:op_en:ERFs of environmental pollutants]].


<t2b name="Decisions" index="Decision,Option,Variable,Cell,Change" obs="Result" desc="Description" unit="-">
<t2b name="Decisions" index="Decision,Option,Variable,Cell,Change" obs="Result" desc="Description" unit="-">
Adjust|BAU|incidence||Multiply|0.00001|1/100000 py --> 1 py
Adjust|BAU|incidence||Multiply|0.00001|1/100000 py --> 1 py
Adjust|BAU|PAF|Exposure_agent:Saturated fat|Multiply|1.132|Scaled from Wang to Finravinto 2017: mean(15.2,15.3,14.8,14.0)/13.1
Adjust|BAU|conc_vit|Nutrient:Vitamin D,Omega3,ALA,DHA|Multiply|0.01|g /100 g --> g /g
Hepatitis|Hepatitis B-|BoD||Multiply|0.995|Healthy people. Data from TerveSuomi
Adjust|BAU|conc_vit|Nutrient:Omega3|Multiply|1000|g --> mg
Hepatitis|Hepatitis B+|BoD||Multiply|0.005|Hepatitis B patients. Data from TerveSuomi
Adjust|BAU|ERF|Response:Liver cancer|Multiply|0.00001|1/100000py --> 1/py
Scenario|Action|PAF|Exposure_agent:Saturated fat|Multiply|0.911 : 0.944 : 0.971|Based on RUORI modelling (see code)
Scenario|Action|PAF|Exposure_agent:Sodium|Multiply|0.975 : 0.990 : 0.993|Based on RUORI modelling (see code)
Scenario|BAU|PAF||Identity||For completion
Scenario|Action|PAF|Response:Toxoplasmosis;Age:Age 0 (congenital)|Multiply|0|Complete testing and treatment of gongenital disease
Scenario|Action|PAF|Response:Listeriosis|Multiply|0|Complete testing and removal of pathogen
Scenario|Action|exposure|Exposure_agent:Aflatoxin|Multiply|0.95-1|0-5% reduction of exposure based on 10 % more testing
Scenario|Action|exposure|Exposure_agent:Lead|Multiply|0.963-0.975|2.5-3.7% reduction of exposure based on more testing
Threshold|Yes|ERF|Exposure_agent:Lead;Observation:Threshold|Identity||Lanphear 2005 had the lowest exposure level at 24 ug/l
Threshold|No|ERF|Exposure_agent:Lead;Observation:Threshold|Replace|0-24|Sensitivity analysis looks whether reducing or removing threshold is important
Scenario|BAU|exposure||Identity||For completion
Scenario|Action|PAF|Exposure_agent:Noro virus|Multiply|0.65 : 1 : 1|35 % are from food industry so that is the max reduction from testing
Scenario|Action|PAF|Exposure_agent:Vegetables|Multiply|0.85 - 1|Based on RUORI modelling (see code)
Scenario|Action|PAF|Exposure_agent:Fruits|Multiply|0.82 - 1|Based on RUORI modelling (see code)
Adjust|BAU|exposure||Add|0.01|Roughly 98 % of all exposures for Exposure_agents is > 0.005. This prevents NaN in log scaling.
Scenario|Action|exposure|Exposure: To child; Age: Age 1|Replace|0.98 (0.17 - 2.9)|Based on RUORI modelling (see code)
Scenario|Action|exposure|Exposure: To eater; Age: Female 18-45|Replace|2.79 (0.56 - 7.08)|Based on RUORI modelling (see code)
Scenario|Action|exposure|Exposure: To eater; Age: Non female 18-45|Replace|11.38 (3.44 - 46.22)|Based on RUORI modelling (see code)
</t2b>
</t2b>


Rivi 259: Rivi 157:
PAF|Unit, Exposure, Scaling,Exposcen, ER_function, ERFchoiceSource, exposureSource, bgexposureSource, BWSource, doseSource, thresholdSource, ERFSource, RRSource, frexposedSource, incidenceSource, InpPAFSource||sum|1|Remove redundant
PAF|Unit, Exposure, Scaling,Exposcen, ER_function, ERFchoiceSource, exposureSource, bgexposureSource, BWSource, doseSource, thresholdSource, ERFSource, RRSource, frexposedSource, incidenceSource, InpPAFSource||sum|1|Remove redundant
case_burden|case_burdenSource||sum|1|Fill missing Ages
case_burden|case_burdenSource||sum|1|Fill missing Ages
BoDattr|PAFSource, Hepatitis, Adjust||sum|1|Remove redundant
BoDattr|PAFSource, Adjust||sum|1|Remove redundant
amount|assumpSource, oftenSource, muchSource, oftensideSource, muchsideSource, amountRawSource, effinfoSource, effrecommSource, amountSource||sum|1|Remove redundant
expo_indir|f_ingSource, t0.5Source,f_mtocSource, BFSource||sum|1|Remove redundant
expo_indir|f_ingSource, t0.5Source,f_mtocSource, BFSource||sum|1|Remove redundant
exposure|Fish, Kala||sum|1|Remove redundant
dose|Source, concSource, expo_dirSrouce, exposureSource, BWSource, Source.1||sum|1|Remove redundant
dose|Source, concSource, expo_dirSrouce, exposureSource, BWSource, Source.1||sum|1|Remove redundant
conc|Fish|0, 1, 0, 0, 0, 0, 0.19, 0.19, 0.19, 0, 0, 0, 0, 0, 0, 0, 0.29, 0.14|sample|1|Probs relative to consumption; Baltic herring has equal weight with others combined because it is another scenario. Arctic char, Baltic herring, Bream, Burbot, Cod, Flounder, Perch, Pike, Pike-perch, Rainbow trout, River lamprey, Roach, Salmon, Sea trout, Sprat, Trout, Vendace, Whitefish
ERF|Exposure, Age||sum|1|Remove redundant
ERF|Exposure, Age||sum|1|Remove redundant
threshold|Exposure, Age||sum|1|Remove redundant
threshold|Exposure, Age||sum|1|Remove redundant
</t2b>
</t2b>
}}
}}
Scenario|Action|exposure|Exposure: To child; Age: Age 1|Replace|0.98 (0.17 - 2.9)|Based on RUORI modelling (see code)
Scenario|Action|exposure|Exposure: To eater; Age: Female 18-45|Replace|2.79 (0.56 - 7.08)|Based on RUORI modelling (see code)
Scenario|Action|exposure|Exposure: To eater; Age: Non female 18-45|Replace|11.38 (3.44 - 46.22)|Based on RUORI modelling (see code)


=== Laskenta ===
=== Laskenta ===
Avoimen arvioinnin mallikoodi on kirjoitettu R:llä ja se löytyy [https://github.com/jtuomist/fishhealth Githubista].


[[image:Terveysvaikutusten arviointimalli.svg|thumb|400px|Yleiskuva terveysvaikutusten laskentamallista.]]
[[image:Terveysvaikutusten arviointimalli.svg|thumb|400px|Yleiskuva terveysvaikutusten laskentamallista.]]


==== Keskeiset tulosteet ====
==== Keskeiset tulosteet ====
* Malliajo 5000 iteraatiota 11.8.2019 [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=IMy5dmICIwDKkesL]


<rcode label="Laske uudestaan mallin perustulokset" graphics=1>
<rcode label="Laske uudestaan mallin perustulokset" graphics=1>
# This is code Op_fi5889/ on page [[Ruori]]
# This is code Op_fi5923/ on page [[Ruori]]
library(OpasnetUtils)
library(OpasnetUtils)
library(ggplot2)
library(ggplot2)
Rivi 286: Rivi 187:
openv.setN(10)
openv.setN(10)


objects.latest("Op_fi5889", code_name="model")
objects.latest("Op_fi5923", code_name="model")


# First empty all objects for a fresh start. Otherwise may be problems with CheckDecisions.
# First empty all objects for a fresh start. Otherwise may be problems with CheckDecisions.
Rivi 459: Rivi 360:
==== Arviointimallin alustus ====
==== Arviointimallin alustus ====


* Linkit vanhempiin ajoihin [http://fi.opasnet.org/fi-opwiki/index.php?title=Ruori&oldid=35883#Arviointimallin_alustus arkistosta].
<rcode name="model" label="Alusta koko kalanedistämismalli" graphics=1>
* Malliajo 10.8.2019 toksoplasma korjattu. Stored-versio [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=VXNKkIPPZVSDhjUm]
# This is code Op_fi5923/model on page [[Ruori]]
 
<rcode name="model" label="Alusta koko Ruori-malli" graphics=1>
# This is code Op_fi5889/model on page [[Ruori]]
library(OpasnetUtils)
library(OpasnetUtils)
library(ggplot2)
library(ggplot2)
Rivi 472: Rivi 370:
openv.setN(1000)
openv.setN(1000)


dat <- opbase.data("Op_fi5889", subset="Malliparametrit")[-1]
dat <- opbase.data("Op_fi5923", subset="Malliparametrit")[-1]


dec <- opbase.data("Op_fi5889", subset="Decisions")[-1]
dec <- opbase.data("Op_fi5923", subset="Decisions")[-1]
DecisionTableParser(dec)
DecisionTableParser(dec)


CTable <- opbase.data("Op_fi5889",subset="CollapseMarginals")
CTable <- opbase.data("Op_fi5923",subset="CollapseMarginals")
for(i in 1:ncol(CTable)) {CTable[[i]] <- as.character(CTable[[i]])}
for(i in 1:ncol(CTable)) {CTable[[i]] <- as.character(CTable[[i]])}
CollapseTableParser(CTable)
CollapseTableParser(CTable)
Rivi 640: Rivi 538:
   geom_errorbar(aes(ymin=unlist(Q0.025),ymax=unlist(Q0.975)), width=0.3)+
   geom_errorbar(aes(ymin=unlist(Q0.025),ymax=unlist(Q0.975)), width=0.3)+
   geom_text(aes(label=signif(unlist(mean),2), y=unlist(Q0.025)-600))
   geom_text(aes(label=signif(unlist(mean),2), y=unlist(Q0.025)-600))
</rcode>
==== Dioksiini- ja muu valmistelu ====
* Linkit vanhempiin ajoihin löytyvät [http://fi.opasnet.org/fi-opwiki/index.php?title=Ruori&oldid=35883#Dioksiiniskenaario arkistosta].
* Malliajo 18.6.2019 toimii omalla koneella [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=PRqtiUhfxvL0V8hK]
<rcode name="prepare" graphics=1>
# This is code Op_fi5889/prepare on page [[Ruori]]
library(OpasnetUtils)
library(ggplot2)
rm(list=ls())
rm(list=ls(envir = openv),envir=openv)
openv.setN(10000)
##############################
# Pb exposure in children
# Data feched from \\helfs01.thl.fi/documents/YMAL/Projects/TUORI/tautitaakka/lyijy/Lyijy_tautitaakkadata.xlsx
# Pb <- re#ad.csv("clipboard",sep="\t",dec=",")
# ggplot(Pb, aes(x=Pb, fill=as.character(Age)))+geom_density(alpha=0.5)
# Population data
if(FALSE) {
  # Read population data 2018 from Statistics Finland
  #vae <- re#ad.csv("https://pxnet2.stat.fi:443/PXWeb/sq/ac3373d0-e303-4c67-b32a-73c6d26df809", skip=2)
  #vae$Ikä <- as.numeric(gsub(" -","",as.character(vae$Ikä)))
 
  cat("Ages 1, 25-64, 65-74, 25-29, 70+, Total population, 0, 1+, Female 18-45, Non female 18-45\n")
  c(
    sum(vae$X2018[vae$Ikä==1]), # Age 1
    sum(vae$X2018[vae$Ikä>=25 & vae$Ikä <65]), # Age 25-64
    sum(vae$X2018[vae$Ikä>=65 & vae$Ikä <75]), # Age 65-74
    sum(vae$X2018[vae$Ikä>=25 & vae$Ikä <70]), # Age 25-69
    sum(vae$X2018[vae$Ikä>=70 & vae$Ikä <101]), # Age 70+
    sum(vae$X2018), # Total population
    sum(vae$X2018[vae$Ikä==0]), # Age 0
    sum(vae$X2018[vae$Ikä>=1]), # Age 1+
    sum(vae$X2018[vae$Ikä>=18 & vae$Ikä <46 & vae$Sukupuoli=="Naiset"]), #Female 18-45
    sum(vae$X2018[!(vae$Ikä>=18 & vae$Ikä <46 & vae$Sukupuoli=="Naiset")]) #Non female 18-45
  )
}
##########################3
dat <- opbase.data("Op_fi5889", subset="Malliparametrit")[-1]
dec <- opbase.data("Op_fi5889", subset="Decisions")[-1]
DecisionTableParser(dec)
CTable <- opbase.data("Op_fi5889",subset="CollapseMarginals")
for(i in 1:ncol(CTable)) {CTable[[i]] <- as.character(CTable[[i]])}
CollapseTableParser(CTable)
cat("Laskennassa käytetty data.\n")
oprint(dat)
cat("Tarkastellut päätökset.\n")
oprint(dec)
cat("Aggregoidut marginaalit.\n")
oprint(CTable)
#' prepare adjusts the data table for ovariables. Requires function subgrouping from code Op_en2031/initiate on page [[Exposure-response function]]
#' @param dat data.frame
#' @param type type of data that is used. Must match content in column Type
#' @param drop columns to remove
#' @return data.frame
prepare <- function(dat, type=NULL, drop=NULL) {
  out <- dat
  if(!is.null(type)) out <- out[out$Type %in% type , ]
  if(!is.null(drop)) out <- out[!colnames(out) %in% drop]
  return(subgrouping(out))
}
objects.latest("Op_en2031", code_name="initiate") # [[Exposure-response function]] subgrouping
###### Concentration data
objects.latest("Op_en3104", code_name="preprocess") # [[EU-kalat]]") eu2
# Get a lognormal concentration distribution for each fish species using same sd and individual means
conc <- Ovariable(
  "conc",
  dependencies=data.frame(Name=c("eu2")),
  formula = function(...) {
    out <- (oapply(eu2[eu2$Compound %in% c("PCDDF", "PCB") , ], NULL, sum, "Compound"))
    out <- oapply(log(out), c("Fish","eu2Source"), mean)
    result(out) <- paste(result(out), oapply(out, c("eu2Source"), sd)$eu2Result, sep="+-")
    out <- out@output[colnames(out@output)!="eu2Source"]
    colnames(out)[colnames(out)=="eu2Result"] <- "Result"
    out$Exposure_agent <- "TEQ"
    out <- exp(EvalOutput(Ovariable("conc",data=out)))
    out$Scenario <- ifelse(out$Fish=="Baltic herring", "BAU","Action")
    return(out)
  }
)
######## Fish intake data
objects.latest("Op_en7749", code_name = "initiate") # [[Goherr: Fish consumption study]]
## Variables assump, often, much, oftenside, muchside, amountRaw, effinfo, effrecomm, amount
effinfo <- 0 # We are not interested in changes in amount
effrecomm <- 0
amountOrigFormula <- amount@formula
amount@formula <- function(...) {
  out <- amountOrigFormula(...)
  out <- oapply(out[out$Fish=="Herring",], NULL, sum, "Fish")
  out <- out * info
  return(out)
}
# Stores non-marginal columns for further use.
info <- Ovariable(
  "info",
  dependencies = data.frame(Name = c("jsp")),
  formula = function(...) {
    out <- unique(jsp@output[c("Iter","Country","Gender","Ages","Row")])
    out <- out[out$Country=="FI",]
    out$Group <- paste(out$Gender, out$Ages)
    out$Group <- ifelse(out$Group=="Female 18-45", out$Group, "Non female 18-45")
    out$Result <- 1
    return(out)
  }
)
expo_bg <- 0
expo_dir <- Ovariable(
  "expo_dir",
  dependencies=data.frame(Name=c("amount","conc","expo_bg")),
  formula = function(...) {
    out <- amount * conc
   
    out <- Ovariable(data = data.frame(
      Exposcen = c("BAU", "No exposure"),
      Result = c(1, 0)
    )) * out + expo_bg
    out$Exposure <- as.factor(
      ifelse(
        out$Exposure_agent %in% c("DHA", "MeHg"),
        "To child",
        "To eater"
      )
    )
    out@marginal[colnames(out@output)=="Exposcen"]<- TRUE
    return(out)
  }
)
### mc2d makes a 2D Monte Carlo with assumed 50 individuals in data. Exposure is their average.
exposure <- Ovariable(
  "exposure",
  dependencies = data.frame(
    Name = c(
      "expo_dir", # direct exposure, i.e. the person eats or breaths the exposure agent themself
      "expo_indir", # indirect exposure, i.e. the person (typically fetus or infant) is exposed via someone else (mother)
      "mc2d" # 2D Monte Carlo function
    ),
    Ident = c(
      NA,
      "Op_en7797/expo_indir", # [[Infant's dioxin exposure]] # expo_indir
      "Op_en7805/mc2d") # [[Two-dimensional Monte Carlo]]
  ),
  formula = function(...) {
    out <- combine(expo_dir, expo_indir)
    out <- unkeep(out, "Source.1", sources=TRUE)
    out <- mc2d(out)
    return(out)
  }
)
exposure@meta <- c(
  exposure@meta,
  list(units = "To eater: pg /day; to child: pg /g fat")
)
mc2dparam<- list(
  N2 = 1000, # Number of iterations in the new Iter
  strength = 50, # Sample size to which the fun is to be applied. Resembles number of observations
  run2d = TRUE, # Should the mc2d function be used or not?
  info = info, # Ovariable that contains additional indices, e.g. newmarginals.
  newmarginals = c("Group","Exposure"), # Names of columns that are non-marginals but should be sampled enough to become marginals
  method = "bootstrap", # which method to use for 2D Monte Carlo? Currently bootsrap is the only option.
  fun = mean # Function for aggregating the first Iter dimension.
)
exposure <- EvalOutput(exposure,verbose=TRUE)
oprint(summary(exposure[exposure$Exposcen=="BAU",], marginals=c("Exposure_agent","Scenario","Group","Exposure")))
oprint(summary(conc))
oprint(summary(amount*info,marginals="Group"))
ggplot(conc@output, aes(x=concResult, colour=Scenario))+stat_ecdf()+scale_x_log10()
ggplot((info*amount)@output, aes(x=amountResult+0.01, colour=Group))+stat_ecdf()+scale_x_log10()
ggplot(info*expo_indir@output, aes(x=expo_indirResult+0.01, colour=Group))+stat_ecdf()+scale_x_log10()+facet_grid(Group~Exposure)
ggplot(exposure@output[exposure$Exposcen=="BAU",], aes(x=exposureResult, colour=Scenario))+geom_density()+facet_grid(Group~Exposure)
tmp <- summary(exposure[exposure$Exposcen=="BAU",], marginals=c("Scenario","Group","Exposure"))
tmp[4:10] <- as.data.frame(lapply(tmp[4:10], function(x) round(x, 2)))
tmp$out <- paste0(tmp$mean, " (",tmp$Q0.025, " - ", tmp$Q0.975, ")")
oprint(tmp)
tmp$out
##############################
# Domestic fish consumption. Used to give weights to fish species concentration data
tmp <- opbase.data("Op_en7749", subset="Fish consumption as food in Finland")
tmp <- tmp[tmp$Origin=="domestic fish" & !tmp$Species %in% c(
  "Total", "Farmed rainbow trout","Baltic herring", "Other domestic fish") & tmp$Year==2017 ,
  !colnames(tmp) %in% c("Obs","Origin", "Year")]
colnames(tmp)[colnames(tmp)=="Species"] <- "Fish"
levels(tmp$Fish)[
  match(c("European whitefish", "Pike perch"), levels(tmp$Fish))] <- c("Whitefish","Pike-perch")
tmp$Result <- tmp$Result / sum(tmp$Result)
tmp <- merge(unique(eu2@output["Fish"]), tmp, all.x=TRUE)
tmp$Result[is.na(tmp$Result)] <- 0
tmp$Result[tmp$Fish=="Baltic herring"] <- 1 # Baltic herring is on BAU scenario and gets equal weight with others combined
cat("Copy these weights to CollapseMarginal table for conc Collapsing.\n")
round(tmp$Result,2)
###### This is temporary code that is used to calculate the option "Action" of decision "Scenario".
population <- Ovariable("population", data = prepare(dat,"population",c("Type","Exposure_agent","Response","Unit")))
reduction <- Ovariable("reduction", data = prepare(dat,"reduction",c("Type","Response")))
intake <- Ovariable("intake", data = prepare(dat,"intake",c("Type","Response")))
recommendation <- Ovariable("recommendation", data = prepare(dat,"recommendation",c("Type","Response")))
eaters <- Ovariable("eaters", data = prepare(dat,"eaters",c("Type","Response","Unit")))
PAF_factor <- Ovariable(
  "PAF_factor",
  dependencies=data.frame(Name=c("reduction","intake","recommendation","eaters","population")),
  formula = function(...) {
    out <- 1 - reduction / (intake - recommendation) * eaters / population
    return(out)
  }
)
PAF_factor <- EvalOutput(PAF_factor)
ggplot(PAF_factor@output, aes(x=PAF_factorResult, fill=Exposure_agent))+geom_density()+facet_wrap(~Exposure_agent)
summary(PAF_factor)
# The PAF_factor distributions for saturated fat and sodium are NOT normally distributed. Instead, triangular
# distribution seems to be a reasonable fit with parameters:
# Sodium: triangular 0.975 : 0.990 : 0.993
# Saturated fat: triangular 0.911 : 0.944 : 0.971
##### Q25 was used when 25 quantiles were estimated. Now we use rnorm estimate.
Q25 <- function(x) {
  return(round(quantile(x, probs = seq(0.02, 0.98, 0.04)),1))
}
summary(exposure[exposure$Exposcen=="BAU",], marginals=c("Exposure","Group","Scenario"), "Q25")


################ Insight network
################ Insight network

Nykyinen versio 18. tammikuuta 2021 kello 13.11



Kysymys

Mikä olisi kalansyönnin lisääntymisen terveysvaikutus Suomessa?

Oletettu käyttö ja käyttäjät

Tässä arvioinnissa tarkastellaan skenaarioita, joissa suomalaisten kalansyöntiä lisättäisiin kotimaisen kalan edistämisohjelmalla. Tietoja käyttäisivät mm. Luke, MMM ja YM.

Osallistujat

Rajaus

Tilannetta tarkastelleen toisaalta toteutuneeseen 2017 tilanteeseen ja toisaalta skenaarioihin vuodelle 2027, kun on joko lisätty kotimaisen kalan tuotantoa tai tuontia.

Vaihtoehdot

  • Kotimaisen kalan käytön lisääminen
  • Viljellyn kalan tuonnin lisääminen

Aikataulu

Alustavia arvioita pyritään tuottamaan maaliskuun 2020 aikana.

Vastaus

Tulokset

Tautitaakka erilaisissa kalankulutuksen skenaarioissa. Negatiivinen luku tarkoittaa terveyshyötyä.

Arviointimallin keskeiset tulokset löytyvät tästä HTML-tiedostosta.

Päätelmät

Kalansyönti vuonna 2017 vähensi tautitaakkaa n. 100 000 haittapainotettua elinvuotta (DALY) Suomessa. Jos kalansyönti lisääntyisi oheisen taulukon mukaisesti, tautitaakka vähenisi edelleen n. 40 000 DALY /a suomalaista kalankulutusta lisäämällä ja n. 35 000 DALY /a kalantuontia lisäämällä.

Perustelut

Data

Kalansyönti Suomessa eri skenaarioissa (milj kg/a kokonaiskalana)
Kalaryhmä BAU 2017 Kotimainen edistäminen Tuonnin edistäiminen
Kirjolohi suomalainen 11 45 11
Kasvatettu muu suomalainen 1 8 3
Silakka 4 18 8
Kaupallinen luonnonkala 6 12 8
Vapaa-ajan saalis 20 20 20
Tuontilohi 36 38 67
Tuontikirjolohi 8 8 17
Muu tuonti 28 28 28

Eräs keskeisistä terveysvaikutuksiin vaikuttavista oletuksista on, kuka lisääntyneen kalan söisi. Mahdollisia tapoja ajatella:

  • Syöntiä muutetaan nykysyönnin suhteessa.
  • Jokainen suomalainen syö vakiomäärän kalaa enemmän.
  • Kalansyönnin edistämistä suunnataan tietyille väestöryhmille, ja vaikutukset tulevat siellä (mihin?).
  • Vaikutukset jakautuvat satunnaisessa määrin eri yksilöille.

Malliparametrit

Malliparametrit saat näkyviin klikkaamalla.



Scenario|Action|exposure|Exposure: To child; Age: Age 1|Replace|0.98 (0.17 - 2.9)|Based on RUORI modelling (see code) Scenario|Action|exposure|Exposure: To eater; Age: Female 18-45|Replace|2.79 (0.56 - 7.08)|Based on RUORI modelling (see code) Scenario|Action|exposure|Exposure: To eater; Age: Non female 18-45|Replace|11.38 (3.44 - 46.22)|Based on RUORI modelling (see code)

Laskenta

Avoimen arvioinnin mallikoodi on kirjoitettu R:llä ja se löytyy Githubista.

Yleiskuva terveysvaikutusten laskentamallista.

Keskeiset tulosteet

+ Näytä koodi

Arviointimallin alustus

+ Näytä koodi

Katso myös

Lähteet