Economic evaluation: Difference between revisions

From Opasnet
Jump to navigation Jump to search
(data summary tables added)
(curator added)
 
(32 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{method}}
{{progression class|progression=Reviewed|curator=THL|date=2016-03-21}}
{{progression class|progression=Full draft}}


[[op_fi:Taloudellinen_arviointi]]
[[op_fi:Taloudellinen_arviointi]]
Line 14: Line 13:
== Answer ==
== Answer ==


The answer to the question is based on the concept of incremental costs. For example, if there are only two vaccines to be compared, the more effective (and more expensive vaccine) is said to be more cost-effective if the incremental cost effectiveness ratio (ICER), comparing the vaccine to the less effective vaccine, exceeds the ICER of the less effective vaccine as compared to the alternative 'no vaccination'. The principle in general is explained below (see 'Rationale').
A general approach to answer the question is based on the concept of incremental cost-effectiveness. For example, if there are only two vaccines to be compared, the more effective (and more expensive vaccine) is said to be more cost-effective if the incremental cost effectiveness ratio (ICER), comparing the vaccine to the less effective vaccine, exceeds the ICER of the less effective vaccine as compared to the alternative 'no vaccination'. The general principle is explained below (see 'Rationale').


=== Computation ===
The importance of alternative assumptions about protection against individual serotypes were assessed in a sensitivity analysis. Several 'modifications' for PCV10 and PCV13 were considered, regarding assumptions about the extent of indirect protection against serotypes
3, 6A, 6A, and 19A. A detailed account of the sensitivity analysis is on page [[Cost_effectiveness_sensitivity|'''Cost_effectiveness_sensitivity''']]. These analyses included determining the difference in the QALYs gained under PCV10 and PCV13.
 
In summary, if PCV13 does not induce population-level (i.e. indirect) effects on serotype 3, the difference between PCV10 and PCV13 in quality adjusted life years (QALYs) gained and medical costs are relatively minor. Different assumptions about the roles of 6A protection by PCV10 and 6C protection by PCV13 lead to different preferences, with minor absolute differences in QALYs with respect to the overall effectiveness (QALYs gained) due to PCV vaccination. 
 
Therefore, in view of the intrinsic uncertainties in the evaluation, PCV10 and PCV13 can be regarded as equally effective. This also means that incremental cost effectiveness ratios do not need to be calculated.
 
== Evaluation tool ==


The following programme can be used to calculate the incremental cost effectiveness ratios (ICERs) for  
The following programme can be used to calculate the incremental cost effectiveness ratios (ICERs) for  
Line 25: Line 31:
(b) the prices per dose for the two vaccine products.  
(b) the prices per dose for the two vaccine products.  


The computation utilises the epidemiological model to predict the annual number of invasive pneumococcal disease (IPD) under both vaccination programmes and, for comparison, for the scenario 'no vaccination'. The summary table presents the ICERs. The vaccine programme with the lower ICER is identified as the more cost-effective of the two alternatives.  
The computation utilises the [[Epidemiological modelling|epidemiological model]]<ref name="optimalserotype">[http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003477  Nurhonen M, Auranen K (2014) Optimal Serotype Compositions for Pneumococcal Conjugate Vaccination under Serotype Replacement. PLoS Comput Biol 10(2): e1003477. doi:10.1371/journal.pcbi.1003477]</ref> to predict the annual number of invasive pneumococcal disease (IPD) under both vaccination programmes and, for comparison, for the scenario 'no vaccination'. The summary table presents the ICERs. The vaccine programme with the lower ICER is identified as the more cost-effective of the two alternatives. Note, that some of the ouput is irrelevant if the vaccine programme is cost saving (i.e, if savings in medical costs exceed vaccine programme cost).


