Ero sivun ”Taloudellinen arviointi” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(jälkiseurauksineen)
p (→‎Laskenta: uudempi versio englanninkieliseltä sivulta)
Rivi 42: Rivi 42:
TRUE;Kyllä|
TRUE;Kyllä|
default:FALSE|
default:FALSE|
name:debug_plot|description:Debug plots|type:checkbox|options:1;Show all|default:1|
name:vac_user10|description:Valitse PCV-10 serotyypit|type:checkbox|options:
name:vac_user10|description:Valitse PCV-10 serotyypit|type:checkbox|options:
'1';1;
'1';1;
Rivi 267: Rivi 266:
ICER <- EvalOutput(ICER)
ICER <- EvalOutput(ICER)


 
if (FALSE){#!is.null(debug_plot)) {
if (1==2) {
oprint(
qalysum,
include.rownames = FALSE,
caption = "QALYs lost due to IPD",
caption.placement = "top"
)
 
oprint(
health_care_costs,
include.rownames = FALSE,
caption = "Health care costs due to IPD",
caption.placement = "top"
)
 
oprint(
costsum,
include.rownames = FALSE,
caption = "Total costs (health care + vaccination)",
caption.placement = "top"
)
 
oprint(
ICER,
include.rownames = FALSE,
caption = "Cost-effectiveness of vaccination choices",
caption.placement = "top"
)
 
oprint(
sumtable(),
include.rownames = FALSE,
caption = "Summary table",
caption.placement = "top"
)
}
 
if (!is.null(debug_plot)) {
temp <- QALYs
temp <- QALYs
temp <- oapply(temp, NULL, sum, "Outcome")
temp <- oapply(temp, NULL, sum, "Outcome")
Rivi 331: Rivi 292:
) + geom_line() + theme_gray(base_size = 24) + labs(title = "IPD cases per year", y = "Cases per year")
) + geom_line() + theme_gray(base_size = 24) + labs(title = "IPD cases per year", y = "Cases per year")
}
}
if (!is.null(debug_plot)) plot3
#if (!is.null(debug_plot)) plot3
if (!is.null(debug_plot)) plot2
#if (!is.null(debug_plot)) plot2
if (!is.null(debug_plot)) plot1
#if (!is.null(debug_plot)) plot1


# Rigid implementation which doesnt allow uncertainty, for debugging purposes
# Rigid implementation which doesnt allow uncertainty...


qorder <- qalysum@output$Vaccine[order(result(qalysum), decreasing = TRUE)]
qorder <- qalysum@output$Vaccine[order(result(qalysum), decreasing = TRUE)]
Rivi 346: Rivi 307:
ICER2[1] <- 0
ICER2[1] <- 0


if (1==2) {
ipdtable <- oapply(VacIPD, VacIPD@output["Vaccine"], sum)@output
colnames(ipdtable)[colnames(ipdtable) == "VacIPDResult"] <- "N_of_IPD_cases"
 
oprint(
oprint(
oapply(VacIPD, VacIPD@output["Vaccine"], sum),  
ipdtable[order(match(ipdtable$Vaccine, qorder)),],
sortable = FALSE,
include.rownames = FALSE,  
include.rownames = FALSE,  
caption = "Table 1. Number of cases of invasive pneumococcal disease (IPD) per year (see also Figures 1-2 below).",  
caption = "Table 1. Number of cases of invasive pneumococcal disease (IPD) per year (see also Figures 1-2 below).",  
caption.placement = "top"
caption.placement = "top",
)
digits = rep(0, ncol(ipdtable) + 1)
}
 
 
vaccres<-matrix(result(VacIPD),101,3)[,c(3,1,2)]
ipdsums<-apply(vaccres,2,sum)
ipdtable<-data.frame(Vaccination_____=c("No vaccination  ","PCV10    ","PCV13    "),N_of_IPD_cases____=round(ipdsums))
 
oprint(ipdtable,
include.rownames = FALSE,
caption = "Table 1. Number of cases of invasive pneumococcal disease (IPD) per year (see also Figures 1-2 below).",
caption.placement = "top"
)   
)   


##############################
##############################
## print healt care costs table
## print health care costs table


