Vaccine Adverse Event Reporting System

Il Vaccine Adverse Event Reporting System (VAERS) è un programma statunitense per la sicurezza dei vaccini, co-gestito dai centri statunitensi per il controllo e la prevenzione delle malattie Centers for Disease Control and Prevention (CDC) e la Food and Drug Administration (FDA). L'obiettivo principale di questo strumento è quello di individuare eventuali reazioni avverse talmente rare da non essere apparse all'interno dei test clinici.

VAERS, il Vaccine Safety Datalink (VSD) e il Clinical Immunization Safety Assessment (CISA) Network sono strumenti mediante i quali il CDC e la FDA monitorano la sicurezza dei vaccini per adempiere al loro dovere di enti regolatori incaricati di proteggere gli individui. Il CDC avverte che non è possibile stabilire una correlazione causa effetto dai dati VAERS[1], per studi di questo tipo ci si affida al VSD.

L'ente europeo incaricato del medesimo compito è l'EudraVigilance, naturalmente possiede le stesse limitazioni dei VAERS.

Durante la pandemia da covid-19 questo database è stato ampiamente utilizzato per condividere disinformazione riguardo i vaccini.[2][3][4][5]

Origini

Il programma è una conseguenza del National Childhood Vaccine Injury Act (NCVIA) del 1986, che richiede agli operatori sanitari di segnalare:

  • Qualsiasi evento elencato dal produttore del vaccino come controindicazione a dosi successive del vaccino.
  • Qualsiasi evento elencato nella tabella degli eventi segnalabili che si verifica entro il periodo di tempo specificato dopo la vaccinazione. I dati vengono memorizzati elettronicamente dal CDC nel Vaccine Safety Datalink (VSD).

VAERS è stata fondata nel 1990, ed è gestita congiuntamente dalla FDA e dal CDC, pensato per agire come una sorta di "sistema di allerta precoce", un modo per medici e ricercatori di identificare possibili reazioni impreviste o effetti collaterali della vaccinazione per ulteriori studi.

Attività

Ogni anno il VAERS riceve almeno 50.000 segnalazioni di eventi avversi a seguito dell'immunizzazione da parte di oltre 10 milioni di vaccini. Gli usi con priorità più alta dei dati includono segnalazioni di decessi e altri eventi avversi gravi, il riconoscimento e l'individuazione di effetti avversi e la scoperta di eventi avversi inattesi che coinvolgono nuovi vaccini. I dati VAERS vengono utilizzati anche per monitorare le reazioni note ai vaccini e per la sorveglianza dei lotti di vaccini. Il sistema è stato utilizzato nel 1999 per identificare un vaccino contro il rotavirus che aveva un aumentato rischio di una condizione di ostruzione intestinale e la ricerca ha portato alla sospensione dell'uso del vaccino.


Vaccini anti Covid

Dopo avere scaricato il dataset VAERS del 2021 da qui : https://vaers.hhs.gov/data.html è possibile analizzare gli eventi avversi ai vaccini anti covid segnalati dall'1/1/2021 al 18/9/2021, utilizzando il linguaggio di programmazione R .

Dopo avere caricato le opportune librerie :

 library(dplyr)
 library(ggplot2)

e caricato i dati :

patient <- read.csv("2021VAERSDATA.csv")
vaccines <- read.csv("2021VAERSVAX.csv")
symptoms <- read.csv("2021VAERSSYMPTOMS.csv")

si nota che gli eventi avversi segnalati ai vaccini anti covid sono 567.697

table(as.factor(vaccines$VAX_TYPE))
 6VAX-F   ADEN_4_7       ANTH       CHOL    COVID19 
      2       16         35         16        567697 
       DF         DT       DTAP DTAPHEPBIP    DTAPIPV 
        9         12        183        119        128 
DTAPIPVHIB        DTP     DTPHEP       EBZR  FLU(H1N1) 
      160          6          1         15          2 
     FLU3       FLU4      FLUA3      FLUA4      FLUC3 
       47        780         54         90         26 
    FLUC4      FLUN3      FLUN4      FLUR4       FLUX 
      178          3         13         89        381 
FLUX(H1N1)        HEP       HEPA      HEPAB       HIBV 
        5        252        301         33        221 
     HPV4       HPV9       HPVX        IPV       JEV1 
       55        476          6         81          8 
     JEVX        MEN       MENB     MENHIB        MMR 
        1         20        207          1        336 
     MMRV        MNQ     MNQHIB        OPV        PNC 
      247        317          1          2          8 
    PNC13        PPV        RAB        RV1        RV5 
      377        344         99         48        232 
      RVX      SMALL         TD       TDAP    TDAPIPV 
        6         17         39        379          1 
     TTOX        TYP        UNK     VARCEL     VARZOS 
       14        121       3607        368       4006 
       YF 
       46

escludiamo tutti i vaccini, tranne quelli relativi al Covid:

vaccines <- vaccines[which(vaccines$VAX_TYPE=="COVID19"),]

Gli eventi avversi relativi al vaccino MODERNA sono 275.389, quelli relativi a PFIZER 239.991 ecc.

table(as.factor(vaccines$VAX_MANU))
            JANSSEN              MODERNA 
              51116               275389 
   PFIZER\\BIONTECH UNKNOWN MANUFACTURER 
             239991                 1201 

