Talk:Economic evaluation
Ajattelimme Karin kanssa, että nykyinen epidemiologinen malli-ohjelmakoodi toimii hyvin ja sen voisi jättää suunilleen nykyiselleen. Taloudellinen malli perustuu epidemiologisen mallin ennusteisiin, mutta siihen tarvitaan 101-luokkainen ikäluokitus. Taloudellisen arvioinnin sivulla voisi siis olla kokonaan oma koodinsa jossa tehdään uusi ennuste tällä tiheämmällä luokituksella. Tai sitten epidemiologista mallia kutsutaan talousmallin sivulta - miten vain.
Olen nyt ladannut Opasnettiin alla olevaan muuttujaan 101-ikäluokkaisen aineiston.
http://fi.opasnet.org/fi/Special:Opasnet_Base?id=op_fi4433.pneumokokki_vaestossa
Tämä data on myös liitteenä "IPD_data.dat" (101*27 taulukko).
IPD= tapausten lukumäärä Suomessa per vuosi. Huom 1: Tiedostossa "IPD_data.dat" on kokonaislukuja, jotka tulee jakaa 1000:lla, jotta saadaan tapausten lukumäärä Suomessa per vuosi. Huom 2: tässä aineistossa carriage on ikäluokkakohtainen serotyyppijakauma, jonka summa on joka ikäluokassa 1000 (siis kantajuuosuudet promilleina). Tämä ei haittaa, koska mallissa ratkaisevia ovat vain suhteelliset kantajuusosuudet.
Tämän datan pitäisi sopia nykyiseen epidemiologisen mallin koodiin yhtä lailla kuin nykyinen kahden ikäluokan datakin.
(sivuhuomautus: Jostakin kumman syystä onnistuin kyllä ajamaan vastaavanlaisen 7 luokan datan (http://fi.opasnet.org/fi_wiki/index.php?title=Markunkoesivu&oldid=25237) mutta tästä 101-luokkaisesta versiosta koodi ei pitänyt.)
Ovariable VacIPD tuottaisi siis taloudellista mallia varten 101-pituisen vektorin joka vastaa IPD tapausten määrää Suomessa kussakin yhden vuoden pituisessa ikäluokassa per vuosi valittua rokotetta käytettäessä (tai ilman rokotuksia).
- ICER LASKENTA
Heiniltä saamme ensi viikon alussa 101-pituisen vektorin "QALYs_lost" (QALY=quality adjusted life year), joka vastaa kussakin ikäluokassa yhden IPD tapauksen keskimäärin tuottamaa QALY-menetystä ottaen huomioon kuoleman tai pysyvän haitan tms riskin ja näiden arvioidut elämänlaadun menetykset QALYina.
Samaten saamme vektorin "Costs_incurred", joka vastaa kussakin ikäluokassa yhden IPD tapauksen keskimäärin aiheuttamia terveydenhuollon kokonaiskustannuksia.
Siten rokotteen PCV_X jälkeen rokotusten ja IPD tapausten kustannukset ovat (sinisellä merkityt ovat 101-vektoreita)
Cost(PCV_X) = cost_of_vaccine(PCV_X) + sum(IPD(PCV_X) * Costs_incurred)
ja IPD tapausten haitat QALYina ovat
QALYs(PCV_X) = sum(IPD(PCV_X) * QALYs_lost)
R-koodi, jossa nämä lasketaan PCV10 ja PCV13 rokotteille on tiedostossa "Cost_Eff_model_run.R". Tässä käytetään funktiota "Vaccination", jota opasnetissä vastaa ovariable "VacIPD".
Koodissa käyttäjä antaisi siis inputtina kahden rokotteen, PCV_A ja PCV_B hinnat ja serotyypit ja saisi tuloksena taulukon:
QALYs gained incremental QALYs gained incremental costs ICER ------------------------- -------------------------- --------- ---------------- PCV_0 0 0 Cost(PCV_0) 0 PCV_A QALYs(PCV_0)-QALYs(PCV_A) QALYs(PCV_0)-QALYs(PCV_A) Cost(PCV_A)-Cost(PCV_0) inc.costs/inc.QALYs.g PCV_B QALYs(PCV_0)-QALYs(PCV_B) QALYs(PCV_A)-QALYs(PCV_B) Cost(PCV_B)-Cost(PCV_A) inc.costs/inc.QALYs.g
missä PCV_0 on tilanne, jossa ei rokoteta. Tässä oletetaan, että A ja B on järjestetty siten, että QALYs(PCV_A)>QALYs(PCV_B).