Trabalho de Graduação (2019-2021)
ZDB: utilizando banco de dados para gerenciamento, análise e conscientização sobre zoonoses no Brasil
Discente: Liandra Ayumi Federizi Yoshida
Orientadora: Fernanda Nascimento Almeida
#limpa dados
rm(list = ls())
# definir diretório
setwd("insira o diretorio em que seu arquivo foi armazenado")
# verificar diretório
getwd()
## [1] "diretorio"
# carrega pacotes gráficos
library("ggplot2")
## Warning: package 'ggplot2' was built under R version 3.6.3
library("data.table")
## Warning: package 'data.table' was built under R version 3.6.3
library("dplyr")
## Warning: package 'dplyr' was built under R version 3.6.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':
##
## between, first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#carrega dados
tabela <- read.csv("tabela.csv",sep=";")
ocor_ano = tapply(tabela$ocorrencia,tabela$ano,sum)
bp <- barplot(ocor_ano, border = F, names.arg = names(ocor_ano), las=2, ylim = c(0,180000), xlab = "Ano", ylab = "Ocorrências", main = "Zoonoses no Brasil ao longo dos anos", col = "DeepSkyBlue", cex.names = 0.6, cex.axis = 0.6, cex.main = 1.0, cex.lab = 0.7)
grid(ny = 6, nx = NA) #linhas de grade
text(x=as.vector(bp),y=ocor_ano+2, labels = ocor_ano, pos=3, offset = 0.3, cex = 0.5) #rótulos
abline(lsfit(1:length(ocor_ano),ocor_ano), col = "darkgreen") #linha de tendência
De acordo com o gráfico, com o passar dos anos houve diminuição da quantidade de ocorrências notificadas. No entanto, os últimos dois anos (2018 e 2019) podem estar com um número reduzido devido a divulgação dos registros oficiais com grande atraso. Portanto a redução pode ser decorrente tanto de ações de prevenção quanto da ausência de dados totais disponíveis até o momento. A última atualização em massa do DATASUS ocorreu em Março de 2020, sendo que muitas doenças ainda estão sem dados de 2019 e em nota ressalta-se que os dados ainda precisam de revisão.
reg = tapply(tabela$ocorrencia,tabela$cod_regiao,sum)
names(reg) = c("Norte","Nordeste","Sudeste","Sul","Centro-Oeste")
reg = sort(reg, decreasing = TRUE) #para visualizar do maior para o menor
bp <- barplot(reg, border = F, names.arg = names(reg), las=2, ylim = c(0,120000), ylab = "Ocorrências", main = "Zoonoses no Brasil por região de 2015 a 2019", col = "DeepSkyBlue", cex.sub = 0.6, cex.names = 0.6, cex.axis = 0.6, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=reg+2, labels = reg, pos=3, offset = 0.1, cex = 0.6)
grid(ny = 6, nx = NA)
Dentre as 15 zoonoses inclusas nesta análise, as ocorrências registradas na região sul do Brasil apresentam um menor número. Isto pode ser indicativo de boas ações de prevenção e controle das autoridades e da própria população do local e/ou outros fatores associados ao clima mais frio, por exemplo, pois este reduz a incidência de alguns vetores de grandes doenças zoonóticas.
Pode-se direcionar as ações de conscientização, controle e prevenção para, principalmente, as regiões Nordeste, Centro-Oeste e Sudeste.
zoo = tapply(tabela$ocorrencia,tabela$cod_zoo,sum)
names(zoo) = c("Botulismo","Dengue","Doença de Chagas","Esquistossomose","Febre Maculosa","Febre Tifóide","Hantavirose","Leishmaniose Visceral","Leishmaniose Tegumentar","Leptospirose","Malária","Raiva Humana","Tétano Acidental","Tétano Neonatal","Tuberculose")
zoo = sort(zoo, decreasing = TRUE)
bp <- barplot(zoo, border = F, names.arg = names(zoo), las=2, ylim = c(0,160000), ylab = "Ocorrências", main = "Registros de zoonoses no Brasil de 2015 a 2019", col = "DeepSkyBlue", cex.names = 0.4, cex.axis = 0.5, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=zoo+2, labels = zoo, pos=3, offset = 0.3, cex = 0.5)
grid(ny = 6, nx = NA)
Em um período de 5 anos as ocorrências de dengue e tuberculose se destacam das demais zoonoses analisadas. Deve-se levar em consideração que em análises individuais, muitas zoonoses, aparentemente menos relevantes, como a malária ou a raiva humana, vêm demonstrando elevação nos índices de ocorrência.
Portanto é preciso atuar para redução das zoonoses mais recorrentes no país, ao mesmo tempo que realizam-se ações para impedir que os índices das demais doenças cresçam com o tempo.
esc = tapply(tabela$ocorrencia,tabela$escolaridade,sum)
esc = sort(esc, decreasing = TRUE)
bp <- barplot(esc, border = F, las=2, ylim = c(0,130000), ylab = "Ocorrências", main = "Registros de zoonoses no Brasil de 2015 a 2019 por escolaridade", col = "DeepSkyBlue", cex.names = 0.4, cex.axis = 0.5, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=esc+2, labels = esc, pos=3, offset = 0.3, cex = 0.5)
grid(ny = 6, nx = NA)
Há uma presença muito elevada de dados não preenchidos nas fichas de notificação. Estes aparecem como “Em branco/Ignorado” e analisando em termos de escolaridade dos casos, este fator torna mais difícil a elaboração de estratégias adequadas de prevenção.
Nesse sentido, entende-se que as ações para conscientização da população não devem envolver apenas a apresentação de cuidados necessários para prevenção das doenças, mas também alertas sobre o impacto negativo que registros de notificação mal preenchidos pode causar, considerando também que a categorização por escolaridade não representa a idade (muitos adultos possuem apenas o ensino fundamental completo, por exemplo). Portanto as ações devem ser bem pensadas para garantir o entendimento de toda população a respeito da seriedade no processo de notificação de ocorrências.
muex = tapply(tabela$ocorrencia,tabela$mun_extr_pobreza,sum)
names(muex) = c("Sem pobreza extrema","Extrema pobreza")
muex = sort(muex, decreasing = TRUE)
bp <- barplot(muex, border = F, las=1, ylim = c(0,360000), ylab = "Ocorrências", main = "Zoonoses (2015-2019) de acordo com status do município", col = "DeepSkyBlue", cex.names = 0.6, cex.axis = 0.6, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=muex+2, labels = muex, pos=3, offset = 0.3, cex = 0.6)
grid(ny = 6, nx = NA)
cla = tapply(tabela$ocorrencia,tabela$classif_etaria,sum)
cla = sort(cla, decreasing = TRUE)
bp <- barplot(cla, border = F, las=2, ylim = c(0,180000), ylab = "Ocorrências", main = "Registros de zoonoses no Brasil de 2015 a 2019 por faixa etária", col = "DeepSkyBlue", cex.names = 0.6, cex.axis = 0.6, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=cla+2, labels = cla, pos=3, offset = 0.3, cex = 0.5)
grid(ny = 6, nx = NA)
#tabela com as faixas de idade de cada classificação:
faixas <- data.table(categoria = c("bebês", "crianças",
"adolescentes", "jovens", "adultos", "idosos"),
idade = c("0-4 anos", "5-14 anos", "15-19 anos", "20-39 anos", "40-59 anos", "a partir de 60 anos"))
faixas
## categoria idade
## 1: bebês 0-4 anos
## 2: crianças 5-14 anos
## 3: adolescentes 15-19 anos
## 4: jovens 20-39 anos
## 5: adultos 40-59 anos
## 6: idosos a partir de 60 anos
sexo = tapply(tabela$ocorrencia,tabela$sexo,sum)
sexo = sort(sexo, decreasing = TRUE)
bp <- barplot(sexo, border = F, las=1, ylim = c(0,250000), ylab = "Ocorrências", main = "Registros de zoonoses no Brasil de 2015 a 2019 por gênero", col = "DeepSkyBlue", cex.names = 0.6, cex.axis = 0.6, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=sexo+2, labels = sexo, pos=3, offset = 0.3, cex = 0.6)
grid(ny = 6, nx = NA)
evlc = tapply(tabela$ocorrencia,tabela$evolucao,sum)
names(evlc) = c("cura","óbito")
evlc = sort(evlc, decreasing = TRUE)
bp <- barplot(evlc, border = F, las=1, ylim = c(0,430000), ylab = "Ocorrências", main = "Zoonoses no Brasil de 2015 a 2019 por evolução do caso", col = "DeepSkyBlue", cex.names = 0.6, cex.axis = 0.6, cex.main = 1.0, cex.lab = 0.7)
text(x=as.vector(bp), y=evlc+2, labels = evlc, pos=3, offset = 0.1, cex = 0.6)
grid(ny = 6, nx = NA)
tabela %>%
filter(!(mes %in% "Em branco/Ignorado")) %>%
filter(!(escolaridade %in%
"Em Branco/Ignorado")) %>%
ggplot() +
aes(x = mun_extr_pobreza, weight = ocorrencia) +
geom_bar(fill = "#41ab5d") +
labs(x = "Status do município [Extrema pobreza (sim) ou não]", y = "Ocorrências de zoonoses", title = "Ocorrências de zoonoses por evolução do caso de acordo com município", subtitle = "Sem levar em consideração os dados classificados como \"Ignorado/Em branco\"", caption = "ZDB: Zoonozis DataBase") +
theme_gray() +
facet_wrap(vars(evolucao))
tabela %>%
filter(!(mes %in% "Em branco/Ignorado")) %>%
filter(!(escolaridade %in%
"Em Branco/Ignorado")) %>%
ggplot() +
aes(x = cod_regiao, y = ocorrencia, fill = escolaridade, colour = escolaridade) +
geom_area(size = 1L) +
scale_fill_viridis_d(option = "viridis") +
scale_color_viridis_d(option = "viridis") +
labs(x = "Região [1-Norte, 2-Nordeste, 3-Sudeste, 4-Sul, 5-Centro-Oeste]", y = "Ocorrências de zoonoses", title = "Ocorrências de zoonoses por região e escolaridade", subtitle = "Sem levar em consideração os dados cadastrados como \"Ignorado/Em branco\"", caption = "ZDB: Zoonosis DataBase", fill = "Escolaridade:", color = "Escolaridade:") +
theme_gray()
tabela %>%
filter(!(mes %in% "Em branco/Ignorado")) %>%
filter(!(escolaridade %in%
"Em Branco/Ignorado")) %>%
ggplot() +
aes(x = classif_etaria, weight = ocorrencia) +
geom_bar(fill = "#41ab5d") +
labs(x = "Classificação etária", y = "Ocorrências de zoonoses", title = "Ocorrências de zoonoses por gênero e classificação etária", subtitle = "Não foram considerados os dados cadastrados como \"Ignorado/Em branco\"", caption = "ZDB: Zoonosis DataBase") +
theme_gray() +
facet_wrap(vars(sexo))
tabela %>%
filter(!(mes %in% "Em branco/Ignorado")) %>%
filter(!(escolaridade %in%
"Em Branco/Ignorado")) %>%
ggplot() +
aes(x = ano, y = ocorrencia, fill = mes, colour = mes) +
geom_area(size = 1L) +
scale_fill_viridis_d(option = "viridis") +
scale_color_viridis_d(option = "viridis") +
labs(x = "Ano", y = "Ocorrências", title = "Ocorrências de zoonoses por meses no perídodo de 2015 a 2019", subtitle = "Não foram considerados os dados cadastrados como \"Ignorado/Em branco\"", caption = "ZDB: Zoonosis DataBase", fill = "Mês:", color = "Mês:") +
theme_gray()
Fazendo uma avaliação por mês é possível verificar os meses mais influentes na ocorrência de zoonoses, para, em seguida, identificar os possíveis motivos para isso, como mudança de clima, estação, chuvas, eventos e fluxo de pessoas, entre outros. Com uma avaliação anual ficará mais fácil predizer possíveis surtos e preparar a população e o sistema de saúde pública adequadamente.
Para dúvidas ou mais informações entrar em contato através do endereço de email:
zdb.zoonosisdatabase@gmail.com