Videoaula
SCRIPT Microdatasus
Instruções: veja a aula acima, copie o texto abaixo e cole no RStudio
O Pacote MicrodataSUS foi desenvolvido por Raphael Saldanha e está disponível no GitHub. Com base nesta rotina, você poderá realizar o download de vários Sistemas de Informação em Saúde. Para usar, basta substituir os parâmetros, conforme orientações na página do Raphael Saldanha (clique no banner ao lado)
Sistemas de Informação em Saúde suportados:
-
SIM: Sistema de Informação de Mortalidade
-
SINASC: Sistema de Informação de Nascidos Vivos
-
SIH: Sistema de Informações Hospitalares
-
CNES: Cadastro Nacional de Estabelecimentos de Saúde
-
SIA: Sistema de Informações Ambulatoriais
-
SINAN: Sistema de Informação de Agravos de Notificação para as seguintes doenças
-
SINAN-DENGUE, SINAN-CHIKUNGUNYA, SINAN-ZIKA, SINAN-MALARIA.
Pré-processamento:
Para realizar a decodificação dos códigos presentes no sistema, como código de município, raça/cor entre outros, foi elaborada sintaxe (função fetch_datasus) para as bases dos seguintes sistemas de informação:
-
SIM
-
SINASC
-
SIH-RD
-
CNES-ST
-
CNES-PF
-
SINAN-DENGUE
-
SINAN-CHIKUNGUNYA
-
SINAN-ZIKA
-
SINAN-MALARIA.
Elaboração do Pacote MicrodataSUS
SALDANHA, Raphael de Freitas; BASTOS, Ronaldo Rocha; BARCELLOS, Christovam. Microdatasus: pacote para download e pré-processamento de microdados do Departamento de Informática do SUS (DATASUS). Cad. Saúde Pública, Rio de Janeiro , v. 35, n. 9, e00032419, 2019. Available from http://ref.scielo.org/dhcq3y.
CÓDIGO PARA INSTALAR O PACOTE MICRODATASUS
# Script para instalar o MicrodataSUS -------------------------------
# install.packages("remotes")
remotes::install_github ("rfsaldanha/microdatasus")
CÓDIGO PARA CARREGAR AS BASES DE DENGUE DIRETAMENTE DO DATASUS
# ANÁLISE DE DADOS DE DENGUE -----------------------------------------
# Pacotes utilizados para o download e processamento ----------------
library (microdatasus)
library (tidyverse)
# Carregar as bases de dados diretamente do DataSUS -----------------
den24 <- fetch_datasus(year_start = 2024, year_end = 2024, information_system = "SINAN-DENGUE")
den23 <- fetch_datasus(year_start = 2023, year_end = 2023, information_system = "SINAN-DENGUE")
# Relacionar as duas bases em uma -----------------------------------
dengue_bruto <- rbind(den23,den24) #rbind anexa uma base abaixo da outra nas linhas
# Processar as base para decodificar --------------------------------
dengue <- process_sinan_dengue (dengue_bruto) #esta função transforma os códigos em valores legíveis
# Salvar e carregar a base em RData --------------------------------
save (dengue, file = "dengue.RData") #salvar em RData deixa o arquivo mais leve e fácil de trabalhar
load("dengue.RData") #após fazer todo o procedimento, você poderá carregar sem ter que fazer o processo novamente
# Criar um banco apenas com os óbitos ------------------------------
obtdengue <- subset(dengue, EVOLUCAO %in% c("Óbito por dengue" , "Óbito em investigação"))
save(obtdengue, file = "dengueobito.RData")
SCRIPT DO R PARA ANÁLISE DO PERÍODO COMPARADO DE 2022 A 2024
# ANÁLISE DE DADOS DE DENGUE 15/03/2024 ----------------------------
#Preparação das bases de dados para análise sazonal, período
#da semana epidemiológica 31 a 52 de 2022 até a semana mais atual
#de 2024.
# Pacotes utilizados para a análise ---------------------------------
library(microdatasus)
library(tidyverse)
library(openxlsx)
library(dplyr)
# Carregar as bases de dados diretamente do DataSUS -----------------
den24 <- fetch_datasus(year_start = 2024, year_end = 2024, information_system = "SINAN-DENGUE")
save (den24, file = "den24.RData") #base bruta não processada
den23 <- fetch_datasus(year_start = 2023, year_end = 2023, information_system = "SINAN-DENGUE")
save (den23, file = "den23.RData") #base bruta não processada
den22 <- fetch_datasus(year_start = 2022, year_end = 2022, information_system = "SINAN-DENGUE")
save (den22, file = "den22.RData") #base bruta não processada
# Selecionar as semanas epidemiológicas 31 a 52 do ano de 2022
den22se <- subset(den22, substr(SEM_NOT, 1, 4) == "2022" &
as.integer(substr(SEM_NOT, 5, 6)) >= 31 &
as.integer(substr(SEM_NOT, 5, 6)) <= 52)
# Concatenar as bases de dados
den22_24 <- rbind(den22se, den23, den24)
save (den22_24, file = "den22_24.RData") #base bruta não processada
# Processar as base para decodificar ------------------------------
den22_24proc <- process_sinan_dengue (den22_24) #atualização dos dados até 09mar2024
save (den22_24proc, file = "den22_24proc.RData") #base bruta não processada
load("den22_24proc.RData")
dengue <- den22_24proc %>%
mutate(EVOLUCAO = case_when(
EVOLUCAO == "Óbito por dengue" ~ "1.OBT-DEN",
EVOLUCAO == "Óbito em investigação" ~ "2.OBT-INV",
EVOLUCAO == "Óbito por outras causas" ~ "3.OBT-OUT",
EVOLUCAO == "Cura" ~ "4.CURA",
EVOLUCAO == "Ignorado" ~ "9.IGN",
TRUE ~ EVOLUCAO
))
dengue <- dengue %>%
mutate(EVOLUCAO = ifelse(is.na(EVOLUCAO), "9.IGN", EVOLUCAO))
table(den22_24proc$EVOLUCAO)
fig1 <- table(dengue$EVOLUCAO, dengue$SEM_NOT)
write.xlsx(fig1, "fig1.xlsx")