Unisco i 2 datasets patient e vaccines

df <- merge(patient,vaccines, by="VAERS_ID")

La variabile RECOVD vale Y se il paziente è guarito dall'evento avverso, N se non è guarito, U se non si sa . In ogni caso come si vede dal seguente grafico ci sono più eventi avversi relativi a MODERNA che a PFIZER...:

df %>%
  filter(RECOVD!="",VAX_MANU!="UNKNOWN MANUFACTURER") %>%
  group_by(VAX_MANU,RECOVD) %>%
  summarise(totale=n()) %>%
  ggplot(aes(VAX_MANU,totale, fill=RECOVD))+
  geom_bar( stat = "identity")+
  coord_flip()
 


...inoltre ci sono più eventi avversi relativi a donne che a uomini:

df %>%
  filter(SEX!="",VAX_MANU!="UNKNOWN MANUFACTURER") %>%
  group_by(VAX_MANU,SEX) %>%
  summarise(totale=n()) %>%
  ggplot(aes(VAX_MANU,totale, fill=SEX))+
  geom_bar( stat = "identity")+
  coord_flip()
 


... unisco ai precedenti datasets, quello dei sintomi:


df <- merge(df, symptoms , by.x = "VAERS_ID")

... creo una funzione che visualizza in base al tipo di vaccino prescelto i primi 30 eventi avversi per numero di segnalazioni ed il numero di segnalazioni aventi "morte" come sintomo :


visualizza_sintomi_e_morti <- function(vaccino)
{ 
  df1 <- df %>%
  filter(VAX_MANU==vaccino)


df2 <- data.frame(sintomi=df1$SYMPTOM1)
df3 <- data.frame(sintomi=df1$SYMPTOM2)
df4 <- data.frame(sintomi=df1$SYMPTOM3)
df5 <- data.frame(sintomi=df1$SYMPTOM4)
df6 <- data.frame(sintomi=df1$SYMPTOM5)
df2 <- rbind(df2,df3)
df2 <- rbind(df2,df4)
df2 <- rbind(df2,df5)
df2 <- rbind(df2,df6)

p1<-df2 %>%
  filter(sintomi!="") %>%
  group_by(sintomi) %>%
  summarise(totale=n()) %>%
  arrange(desc(totale)) %>%
  top_n(30)

p2<-df2 %>%
  filter(sintomi=="Death") %>%
  group_by(sintomi) %>%
  summarise(totale=n()) 

print(p1)
print(p2)
}

Primi 30 sintomi e morte come sintomo per il vaccino MODERNA :

visualizza_sintomi_e_morti("MODERNA")


  sintomi                 totale
  <chr>                    <int>
1 Headache                 49296
2 Pyrexia                  44741
3 Fatigue                  42261
4 Chills                   39675
5 Pain                     35886
6 Pain in extremity        30043
7 Nausea                   27900
8 Dizziness                24621
9 Injection site erythema  21769
10 Injection site pain      21493
# … with 20 more rows


 sintomi totale
  <chr>    <int>
1 Death     2735

Primi 30 sintomi e morte come sintomo per il vaccino PFIZER\\BIONTECH :


visualizza_sintomi_e_morti("PFIZER\\BIONTECH")
  sintomi           totale
  <chr>              <int>
1 Headache           41695
2 Fatigue            35088
3 Pyrexia            31600
4 Pain               29330
5 Dizziness          28364
6 Chills             27802
7 Nausea             24645
8 Pain in extremity  20588
9 Dyspnoea           14692
10 Arthralgia         14462
# … with 20 more rows

 sintomi totale
 <chr>    <int>
1 Death     2874

Numero di morti segnalati a causa dei vaccini anti covid considerato che negli Stati Uniti sono state somministrate dal 1/1/2021 al 18/9/2021 circa 379.769.121 dosi e quindi 11964*100000/379769121=3,15 morti ogni 100.000 dosi .

df %>%
  filter(DIED=="Y" | SYMPTOM1=="Death" | SYMPTOM2=="Death" | SYMPTOM3=="Death" | SYMPTOM4=="Death" | SYMPTOM5=="Death") %>%
  summarise(totale_morti=n())
totale_morti
<int>
11964	


Il vaccino Pfizer ha provocato più segnalazioni di morte rispetto a Moderna e janseen come si vede dal seguente grafico:


df2<-df %>%
  filter(SEX!="",VAX_MANU!="UNKNOWN MANUFACTURER",DIED=="Y"| SYMPTOM1=="Death" | SYMPTOM2=="Death" | SYMPTOM3=="Death" | SYMPTOM4=="Death" | SYMPTOM5=="Death") %>%
  group_by(VAX_MANU,SEX) %>%
  summarise(totale=n())

df2 %>%
  ggplot(aes(VAX_MANU,totale,fill=SEX))+
  geom_bar( stat = "identity")+
  coord_flip()

df2
 


 VAX_MANU           SEX   totale
1 "JANSSEN"          F        500
2 "JANSSEN"          M        532
3 "JANSSEN"          U         55
4 "MODERNA"          F       2153
5 "MODERNA"          M       2807
6 "MODERNA"          U         69
7 "PFIZER\\BIONTECH" F       2471
8 "PFIZER\\BIONTECH" M       3134
9 "PFIZER\\BIONTECH" U        196

Note

Collegamenti esterni