'''N.B.''' Some assumptions applied int the sensitivity analysis cannot be realised with the current version of the programme. In particular, there is currently no option to include direct protection only (i.e. vaccine efficacy for the vaccinated cohorts only) for individual serotypes. However, the sensitivity analyses show that the difference between 'direct protection only' and 'no protection at all' is usually not decisive for the overall effectiveness of conjugate vaccination. In other words, the most important assumptions concers indirect protection.
<br>
* <big>'''<u>Instructions for user: Choose the desired vaccine compositions and their prices and then press "Run code".</u>'''
The results of the cost-effectiveness analysis will be displayed on a separate tab. </big>
<rcode embed=0 graphics=1 variables="
<rcode embed=0 graphics=1 variables="
name:vac|description:Please choose the vaccines to be compared:|type:checkbox|options:
name:vac|description:Please choose the vaccines to be compared:|type:checkbox|options:
Line 39: Line 51:
TRUE;Yes|
TRUE;Yes|
default:FALSE|
default:FALSE|
name:debug_plot|description:Debug plots|type:checkbox|options:1;Show all|default:1|
name:vac_user10|description:Choose the serotypes for the PCV-10 vaccine composition|type:checkbox|options:
name:vac_user10|description:Choose the serotypes for the PCV-10 vaccine composition|type:checkbox|options:
'1';1;
'1';1;
Line 212: Line 223:
)
)
VacIPD@marginal <- c(VacIPD@marginal, FALSE)
VacIPD@marginal <- c(VacIPD@marginal, FALSE)
#oprint(VacIPD)
 
ggplot(VacIPD@output, aes(x = Vaccine, weight = result(VacIPD) / N, fill = Agegroup)) + geom_bar(position = "stack") + theme_gray(base_size = 24) +
ggplot(VacIPD@output, aes(x = Vaccine, weight = result(VacIPD) / N, fill = Agegroup)) + geom_bar(position = "stack") + theme_gray(base_size = 24) +
labs(title = "Figure 2. Number of IPD  cases per year, by age group.", y = "Number of cases per year")
labs(title = "Figure 2. Number of IPD  cases per year, by age group.", y = "Number of cases per year")


######################
######################
#QALYpercase <- Ovariable("QALYpc", ddata = "Op_en6358.qalys_lost") # [[Economic evaluation]] QALYs per case
#costpercase <- Ovariable("costpc", ddata = "Op_en6358.costs_incurred") # [[Economic evaluation]] QALYs per case
#QALY <- VacIPD * QALYpercase
#cost <- VacIPD * costpercase + vacprice


# Sum over Serotype
# Sum over Serotype
Line 231: Line 234:
Costs <- EvalOutput(Costs) # Healthcare costs
Costs <- EvalOutput(Costs) # Healthcare costs
Total_costs <- oapply(Costs, NULL, sum, c("Outcome", "Age"))
Total_costs <- oapply(Costs, NULL, sum, c("Outcome", "Age"))
#oprint(Total_costs)
Total_costs <- oapply(Total_costs, Total_costs@output[colnames(Total_costs@output) %in% c("Vaccine", "Iter")], mean)
Total_costs <- oapply(Total_costs, Total_costs@output[colnames(Total_costs@output) %in% c("Vaccine", "Iter")], mean)
health_care_costs <- Total_costs
health_care_costs <- Total_costs
Line 239: Line 241:


QALYs <- EvalOutput(QALYs)
QALYs <- EvalOutput(QALYs)


#### Tässä voi tehdä tapauskohtaista säätöä valitsemalla sopivat indeksit.
#### Tässä voi tehdä tapauskohtaista säätöä valitsemalla sopivat indeksit.
Line 246: Line 246:
qalyind <- "Vaccine"
qalyind <- "Vaccine"
if("Iter" %in% colnames(QALYs@output)) qalyind <- c(qalyind, "Iter")
if("Iter" %in% colnames(QALYs@output)) qalyind <- c(qalyind, "Iter")
#costind <- "Vaccine"
#if("Iter" %in% colnames(Total_costs@output)) costind <- c(costind, "Iter")


qalysum <- oapply(QALYs, INDEX = QALYs@output[qalyind], FUN = sum)
qalysum <- oapply(QALYs, INDEX = QALYs@output[qalyind], FUN = sum)
Line 254: Line 251:
colnames(qalysum@output)[colnames(qalysum@output) == "QALYsResult"] <- "Result"
colnames(qalysum@output)[colnames(qalysum@output) == "QALYsResult"] <- "Result"


