R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

##SetWD

setwd("~/MAESTRIA EPIDEMIOLOGIA ICESI/recoleccion_d/taller_s4")

INSTALAR PAQUETES

PAQUETES UTILES

knitr::opts_chunk$set(
    echo = TRUE,
    message = FALSE,
    warning = FALSE
)
set.seed(704)   # Make all random draws reproducible

packages <- c("tidyverse", "survival", "here", "arm","tibble", "broom", "tidyverse", "dagitty", "ggdag",
              "knitr", "patchwork", "ggridges", "gmodels", "xaringanthemer", "latex2exp", "stdReg", 
              "epiR", "stats",  "epitools")

invisible(lapply(packages, function(xxx) suppressMessages(require(xxx, character.only = TRUE, quietly=TRUE, warn.conflicts = FALSE))))
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.3
## Warning: package 'tibble' was built under R version 4.5.2
## Warning: package 'tidyr' was built under R version 4.5.3
## Warning: package 'readr' was built under R version 4.5.2
## Warning: package 'purrr' was built under R version 4.5.2
## Warning: package 'dplyr' was built under R version 4.5.3
## Warning: package 'stringr' was built under R version 4.5.2
## Warning: package 'forcats' was built under R version 4.5.2
## Warning: package 'lubridate' was built under R version 4.5.2
## Warning: package 'survival' was built under R version 4.5.3
## Warning: package 'broom' was built under R version 4.5.2
## Warning: package 'dagitty' was built under R version 4.5.3
## Warning: package 'knitr' was built under R version 4.5.2
## Warning: package 'patchwork' was built under R version 4.5.2
## Warning: package 'epiR' was built under R version 4.5.2

##LLAMAR PAQUETES

library(readxl)
library(dplyr)
library(ggplot2)
library(moments)
library(tidyverse)
library(survival)
library(tibble)
library(broom)
library(dagitty)
library(patchwork)
library(epiR)
library(epitools)
library(stats)
library(psych)
library(e1071)
library(moments)
library(nortest)
library (dagitty)

TALLER: COVID-19 vaccine surveillance report Week 41

1 - Estimación de Effectividad de Vacunas contra COVID-19 en el reino Unido

A. Cual es la medida de frecuencia usada por los autores? (2 puntos)

La medida de frecuencia utilizada es la tasa de incidencia de Covid-19 por cada 100.000 habitantes, en el periodo de observación de 4 semanas, en el periodo de tiempo correspondiente de la semana 37 a la 40 del año 2021. El gráfico de barras representa, el rango de edad por la incidencia estratificado por aquellos participantes con vacunados con almenos 2 dosis en comparación a no vacunados.

B. Que indican las “tasas” de casos de COVID-19 en la semana 41 del 2021 de acuerdo a el estatus de inmunización? (2 puntos)

En el gráfico de barras se observa que la población menor de 30 años presenta una tasa de incidencia de Covid-19 más alta en aquellos pacientes no vacunados, mientras que en aquellos mayores o iguales a 30 años la tasa de incidencia es mayor en vacunados con un máximo de 1500 habitantes por 100.000 en el grupo de 40 a 49 años. Esto corresponde con la figura 1 y 2 del porcentaje acumualado de pacientes con dosis 1 y 2, en el que se observa que la proporción de vacunados es mayor en edades más avanzadas que en edades jóvenes. De igual forma, corresponde a como se establecieron las políticas públicas de prioridad de vacuncación en la población a nivel mundial.

2 - Estimación de medidas de asociación [6 puntos]

a) cúal es el Odds Ratio (OR) de vacunación con respecto al resultado de salud de visitas al servicio de emergencias por variante Delta en Inglaterra? (1 punto)

Total de casos Delta por estatus de vacunación

total_vacu <- 157400     
total_novacu <- 257357    

# Casos con admisión hospitalaria tras presentación a emergencias (exclusion‡)
emerg_vacu <- 2361        
emerg_novacu <- 3080     

