Pular para conteúdo

omnisus

Importa bases públicas de saúde do Brasil (DATASUS, IBGE, CNES) para um lake DuckLake, no seu computador, no Google Drive ou na nuvem, com a procedência necessária para citar cada resultado.

Trabalho em construção

A API ainda pode mudar entre versões menores, e nem todo dicionário foi conferido contra o documento oficial. Antes de publicar um número, confira as contagens com o DATASUS e os rótulos com a fonte (como conferir). Um rótulo errado é um bug: abra uma issue.

import omnisus as sus

dados = sus.load("sim_obitos", years=[2023], ufs=["RR"])             # baixa e devolve as linhas
dados = sus.label("sim_obitos", dados, columns=["sexo", "racacor"])  # + sexo_rotulo, racacor_rotulo
sus.check_columns("sim_obitos", dados)                               # vazios, códigos sem rótulo, datas

O que faz

  • Baixa os arquivos DBC do FTP do DATASUS, a população do IBGE e os nomes de estabelecimentos da API do CNES.
  • Decodifica DBC e DBF em lotes gravados em disco: em Rust (omnisus-dbf, instalado junto em Linux x86_64, macOS e Windows x86_64) e em Python nas demais plataformas ou com OMNISUS_DBF_BACKEND=python e OMNISUS_DBC_BACKEND=python.
  • Guarda Parquet num catálogo DuckLake (SQLite ou PostgreSQL). Cada recorte importado fica registrado com os arquivos de origem e o SHA-256 de cada um.
  • Rotula códigos e confere colunas com dicionários em que cada afirmação cita um documento oficial.

Por onde começar

Você quer Leia
Responder uma pergunta de pesquisa com uma base Comece aqui e os notebooks
Saber de onde vem um rótulo e como conferi-lo De onde vem cada rótulo
Instalar e fazer a primeira importação Getting Started
Saber quais bases existem e o que passar em years, ufs e months Bases e argumentos
Consultar uma função API
Corrigir um rótulo ou acrescentar uma base Como contribuir