sum_table1A <- data.frame(
sum_table1A <- data.frame(
Vaccine__ = qorder,
Vaccine = qorder,
Medical_costs__ = 0.01*round((result(health_care_costs)/1E4)[match(qorder,health_care_costs@output$Vaccine)]),
Medical_costs = result(health_care_costs)[match(qorder,health_care_costs@output$Vaccine)] * 1e-6,
Vaccine_programme_cost__ = 0.01*round(result(vacprice)/1E4),
Vaccine_programme_cost = result(vacprice) * 1e-6,
Health_care_costs__ = 0.01*round((result(costsum)/1E4)[match(qorder,costsum@output$Vaccine)])
Health_care_costs = result(costsum)[match(qorder,costsum@output$Vaccine)] * 1e-6
)
)
oprint(
oprint(
sum_table1A,
sum_table1A,
sortable = FALSE,
include.rownames = FALSE,  
include.rownames = FALSE,  
caption = "Table 2. Health care costs (in MEUR)",  
caption = "Table 2. Health care costs (in MEUR)",  
caption.placement = "top"
caption.placement = "top",
digits = c(0,0,2,2,2)
)
)


Rivi 404: Rivi 357:
"(*) QALYs and health-care costs refer to the Finnish population of 5.4 million individuals"))
"(*) QALYs and health-care costs refer to the Finnish population of 5.4 million individuals"))


oprint(tekstia, include.rownames = FALSE, include.colnames = FALSE,  
oprint(
caption = "Columns appearing in Table 3 (below)",  
tekstia,  
caption.placement = "top")
include.rownames = FALSE,  
include.colnames = FALSE,  
caption = "Columns appearing in Table 3 (below)",  
caption.placement = "top"
)




Rivi 412: Rivi 369:
sum_table2 <- data.frame(
sum_table2 <- data.frame(
Vaccine = qorder,
Vaccine = qorder,
QALYs_gained__ = round(QALYs_gained),
QALYs_gained = QALYs_gained,
Incremental_effect__ = round(QALYs_incremental),
Incremental_effect = QALYs_incremental,
Health_care_costs__ = 0.01*round(Cost_total/1E4),
Health_care_costs = Cost_total * 1e-6,
Incremental_cost__ = 0.01*round(Cost_incremental/1E4),
Incremental_cost = Cost_incremental * 1e-6,
ICER__ = ICER2
ICER = ICER2
)
)


oprint(
oprint(
sum_table2,
sum_table2,
sortable = FALSE,
include.rownames = FALSE,  
include.rownames = FALSE,  
caption = "Table 3. Cost-effectiveness analysis summary table ",  
caption = "Table 3. Cost-effectiveness analysis summary table ",  
caption.placement = "top"
caption.placement = "top",
digits = c(0,0,0,0,2,2,2)
)
)
</rcode>
</rcode>
<br>


===Alustuspainikkeet (vain sovelluskehittäjille)===
===Alustuspainikkeet (vain sovelluskehittäjille)===

Versio 27. elokuuta 2014 kello 08.46

Edistymisluokitus
Opasnetissa lukuisat sivut ovat työn alla eri vaiheissa. Niiden tietosisältöön pitää siis suhtautua harkiten. Tämän sivun sisällön edistyminen on arvioitu:
Tämä sivu on täysluonnos
Sivu on kirjoitettu kertaalleen alusta loppuun eli kaikki olennaiset sisällöt ovat jo paikoillaan. Kuitenkaan sisältöjä ei ole vielä kunnolla tarkistettu, ja esimerkiksi tärkeitä viitteitä voi puuttua.


Kysymys

Jos rokotevalmiste on vaikuttavuudeltaan parempi mutta tarjotultaan hinnaltaan kalliimpi, milloin sillä saavutettu lisähyöty on lisäkustannuksen arvoinen?

  • Hyötyä arvioidaan rokotteen laajamittaisesta käytöstä seuraavalla invasiivisen pneumokokkitautitapausten vähenemisellä koko väestössä. Hyötyä eli vaikuttavuutta mitataan muutoksella laatupainotetuissa elinvuosissa (Quality-Adjusted Life Years, QALYs).
  • Kustannuksista otetaan huomioon vain terveydenhuollon kustannukset.

