\textcolor{colortitle}{.}

knitr::opts_chunk$set(include = TRUE,
                      echo = FALSE,
                      error = FALSE,
                      warning = FALSE,
                      message = FALSE)
knitr::opts_knit$set(eval.after = "fig.cap")
library(sivirep)
sysfonts::font_add_google("Montserrat", "Montserrat")
showtext::showtext_auto()

titulo <- paste0("Reporte Automatizado para ",
                 stringr::str_to_title(params$nombre_evento), " ",
                 params$departamento, " - Colombia",
                 ", ", params$year)
if (params$municipio != "") {
  titulo <- paste0("Reporte Automatizado para ",
                 stringr::str_to_title(params$nombre_evento), " ",
                 params$municipio, ", ",
                 params$departamento, " - Colombia",
                 ", ", params$year)
}
fuente <- "Fuente SIVIGILA, Datos libres"
casos_years_hg <- 5
gr_casos_years_wd <- 11
gr_tip_cas_al <- 5
gr_tip_cas_an <- 11
gr_tip_cas_years_al <- 7
gr_tip_cas_years_an <- 13
gr_ini_sin_al <- 5
gr_ini_sin_an <- 11
gr_sex_al <- 5.5
gr_sex_an <- 9.5
gr_sex_semana_al <- 6
gr_sex_semana_an <- 10
gr_edad_al <- 3
gr_edad_an <- 8
gr_edad_sex_al <- 3
gr_edad_sex_an <- 9
gr_mapa_al <- 18
gr_mapa_an <- 16
gr_area_al <- 3
gr_area_an <- 7
gr_top_area_al <- 5
gr_top_area_an <- 10
gr_per_etn_al <- 3
gr_per_etn_an <- 8
gr_sex_incid_al <- 3
gr_sex_incid_an <- 7
gr_map_incid_al <- 18
gr_map_incid_an <- 16

if (knitr::is_html_output()) {
  casos_years_hg <- 5
  gr_casos_years_wd <- 4
  gr_tip_cas_al <- 4
  gr_tip_cas_an <- 7.5
  gr_tip_cas_years_al <- 5
  gr_tip_cas_years_an <- 8.5
  gr_ini_sin_al <- 4
  gr_ini_sin_an <- 8
  gr_sex_al <- 4
  gr_sex_an <- 6
  gr_sex_semana_al <- 4
  gr_sex_semana_an <- 8
  gr_edad_al <- 3
  gr_edad_an <- 7
  gr_edad_sex_al <- 3
  gr_edad_sex_an <- 7
  gr_mapa_al <- 9
  gr_mapa_an <- 9
  gr_area_al <- 3
  gr_area_an <- 6
  gr_top_area_al <- 4
  gr_top_area_an <- 7
  gr_per_etn_al <- 3
  gr_per_etn_an <- 6
  gr_sex_incid_al <- 4
  gr_sex_incid_an <- 6
  gr_map_incid_al <- 9
  gr_map_incid_an <- 9
}

```{=tex} \AddToHookNext{shipout/background}{ \begin{tikzpicture}[remember picture,overlay] \node[inner sep=0pt] at (current page.center) { \includegraphics[width=8in,height=\paperheight, keepaspectratio]{cover.png} }; \end{tikzpicture} }

```{=tex}
\begin{textblock*}{15cm}(5cm,18cm) % {block width} (coords)
  \begin{flushright}
     \Huge{\textbf{`r toupper(params$nombre_evento)` \\ }}
  \end{flushright}
\end{textblock*}

