O microdatasus baixa, lê e prepara microdados dos Sistemas de Informação em
Saúde publicados pelo DataSUS. O pacote trabalha diretamente com arquivos DBC,
seleciona os arquivos efetivamente disponíveis no servidor e oferece funções
específicas para recodificar variáveis de SIM, SINASC, SIH, SIA, CNES e SINAN.
O pacote resolve a parte operacional do acesso aos dados. Para compreender a unidade de análise, a cobertura, os fluxos de produção e os cuidados de interpretação de cada sistema, consulte o livro Sistemas de Informação em Saúde no Brasil.
fetch_datasus() localiza, baixa e combina microdados publicados pelo
DataSUS.read_dbc() lê um arquivo DBC já disponível no computador.process_*() recodificam campos conhecidos, normalizam textos e,
quando implementado, acrescentam informações municipais ou tabelas
auxiliares.fetch_cadger() e fetch_sigtab() obtêm tabelas auxiliares atuais de CNES e
SIA.Os downloads são sequenciais, usam arquivos temporários e fazem novas tentativas
em falhas transitórias. Quando stop_on_error = FALSE, os arquivos válidos
podem ser retornados mesmo que parte da solicitação falhe.
Instale a versão estável publicada no CRAN:
install.packages("microdatasus")
Ou instale a versão de desenvolvimento:
# install.packages("remotes")
remotes::install_github("rfsaldanha/microdatasus", ref = "dev")
A leitura de DBC é interna ao pacote e não depende mais de read.dbc. A
implementação foi adaptada do pacote
healthbR.
No Windows, a instalação pelo GitHub requer uma versão do Rtools compatível com o R instalado. A versão binária distribuída pelo CRAN não requer ferramentas de compilação.
O fluxo mais comum tem duas etapas: baixar os arquivos e aplicar o processador do sistema.
library(microdatasus)
sim_raw <- fetch_datasus(
year_start = 2022,
year_end = 2022,
uf = "AC",
information_system = "SIM-DO",
vars = c("CODMUNRES", "DTOBITO", "CAUSABAS"),
track_source = TRUE
)
sim <- process_sim(sim_raw)
Os processadores retornam um tibble com colunas de texto após a normalização Unicode. Converta explicitamente os campos necessários à análise:
sim$DTOBITO <- as.Date(sim$DTOBITO)
Os anos, meses e UFs solicitados identificam as partições publicadas pelo DataSUS. A data e o local analíticos devem ser escolhidos nas variáveis do registro. O capítulo sobre o SIM, por exemplo, distingue residência, ocorrência e outras dimensões territoriais e temporais do óbito.
Sistemas mensais, como SIH, SIA e CNES, exigem os meses inicial e final:
sih_raw <- fetch_datasus(
year_start = 2023,
month_start = 1,
year_end = 2023,
month_end = 2,
uf = c("AC", "RO"),
information_system = "SIH-RD",
timeout = 600
)
sih <- process_sih(sih_raw)
| Sistema | Periodicidade dos arquivos | Download | Processamento | Livro de SIS |
|---|---|---|---|---|
| SIM | Anual |
SIM-DO, SIM-DOFET, SIM-DOEXT, SIM-DOINF, SIM-DOMAT
|
process_sim() |
SIM |
| SINASC | Anual | SINASC |
process_sinasc() |
SINASC |
| SIH | Mensal |
SIH-RD, SIH-RJ, SIH-SP, SIH-ER
|
process_sih() para SIH-RD
|
SIH |
| SIA | Mensal | Doze layouts SIA-*
|
process_sia() para SIA-PA
|
SIA |
| CNES | Mensal | Treze layouts CNES-*
|
process_cnes() para CNES-ST e CNES-PF
|
CNES |
| SINAN | Anual e nacional | Dengue, chikungunya, Zika, malária, Chagas, leishmanioses e leptospirose | Processadores específicos, exceto leptospirose | SINAN |
A lista completa dos identificadores está na
referência de fetch_datasus().
Algumas opções úteis de fetch_datasus():
vars limita as colunas lidas e reduz o uso de memória.track_source = TRUE acrescenta o nome do DBC de origem de cada registro.timeout controla o limite de cada operação de rede, sem alterar opções
globais do R.quiet = TRUE para ocultar o progresso e todas as mensagens
de status.stop_on_error = FALSE preserva sucessos parciais; TRUE interrompe a
solicitação na primeira falha.uf aceita uma UF, várias UFs ou "all". Arquivos nacionais, como os do
SINAN, ignoram esse argumento com um alerta.Consulte o artigo Download e rastreabilidade para exemplos de todas essas opções.
Use read_dbc() quando o arquivo já estiver no computador:
dados <- read_dbc("arquivo.dbc")
# Preserva os tipos inferidos dos metadados DBF
dados_tipados <- read_dbc("arquivo.dbc", as_character = FALSE)
Ao utilizar o pacote, cite:
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). Cadernos de Saúde Pública, v. 35, n. 9, e00032419, 2019. https://doi.org/10.1590/0102-311x00032419.
Quando o livro apoiar a descrição ou a interpretação dos sistemas, cite também:
SALDANHA, Raphael de Freitas. Sistemas de Informação em Saúde no Brasil. Rio de Janeiro: Edição do autor, 2026. ISBN 978-65-01-37841-1. https://rfsaldanha.github.io/sis/.
O suporte a DBC foi construído a partir de contribuições de código aberto dos projetos read.dbc, de Daniela Petruzalek, e healthbR, de Sidney Bissoli.
Crie uma issue ou envie um
e-mail para raphael.saldanha@fiocruz.br.