#costsum <- oapply(Total_costs, INDEX = Total_costs@output[costind], FUN = sum)
costsum <- Total_costs
costsum <- Total_costs
#oprint(costsum)
#oprint(qalysum)


#### The actual model
#### The actual model
Line 264: Line 257:
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")
Line 328: Line 283:
) + 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)]
Line 343: Line 298:
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 health care costs table


sum_table1A <- data.frame(
Vaccine = qorder,
Medical_costs = result(health_care_costs)[match(qorder,health_care_costs@output$Vaccine)] * 1e-6,


##############################
## this row was corrected by Markku Nurhonen (mnud) 14 April 2015
## print healt care costs table
## old version listed prices sometimes in wrong order:  Vaccine_programme_cost = result(vacprice) * 1e-6,


sum_table1A <- data.frame(
        Vaccine_programme_cost = result(vacprice)[match(qorder,vacprice@output$Vaccine)] * 1e-6,
Vaccine__ = qorder,
Health_care_costs = result(costsum)[match(qorder,costsum@output$Vaccine)] * 1e-6
Medical_costs__ = 0.01*round((result(health_care_costs)/1E4)[match(qorder,health_care_costs@output$Vaccine)]),
Vaccine_programme_cost__ = 0.01*round(result(vacprice)/1E4),
Health_care_costs__ = 0.01*round((result(costsum)/1E4)[match(qorder,costsum@output$Vaccine)])
)
)
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)
)
)


Line 401: Line 352:
"(*) 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"
)




Line 409: Line 364:
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>