# Casos sin admisión hospitalaria
no_emerg_vacu <- total_vacu - emerg_vacu      # 155,039
no_emerg_novacu <- total_novacu - emerg_novacu # 254,277

#Tabla 2x2

# Tabla 2x2 
tabla_2x2 <- matrix(c(emerg_vacu, no_emerg_vacu,
                       emerg_novacu, no_emerg_novacu),
                    nrow = 2, byrow = TRUE,
                    dimnames = list("Vacunación" = c("Vacunado", "No vacunado"),
                                    "Admisión" = c("Sí", "No")))
print(tabla_2x2)
##              Admisión
## Vacunación     Sí     No
##   Vacunado    2361 155039
##   No vacunado 3080 254277

#Calculo OR

OR <- (emerg_vacu * no_emerg_novacu) / (no_emerg_vacu * emerg_novacu)
OR
## [1] 1.25722

Esto significa que OR crudo es de 1.26, lo que indica que los vacunados tienen un 26% mayor de odds o posibilidades de presentarse al servicio de emergencias con admisión hospitalaria por variante Delta, en comparación con los no vacunados. Es decir, crudamente la vacunación parece aumentar la posibilidad de visitas al servicio de emergencias.

b) cual es el Riesgo Relativo (RR) de vacunación con respecto al resultado de salud de visitas al servicio de emergencias por variante Delta en Inglaterra? (1 punto)

riesgo_vacu <- emerg_vacu / total_vacu
riesgo_novacu <- emerg_novacu / total_novacu
RR <- riesgo_vacu / riesgo_novacu
RR
## [1] 1.253362

Esto significa que el RR crudo es de 1.25, lo que indica que los vacunados tienen un 25% mayor riesgo de presentarse al servicio de emergencias con admisión hospitalaria por variante Delta, en comparación con los no vacunados.

c) cual es la diferencia de riesgo de vacunacion con respecto al resultado de salud de visitas al servicio de emergencias por variante Delta en Inglaterra? (1 punto)

DR <- riesgo_vacu - riesgo_novacu
DR* 100
## [1] 0.3032189

Esto significa que la diferencia de riesgo cruda es de 0.30 por cada 100 casos Delta, lo que indica que hay aproximadamente 0.3 casos adicionales de visitas a emergencias con admisión hospitalaria por cada 100 personas vacunadas en comparación con las no vacunadas.

d) cual es la interpretacion global cruda de la “eficacia” vacunal en este escenario? , Esta usted de acuerdo con este resulatado? Si/ No? justifique su respuesta.(3 puntos)

EfVacunaldelta = 1 - RR
EfVacunaldelta *100
## [1] -25.3362

NO, La efectividad vacunal cruda es de -25.34%, es decir, es negativa. Según estos resultados crudos, la vacunación parece aumentar la posibilidad de visitas a emergencias con admisión hospitalaria, con un mayor riesgo de 25% (RR = 1.25), una mayor oportunidad de ocurrencia de 26% (OR = 1.26) y un incremento de 0.3 casos adicionales por cada 100 personas vacunadas (DR = 0.30).No estoy de acuerdo con este resultado porque no tiene plausibilidad biológica que la vacuna aumente el riesgo de hospitalización. Esta efectividad negativa se explica por la presencia de confusión por edad. En este caso teniendo en cuenta el contexto de políticas públicas en las que se priorizó a la población mayor, sería razonable ajustar por edad, ya que como vimos en la Figura 1 y 2 las tasas de incidencia mayor por 100.000 habitantes fue en jóvenes no vacunados. En este caso al calcular la efectividad cruda se subestima el efecto real de la vacuna.

3 - Estimacion de medidas de asociacion ajustadas [7 Puntos]

Ahora teniendo en cuenta la edad de los participantes ilustradas en la tabla a continuacion, por favor estime las medidas de asociacion ajustadas por la edad.

Datos estratificados por edad

#menor50