Vastaus

Etsitään kustannusvaikuttavin rokote perusteluissa kuvattujen kriteerien mukaisesti.


Laskenta

Taloudellista arviointia varten laadittu ohjelmakoodi laskee inkrementaaliset kustannusvaikuttavuussuhteet (ICER) kahdelle vaihtoehtoiselle rokotteelle.

Käyttäjältä kysytään seuraavat syötteet:

(a) rokotteisiin sisällytettävät serotyypit (oletuksena PCV10 ja PCV13)

(b) rokotteiden annoshinnat

Ohjelma hyödyntää epidemiologisen mallin antamia ennusteita vakavan pneumokokkitaudin vuosittaisille tapausmäärille.

Inkrementaaliset kustannusvaikuttavuussuhteet (ICER-arvot) listataan uuteen välilehteen aukeavalla ohjelman tulostussivulla yhteenvetotaulukossa 3. Pienempää ICER-arvoa vastaava rokote on vaihtoehdoista kustannusvaikuttavampi.

Vaihtoehdot

Valitse vertailtavat rokotteet:
PCV-10
PCV-13

Mikä on rokotteen PCV10 annoshinta?:

Mikä on rokotteen PCV13 annoshinta?:

Haluatko muuttaa rokotteiden PCV-10 ja7tai PCV-13 serotyyppejä?:

User defined vaccine

Valitse PCV-10 serotyypit:
1
3
4
5
6A
6B
6C
7F
8
9N
9V
10
11
12
14
15
16
18C
19A
19F
20
22
23A
23F
33
35
38
Other

Valitse PCV-13 serotyypit:
1
3
4
5
6A
6B
6C
7F
8
9N
9V
10
11
12
14
15
16
18C
19A
19F
20
22
23A
23F
33
35
38
Other

+ Näytä koodi

Alustuspainikkeet (vain sovelluskehittäjille)

Funktioiden alustus

+ Näytä koodi

Kustannuslaskentakoodin alustus

+ Näytä koodi


Perustelu

Vaihtoehtoisten rokotteiden rokotusohjelmat järjestetään vaikuttavuuden mukaan (V1 < V2 < V3, jne). Inkrementaalisessa kustannusvaikuttavuussuhteessa (incremental cost-effectiveness ratio, ICER; €/lisä-QALY) rokotusohjelmaa verrataan vaikuttavuudeltaan seuraavaksi parempaan ohjelmaan. ICER lasketaan jakamalla odotettu kustannusten erotus odoteulla terveysvaikutusten erotuksella:

<math>ICER = \frac{(C_2-S_2) - (C_1-S_1)}{E_2-E_1},</math>

missä C on rokotusohjelman hinta, S on säästö hoitokustannuksissa ja E on QALY-säästö.

Rokotusohjelma jätetään pois tarkastelusta, jos se on sekä kalliimpi että huonompi vaikuttavuudeltaan verrattuna vähintään yhteen vertailtavista rokotteiden ohjelmista. Jäljelle jäävien rokotusohjelmien ICER:eitä verrataan keskenään siten, että ohjelmaa verrataan aina vaikuttavuudeltaan seuraavaksi parempaan ohjelmaan. Vaikuttavuudeltaan huonointa rokotusohjelmaa verrataan ei rokoteta -tilanteeseen. Vertailussa jäljelle jää kustannusvaikuttavuudeltaan paras (ICER on pienin) rokotusohjelma. [1] [2]


Arvioidut hoitokustannukset ja elinvuosimenetykset ilman rokotusohjelmaa