== Rationale ==
Vaccination programmes are ranked in ascending order according to their effectiveness. The effectiveness is measured as the expected reduction in invasive pneumococcal disease, as predicted by the [[Epidemiological modelling|epidemiological model]].
Alternatives for which there is at least one other alternative with lower cost and better effectiveness are first excluded.
Each programme ('A') is then compared to the next more effective programme ('B') by the incremental cost-effectiveness ratio (ICER){{reslink|Economic comparison method}}:
<math>ICER = \frac{(C_B-S_B) - (C_A-S_A)}{E_B-E_A},</math>
where C is the price of the vaccination program, S is the savings in health care costs (as compared to strategy 'no vaccination') and E is the savings in QALYs (as compared to 'no vaccination'). Any programme that is followed by a (more effective) programme with a smaller ICER (i.e. one which produces an additional unit of effect with lower cost) is dropped off from further consideration. The ICERs are then re-calculated and the procedure repeated as many times as needed to eventually identify the most cost-effective alternative. For a tutorial on incremental cost effectiveness analysis, see Phillips (2009) <ref name="whatis">
[http://www.medicine.ox.ac.uk/bandolier/painres/download/whatis/Cost-effect.pdf? Phillips C (2009) What is cost-effectiveness? What is...? series. Hayward Medical Communications.]</ref>.
=== Costs ===
Health care resource use in secondary health care, per IPD case and sequelae after meningitis, were estimated from the Hospital Discharge Register (2000-2006). For each meningitis and bacteremia case, an episode of care was constructed by linking the outpatient visits and inpatient hospitalizations, using the unique personal identity code. The case fatality ratio (CFR) for IPD was obtained from a Finnish study <ref name="klemets">[http://www.biomedcentral.com/1471-2334/8/96 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.]</ref>. The unit costs for hospitalizations and outpatient visits were estimated based on individual-level cost accounting data from one hospital district. Other unit cost estimates were mainly taken from a widely used national price list for the unit costs of health care in Finland. The costs were presented in 2012 prices and were evaluated from the health care provider perspective. Future costs and benefits were discounted at 3% per annum. 
=== Data ===
Summary table of the data applied in the cost-effectiveness analysis. Note, that the cost-effectiveness analysis is based on age-year (0-100) specific data on IPD and life years lost.
1. QALY_menin = QALY losses due to meningitis incl. sequlae (in years, *)
2. QALY_bact = QALY losses due to bacteremia (in years, *)
3. CFR = Case fatality ratio for meningitis and bacteremia
4. Life_y_lost = Life years lost due to IPD (mengitis or bacteremia, *)
5. Cost_ menin = Medical costs attributed to meningitis incl. sequlae (in euros *)
6. Cost_ bact = Medical costs attributed to bacteremia  (in euros *)
7. Menin_proportion = Proportion of meningitis cases of all IPD cases
    (*) a discount rate of 3%/year was applied in all calculations
{| || {{prettytable}}
|+Estimated medical costs and years lost due to a single bacteremia or meningitis episode
|  Age class || QALY_men || QALY_bac || CFR || Life_y_lost || COST_men || COST_bac || Menin_proportion
|---
| <5 years || 0.22 || 0.0079 || 0.014 || 31.1 || 22 070 || 1 986 || 0.037
|---
| 5-64 years || 0.16 || 0.0079 || 0.112 || 20.7 || 26 488 || 9 000 || 0.046
|---
| 65+ years || 0.08 || 0.0079 || 0.196 || 9.4 || 21 529 || 6 823 || 0.019
|---
|}
* Note: The above table lists averages within each age class. Cost-effectiveness analysis is based on age year -specific values.
<br>
{|{{prettytable}}
|+Estimated medical costs and years lost in Finland without vaccination (per year)
|---
|Age group||QALY_meningitis||QALY_bacteremia||Life_years_lost||Cost_meningitis||Cost_bacteremia
|---
|0-4y||0.83||0.75||43.64||81 591||189 444
|---
|5-64y||2.89||2.90||895.01||470 949||3 308 515
|---
|65+y||0.51||2.34||555.60||125 916||2 020 437
|---
|}
<br>
=== Computation ===


==== Variable initiation (Only for developers) ====
==== Variable initiation (Only for developers) ====
Line 692: Line 707:
</rcode>
</rcode>


== Rationale ==  
== Sensitivity ==
Vaccination programmes are ranked in ascending order according to their effectiveness. The effectiveness is measured as the expected reduction in invasive pneumococcal disease, as predicted by the [[Epidemiological_modelling|epidemiological model]].
Alternatives for which there is at least one other alternative with lower cost and better effectiveness are first excluded.
Each programme ('A') is then compared to the next more effective programme ('B') by the incremental cost-effectiveness ratio (ICER):
 
<math>ICER = \frac{(C_B-S_B) - (C_A-S_A)}{E_B-E_A},</math>


where C is the price of the vaccination program, S is the savings in health care costs (as compared to strategy 'no vaccination') and E is the savings in QALYs (as compared to 'no vaccination'). Any programme that is followed by a (more effective) programme with a smaller ICER (i.e. one which produces an additional unit of effect with lower cost) is dropped off from further consideration. The ICERs are then re-calculated and the procedure repeated as many times as needed to eventually identify the most cost-effective alternative.  
The effects of alternative vaccine compositions on the outcomes of the cost-effectiveness analysis were assessed. Several modifications for PCV10 and PCV13 were considered. Conclusion: The assumption about serotype 3 in PCV13 is crucial. In addition, assumptions about the role of 6A in PCV10 is important. '''For results, see''' [[Cost_effectiveness_sensitivity|'''Cost_effectiveness_sensitivity''']].


 
If serotype 3 is not included as a vaccine type in PCV13, then the differences between PCV10 and PCV13 in quality adjusted life years (QALYs) gained and medical costs are relatively minor. Therefore, in view of the intrinsic uncertainties in the model, PCV10 and PCV13 can be regarded as equally effective.
 
=== Costs ===
 
Health care resource use in secondary health care, per IPD case and sequelae after meningitis, were estimated from the Hospital Discharge Register (2000-2006). For each meningitis and bacteremia case, an episode of care was constructed by linking the outpatient visits and inpatient hospitalizations, using the unique personal identity code. The case fatality ratio (CFR) for IPD was obtained from a Finnish study ([http://www.biomedcentral.com/1471-2334/8/96 Klemets et. al (2008)]). The unit costs for hospitalizations and outpatient visits were estimated based on individual-level cost accounting data from one hospital district. Other unit cost estimates were mainly taken from a widely used national price list for the unit costs of health care in Finland. The costs were presented in 2012 prices and were evaluated from the health care provider perspective. Future costs and benefits were discounted at 3% per annum.
 
=== Sensitivity ===
 
The effects of alternative vaccine compositions on the outcomes of the cost-benefit analysis were assessed. Five modifications for PCV10 and one for  PCV13 were considered Conclusion: The assumption about serotype 3 in PCV13 is crucial. In addition, assumptions about the role of 6A in PCV10 is important. For results, see [[Cost_effectiveness_sensitivity]].
 
 
 
=== Data ===
Summary tables of the data applied in calcuating the economic model.
 
<br>
1. IPD-menin = meningitis, number of cases per year
2. IPD-bact = bacteremia, number of cases per year
3. QALY_menin = QALY losses due to meningitis (in years, *)
4. QALY_bact = QALY losses due to bacteremia (in years, *)
5. Life_y_lost = Life years lost due to IPD (mengitis or bacteremia, *)
6. Cost_ menin = Medical costs attributed to meningitis  (in euros *)
7. Cost_ bact = Medical costs attributed to bacteremia  (in euros *)
    (*) a discount rate of 3%/year was applied in all calculations
 
{|{{prettytable}}
|+'''Estimated medical costs and years lost per year in Finland without vaccination'''
|---
|'''Age group'''||'''IPD_menin'''||'''IPD_bact'''||'''QALY_menin'''||'''QALY_bact'''||'''Life_y_lost'''||'''Cost_menin'''||'''Cost_bact'''
|---
|'''0-4y'''||3.70||95.3||0.83||0.75||43.64||81 591||189 444
|---
|'''5-64y'''||17.78||367.5||2.89||2.90||895.01||470 949||3 308 515
|---
|'''65+y'''||5.85||296.1||0.51||2.34||555.60||125 916||2 020 437
|---
|}
{|{{prettytable}}
|+'''Estimated medical costs and years lost due to a single bacteremia or meningitis episode'''
|---
| '''Age group'''||'''QALY_menin'''||'''QALY_bact'''||'''Life_y_lost'''||'''Cost_menin'''||'''Cost_bact'''
|---
|'''0-4y'''|| 0.223||0.0079||31.0||22 070||1 986
|---
|'''5-64y'''|| 0.162||0.0079||20.6||26 488||9 000
|---
|'''65+y''' || 0.086||0.0079||9.3||21 529||6 823
|---
|}
 
<br>




Line 757: Line 717:


{{pneumococcal vaccine}}
{{pneumococcal vaccine}}
{{method|moderator=Mnud}}


== References ==
== References ==


<references/>
<references/>
== Related files ==
* {{#l:GSK 04  Economic evaluation_final_for Opasnet.docx}}


== Comment the content ==
== Comment the content ==


{{commenting tool}}
{{commenting tool}}

Latest revision as of 11:27, 23 March 2016

Progression class
In Opasnet many pages being worked on and are in different classes of progression. Thus the information on those pages should be regarded with consideration. The progression class of this page has been assessed:
This page is reviewed
It has been read with a critical eye and commented on by an outside source, and given impairment suggestions have been included in the page. An equivalent to a peer-reviewed article.
The content and quality of this page is/was being curated by the project that produced the page.

The quality was last checked: 2016-03-21.

Question

How to identify the most cost-effective pneumococcal conjugate vaccine to the national immunisation programme?

  • The health benefit (effectiveness) of the pneumococcal infant immunisation programme is assessed by the expected gain in Quality-Adjusted Life Years (QALYs), corresponding to the expected reduction in the annual number of invasive pneumococcal disease in the whole Finnish population.
  • The perspective of the analysis is that of the health care provider.
  • The analysis is based on incremental cost effectiveness


Answer

A general approach to answer the question is based on the concept of incremental cost-effectiveness. For example, if there are only two vaccines to be compared, the more effective (and more expensive vaccine) is said to be more cost-effective if the incremental cost effectiveness ratio (ICER), comparing the vaccine to the less effective vaccine, exceeds the ICER of the less effective vaccine as compared to the alternative 'no vaccination'. The general principle is explained below (see 'Rationale').

The importance of alternative assumptions about protection against individual serotypes were assessed in a sensitivity analysis. Several 'modifications' for PCV10 and PCV13 were considered, regarding assumptions about the extent of indirect protection against serotypes 3, 6A, 6A, and 19A. A detailed account of the sensitivity analysis is on page Cost_effectiveness_sensitivity. These analyses included determining the difference in the QALYs gained under PCV10 and PCV13.

In summary, if PCV13 does not induce population-level (i.e. indirect) effects on serotype 3, the difference between PCV10 and PCV13 in quality adjusted life years (QALYs) gained and medical costs are relatively minor. Different assumptions about the roles of 6A protection by PCV10 and 6C protection by PCV13 lead to different preferences, with minor absolute differences in QALYs with respect to the overall effectiveness (QALYs gained) due to PCV vaccination.

Therefore, in view of the intrinsic uncertainties in the evaluation, PCV10 and PCV13 can be regarded as equally effective. This also means that incremental cost effectiveness ratios do not need to be calculated.

Evaluation tool

The following programme can be used to calculate the incremental cost effectiveness ratios (ICERs) for two alternative vaccination programmes. The input required is:

(a) the serotype compositions of the two vaccines to be compared (the defaults are PCV10 and PCV13), and

(b) the prices per dose for the two vaccine products.

The computation utilises the epidemiological model[1] to predict the annual number of invasive pneumococcal disease (IPD) under both vaccination programmes and, for comparison, for the scenario 'no vaccination'. The summary table presents the ICERs. The vaccine programme with the lower ICER is identified as the more cost-effective of the two alternatives. Note, that some of the ouput is irrelevant if the vaccine programme is cost saving (i.e, if savings in medical costs exceed vaccine programme cost).

N.B. Some assumptions applied int the sensitivity analysis cannot be realised with the current version of the programme. In particular, there is currently no option to include direct protection only (i.e. vaccine efficacy for the vaccinated cohorts only) for individual serotypes. However, the sensitivity analyses show that the difference between 'direct protection only' and 'no protection at all' is usually not decisive for the overall effectiveness of conjugate vaccination. In other words, the most important assumptions concers indirect protection.


  • Instructions for user: Choose the desired vaccine compositions and their prices and then press "Run code".

The results of the cost-effectiveness analysis will be displayed on a separate tab.

Scenarios

Please choose the vaccines to be compared::
PCV-10
PCV-13

What is the price of a single PCV10 vaccination?:

What is the price of a single PCV13 vaccination?:

Do you want to adjust PCV-10 or PCV-13 vaccine composition?:

User defined vaccine

Choose the serotypes for the PCV-10 vaccine composition:
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

Choose the serotypes for the PCV-13 vaccine composition:
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

+ Show code


Rationale

Vaccination programmes are ranked in ascending order according to their effectiveness. The effectiveness is measured as the expected reduction in invasive pneumococcal disease, as predicted by the epidemiological model. Alternatives for which there is at least one other alternative with lower cost and better effectiveness are first excluded. Each programme ('A') is then compared to the next more effective programme ('B') by the incremental cost-effectiveness ratio (ICER)R↻ :

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle ICER = \frac{(C_B-S_B) - (C_A-S_A)}{E_B-E_A},}

where C is the price of the vaccination program, S is the savings in health care costs (as compared to strategy 'no vaccination') and E is the savings in QALYs (as compared to 'no vaccination'). Any programme that is followed by a (more effective) programme with a smaller ICER (i.e. one which produces an additional unit of effect with lower cost) is dropped off from further consideration. The ICERs are then re-calculated and the procedure repeated as many times as needed to eventually identify the most cost-effective alternative. For a tutorial on incremental cost effectiveness analysis, see Phillips (2009) [2].

Costs

Health care resource use in secondary health care, per IPD case and sequelae after meningitis, were estimated from the Hospital Discharge Register (2000-2006). For each meningitis and bacteremia case, an episode of care was constructed by linking the outpatient visits and inpatient hospitalizations, using the unique personal identity code. The case fatality ratio (CFR) for IPD was obtained from a Finnish study [3]. The unit costs for hospitalizations and outpatient visits were estimated based on individual-level cost accounting data from one hospital district. Other unit cost estimates were mainly taken from a widely used national price list for the unit costs of health care in Finland. The costs were presented in 2012 prices and were evaluated from the health care provider perspective. Future costs and benefits were discounted at 3% per annum.

Data

Summary table of the data applied in the cost-effectiveness analysis. Note, that the cost-effectiveness analysis is based on age-year (0-100) specific data on IPD and life years lost.

1. QALY_menin = QALY losses due to meningitis incl. sequlae (in years, *)
2. QALY_bact = QALY losses due to bacteremia (in years, *)
3. CFR = Case fatality ratio for meningitis and bacteremia
4. Life_y_lost = Life years lost due to IPD (mengitis or bacteremia, *)
5. Cost_ menin = Medical costs attributed to meningitis incl. sequlae (in euros *)
6. Cost_ bact = Medical costs attributed to bacteremia  (in euros *)
7. Menin_proportion = Proportion of meningitis cases of all IPD cases
   (*) a discount rate of 3%/year was applied in all calculations
Estimated medical costs and years lost due to a single bacteremia or meningitis episode
Age class QALY_men QALY_bac CFR Life_y_lost COST_men COST_bac Menin_proportion
<5 years 0.22 0.0079 0.014 31.1 22 070 1 986 0.037
5-64 years 0.16 0.0079 0.112 20.7 26 488 9 000 0.046
65+ years 0.08 0.0079 0.196 9.4 21 529 6 823 0.019
  • Note: The above table lists averages within each age class. Cost-effectiveness analysis is based on age year -specific values.


Estimated medical costs and years lost in Finland without vaccination (per year)
Age group QALY_meningitis QALY_bacteremia Life_years_lost Cost_meningitis Cost_bacteremia
0-4y 0.83 0.75 43.64 81 591 189 444
5-64y 2.89 2.90 895.01 470 949 3 308 515
65+y 0.51 2.34 555.60 125 916 2 020 437


Computation

Variable initiation (Only for developers)

+ Show code

Cost calculation (Only for developers)

+ Show code

Sensitivity

The effects of alternative vaccine compositions on the outcomes of the cost-effectiveness analysis were assessed. Several modifications for PCV10 and PCV13 were considered. Conclusion: The assumption about serotype 3 in PCV13 is crucial. In addition, assumptions about the role of 6A in PCV10 is important. For results, see Cost_effectiveness_sensitivity.

If serotype 3 is not included as a vaccine type in PCV13, then the differences between PCV10 and PCV13 in quality adjusted life years (QALYs) gained and medical costs are relatively minor. Therefore, in view of the intrinsic uncertainties in the model, PCV10 and PCV13 can be regarded as equally effective.


See also

Tendering process for pneumococcal conjugate vaccine
Parts of the assessment

Comparison criteria for vaccine   · Epidemiological modelling   · Economic evaluation

Background information

Sensitivity analysis · Replacement   · Pneumococcal vaccine products   · Finnish vaccination schedule   · Selected recent publications


Help for discussion and wiki editing

Pages in Finnish

Pneumokokkirokotteen hankinta  · Rokotteen vertailuperusteet · Epidemiologinen malli · Taloudellinen arviointi · Pneumokokkirokotteen turvallisuus


Work scheduling · Monitoring the effectiveness of the pneumococcal conjugate vaccine · Glossary of vaccine terminology



References

Related files

Comment the content