Assessment of the health impacts of H1N1 vaccination: Difference between revisions

From Opasnet
Jump to navigation Jump to search
mNo edit summary
Line 4: Line 4:
==Scope==
==Scope==


What was the overall health impact of the H1N1 vaccination, given that there is some evidence of it having caused narcolepsy.
What was the overall health impact of the H1N1 vaccination in Finland in 2009-2010?
Given current knowledge, which was the better decision between vaccinating as happened versus vaccinating no-one?


==Definition==
==Definition==
Line 29: Line 30:
=== Formula ===
=== Formula ===


*Basic model, works.
*Basic model
**Uncertainties of ERF of vaccine on narcolepsy and probability of catching swine flu are implemented.  
**Uncertainties of ERF of vaccine on narcolepsy, fraction of all cases represented by lab confirmed cases and probability of catching swine flu are implemented.  


<rcode graphics="1">
<rcode graphics="1">
Line 218: Line 219:
library(MASS)
library(MASS)
library(ggplot2)
library(ggplot2)
# Common variable generation


n <- 1000
n <- 1000
Line 223: Line 226:
#ggplot(tlcf, aes(x=Result)) + geom_density()
#ggplot(tlcf, aes(x=Result)) + geom_density()
#tlcf <- data.frame(Result = 0.1)
#tlcf <- data.frame(Result = 0.1)
tsfp <- sfp()


#test2 <- data.frame(obs = 1:n, Result=rbeta(n, paralpha(0.2, 0.2^2+0.01), parbeta(0.2, 0.2^2+0.01)))
#test2 <- data.frame(obs = 1:n, Result=rbeta(n, paralpha(0.2, 0.2^2+0.01), parbeta(0.2, 0.2^2+0.01)))
Line 245: Line 250:
tvac_cov <- rbind(tvac_cov, data.frame(Age=tvac_cov[,"Age"], Result = 0, Scenario = "novacscenario"))
tvac_cov <- rbind(tvac_cov, data.frame(Age=tvac_cov[,"Age"], Result = 0, Scenario = "novacscenario"))


test <- outcome(inarc = narc(ivac_cov = tvac_cov), sf(iimm = imm(ivac_cov = tvac_cov)))
test <- outcome(inarc = narc(ivac_cov = tvac_cov), sf(isfp = tsfp, iimm = imm(ivac_cov = tvac_cov)))
temp <- as.data.frame(as.table(tapply(test$Result, test[,c("obs","Scenario")], sum)))
temp <- as.data.frame(as.table(tapply(test$Result, test[,c("obs","Scenario")], sum)))
ggplot(temp, aes(x = Freq, fill = Scenario)) + geom_density(alpha = 0.2)
ggplot(temp, aes(x = Freq, fill = Scenario)) + geom_density(alpha = 0.2)
tapply(temp$Freq, temp[,c("Scenario")], mean)
tapply(temp$Freq, temp[,c("Scenario")], mean)
#op_baseWrite("opasnet_base", test)
# Sensitivity and value of information analysis
#test <- op_baseGetData("opasnet_base", "Op_en4926")
temp2 <- as.data.frame(as.table(tapply(test$Result, test[,(colnames(test)%in%c("Result","Outcome"))==FALSE], sum)))
tNERF <- op_baseGetData("opasnet_base", "Op_en4923")[,-c(1)]
colnames(tNERF)[colnames(tNERF)=="Result"] <- "tNERF"
colnames(tlcf)[colnames(tlcf)=="Result"] <- "tlcf"#tlcf from above
colnames(tsfp)[colnames(tsfp)=="Result"] <- "tsfp"#tsfp from above
temp2 <- merge(temp2, tNERF)
temp2 <- merge(temp2, tlcf)
temp2 <- merge(temp2, tsfp)
temp2$NERFbin <- cut(temp2$tNERF, c(-Inf, 1, quantile(temp2$tNERF[temp2$tNERF>1], 1:9/10), Inf))
temp2$lcfbin <- cut(temp2$tlcf, c(-Inf, quantile(temp2$tlcf, 1:9/10), Inf))
temp2$sfpbin <- cut(temp2$tsfp, c(-Inf, quantile(temp2$tsfp, 1:9/10), Inf))
temp3 <- as.data.frame(as.table(tapply(temp2$Freq, temp2[,(colnames(temp2)%in%c("Freq","obs","tNERF","tlcf","tsfp",
"lcfbin","sfpbin"))==FALSE], mean)))
colnames(temp3)[ncol(temp3)] <- "EogNERF"
temp2 <- merge(temp2, temp3)
temp3 <- as.data.frame(as.table(tapply(temp2$Freq, temp2[,(colnames(temp2)%in%c("Freq","obs","tNERF","tlcf","tsfp",
"NERFbin","sfpbin","EogNERF"))==FALSE], mean)))
colnames(temp3)[ncol(temp3)] <- "Eoglcf"
temp2 <- merge(temp2, temp3)
temp3 <- as.data.frame(as.table(tapply(temp2$Freq, temp2[,(colnames(temp2)%in%c("Freq","obs","tNERF","tlcf","tsfp",
"lcfbin","NERFbin","EogNERF","Eoglcf"))==FALSE], mean)))
colnames(temp3)[ncol(temp3)] <- "Eogsfp"
temp2 <- merge(temp2, temp3)
## Correlation
cor(temp2$Freq, temp2[,c("tNERF", "tlcf", "tsfp")], method = "spearman")
## EVPI
mean(tapply(temp$Freq, temp$obs, min)) - min(tapply(temp$Freq, temp$Scenario, mean)) # not considering
## EVXPI for NERF, lcf and sfp
mean(apply(tapply(temp2$EogNERF, temp2[,(colnames(temp2)%in%c("Freq","Scenario","tNERF","tlcf","tsfp","NERFbin","lcfbin","sfpbin",
"EogNERF","Eoglcf","Eogsfp"))==FALSE], min), 2, sum)) - min(tapply(temp$Freq, temp[,c("Scenario")], mean))
mean(apply(tapply(temp2$Eoglcf, temp2[,(colnames(temp2)%in%c("Freq","Scenario","tNERF","tlcf","tsfp","NERFbin","lcfbin","sfpbin",
"EogNERF","Eoglcf","Eogsfp"))==FALSE], min), 2, sum)) - min(tapply(temp$Freq, temp[,c("Scenario")], mean))
mean(apply(tapply(temp2$Eogsfp, temp2[,(colnames(temp2)%in%c("Freq","Scenario","tNERF","tlcf","tsfp","NERFbin","lcfbin","sfpbin",
"EogNERF","Eoglcf","Eogsfp"))==FALSE], min), 2, sum)) - min(tapply(temp$Freq, temp[,c("Scenario")], mean))


#vacscenario <- outcome()
#vacscenario <- outcome()

Revision as of 13:06, 6 April 2011



Scope

What was the overall health impact of the H1N1 vaccination in Finland in 2009-2010? Given current knowledge, which was the better decision between vaccinating as happened versus vaccinating no-one?

Definition

Causal diagram.
Variables
Indicators

Formula

  • Basic model
    • Uncertainties of ERF of vaccine on narcolepsy, fraction of all cases represented by lab confirmed cases and probability of catching swine flu are implemented.

+ Show code

Result

  • From initial results it would appear like swine flu is more significant than narcolepsy in terms of DALYs.
    • Vaccinating as planned would result in approximately 2500 DALYs due to swine flu and narcolepsy combined.
    • Vaccinating no-one would result in approximately 4000 DALYs due to swine flu.

Results

Conclusions

See also

References