total_vac_50menor <- 85407
total_novac_50menor <- 248803
emerg_vac_50menor <- 453
emerg_novac_50menor <- 2416
no_emerg_vac_50menor <- total_vac_50menor - emerg_vac_50menor
no_emerg_novac_50menor <- total_novac_50menor - emerg_novac_50menor

#mayor50

total_vac_50mayor <- 71991
total_novac_50mayor <- 8551
emerg_vac_50mayor <- 1908
emerg_novac_50mayor <- 664
no_emerg_vac_50mayor <- total_vac_50mayor - emerg_vac_50mayor
no_emerg_novac_50mayor <- total_novac_50mayor - emerg_novac_50mayor

#Tabla 2x2

#Menores50

tabla_50menor <- matrix(c(emerg_vac_50menor, no_emerg_vac_50menor,
                      emerg_novac_50menor, no_emerg_novac_50menor),
                   nrow = 2, byrow = TRUE,
                   dimnames = list("Vacunación" = c("Vacunado", "No vacunado"),
                                   "Admisión" = c("Sí", "No")))
cat("Tabla 2x2 - Estrato <50 años:\n")
## Tabla 2x2 - Estrato <50 años:
print(tabla_50menor)
##              Admisión
## Vacunación     Sí     No
##   Vacunado     453  84954
##   No vacunado 2416 246387

#Mayores50

tabla_50mayor <- matrix(c(emerg_vac_50mayor, no_emerg_vac_50mayor,
                        emerg_novac_50mayor, no_emerg_novac_50mayor),
                     nrow = 2, byrow = TRUE,
                     dimnames = list("Vacunación" = c("Vacunado", "No vacunado"),
                                     "Admisión" = c("Sí", "No")))
cat("Tabla 2x2 - Estrato ≥50 años:\n")
## Tabla 2x2 - Estrato ≥50 años:
print(tabla_50mayor)
##              Admisión
## Vacunación     Sí    No
##   Vacunado    1908 70083
##   No vacunado  664  7887

a) Cual es el Odds Ratio (OR) o razon de Mommios ajustados por edad, de vacunacion con respecto al resultado de salud de visitas al servicio de emergencias por variante Delta en Inglaterra? (1 punto)

T_50menor <- total_vac_50menor + total_novac_50menor
T_50mayor <- total_vac_50mayor + total_novac_50mayor

numerador_OR_MH <- (emerg_vac_50menor * no_emerg_novac_50menor) / T_50menor +
                   (emerg_vac_50mayor * no_emerg_novac_50mayor) / T_50mayor

denominador_OR_MH <- (no_emerg_vac_50menor * emerg_novac_50menor) / T_50menor +
                     (no_emerg_vac_50mayor * emerg_novac_50mayor) / T_50mayor

OR_AJ <- numerador_OR_MH / denominador_OR_MH
OR_AJ
## [1] 0.4369479
(1 - OR_AJ) * 100
## [1] 56.30521

El OR ajustado por Mantel-Haenszel es de 0.44, lo que significa que ajustando por edad, los vacunados tienen un 56% menor odds de visitar el servicio de emergencias con admisión hospitalaria por variante Delta, comparado con los no vacunados. Comparado con el OR crudo de 1.26

b) Cual es el Riesgo Relativo (RR) ajustados por edad, de vacunacion con respecto al resultado de salud de visitas al servicio de emergencias por variante Delta en Inglaterra? (1 punto)

numerador_RR_AJ <- (emerg_vac_50menor * total_novac_50menor) / T_50menor +
             (emerg_vac_50mayor * total_novac_50mayor) / T_50mayor

denominador_RR_AJ <- (emerg_novac_50menor * total_vac_50menor) / T_50menor +
             (emerg_novac_50mayor * total_vac_50mayor) / T_50mayor

RR_AJ <- numerador_RR_AJ / denominador_RR_AJ
RR_AJ
## [1] 0.4457846
(1 - RR_AJ) * 100
## [1] 55.42154