Meningiitti- ja bakteremiatapausten terveyspalvelujen käyttö erikoissairaanhoidossa (vuodeosastohoitojaksot ja poliklinikkakäynnit) sekä meningiitin komplikaatioiden yleisyys arvioitiin Hoitoilmoitus­järjestelmästä (HILMO) poimitusta rekisteriaineistosta (2000-2006). Aineiston menigiittitapauksista (N=255) 12 %:lla (N= 30) oli kuulovaurioon viittaava ICD10-diagnoosi meningiittidiagnoosin jälkeen. Kuulovaurion saaneista 20 %: lla (N=6) oli meningiittidiagnoosin jälkeen sisäkorvaistutetoimenpide (DFE00, istutteen asettaminen korvasimpukkaan). Meningiittitapauksista 16 %:lla oli neurologiseen komplikaatioon viittaava diagnoosi. Kuolemaan johtaneiden IPD tapausten määrät perustuvat suomalaiseen aineistoon [3] . Keskimääräisen tautiepisodin kustannukset hoitovuosittain saatiin kertomalla keskimääräinen palvelujen käyttö yksikkökustannuksilla. Erikoissairaanhoidon keskimääräiset vuodeosastohoitojen ja poliklinikkakäyntien kustannukset arvioitiin tautiryhmittäin muodostettujen aineistojen HUS-kustannustiedoista (HILMO). Kaikki kustannukset ovat vuoden 2012 hintatasossa. Yli vuoden kuluttua toteutuvat terveysvaikutukset ja kustannukset diskontattiin 3 %:n diskonttokorolla.


Kustannusvaikuttavuusanalyysissä käytetyn aineiston yhteenvetotaulukko Kustannusvaikuttavuuslaskelmat perustuvat ikävuosikohtaiseen (0,1,2,...100 vuotiaat) aineistoon invasiivisesta taudista ja menetetyistä elinvuosista.

1. QALY_menin = QALY menetykset aivokalvontulehdustapausten johdosta jälkiseurauksineen (vuosissa, *)
2. QALY_bact = QALY menetykset bakteremiatapausten johdosta (vuosissa, *)
3. CFR = kuolemantapausten osuus aivokalvontulehdus- ja bakteremiatapauksista (case fatality ratio)
4. Life_y_lost = Menetetyt elinvuodet IPD:stä aiheutuvien kuolemantapausten johdosta (*)
5. Cost_ menin = Terveydenhoitokulut (medical costs) aivokalvontulehdustapauksista jälkiseurauksineen (euroa. *)
6. Cost_ bact = Terveydenhoitokulut (medical costs) bakteremiatapauksista  (euroa. *)
7. Menin_osuus = Aivokalvontulehdustapausten osuus kaikista IPD tapauksista
   (*) laskelmissa käytetty diskonttokorko on 3%/vuosi
Arvioidut hoitokustannukset ja menetetyt elinvuodet yhtä sairaustapausta kohti (aivokalvontulehdus tai bakteremia)
Ikäryhmä QALY_menin QALY_bact CFR Life_y_lost Cost_menin Cost_bact Menin_osuus
<5 vuotiaat 0.22 0.0079 0.014 31.1 22 070 1 986 0.037
5-64 vuotiaat 0.16 0.0079 0.112 20.7 26 488 9 000 0.046
65+ vuotiaat 0.08 0.0079 0.196 9.4 21 529 6 823 0.019
  • Huom. Taulukko listaa muuttujien ikäluokkakohtaiset (painotetut) keskiarvot. Mallin laskenta perustuu ikävuosikohtaisiin arvoihin.


Arvioidut hoitokustannukset ja menetetyt elinvuodet yhteensä koko väestössä ilman rokotusohjelmaa (vuoden aikana)
Age group QALY_meningitis QALY_bacteremia Life_years_lost Cost_meningitis Cost_bacteremia
<5 vuotiaat 0.83 0.75 43.64 81 591 189 444
5-64 vuotiaat 2.89 2.90 895.01 470 949 3 308 515
65+ vuotiaat 0.51 2.34 555.60 125 916 2 020 437


Aiemmassa arvioinnissa (2008) käytetyt hoitokustannusarviot

Invasiivisesta pneumokokkitaudista aiheutuvat kustannukset saadaan vuonna 2008 tehdystä pneumokokkikonjugaattirokotusohjelman taloudellisesta arviointitukimuksesta, joka tehtiin osana Kansanterveyslaitoksen (nyk. THL) Lasten pneumokokkirokotustyöryhmän työskentelyä. [4] [5] Tutkimus tehtiin, kun rokotetta harkittiin otettavaksi kansalliseen rokotusohjelmaan. Tutkimuksessa verrattiin 7-valenttisen pneumokokkikonjugaattirokotteen rokotusohjelmaan ottamista ei rokoteta -tilanteeseen ja rokotusohjelman kustannusvaikuttavuutta arvioitiin ottamalla huomioon myös rokotusohjelman väestötason vaikutukset. Arvioitavia terveysvaikutuksia olivat vältetyt ennenaikaiset kuolemat sekä vältetyt aivokalvotulehdus-, bakteremia-, keuhkokuume- ja välikorvatulehdustapaukset.[4]