``{=tex} \begin{textblock*}{5cm}(15cm,24cm) % {block width} (coords) \begin{flushright} \Huge{\textbf{r params$year`}} \end{flushright} \end{textblock*}

\newpage

```{=tex}
\begin{center}
  \huge{\textbf{\\ `r titulo`}}
\end{center}

``{=tex} \begin{center} \large{\textbf{r fuente` \[0.4in]}} \includegraphics[width=1in]{logo.png} \end{center}

```{=html}
<div class="caratula">
    <div class="texto-caratula">
      <h2 class="evento">`r toupper(params$nombre_evento)`</h2>
      <h2 class="year">`r params$year`</h2>
    </div>
</div>
<div class="titulo">
    <h1>`r titulo`</h1>
    <h3 class="fuente">`r fuente`</h3>
</div>
ruta_dir <- NULL
if (!params$cache) {
  ruta_dir <- tempdir()
}
data_event <- import_data_event(nombre_event = params$nombre_evento,
                                years = params$year,
                                cache = params$cache,
                                ruta_dir = ruta_dir)
mostrar_sex <- stringr::str_detect(tolower(params$nombre_evento),
                                   stringr::fixed("materna"))
etiqueta_geo <- "municipios"
text_intro_geo <- "."
text_fig_geo <- paste0("municipio - ", params$departamento)
text_ext_geo <- params$departamento
if (params$departamento == "") {
  etiqueta_geo <- "departamentos"
  text_fig_geo <- paste0("departamento - ", params$pais)
  text_ext_geo <- params$pais
} else if (params$municipio != "") {
  text_ext_geo <- params$municipio
}
text_fig_geo <- paste0(text_fig_geo, " ", params$year)
text_ext_geo <- paste0(text_ext_geo, " ", params$year)
data_limpia <- limpiar_data_sivigila(data_event)
data_event_filtrada <- data_limpia
if (params$departamento != "") {
data_event_filtrada <- geo_filtro(data_event = data_limpia,
                                  dpto = params$departamento)
text_init_geo <- paste0(", en el departamento del ",
                        params$departamento)
  if (params$municipio != "") {
    text_init_geo <- paste0(", en el municipio del ",
                            params$municipio)
    data_event_filtrada <- geo_filtro(data_event = data_event_filtrada,
                                  dpto = params$departamento,
                                  mpio = params$municipio)
  }
text_intro_geo <- paste0(text_init_geo,
                         " se reportaron ",
                         nrow(data_event_filtrada),
                         " casos.")
}

```{=tex} \pagenumbering{gobble} \pagenumbering{arabic}

En este reporte se presenta el comportamiento del `r stringr::str_to_title(params$nombre_evento)` durante el año `r params$year` con base en la fuente de datos SIVIGILA de acceso libre. En total en Colombia durante `r params$year` se reportaron `r nrow(data_event)` casos en todo el territorio nacional`r text_intro_geo`

# Distribución de casos

La distribución de casos por tipo es la siguiente:

```r 
total_casos_eventos <- agrupar_eventos(data_event = data_event_filtrada,
                                       col_event = "cod_eve")
plot_tabla_tipos_event(total_casos_eventos)

Durante el período comprendido entre el año r (params$year - 4) y r params$year, se observó la siguiente distribución de casos:

data_event_years <-
  import_data_event(nombre_event = params$nombre_evento,
                    years = seq(params$year - 4,
                                params$year - 1),
                    cache = params$cache,
                    ruta_dir = ruta_dir)
data_event_years <- rbind(data_event, data_event_years)
data_years_limpia <- limpiar_data_sivigila(data_event_years)
data_years_filtrada <- data_years_limpia
if (params$departamento != "") {
data_years_filtrada <- geo_filtro(data_event = data_years_limpia,
                                  dpto = params$departamento)
}
casos_years <- agrupar_years(data_event = data_years_filtrada)
years_text <- length(unique(casos_years[["ano"]]))
altura_fig_years <- 5
eventos <- unique(casos_years[["cod_eve"]])
if (length(eventos) > 3) {
  altura_fig_years <- 4
}
plot_years(casos_years)

Distribución de casos por clasificación

casos_tip_cas <- agrupar_tipo_caso(data_event = data_event_filtrada)
plot_tipo_caso(casos_tip_cas)

Durante el período comprendido entre el año r (params$year - 5) y r params$year, se observó la siguiente distribución por clasificacion:

casos_tip_cas_years <- agrupar_tipo_caso(data_event = data_years_filtrada,
                                         cols_tipo = c("tip_cas", "ano"))
plot_tipo_caso_years(casos_tip_cas_years)

r if (params$temporal_distribution) {"# Distribución temporal de los casos"}

casos_iniciosin_dia <- agrupar_fecha_inisintomas(data_event =
                                                   data_event_filtrada)
mes_mayor_casos <- obtener_meses_mas_casos(data_event =
                                             casos_iniciosin_dia,
                                           col_fechas = "ini_sin")

r if (params$temporal_distribution) {paste0("Los casos se distribuyen a lo largo de los meses de enero a diciembre de ", params$year, " teniendo mayor número en el mes de ", mes_mayor_casos, " por fecha de inicio de síntomas (Ver Figura 4).")}

\newpage

plot_fecha_inisintomas(data_agrupada = casos_iniciosin_dia,
                       uni_marca = "semanaepi")

r if (params$epi_sex_distribution) {"# Distribución de casos por sexo y semana epidemiológica"}

casos_sex <- agrupar_sex(data_event = data_event_filtrada)
vals_sex <- obtener_text_sex(casos_sex, params$year,  4)

r if (params$epi_sex_distribution && !mostrar_sex) {vals_sex$text}

plot_sex(data_agrupada = casos_sex)
casos_sex_semanaepi <- agrupar_sex_semanaepi(data_event = data_event_filtrada)

\newpage

r if (params$epi_sex_distribution) {paste0("Esta predominancia de casos del sexo ", vals_sex$mayor[1], " se mantuvo a lo largo de la mayoria de semanas epidemiológicas (Ver figura 6). ")}

plot_sex_semanaepi(data_agrupada = casos_sex_semanaepi)

r if (params$age_distribution) {"# Distribución de casos por edad"}

casos_edad <- agrupar_edad(data_event = data_event_filtrada, interval_edad = 10)
age_most_cases <- obtener_fila_mas_casos(data_event = casos_edad)

r if (params$age_distribution) {paste0("La distribución de los casos por grupos de edad muestra que la población de ", age_most_cases$edad, " años representó el ", age_most_cases$porcentaje, " % de todos los casos de ", stringr::str_to_title(params$nombre_evento), " (Ver figura 7).")}

plot_edad(data_agrupada = casos_edad)

\newpage

r if(params$age_sex_distribution && !mostrar_sex) {"# Distribución de casos por edad y sexo"}

casos_edad_sex <- agrupar_edad_sex(data_event = data_event_filtrada,
                                   interval_edad = 10)
plot_edad_sex(data_agrupada = casos_edad_sex)

Distribución espacial de casos

r if(params$mpio_distribution && params$departamento != "" && params$municipio == "") {"## Distribución de casos por municipio"} else if(params$municipio == "") {"## Distribución de casos por departamento"}

cod_event <- unique(data_event_filtrada[["cod_eve"]])[1]
geo_ocurrencia <- obtener_tip_ocurren_geo(nombre_event = cod_event)
if (params$departamento != "") {
  dist_espacial <- agrupar_mpio(data_event = data_event_filtrada,
                                   dpto = params$departamento)
  col_geo <- geo_ocurrencia[4]
} else {
  dist_espacial <- agrupar_dpto(data_event = data_event_filtrada)
  col_geo <- geo_ocurrencia[2]
}
dist_espacial <- dist_espacial[order(dist_espacial$casos), ]
espacial_mayor_casos <- obtener_fila_mas_casos(data_event =
                                                 dist_espacial)
altura_fig_espacial <- 15
if (isTRUE(length(unique(
  dist_espacial[[col_geo]])) < 15)) {
  altura_fig_espacial <- 10
}
if (knitr::is_html_output()) {
  altura_fig_espacial <- 10
}

r if(params$mpio_distribution && params$departamento != "" && params$municipio == "") {paste0("Los casos se distribuyen a lo largo de ", nrow(dist_espacial), " municipios del departamento de ", params$departamento, " teniendo un mayor reporte el municipio de ", stringr::str_to_title(espacial_mayor_casos[[col_geo]]), " con ", espacial_mayor_casos$casos, " casos (Ver Figura 9).")} else if(params$municipio == "") {paste0("Los casos se distribuyen a lo largo de ", nrow(dist_espacial), " departamentos de ", params$pais, " teniendo un mayor reporte el departamento de ", stringr::str_to_title(espacial_mayor_casos[[col_geo]]), " con ", espacial_mayor_casos$casos, " casos (Ver Figura 9).")} else {paste0("Los casos para el municio de ", params$municipio, " son: ", nrow(data_event_filtrada))}

plot_mpios <- plot_mpios(data_agrupada = dist_espacial)
plot_mpios
plot_dptos <- plot_dptos(data_agrupada = dist_espacial)
plot_dptos
text_mapa_casos <- "por municipios"
dist_espacial_casos <- dist_espacial
if (params$departamento == "" && params$municipio == "") {
  dist_espacial_casos <- agrupar_dpto(data_event_filtrada,
                                col_dpto = geo_ocurrencia[1:4])
} else {
  text_mapa_casos <- ""
}
mapa <- plot_map(data_agrupada = dist_espacial_casos,
                 col_distribucion = "casos",
                 cache = params$cache,
                 ruta_dir = ruta_dir)
mapa

r if (!knitr::is_html_output()) {paste0("\\newpage")}

r if(params$mpio_distribution) {"# Distribución de casos por área geográfica de ocurrencia"}

dist_areas_geo <- agrupar_area_geo(data_event = data_event_filtrada)
plot_areas_geo <- plot_area_geo(data_agrupada = dist_areas_geo)
plot_areas_geo
dist_top_areas_geo <- agrupar_top_area_geo(data_event = data_event_filtrada)

r if(params$municipio == "") { paste0("Los 10 ", etiqueta_geo, " que presentaron mayor número de casos por área geográfica de ocurrencia son los siguientes:") }

plot_top_areas_geo <- plot_top_area_geo(data_agrupada = dist_top_areas_geo)
plot_top_areas_geo

r if(params$age_sex_distribution) {"# Distribución de casos por pertenencia étnica"}

\newpage

casos_per_etn <- agrupar_per_etn(data_event = data_event_filtrada)
plot_per_etn(data_agrupada = casos_per_etn)

Incidencia

incidencia_total <- calcular_incidencia(data_agrupada =
                                         dist_espacial,
                                        cache = params$cache,
                                        ruta_dir = ruta_dir)
cond_incidencia <-
  obtener_cond_inciden_event(cod_eve = dist_espacial$cod_eve[1])
text_incidencia_total <- "la población a riesgo"
if (incidencia_total$poblacion == "proyecciones") {
  text_incidencia_total <- "las proyecciones poblacionales DANE"
}

r if(params$mpio_distribution && params$departamento != "" && params$municipio == "") {paste0("La incidencia para el departamento de ", params$departamento, " es ", incidencia_total$incidencia, " por ", cond_incidencia$coeficiente, " habitantes. Fue calculada con ", text_incidencia_total, ".")} else if (params$departamento == "") {paste0("La incidencia para ", params$pais, " es ", incidencia_total$incidencia, " por ", cond_incidencia$coeficiente, " habitantes. Fue calculada con ", text_incidencia_total, ".")} else {paste0("La incidencia para el municipio ", params$municipio, " es ", incidencia_total$incidencia, " por ", cond_incidencia$coeficiente, " habitantes. Fue calculada con ", text_incidencia_total, ".")}

Incidencia por sexo

nomb_dpto <- NULL
if (params$departamento != "") {
  nomb_dpto <- params$departamento
}
incidencias_sex <-
  calcular_incidencia_sex(data_agrupada = casos_sex,
                          dpto = nomb_dpto,
                          cache = params$cache,
                          ruta_dir = ruta_dir)
incidencia_mayor_sex <- obtener_fila_mas_casos(data_event =
                                                incidencias_sex$data_incidencia,
                                               nomb_col = "incidencia ")
text_incidencia_sex <- "la población a riesgo"
if (incidencias_sex$poblacion == "proyecciones") {
  text_incidencia_sex <- "las proyecciones poblacionales DANE"
}

La incidencia fue calculada con r text_incidencia_sex para cada sexo por r cond_incidencia$coeficiente habitantes, se puede visualizar en la tabla 2 y figura 14.

plot_tabla_incidencia_sex(incidencias_sex$data_incidencia)
plot_sex(data_agrupada = incidencias_sex$data_incidencia,
         col_distribucion = "incidencia",
         porcentaje = FALSE)
incidencias_geo <-
  calcular_incidencia_geo(data_agrupada =
                            dist_espacial,
                          cache = params$cache,
                          ruta_dir = ruta_dir)
text_incidencia_geo <- "la población a riesgo"
if (incidencias_geo$poblacion == "proyecciones") {
  text_incidencia_geo <- "las proyecciones poblacionales DANE"
}

\newpage

r if(params$spatial_distribution) {"# Incidencia según distribución geográfica"}

r if(params$spatial_distribution && params$departamento != "" && params$municipio == "") {paste0("La incidencia fue calculada con ", text_incidencia_geo, " para cada uno de los municipios del departamento del ", params$departamento, " por ", cond_incidencia$coeficiente, " habitantes es la siguiente:")} else if(params$municipio == "") {paste0("La incidencia fue calculada con ", text_incidencia_geo, " para cada uno de los departamentos de ", params$pais, " por ", cond_incidencia$coeficiente, " habitantes es la siguiente:")} else {paste0("La incidencia para el municipio de ", params$municipio, " por ", cond_incidencia$coeficiente, " habitantes es la siguiente:")}

plot_tabla_incidencia_geo(incidencias_geo$data_incidencia)
text_mapa_inciden <- "por municipio"
if (params$departamento == "" && params$municipio == "") {
  dist_espacial_mpios <- agrupar_dpto(data_event_filtrada,
                                      col_dpto = geo_ocurrencia[1:4])
  incidencias_geo <-
  calcular_incidencia_geo(data_agrupada =
                            dist_espacial_mpios,
                          cache = params$cache,
                          ruta_dir = ruta_dir)
}
if (params$municipio != "") {
  text_mapa_inciden <- ""
}
mapa <- plot_map(data_agrupada = incidencias_geo$data_incidencia,
                 cache = params$cache,
                 ruta_dir = ruta_dir)
mapa
text_geo <- params$pais
if (params$spatial_distribution && params$departamento != ""
    && params$municipio == "") {
  text_geo <- paste0("el departamento de ", params$departamento)
} else if (params$municipio != "") {
    text_geo <- paste0("el municipio de ", params$municipio)
}
text_casos_totales <- paste0("*   Los casos totales reportados de ",
                             stringr::str_to_title(params$nombre_evento),
                             " en ", text_geo, " en el año ", params$year,
                             " fueron ", nrow(data_event_filtrada))

\newpage

Conclusiones



Try the sivirep package in your browser

Any scripts or data that you put into this service are public.

sivirep documentation built on April 4, 2025, 5 a.m.