El RR ajustado por Mantel-Haenszel es de 0.45, lo que significa que ajustando por edad, los vacunados tienen un 55% menor riesgo de visitar el servicio de emergencias con admisión hospitalaria por variante Delta, comparado con los no vacunados. Comparado con el RR crudo de 1.25

c) Cual es la diferencia de riesgo de vacunacion ajustados por edad, con respecto al resultado de salud de visitas al servicio de emergencias por variante Delta en Inglaterra? (1 punto)

DR_50menor <- (emerg_vac_50menor / total_vac_50menor) - (emerg_novac_50menor / total_novac_50menor)
DR_50mayor <- (emerg_vac_50mayor / total_vac_50mayor) - (emerg_novac_50mayor / total_novac_50mayor)

total_admision_50menor <- emerg_vac_50menor + emerg_novac_50menor
total_admision_50mayor <- emerg_vac_50mayor + emerg_novac_50mayor

peso_50menor <- total_admision_50menor / (total_admision_50menor + total_admision_50mayor)
peso_50mayor <- total_admision_50mayor / (total_admision_50menor + total_admision_50mayor)

DR_ajustada <- (peso_50menor * DR_50menor) + (peso_50mayor * DR_50mayor)
DR_ajustada * 100
## [1] -2.650173

La diferencia de riesgo ajustada por edad es de -0.94 por cada 100 casos Delta, lo que indica una disminución de aproximadamente 0.94 casos de admisión hospitalaria tras emergencias por cada 100 personas vacunadas.

d) Cual es la interpretacion global ajustados por edad de la “eficacia” vacunal en este escenario? Esta usted de acuerdo con este resulatado? Si/ No? justifique su respuesta.(2 punto)

VE_ajustada <- (1 - RR_AJ) * 100
VE_cruda <- (1 - RR) * 100

VE_ajustada
## [1] 55.42154
VE_cruda
## [1] -25.3362

la vacunación disminuye la posibilidad de visitas a emergencias con admisión hospitalaria, con un menor riesgo de 55% (RR = 0.45), una menor oportunidad de ocurrencia de 56% (OR = 0.44) y una disminución de 0.94 casos por cada 100 personas vacunadas. Sí estoy de acuerdo con este resultado porque al ajustar por edad se elimina la confusión que distorsionaba la estimación cruda.

e) Realize un DAG que represente la associacion entre la variable vacuna, edad y visitas al servicio de emergencia y comentes sobre la estructura de esta relacion.(2 puntos)

dag <- dagitty('dag {
  Edad [pos="1,0"]
  Vacunacion [exposure, pos="0,1"]
  Emergencia [outcome, pos="2,1"]

  Edad -> Vacunacion
  Edad -> Emergencia
  Vacunacion -> Emergencia
}')
plot(dag)
title(main = "DAG: Vacunación covid")

4 - Otros Sesgos potenciales [8 Puntos]

a) Según esta información, que podemos decir acerca de la robustez de las tasas de ataque y las proporciones?(1 punto)

La tabla nos presenta las tasas de ataque secundarios según cada variante y cada contexto (infección por contacto en viajes, intradomiciliario, contactos no domiciliarios). Estos datos fueron obtenidos de diferentes fuentes secundarias por lo cual no son del todo confiables. Por lo tanto, presentan varias dificultades que limitan la robustez.

Por ejemplo hay variantes y categorías en los que el conteo fue menor a 50 o casos menor a 20 por lo tanto no se tomaron y se determinaron como datos “no disponibles” lo que limita las comparaciones. De igual forma, el reporte aclara que estos datos deben tomarse como el límite inferior, que seguramente la tasas reales son mapas altas pero el sistema no logra captar a todos los infectados. Adicionalmente, se excluyeron resultados genómicos de baja calidad.

Sin embargo, en general la tabla presenta que la tasa de transmisión intradomiciliaria es más alta que la de viajes en todas las variantes, así como que la variante Delta es la que tiene mayor número de infectados pero que al convertirse en proporción según la variante, puede subestimarse su efecto total sobre el etotal de infectados por todas las variantes, ya que al ser la variante dominante su denominador es mucho más grande.