Odotetut pneumokokkitautien ja välikorvatulehduksen (kaikki taudinaiheuttajat) aiheuttamat vuosittaiset diskontatut (5 %) hoitokustannukset (€) ilman rokotusohjelmaa (arvio 2008) [4]
AOM* (kaikki taudin aiheuttajat) Keuhkokuume TK* Keuhkokuume ESH Bakteremia Aivokalvotulehdus Yhteensä
0v 6 935 217 13 638 339 659 38 418 41 573 7 368 504
1-4v 24 107 113 177 649 1 505 050 116 540 24 092 25 930 444
5-9v - - 975 775 16 351 9 673 1 001 799
10-19v - - 1 274 803 21 184 7 749 1 303 736
20-64 v - - 24 216 258 2 162 396 291 975 26 670 629
65v + - - 59 840 384 1 675 858 114 853 61 631 095
Yhteensä 31 042 329 191 287 88 151 929 4 030 747 489 916 123 906 208
< 5 v 31 042 329 191 287 1 844 709 154 958 65 665 33 298 948
*Tutkimuksessa ei oletettu väestötason vaikutuksia välikorvatulehdukselle ja terveyskeskuksessa hoidetulle keuhkokuumeelle, jonka takia niiden kustannuksiakaan ei arvioitu.



Herkkyysanalyysi

Taloudellisen mallin herkyyttä rokotteisiin sisältyvien serotyyppien oletetun suojan suhteen tarkastellaan erillisellä sivulla: herkkyysanalyysi. Herkkyysanalyysin perusteella serotyypin 3 rooli 13-valenttisessa rokotteessa on tärkeä. Lisäksi oletukset liittyen serotyypin 6A rooliin 10-valenttisessa rokotteessa ovat merkittäviä.


Katso myös

Tämä rokotehankintakeskustelu toimitettiin tiedoksi kansalliselle rokotusasiantuntijaryhmälle 8.9.2014.

Pneumokokkirokotteen hankinta kansalliseen rokotusohjelmaan
Arvioinnin osat

ROKOTEKYSELY - VASTAA TÄSTÄ · Rokotteen vertailuperusteet · Epidemiologinen malli · Taloudellinen arviointi

Englanninkieliset sivut

Tendering process for pneumococcal conjugate vaccine · Comparison criteria for vaccine · Epidemiological modelling · Economic assessment

Taustatietoa

Pneumokokki · Työjärjestys · Pneumokokkirokotevalmisteet · Kansallinen rokotusohjelma · Pneumokokkikonjugaattirokotteen vaikuttavuuden seuranta · Korvautuminen · Viitteet · Herkkyysanalyysi(Tal.arv.) · Rokotesanasto · Pneumokokkirokotteen turvallisuus

Tulosta: Koko materiaali · Pneumokokkirokotekysely


Viitteet

  1. Räsänen P ja Sintonen H. Terveydenhuollon taloudellinen arviointi. Suomen Lääkärilehti 2013; 17:1255–60.
  2. Phillips C and Thompson G. What is cost effectiveness? Hayward Medical Communications 2009. [1]
  3. Klemets et al. (2008) Invasive pneumococcal infections among persons with and without underlying medical conditions: implications for prevention strategies. BMC Infect Dis. 2008 Jul 22;8:96.
  4. 4,0 4,1 4,2 Pneumokokkikonjugaattirokotusohjelman kustannusvaikuttavuus, 2008
  5. Kansanterveyslaitoksen asettaman lasten pneumokokkirokotustyöryhmän selvitys 2.5.2008 [2]

Kommentoi

Tästä aiheesta käydään keskustelua keskustelusivulla. Voit osallistua siihen kirjautumalla sisään.