Ero sivun ”Epidemiologinen malli” versioiden välillä
Ei muokkausyhteenvetoa |
pEi muokkausyhteenvetoa |
||
Rivi 35: | Rivi 35: | ||
[[File:Model_kuva_simplified2.jpg|thumb|600px|'''Kuva 1. Korvautumismallin periaate.''' | [[File:Model_kuva_simplified2.jpg|thumb|600px|'''Kuva 1. Korvautumismallin periaate.''' | ||
Pneumokokin kantajuus (carriage, x-akseli) ja sairastumistapaukset kantajuusepisodia kohden (case-to-carrier ratio, y-akseli) rokotteen serotyypeille (VT) ja serotyypeille joihin rokote ei vaikuta (NVT) ennen rokotusohjelmaa (kuva A) ja sen jälkeen (kuva A). Sairastumistapaukset (DVT ja DNVT) on saatu kertomalla akseleiden arvot ja ne vastaavat kuvaajassa suorakulmion muotoisia alueita. Rokottamisen vaikutuksesta rokoteserotyyppien kantajuus häviää ja korvautuu muiden serotyyppien kantajuudella (kuva B). Tautitapausten määrä laskee hävinneen ja korvaavan kantajuuden sairastuttavuuden (RVT ja RNVT) eroavuuden vuoksi. Tautihäviämä on (kuva B) merkitty sinisellä suorakulmiolla.]] | Pneumokokin kantajuus (carriage, x-akseli) ja sairastumistapaukset kantajuusepisodia kohden (case-to-carrier ratio, y-akseli) rokotteen serotyypeille (VT) ja serotyypeille joihin rokote ei vaikuta (NVT) ennen rokotusohjelmaa (kuva A) ja sen jälkeen (kuva A). Sairastumistapaukset (DVT ja DNVT) on saatu kertomalla akseleiden arvot ja ne vastaavat kuvaajassa suorakulmion muotoisia alueita. Rokottamisen vaikutuksesta rokoteserotyyppien kantajuus häviää ja korvautuu muiden serotyyppien kantajuudella (kuva B). Tautitapausten määrä laskee hävinneen ja korvaavan kantajuuden sairastuttavuuden (RVT ja RNVT) eroavuuden vuoksi. Tautihäviämä on (kuva B) merkitty sinisellä suorakulmiolla.]] | ||
=== Laskenta === | === Laskenta === | ||
Rivi 41: | Rivi 42: | ||
Nurhonen M, Auranen K: Optimal serotype compositions for pneumococcal conjugate vaccination under serotype replacement [[http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003477] | Nurhonen M, Auranen K: Optimal serotype compositions for pneumococcal conjugate vaccination under serotype replacement [[http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003477] | ||
<rcode embed=1 graphics=1 variables=" | <rcode embed=1 graphics=1 variables=" | ||
name:servac_user|description:Serotypes in a vaccine to look at|type:checkbox|options: | name:servac_user|description:Serotypes in a vaccine to look at|type:checkbox|options: | ||
'19F';19F;'23F';23F;'6B';6B;'14';14;'9V';9V;'4';4;'18C';18C;'1';1;'7';7; | '19F';19F;'23F';23F;'6B';6B;'14';14;'9V';9V;'4';4;'18C';18C;'1';1;'7';7; | ||
'6A';6A;'19A';19A;'3';3;'8';8;'9N';9N;'10';10;'11';11;'12';12;'15';15; | '6A';6A;'19A';19A;'3';3;'8';8;'9N';9N;'10';10;'11';11;'12';12;'15';15; | ||
'16';16;'20';20;'22';22;'23A';23;'33';33;'35';35;'38';38;'6C';6C;'Oth';Other| | '16';16;'20';20;'22';22;'23A';23;'33';33;'35';35;'38';38;'6C';6C;'Oth';Other| | ||
default:'19F';'23F';'6B';'14';'9V';'4';'18C';'1';'7 | default:'19F';'23F';'6B';'14';'9V';'4';'18C';'1';'7' | ||
"> | "> | ||
library(OpasnetUtils) | library(OpasnetUtils) | ||
Rivi 102: | Rivi 96: | ||
postvacc <-Vaccination(IPD,Car,VT_rows=pcv13rows,p=1,q=1) | postvacc <-Vaccination(IPD,Car,VT_rows=pcv13rows,p=1,q=1) | ||
## Example S1.2B: Decrease in IPD incidence after adding a single new serotype | ## Example S1.2B: Decrease in IPD incidence after adding a single new serotype | ||
Rivi 111: | Rivi 101: | ||
next_under5<-NextVT(IPD[,1],Car[,1], VT_rows=pcv13rows,p=1) | next_under5<-NextVT(IPD[,1],Car[,1], VT_rows=pcv13rows,p=1) | ||
next_over5 <-NextVT(IPD[,2],Car[,2], VT_rows=pcv13rows,p=1) | next_over5 <-NextVT(IPD[,2],Car[,2], VT_rows=pcv13rows,p=1) | ||
# Nämä taulukot kannattaisi transposata niin näyttäisivät siistimmiltä. | # Nämä taulukot kannattaisi transposata niin näyttäisivät siistimmiltä. | ||
Rivi 122: | Rivi 111: | ||
opt<-OptimalSequence(IPD[,1],Car[,1],VT_rows=0,Excluded_rows=27,p=1.0,HowmanyAdded=20) | opt<-OptimalSequence(IPD[,1],Car[,1],VT_rows=0,Excluded_rows=27,p=1.0,HowmanyAdded=20) | ||
## Example S1.3B: The optimal sequence for the whole population when | ## Example S1.3B: The optimal sequence for the whole population when | ||
Rivi 130: | Rivi 117: | ||
p=0.5,HowmanyAdded=17) | p=0.5,HowmanyAdded=17) | ||
################################### | ################################### | ||
Rivi 148: | Rivi 133: | ||
Serotype = serotypes, | Serotype = serotypes, | ||
Result = as.numeric(c( | Result = as.numeric(c( | ||
serotypes %in% c("19F", "23F", "6B", "14", "9V", "4", "18C", "1", "7 | serotypes %in% c("19F", "23F", "6B", "14", "9V", "4", "18C", "1", "7"), | ||
serotypes %in% servac_user | serotypes %in% servac_user | ||
)) | )) | ||
)) | )) | ||
p_user<-q_user<-adultcarriers<-1 | |||
p <- Ovariable("p", data = data.frame(Result = p_user)) | p <- Ovariable("p", data = data.frame(Result = p_user)) | ||
Rivi 163: | Rivi 150: | ||
VacIPD <- EvalOutput(VacIPD) | VacIPD <- EvalOutput(VacIPD) | ||
if (1==0) { | |||
cat("servac\n") | cat("servac\n") | ||
oprint(summary(servac)) | oprint(summary(servac)) | ||
Rivi 171: | Rivi 158: | ||
oprint(summary(VacCar)) | oprint(summary(VacCar)) | ||
cat("Incidence of invasive pneumococcal disease.\n") | cat("Incidence of invasive pneumococcal disease.\n") | ||
oprint(summary(VacIPD)) | oprint(summary(VacIPD)) } | ||
Rivi 178: | Rivi 165: | ||
if("Iter" %in% colnames(VacCar@output)) N <- max(VacCar@output$Iter) else N <- 1 | if("Iter" %in% colnames(VacCar@output)) N <- max(VacCar@output$Iter) else N <- 1 | ||
ggplot(VacCar@output, aes(x = Serotype, weight = result(VacCar) / N, fill = Vaccine)) + geom_bar(position = "dodge") + theme_gray(base_size = 24) + | if (1==0) {ggplot(VacCar@output, aes(x = Serotype, weight = result(VacCar) / N, fill = Vaccine)) + geom_bar(position = "dodge") + theme_gray(base_size = 24) + | ||
labs(title = "Carriers", y = "Number of carriers in Finland") | labs(title = "Carriers", y = "Number of carriers in Finland") } | ||
ggplot(VacIPD@output, aes(x = Serotype, weight = result(VacIPD) / N, fill = Vaccine)) + geom_bar(position = "dodge") + theme_gray(base_size = 24) + | ggplot(VacIPD@output, aes(x = Serotype, weight = result(VacIPD) / N, fill = Vaccine)) + geom_bar(position = "dodge") + theme_gray(base_size = 24) + | ||
labs(title = "Incidence of invasive pneumococcal disease", y = "Number of cases | labs(title = "Incidence of invasive pneumococcal disease", y = "Number of cases per year") | ||
ggplot(VacIPD@output, aes(x = Vaccine, weight = result(VacIPD) / N, fill = Age)) + geom_bar(position = "stack") + theme_gray(base_size = 24) + | ggplot(VacIPD@output, aes(x = Vaccine, weight = result(VacIPD) / N, fill = Age)) + geom_bar(position = "stack") + theme_gray(base_size = 24) + | ||
labs(title = "Incidence of invasive pneumococcal disease", y = "Number of cases | labs(title = "Incidence of invasive pneumococcal disease", y = "Number of cases per year") | ||
</rcode> | </rcode> |
Versio 24. kesäkuuta 2014 kello 09.42
Moderaattori:Jouni (katso kaikki)
Sivun edistymistä ei ole arvioitu. Arvostuksen määrää ei ole arvioitu (ks. peer review). |
Lisää dataa
|
Kysymys
Miten arvioidaan vakavan pneumokokkitaudin tautitaakka tilanteessa, jossa kansalliseeen rokotusohjelmaan on valittu tietyt rokoteserotyypit sisältävä konjugaattirokote?
- Vakava pneumokokkitauti tarkoittaa invasiivista pneumokokkitautia (ks. vertailuperusteet).
- Arvioidaan tautitapausten vuosittainen määrä kaikisssa ikäryhmissä.
- Rokotuskattavuus, rokotteen teho ja aika rokotusten aloittamisesta ovat riittävät, jotta rokoteserotyyppien kantajuus ja tauti häviävät.
- Oletetaan, että rokoteserotyyppien kantajuus korvautuu täysin muilla serotyypeillä, joiden taudinaiheuttamiskyky säilyy ennallaan.
Vastaus
Mallin antama ennuste tautitapausten vuosittaisesta määrästä ikäluokittain lasketaan ennustemallin avulla (ks. 'Perustelut' alla).
Perustelut
Pneumokokki eli Streptococcus pneumoniae -bakteeri on maailmanlaajuisesti merkittävä lapsikuolleisuuden aiheuttaja. Siksi toimiva pneumokokkibakteerin rokotusohjelma on kansanterveystyönä kustannustehokkaimpien joukossa. Imeväisten rokottamisessa on käytetty kolmea eri konjugaattirokotetta, jotka sisältävät joko 7, 10 tai 13 pneumokokkiserotyyppiä. Rokotteet ovat sekä vähentäneet pneumokokin aiheuttamien sairauksien haittoja että muuttaneet pneumokokkiserotyppien keskinäisiä kantajuusosuuksia.
Pneumokokkitaudin rokotusten jälkeinen tautitaakka arvioidaan kantajuuden laskennallisen korvautumismallin avulla. Mallissa rokoteserotyyppien kantajuus häviää vähitellen rokotusohjelman kohdeväestössä sekä rokotetun että rokottamattoman väestönosan keskuudessa. Samalla rokotetyyppien kantajuus korvautuu ei-rokotetyyppien kantajuudella. Tämän korvautumisen seuraukset voidaan laskea ennen rokotuksia vallinneiden seotyppikohtaisten kantajuusosuuksien ja tautimäärien perusteella.
Korvautumisen seuraukset riippuvat oleellisesti kahdesta mallissa hyödynnetystä oletuksesta
- Rokotteen ulkopuolisten serotyyppien kantajuusosuudet toisiinsa verrattuina eivät muutu rokotuksen vaikutuksesta
- Rokotuksella ei ole vaikutusta yksittäisten serotyyppien taudinaiheuttamiskykyyn
Rokottamisen vaikutus tautimäärään lasketaan kantajuuden muutosten kautta ja korvautuminen pneumokokkiserotyyppien kantajuudessa heijastuu suoraan muutoksena niiden aiheuttamissa tautimäärissä. Rokotusten vaikutus kokonaistautitaakkaan riippuu oleellisesti rokoteserotyyppien taudinaiheuttamiskyvystä verrattuna muiden serotyyppien taudinaiheuttamiskykyyn. Joidenkin serotyyppien kohdalla tarkastellaan kuitenkin myös vaihtoehtoista oletusta, jossa rokote voi vähentää serotyypin aiheuttaman taudin esiintymistä rokotettujen keskuudessa ilman vaikutusta kantajuuteen (Huom! Tämä piirre ei vielä toimi allaolevassa ohjelmassa)----#: . Katson vielä tiistaina miten tämän osan voi totetuttaa --Markku N. (keskustelu) 23. kesäkuuta 2014 kello 22.00 (UTC) (type: truth; paradigms: science: comment).
Korvautuminen
Korvautuminen on ilmiö, jossa rokotusten hävittämät pneumokokkiserotyypit korvautuvat väestössä osittain muilla serotyyppejä. Tällöin pneumokokki ei vähene väestössä niin paljon kuin rokoteserotyyppien yleisyys antaisi olettaa. Ilmiötä on tarkemmin kuvattu omalla sivullaan.
Laskenta
R-program code for the replacement model as in File S1 of Nurhonen M, Auranen K: Optimal serotype compositions for pneumococcal conjugate vaccination under serotype replacement [[1]
Funktioiden alustus
Data
Pneumokokin esiintyvyys suomalaisessa väestössä. Carrier: (oireettomien) kantajien lukumäärä, Incidence: invasiivisen pneumokokkitaudin ilmaantuvuus 100000 henkilövuotta kohti.
Näytä yksityiskohdat | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Katso myös
Tämä rokotehankintakeskustelu toimitettiin tiedoksi kansalliselle rokotusasiantuntijaryhmälle 8.9.2014.