b) Que tipo de sesgos potenciales adicionales podrian estar presentes? (1 punto)

Los posibles sesgos que pueden existir son los de información por clasificación equivocada de casos de viaje y no viaje, y por no detectar contactos infectados que no se hicieron prueba. El mismo reporte reconoce que algunos casos vinculados a viajes pueden no ser identificados correctamente por los métodos que usan y terminar clasificados como no vinculados a viaje o como desconocidos. De igual forma, puede haber clasificación errónea de la variante, ya que se incluyen resultados probables por genotipificación que no son 100% seguros.

En cuanto al sesgo de selección, este se desarrolla en el contexto que solo estpan en el análisis las personas captadas por NHS test and Trace. De igual forma, los sintomáticos se hacen prueba más que los asintomáticos por lo tanto se incluirían solo personas sintomáticas.

También podría existir sesgo de confusión, porque no se ajusta por variables como la edad, comorbilidades, habitantes en casa, o estatus socioeconómico, lo que podría influir en la probabilidad de infectarse.

c) Como se afectaria la estimacion de las tasas de ataque en precensia de sesgo de información? en que direccion seria el sesgo (e.g., hacia el valor nulo o distante del valor nulo) (2 puntos)

El sesgo de información hará que los valores tiendan hacia el valor nulo. Esto pasa debido a que hay contactos que sguramente se infectaron pero que nunca se hicieron pruebas. Esto tiene como consecuencia que el numerador de tasa de ataque sea menor que el real. En este sentido, estas tasas presentadas subestiman el efecto total.

Sin embargo, si el sesgo es diferencial, si los contactos de viajeros son rastreados con más intensidad que los contactos comunitarios, entonces la tasa de ataque en viajeros podría estar mejor estimada que la de los otros grupos. En ese caso el sesgo podría ir en cualquier dirección, ya sea hacia el nulo o lejos del nulo.

d) Enumere métodos de corrección del sesgo de información en análisis epidemiológicos (2 puntos)

En primer lugar, se debería prevenir el sesgo de información con instrumentos validados, el cegamiento de los evaluadores y con protocolos estrictos de recolección. Cuando ya hay sesgo de información en los estudios, se puede realizar: Análisis cuantitativo de sesgos: se prueban diferentes escenarios de error para ver como cambian los resultados. Calibración por regresión: se reemplaza la variable medida con error por su valor esperado condicional. Validación con el gold standard: Se compara la clasificación del sistema de viogilancia con un método precisio usando una submuestra para corregir las estimaciones del grupo completo. Método bayesiano: Se incorpora incertidumbre sobre el error de medición directamente sobre el análisis.

e) Considera usted que hay posibilidad de segos de selección? Si/No? justifique su respuesta (e.g., indique mecanismos y direccion del sesgo en caso de indicar la presencia o indique porque mecanismo el sesgo no es posible). (2 puntos)

Sí, yo considero que sí hay posibilidad de sesgo de selección en estos datos. El principal mecanismo es que solo entran al análisis las personas que fueron detectadas por el sistema NHS Test and Trace. De igual forma se incluyen únicamente los sintomáticos que se hicieron prueba, y se excluyen los asintomáticos o aquellas personas que no tuvieron acceso a la prueba por diferentes razones.Por lo tanto, no representa a todos los infectados. Otro mecanismo es que el rastreo de contactos probablemente fue más intenso para los casos vinculados a viajes internacionales. Esto genera una detección desigual entre grupos. De igual forma, el hecho de que se excluyen variantes con menos de 50 contactos o 20 casos, elimina sistemáticamente las variantes menos frecuentes del análisis e impide evaluar su transmisibilidad real. En cuanto a la dirección del sesgo, probablemente va hacia el valor nulo en general, porque al no captar todos los casos secundarios estamos subestimando las tasas de ataque en todos los grupos.