io.github.pedropaulofernandes88-stack/saudeemdado
Saúde do Brasil (DataSUS + IBGE) consultável por IA — mortalidade, dengue e internações SUS
Open source Open in the app JSON README (API)
About
Saúde do Brasil (DataSUS + IBGE) consultável por IA — mortalidade, dengue e internações SUS
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- pedropaulofernandes88-stack
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.5.0
- Open pull requests
- 15
- Last push
- 2026-09-04T13:12:39Z
- Repository state
- ativo
- Language
- Python
- License
- NOASSERTION
- Added
- 2026-08-29 04:01:00
- Updated
- 2026-08-29 04:01:00
- Origin id
io.github.pedropaulofernandes88-stack/saudeemdado
README
<div align="center">
# 🏥 Saúde em Dado
### Inteligência epidemiológica aberta sobre os microdados do SUS
**Mortalidade · Dengue · Internações · Natalidade · Vulnerabilidade social — do Brasil inteiro, a custo zero.**
[](https://saudeemdado.com)
[](LICENSE)
[](#-arquitetura-a-custo-zero)
[](#-fontes-de-dados)
[](https://github.com/pedropaulofernandes88-stack/saude-publica-br/releases)
[](https://doi.org/10.5281/zenodo.20706845)
[**Site**](https://saudeemdado.com) · [**API**](https://saudeemdado.com/dados/) · [**Análises**](https://saudeemdado.com/artigos/) · [**Metodologia**](https://saudeemdado.com/metodologia/)
</div>
---
## 🎯 O que é
Os dados do SUS são **públicos por lei, mas inacessíveis na prática**: microdados em formato
proprietário (DBC), fragmentados por estado e competência, somando dezenas de gigabytes. Pesquisadores,
jornalistas e gestores gastam semanas em engenharia de dados antes de qualquer análise.
O **Saúde em Dado** elimina essa barreira. Ele transforma os microdados oficiais do **DataSUS** e do
**IBGE** em indicadores agregados, validados e consultáveis por **API pública gratuita**, **painéis
navegáveis** e **downloads abertos** — com pipeline 100% reproduzível e **custo de manutenção zero**.
> Mais de **14,4 milhões de óbitos** (2015–2024), **6,56 milhões de casos de dengue** (recorde de 2024),
> **40,0 milhões de AIHs aprovadas** (R$ 63,4 bi) e **5,2 milhões de nascimentos** — em uma consulta.
---
## 📊 Fontes de dados
| Sistema | Conteúdo | Cobertura | Indicadores derivados |
|---|---|---|---|
| **SIM** | Mortalidade (óbitos) | 2015–2024 | Taxa bruta + **IC95%**, **taxa padronizada por idade**, **excesso de mortalidade** |
| **SINAN** | Dengue (notificações) | 2015–2024 | Incidência, gravidade, letalidade, **canal endêmico** |
| **SIH** | Internações hospitalares (AIH) | 2022–2024 | Permanência média e custo **por episódio** (AIH normal), mortalidade intra-hospitalar |
| **SINASC** | Nascidos vivos | 2021–2022 | Baixo peso, prematuridade, pré-natal, **mortalidade infantil** |
| **IBGE** | População (Censo 2022, Estimativas) e malhas | — | Denominadores, padronização, mapas |
| **IPEA / IBGE** | Vulnerabilidade social (proxy Censo 2022) | 2022 | Cruzamento desigualdade × saúde |
Todas as fontes são de **domínio público**. Apenas **agregados** são publicados — nenhum microdado
individual sai da máquina de processamento (privacidade por desenho).
---
## 🧮 Indicadores e métodos
- **Taxa padronizada por idade** (método direto, padrão Brasil/Censo 2022) — comparação legítima entre municípios, corrigindo o efeito da estrutura etária.
- **Intervalo de confiança de 95%** (método gama / Poisson exato) em toda taxa bruta; alerta para municípios < 10 mil hab.
- **Excesso de mortalidade** — observado vs. esperado (baseline 2015–2019 ajustado por população), por UF e Brasil.
- **Canal endêmico de dengue** (diagrama de controle) — faixa esperada P25–P75 de 2015–2023 vs. ano observado.
- **Taxa de Mortalidade Infantil** — óbitos < 1 ano (SIM) ÷ nascidos vivos (SINASC).
- **Índice de vulnerabilidade social (proxy)** — z-score de analfabetismo + falta de água (Censo 2022).
- **Tipo de AIH (SIH)** — o arquivo do SIH mistura AIH normal com AIH de *continuação*, emitida quando
a internação se prolonga: uma internação longa vira várias linhas. `internacoes` conta AIHs aprovadas
(produção); permanência e custo médios são **por episódio**, sobre a AIH normal. Nos capítulos V
(transtornos mentais) e VI (sistema nervoso) os dois números divergem muito — 25% e 10% das AIHs são
de continuação. AIH não é internação nem paciente.
Documentação completa, fórmulas e **limitações declaradas**: **[saudeemdado.com/metodologia](https://saudeemdado.com/metodologia/)**.
---
## 🏗️ Arquitetura (a custo zero)
```
Microdados DataSUS (.dbc/.csv) IBGE (SIDRA / localidades / malhas)
│ │
▼ ▼
┌───────────────────────────────────────────────────────┐
│ Pipelines Python (local) — streaming + DuckDB │
│ scripts/pipeline_*.py · agregação · validação │
└───────────────────────────────────────────────────────┘
│ (sobem apenas marts agregados, ~400 MB)
▼
┌───────────────────────────────────────────────────────┐
│ Supabase (Postgres free tier) — somente leitura (RLS) │
│ ├── API REST automática (PostgREST) │
│ └── Storage (Parquet com SHA-256) │
└───────────────────────────────────────────────────────┘
│
▼
┌───────────────────────────────────────────────────────┐
│ Next.js estático (GitHub Pages) → saudeemdado.com │
│ JSON estático no build = egress ~zero no banco │
└───────────────────────────────────────────────────────┘
Automação (GitHub Actions): deploy · keep-alive (≤6 dias) · validação de dados
```
**Princípios:** (1) agregar localmente, publicar só o essencial; (2) nenhum servidor de aplicação para
manter; (3) reprodutibilidade radical — todo número regenerável das fontes oficiais por um script aberto.
---
## 🚀 Como acessar
**Site:** [saudeemdado.com](https://saudeemdado.com) — painéis de mortalidade, dengue, internações,
nascimentos, mapa municipal, tendências e boletim por município.
**API REST pública** (sem cadastro; chave de leitura em [`.env.example`](.env.example)):
```bash
URL="https://zekjhmxjamatlxpkykde.supabase.co/rest/v1"; KEY="<anon key>"
# Municípios de MG por taxa padronizada de mortalidade (2023)
curl "$URL/mart_mortalidade_municipio?uf_sigla=eq.MG&ano=eq.2023&capitulo_cid=eq.TOTAL&sexo=eq.TOTAL&order=taxa_padronizada_100k.desc&limit=10" -H "apikey: $KEY"
# Dengue por município/ano (incidência e letalidade)
curl "$URL/mart_dengue_municipio_ano?uf_sigla=eq.SP&ano_epi=eq.2024&order=incidencia_100k.desc&limit=10" -H "apikey: $KEY"
```
**Pacote Python** ([`clients/python`](clients/python/)):
```python
import saudeemdado as sd
sd.municipios(uf="MG", ano=2023, as_df=True).nlargest(10, "taxa_padronizada_100k")
sd.dengue(uf="SP", ano=2024, as_df=True)
```
**Servidor MCP — a saúde do Brasil consultável por IA** ([`mcp_server/`](mcp_server/)).
Conecte o Claude Desktop/Code e pergunte em linguagem natural. Expõe **19 ferramentas**: consulta
(mortalidade, internações, dengue, ICSAP, fluxo de pacientes, visão hospitalar, excesso) e **análise**
(`comparar_com_pares` — município vs. estrato de saúde com percentis; `canal_endemico_dengue` —
diagrama de controle por UF; `boletim_semanal` — a edição vigente do boletim automático) — mais a
**camada de confiabilidade** (avisa quando o registro do município é pouco confiável) e o
**detector de anomalias** para briefing de gestor. Custo zero: roda no seu cliente e consome a API
pública — cada usuário traz o próprio Claude. Regras **anti-alucinação** embutidas: todo número vem
de uma ferramenta, com a fonte citada.
```json
{ "mcpServers": { "saudeemdado": { "command": "uvx", "args": ["saudeemdado-mcp"] } } }
```
Publicado no [PyPI](https://pypi.org/project/saudeemdado-mcp/) e no
[registry oficial MCP](https://registry.modelcontextprotocol.io) como
`io.github.pedropaulofernandes88-stack/saudeemdado`. Instalação e receitas: [`mcp_server/README.md`](mcp_server/README.md).
**Downloads** — marts completos em **Parquet** com **SHA-256** na [página Dados & API](https://saudeemdado.com/dados/).
---
## 🔁 Reprodutibilidade
```bash
# Python 3.10–3.12 (datasus-dbc não compila no 3.13+)
pip install duckdb pandas pyarrow requests scipy datasus-dbc dbfread
python scripts/pipeline_v2.py # SIM 2015–2024 (padronização, IC95%, excesso)
python scripts/pipeline_sinan.py # Dengue 2015–2024
python scripts/pipeline_sih.py # Internações 2022–2024
python scripts/pipeline_sinasc.py # Nascimentos + mortalidade infantil
python scripts/pipeline_ivs.py # Vulnerabilidade social (proxy Censo 2022)
python scripts/validate_data.py # validação contra âncoras oficiais
```
Os pipelines fazem download, agregam em streaming com **checkpoint resumível** e publicam via API.
A rotina de validação ([`.github/workflows/validate-data.yml`](.github/workflows/validate-data.yml))
confere mensalmente totais oficiais e conciliação entre marts.
---
## 📁 Estrutura
```
saude-publica-br/
│
├── site/ # Next.js 14, export estático → saudeemdado.com
│ ├── app/ # uma pasta por rota: painel, dengue, internacoes,
│ │ # nascimentos, mapa, tendencias, artigos, dados,
│ │ # metodologia, atencao-basica, boletim, hospitalar
│ ├── components/ # gráficos (Recharts), KPIs, navegação
│ ├── lib/ # regras puras e testáveis: municipios, completude,
│ │ # tokens de design, seções da metodologia
│ ├── content/ # artigos assinados (seção Análises)
│ └── scripts/ # gera o JSON estático durante o build
│
├── scripts/ # pipelines: SIM, SINAN, SIH, SINASC, CNES, IVS, SIOPS
├── ingestion/utils/ # bulk load (Parquet → COPY) e ledger de ingestão
├── dbt/ # modelos intermediate → marts
├── migrations/ # SQL versionado do Supabase, incluindo as políticas RLS
├── validation/ # suítes Great Expectations sobre os marts
├── ml/ # detector de anomalias e scoring em lote
├── data/refs/ # tabelas de referência (CID-10, municípios, população)
│
├── mcp_server/ # servidor MCP → PyPI: saudeemdado-mcp
├── clients/python/ # cliente da API → pacote saudeemdado
├── supabase/functions/ # Edge Functions do boletim por assinatura
│
├── .github/workflows/ # CI, deploy do site, boletim, publicação do MCP
├── docs/ # ADRs e notas de arquitetura
└── archive/ # a primeira arquitetura, aposentada — ver archive/README.md
```
---
## 📰 Análises
A seção **[Análises](https://saudeemdado.com/artigos/)** reúne artigos que cruzam os dados da plataforma
com leitura epidemiológica e estatística — da anatomia da epidemia de dengue de 2024 ao paradoxo do
sub-registro na relação vulnerabilidade × mortalidade.
---
## 🗺️ Roadmap
- [x] Mortalidade (SIM) 2015–2024 · taxa padronizada · IC95% · excesso
- [x] Dengue (SINAN) · Internações (SIH) · Nascimentos/Mortalidade infantil (SINASC)
- [x] Vulnerabilidade social (proxy Censo 2022) e cruzamento com mortalidade
- [x] Pacote Python · servidor MCP · boletim municipal · seção de Análises
- [ ] IVS **oficial** do IPEA (Atlas da Vulnerabilidade Social)
- [ ] SIH anos anteriores (2015–2021) e SINASC 2023+
- [ ] SINAN outros agravos (chikungunya, zika) · CNES (leitos/estabelecimentos)
- [ ] Imagens de capa próprias para a seção de Análises · DOI via Zenodo
---
## 🤝 Créditos e projetos relacionados
- **[LabSUS](https://github.com/goldenluke/labsus)** (Lucas Amaral Dourado, Universidade Federal do Tocantins) — projeto acadêmico de inteligência em saúde pública que inspirou aqui o cruzamento saúde × vulnerabilidade, a detecção de surtos por canal endêmico e a nota de uso ético. Métodos de domínio público; nenhum código foi copiado.
- **Fontes primárias:** DATASUS/Ministério da Saúde (SIM, SINAN, SIH, SINASC), **IBGE** (Censo 2022, Estimativas, malhas) e **IPEA**.
---
## ⚖️ Uso ético
Os indicadores são **agregados e descritivos** — não substituem julgamento técnico. Pede-se, de boa-fé,
que a plataforma não seja usada para discriminação no acesso à saúde, vigilância em massa de indivíduos
ou automação de decisões clínicas/de política pública sem supervisão profissional. Detalhes na [LICENSE](LICENSE).
## 🔒 Segurança
Vulnerabilidades vão por canal privado — ver [`SECURITY.md`](SECURITY.md). Leia
antes a seção sobre o que **não** é vazamento aqui: a chave `anon` do Supabase é
pública por desenho (é o que permite consultar a API sem cadastro), e os arquivos
`.env` versionados são templates com placeholders.
---
## 📄 Licença
Código sob licença **MIT**. Dados originais em **domínio público** (DATASUS/MS, IBGE, IPEA) — cite as
fontes primárias.
**Como citar** (DOI [10.5281/zenodo.20706845](https://doi.org/10.5281/zenodo.20706845)):
> Fernandes, Pedro. *Saúde em Dado: inteligência epidemiológica aberta sobre os microdados do SUS.*
> Zenodo, 2026. https://doi.org/10.5281/zenodo.20706845
Metadados legíveis por gerenciadores de referência em [`CITATION.cff`](CITATION.cff).
---
## 👤 Autor
**Pedro Fernandes**
Mestrando em Saúde Coletiva (IAMSPE) · Pós-graduando em Inteligência Artificial e Ciência de Dados em
Saúde (Hospital Sírio-Libanês) · Diretor de Tecnologia da Informação — Setor Público (SP)
[](https://orcid.org/0009-0008-6248-2486)
[](http://lattes.cnpq.br/6641343625206093)
[](https://www.linkedin.com/in/pedro-f-540154408/)
<div align="center">
—
**[saudeemdado.com](https://saudeemdado.com)** · dados públicos, abertos e a custo zero para a pesquisa em saúde no Brasil
</div>