Modern, local-first, auditable web reimplementation of DATASUS TabWin workflows
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Tabulação de microdados públicos do DATASUS no navegador. Sem instalar nada. Sem enviar dados para lugar nenhum.
▶ Abrir a aplicação · 📖 Manual do usuário
Baixar
Todas as versões e notas · Qual baixar?
Reimplementação local e auditável dos fluxos analíticos do TabWin 4.15 do
DATASUS. Lê os arquivos que você já usa — .DBC, .DBF, .CSV — e os
metadados legados .DEF, .CNV e .MAP. Roda igual no Windows, macOS,
Linux e Android, porque roda no navegador.
Esforço independente e não oficial de modernização. Não é afiliado ao DATASUS nem ao Ministério da Saúde, e não é endossado por eles.
Não é slogan, é como o programa funciona. A leitura e o cálculo acontecem no navegador; nenhum microdado, resultado ou consulta sai da máquina. Quando você busca no catálogo oficial, o que trafega é o download do DATASUS para você.
Depois que o arquivo abriu, nem internet é necessária.
| Tabular | o painel do TabWin — Linhas, Colunas, Incremento e Seleções — montado do DEF, com Não classificados, log e "Restaurar consulta"; conferido contra o TabWin 4.15 real |
| Formato leve | DBC → Parquet: metade do tamanho, leitura só das colunas usadas, mesmos números (paridade registro a registro) |
| Transformar | pipeline de 11 verbos no estilo dplyr — inclusive semana epidemiológica (MMWR/MS) e código IBGE de município |
| Calcular | fórmulas estilo Excel, 57 funções, com nomes em português e inglês |
| Visualizar | gráficos editáveis e mapas temáticos, com exportação SVG/PNG |
| Analisar | descritivas, correlação, regressão, e taxas com IC de Byar, padronização direta (DSR) e indireta (SMR) |
| Auditar | procedência com SHA-256, histórico da sessão, e detecção estatística de anomalias |
| Salvar | receitas .twrecipe, tabelas .twtable, CSV/JSON/XLSX/XML, DBF filtrado, CSV para o microdatasus do R |
O manual do usuário cobre tudo isso com o passo a passo:
docs/product/MANUAL_DO_USUARIO.md.
Para entender os arquivos (DBC, DBF, DEF, CNV, Parquet):
docs/product/GUIA_ARQUIVOS_DATASUS.md.
Engenharia reversa do painel do TabWin (Wine + rea/Ghidra):
docs/reverse-engineering/RE_002_PAINEL_TABULA.md.
Este projeto distingue três coisas, e diz qual é qual:
fixtures/golden/, cada um com
manifesto, evidência e hashes, e mais 6 casos do painel em
fixtures/oracle/painel-2026-10-13/
(npm run verify:painel).Nada vira "compatível" por suposição. Um golden é imutável: quando um teste falha, muda a implementação ou registra-se um desconhecido — nunca o golden.
null / "—". Zero é uma afirmação sobre o mundo.npm install
npm run web:dev
| Comando | O que faz |
|---|---|
npm run check | testes unitários + typecheck + build web |
npm run e2e | testes ponta a ponta (Playwright) |
npm run web:build | build de produção em dist-web/ |
npm run seed:differential | gera casos determinísticos para conferir contra o TabWin real |
npm run verify:painel -- <pasta> | confere o painel contra as capturas do TabWin real |
npm run parquet:converter -- <arquivo.dbc> | converte para o formato leve (.parquet, mesmo nome-base) |
npm run verify:parquet -- <arquivo.dbc> <arquivo.parquet> | prova que os registros são idênticos |
npm run bridge:start | sobe o auxiliar local de download (o que é) |
apps/web a aplicação
apps/datasus-proxy Worker Cloudflare para o CORS do catálogo oficial
apps/tabwin-bridge auxiliar local e OPCIONAL de download (Windows/Unix)
packages/core modelo, plano normalizado, execução, receitas
packages/formats DEF, CNV, .TAB, Windows-1252, mapas, BIFF
packages/analysis estatística, epidemiologia, transformação, fórmulas
packages/acquisition catálogo DATASUS, lote resiliente, fallback e limites
packages/export CSV, JSON, XLSX, XML, DBF
fixtures/golden as capturas do TabWin 4.15 que sustentam a compatibilidade
docs/ manual, ADRs, protocolos de captura, engenharia reversa
Regra de camadas: analysis → core. core nunca importa analysis.
Os microdados são públicos e do DATASUS/Ministério da Saúde, sujeitos aos
termos de uso do órgão. Este repositório não redistribui microdados nem o
binário original do TabWin 4.15 — as capturas em fixtures/golden/ são
resultados de referência, não os arquivos de origem.
Cinco dependências de runtime, e vale nomear o que cada uma faz:
@precisa-saude/datasus-dbc
decodifica o formato .DBC — xBase DBF comprimido com PKWARE DCL Implode.
É a capacidade que este projeto anuncia primeiro, e quem a entrega é ele.
TypeScript puro, navegador e Node, sem dependências próprias.fflate lê e escreve os .zip
que o portal do DATASUS monta.@duckdb/duckdb-wasm move a
aba de consulta SQL, carregado sob demanda.hyparquet e
fzstd leem o formato leve
(Parquet com ZSTD) coluna por coluna, em JavaScript puro.GNU AGPL v3 ou posterior (AGPL-3.0-or-later).
Escolhida porque o TabSis é um sistema web: a AGPL vale também para quem só o hospeda e oferece a outras pessoas pela internet, não apenas para quem distribui o código. Qualquer versão modificada que seja publicada precisa abrir o código-fonte das modificações sob a mesma licença e manter os créditos.
As dependências (@precisa-saude/datasus-dbc em Apache-2.0, fflate e
@duckdb/duckdb-wasm em MIT) têm licenças compatíveis com a AGPL v3.
Até a versão 0.8 o projeto se chamava TabWin Web e era distribuído sob MIT; as cópias obtidas naquela época continuam valendo sob a MIT.