A TabAPI é uma API RESTful construída para atuar como uma ponte (proxy) rápida e higienizada para o sistema TABNET do DATASUS (Departamento de Informática do Sistema Único de Saúde do Brasil).
Diferente de extrações estáticas, esta API consulta os arquivos .def do governo em tempo real, realiza um complexo parsing (limpeza de HTML entities, tratamento de pontos flutuantes em Reais) e entrega um JSON limpo e padronizado, pronto para consumo em Dashboards e sistemas de Business Intelligence (BI).
- Democratizar o acesso aos dados financeiros e epidemiológicos do SUS.
- Contornar problemas de encoding e formatação legada do sistema Tabnet.
- Fornecer endpoints de Insights já calculados (médias ponderadas, rankings).
| Característica | Status |
|---|---|
| Estados disponíveis | Todos os 27 estados do Brasil |
| Período dos dados | 2008 - Atual |
| Arquitetura | Proxy Real-time (Sem necessidade de BD) |
| Infraestrutura planejada | Nuvem (em migração) |
| Otimização | Cache em Memória (TTL 1 hora) |
| Escopo Atual | Produção Hospitalar (SIH/SUS) |
| Infraestrutura atual | Nuvem (Deploy no Render) |
- AIH Aprovadas e Internações
- Valor Total Gasto (R$)
- Dias e Média de Permanência
- Óbitos e Taxa de Mortalidade
A API responde na rota base /api/sih/. Parâmetros aceitos via Query String: uf, ano, mes, limit.
GET /- Retorna todos os municípios do estado filtrado no período especificado.GET /top- Retorna um ranking focado em volume de internações (AIHs aprovadas).GET /insights- [Destaque] Retorna arrays separados ranqueando automaticamente municípios com Maior Custo, Maior Mortalidade e Maior Permanência, ignorando dados vazios ou não consolidados.
O projeto sofreu uma migração completa de stack (Python -> Node.js) para otimização de requisições assíncronas concorrentes.
- Node.js & Express - Core da aplicação web e rotas.
- Axios - Cliente HTTP para comunicação com os servidores do Governo.
- Node-Cache - Sistema de cache implementado para evitar timeouts e banimentos de IP do Datasus.
- He - Decodificador robusto de HTML Entities legados.
- Segurança Customizada - Middleware próprio de
x-api-keycom controle de Rate Limiting por nível de usuário.
Para rodar este projeto localmente, você precisará do Node.js (v18+) e do npm instalados na sua máquina.
- Fonte: http://tabnet.datasus.gov.br
git clone https://github.com/AlcantaracomT/tabnetAPI.git
cd tabnetAPI
### 2. Instale as dependências
```bash
npm install