Beside PRR, ROR is yet another commonly used metric for safety signal detection. Let’s denote the vaccine-symptom pairs from the VAERS database as many \(2 \times 2\) contingency tables:
Target vaccine | Target symptom | All other symptoms | Total |
---|---|---|---|
Yes | \(n_{ij}\) | \(n_i - n_{ij}\) | \(n_i\) |
No | \(n_j - n_{ij}\) | \(n - n_i - n_j + n_{ij}\) | \(n - n_i\) |
Total | \(n_j\) | \(n - n_j\) | \(n\) |
In the table, \(n_i = \sum_j n_{ij}\), \(n_j = \sum_i n_{ij}\). The reporting odds ratio (ROR) (Puijenbroek et al. 2002) for each vaccine-symptom pair is defined as
\[ ROR_{ij} = \frac{n_{ij}}{\tilde{E}_{ij}} \]
where
\[ \tilde{E}_{ij} = \frac{(n_i - n_{ij})(n_j - n_{ij})}{n - n_i - n_j + n_{ij}}. \]
Similar to PRR, a relatively higher ROR indicates stronger association between the vaccine and the symptom.
Load the packages for ROR-based singal detection and ranking:
suppressMessages(library("PhViD"))
library("kableExtra")
Load the preprocessed VAERS data and transform it into the analyzable format:
df_p <- readRDS("data-processed/df_p.rds")
df_p <- df_p[, 1:3]
df_v <- as.PhViD(df_p, MARGIN.THRES = 10)
Calculate the Reporting Odds Ratio (ROR) (Puijenbroek et al. 2002) and the ranking statistic — lower bound of the 95% two-sided confidence interval of log(ROR):
lst_ror <- ROR(df_v, MIN.n11 = 10, DECISION = 3, RANKSTAT = 2)
df_ror <- lst_ror$SIGNALS[order(lst_ror$SIGNALS$`LB95(log(ROR))`, decreasing = TRUE), 1:6]
row.names(df_ror) <- NULL
View the top ranked vaccine-adverse event pairs:
head(df_ror) %>% kable() %>% kable_styling()
drug code | event effect | count | expected count | LB95(log(ROR)) | ROR |
---|---|---|---|---|---|
INFLUENZA (SEASONAL) (FLUCELVAX) | Product use issue | 57 | 0.0863973 | 6.891032 | 1440.3816 |
INFLUENZA (SEASONAL) (AFLURIA) | Multiple use of single-use product | 49 | 0.3842040 | 6.774675 | 6339.6250 |
HPV (CERVARIX) | Product use issue | 22 | 0.0236538 | 6.620322 | 1205.5581 |
SMALLPOX (DRYVAX) | Cow pox | 125 | 0.6461921 | 6.451967 | 930.6815 |
INFLUENZA (SEASONAL) (AFLURIA) | HIV antigen negative | 48 | 0.4149403 | 6.093381 | 1034.9999 |
SMALLPOX (ACAM2000) | Pericardial disease | 64 | 0.2820515 | 5.942646 | 559.5005 |
Puijenbroek, Eugene P van, Andrew Bate, Hubert GM Leufkens, Marie Lindquist, Roland Orre, and Antoine CG Egberts. 2002. “A Comparison of Measures of Disproportionality for Signal Detection in Spontaneous Reporting Systems for Adverse Drug Reactions.” Pharmacoepidemiology and Drug Safety 11 (1): 3–10.
If you see mistakes or want to suggest changes, please create an issue on the source repository.