SSaúde em Dado

Dados & API

Toda a base é acessível por uma API REST pública e gratuita (PostgREST), sem cadastro. A chave abaixo é pública por design e dá acesso somente leitura.

🔌 Consulte por IA (MCP). Conecte o Claude Desktop/Code e pergunte a saúde do Brasil em linguagem natural — 19 ferramentas, camada de confiabilidade do dado e detector de anomalias, com regras anti-alucinação (todo número vem com fonte). Roda na sua máquina, custo zero. Guia de instalação →

Acesso rápido

BASE="https://zekjhmxjamatlxpkykde.supabase.co/rest/v1"
KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inpla2pobXhqYW1hdGx4cGt5a2RlIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEwNzY4MzIsImV4cCI6MjA5NjY1MjgzMn0.px8FcU0QK8w9v95kwGlGzASKpY3drsxAvFe0e6wUoCU"

# Série mensal de óbitos no Brasil (todas as causas)
curl "$BASE/mart_mortalidade_uf_mes?select=mes_competencia,uf_sigla,obitos&capitulo_cid=eq.TOTAL&sexo=eq.TOTAL&faixa_etaria=eq.TOTAL&order=mes_competencia" \
  -H "apikey: $KEY"

# Municípios de MG com maior taxa em 2023 (pop >= 50 mil)
curl "$BASE/mart_mortalidade_municipio?uf_sigla=eq.MG&ano=eq.2023&capitulo_cid=eq.TOTAL&sexo=eq.TOTAL&populacao=gte.50000&order=taxa_obitos_100k.desc&limit=20" \
  -H "apikey: $KEY"

# Soma de óbitos por causa (agregação no servidor)
curl "$BASE/mart_mortalidade_causa?select=causabas_3,obitos.sum()&ano=eq.2024&uf_sigla=eq.SP&order=causabas_3" \
  -H "apikey: $KEY"

Filtros seguem a sintaxe do PostgREST (eq., gte., neq., order=, limit=, select=). Respostas são paginadas em até 1.000 linhas — use o cabeçalho Range com ordenação determinística para obter conjuntos maiores.

Determinística quer dizer única. Paginar por uma ordem que empata é um defeito silencioso, não um detalhe de estilo: o Postgres não promete a mesma ordem entre duas consultas, então páginas consecutivas podem repetir linhas e pular outras — e o total continua batendo, porque uma coisa compensa a outra. Aconteceu aqui: mart_internacoes_municipio foi exportada com 334.769 linhas e apenas 212.893 chaves distintas, e o arquivo corrompido passou em todas as conferências de contagem.
Ordene sempre pela chave completa da tabela — em mart_mortalidade_municipio é order=municipio_cod,ano,capitulo_cid,sexo, não apenas municipio_cod,ano, que tem cerca de 23 linhas por combinação. Na dúvida, acrescente colunas até que o resultado tenha uma linha por chave.

Tabelas disponíveis

TabelaGranularidadeLinhas
mart_mortalidade_municipiomunicípio × ano (20152025) × capítulo CID-10 × sexo; taxa bruta + IC95% + taxa padronizada por idade1.306.442
mart_mortalidade_uf_mesUF × mês (20152025) × capítulo × sexo × faixa etária502.232
mart_mortalidade_causaUF × ano (20152025) × causa básica (CID-10, 3 caracteres)223.273
mart_excesso_uf_mesexcesso de mortalidade: observado × esperado por UF/BR × mês (2020+)2.016
mart_dengue_semana só downloaddengue (SINAN): casos prováveis, graves e óbitos por município × ano × semana epidemiológicacentenas de mil
mart_dengue_municipio_anodengue anual por município: casos, incidência /100k e letalidadedezenas de mil
mart_internacoes_municipiointernações SUS (SIH): volume, permanência média, mortalidade hospitalar e custo, por município × ano × capítulo CID-10centenas de mil
mart_natalidade_municipionascidos vivos (SINASC): peso ao nascer, prematuridade, pré-natal, idade da mãe, por município × ano22.341
mart_mortalidade_infantil_ufTaxa de Mortalidade Infantil por UF e ano (óbitos <1 ano ÷ nascidos vivos)54
mart_vacinacao_municipio só downloaddoses aplicadas do PNI por município, ano e imunobiológico (2023–2026, alimentado pela RNDS). Só por download — é a maior das três e nenhuma tela a consulta, então fica fora do banco servido pela API para caber no orçamento de armazenamento; o Parquet, o checksum e o histórico continuam completos. É contagem, não cobertura: a taxa por município foi construída, testada e reprovada — a cobertura mediana cai de 102,7% nos municípios com 50 a 100 nascidos para 86,2% nos com mais de 5 mil, o que é viés de denominador, não variação real.932.654
mart_vacinacao_uf_mesdoses aplicadas por competência mensal, UF e imunobiológico. É a série mais atual do projeto — vai até o mês passado.72.202
mart_cobertura_vacinal_ufcobertura vacinal em menores de 1 ano por UF e ano, só onde há nascidos vivos definitivos (2023–2024) e só para cinco indicadores da atenção básica. BCG e hepatite B ao nascer ficam de fora: aplicadas na maternidade, não têm denominador adequado nem por UF.270
mart_qualidade_registro_municipioíndice de confiabilidade do registro de óbitos por município (% causas mal-definidas, 2022–2024) com classificação Bom/Regular/Ruim5.595
dim_ivsvulnerabilidade social municipal (proxy Censo 2022: analfabetismo + água; z-score)5.570
dim_cluster_municipioestrato de saúde municipal: cruzamento dos tercis de mortalidade × vulnerabilidade × internações (2023), em 27 grupos, com os cortes congelados no repositório. Determinístico: o estrato depende só dos valores do próprio município, então a mesma consulta devolve sempre a mesma resposta. Substituiu em 29/08/2026 o agrupamento por k-means, que foi medido e reprovado (índice de Rand ajustado 0,571 entre reamostragens; 16% dos municípios trocavam de grupo sem que o dado deles mudasse).1.728
mart_icsap_municipiointernações evitáveis (ICSAP) por município, 2021–2024: total, ICSAP, % e por 100k hab. Inclui o grupo 1 da Lista Brasileira — doenças preveníveis por imunização (internacoes_g1, g1_100k), exibido no boletim municipal e cruzável com as doses do PNI.22.280
mart_fluxo_intermunicipalfluxo de pacientes residência→atendimento (SIH 2024, fluxos ≥ 5)dezenas de mil
mart_internacoes_agravointernações por agravo traçador (CID-3) por município, 2024: volume, permanência, mortalidade, custo158.042
mart_internacoes_hospitalinternações por estabelecimento (CNES), 2024: volume, permanência, mortalidade, custo, capítulo principal14.197
dim_municipiomunicípios IBGE (códigos 6/7 dígitos, UF, região)5.571
dim_populacaopopulação municipal por ano (20152025)61.271
dim_pop_faixapopulação municipal por faixa etária (Censo 2022)44.560
dim_pop_padraopopulação padrão da padronização (Brasil, Censo 2022)8
dim_cid10_capitulo / dim_cid10_categoriacapítulos e descrições das categorias CID-1022 / ~2 mil
meta_datasetmetadados: fontes, métodos, datas, exclusões, licença, versão

Importante: nem toda linha é uma observação. Algumas são subtotais pré-calculados (TOTAL) e outras são marcadores de ausência (IGN, ND, códigos <UF>0000). Somar sem filtrá-los produz dupla contagem ou município fantasma — a lista completa está em Valores sentinela, adiante.

Sistemas de código

As colunas de código não carregam identificadores internos: seguem sistemas externos padronizados. Isso torna a base unível a qualquer outra fonte que use os mesmos sistemas — inclusive prontuários e sistemas clínicos conformes aos perfis da RNDS (BR Core). São quatro os sistemas com URI canônico — os demais são convenção desta base e estão marcados como tal.

# URIs canônicos, para bindings FHIR / terminologia
IBGE, município-UF-região   https://rnds-fhir.saude.gov.br/CodeSystem/BRDivisaoGeograficaBrasil
CID-10                      https://rnds-fhir.saude.gov.br/NamingSystem/BRCID10
CNES                        https://rnds-fhir.saude.gov.br/NamingSystem/cnes
Sexo                        http://hl7.org/fhir/administrative-gender

Definições: BRDivisaoGeograficaBrasil · BRCID10 · CNES · BRSexo-1.0.

ColunaSistemaFormato nesta base
municipio_cod, municipio_res, municipio_movIBGE, nível município6 dígitos, sem dígito verificador (355030). É o mesmo nível adotado pela RNDS — junta sem conversão
municipio_cod7 (só em dim_municipio)IBGE, nível município7 dígitos, com dígito verificador (3550308). Use dim_municipio para converter entre as duas formas
uf_sigla, uf_res, uf_movIBGE, nível UFsigla de 2 letras (SP). Não é o código numérico: o equivalente da RNDS são os 2 primeiros dígitos de municipio_cod (35)
regiaoIBGE, nível regiãonome da macrorregião. O código de 1 dígito é o primeiro de municipio_cod
capitulo_cid, capitulo_principalCID-10, capítulonumeral romano, IXXII. A faixa correspondente está em dim_cid10_capitulo.faixa (O00-O99)
causabas_3CID-10, categoria3 caracteres (G31). Vem de CAUSABAS no SIM e DIAG_PRINC no SIH; descrições em dim_cid10_categoria
cnesCNES7 dígitos, string com zeros à esquerda (0000035). Converter para número destrói a chave
sexoHL7 administrative-genderM / F / I equivalem a male / female / unknown — os mesmos três valores do BRSexo-1.0
ano_epi + semana_episemana epidemiológica (MS)SE de 1 a 53, com ano epidemiológico próprio — não coincide com o ano civil na virada. Sem equivalente FHIR
mes_competenciaISO 8601primeiro dia do mês (2023-03-01), não uma data de evento
faixa_etariaconvenção desta base<1, 1-4, 5-14, 15-29, 30-44, 45-59, 60-74, 75+. Escolhida para a padronização por idade; não é sistema externo
agravo, agravo_label, grupoconvenção desta basechaves derivadas de prefixos CID-10 de 3 caracteres. O mapa canônico é o dicionário AGRAVOS em scripts/pipeline_sih_agravo.py
internacoes_icsap, pct_icsapLista Brasileira de ICSAPPortaria SAS/MS 221/2008, aproximada no nível de CID-10 de 3 caracteres

Valores sentinela

Estes valores ocupam colunas de código sem serem códigos. Tratá-los como categoria real é o erro mais comum cometido em cima desta base:

ValorColunasSignifica
TOTALcapitulo_cid, sexo, faixa_etariasubtotal pré-calculado. Somado junto com as partes, dobra a contagem — filtre explicitamente
I / IGNsexo / faixa_etariaatributo ignorado no registro de origem. É um evento real com campo ausente — descartá-lo subestima o total
NDuf_siglaUF não identificada
<UF>0000municipio_codagregado de "município ignorado" da UF. 110000 é Rondônia sem município identificado, não uma cidade — há um código desses por UF

O IBGE tem 5.571 municípios; as tabelas municipais trazem mais linhas justamente por causa dos agregados acima. A regra de exclusão usada pelo site é pública em site/lib/municipios.ts (ehCodigoAgregado e municipioIdentificado).

Uso em Python e R

# Python
import requests, pandas as pd
r = requests.get(
    "https://zekjhmxjamatlxpkykde.supabase.co/rest/v1/mart_mortalidade_causa",
    params={"ano": "eq.2024", "uf_sigla": "eq.SP", "order": "obitos.desc", "limit": "100"},
    headers={"apikey": "<KEY>"},
)
df = pd.DataFrame(r.json())

# R
library(httr2); library(dplyr)
resp <- request("https://zekjhmxjamatlxpkykde.supabase.co/rest/v1/mart_mortalidade_causa") |>
  req_url_query(ano = "eq.2024", uf_sigla = "eq.SP", order = "obitos.desc", limit = "100") |>
  req_headers(apikey = "<KEY>") |> req_perform()
df <- resp |> resp_body_json(simplifyVector = TRUE)

Repositório de dados (download em lote)

A base completa está disponível em Parquet — ideal para DuckDB, pandas, Arrow ou R. O repositório é somente leitura e cada arquivo tem hash SHA-256 publicado para verificação de integridade.

ArquivoTamanhoSHA-256
mart_mortalidade_municipio.parquet
1.306.442 linhas
16,3 MBce635990f5850dc2b7668049fd5833993019422b1fb79ea9cff3a8224286a017
mart_mortalidade_causa_municipio_mes.parquet
8.613.183 linhas · fora da API REST, só este arquivo
15,4 MB14c01208e55401c63853c46dcc115969a15b655f04dd4e475ce7d5ecb7d725c8
mart_mortalidade_causa_municipio_faixa.parquet
7.238.429 linhas · fora da API REST, só este arquivo
13,3 MB236c597c7e986bcd3f69188ceb213164269d6ede8349db93001edce536ae223c
mart_mortalidade_causa_municipio.parquet
4.009.400 linhas · fora da API REST, só este arquivo
11,2 MBd633b16e05fe89e1f89cc24018f817080a58768d31045c3b5e037d510f9fe75f
mart_internacoes_municipio.parquet
334.769 linhas
9,4 MBe15c4e7d09ee6901105a039d03359081d7fc66f3f11e637c83f4b51871e218f2
mart_internacoes_agravo.parquet
158.042 linhas
5,0 MB8641e370d8a616e91b463449556612a9ee85e914aeeb6ebf24e150134caf2d9f
mart_cobertura_aps_municipio.parquet
361.817 linhas
3,2 MBdc436be403fcaac1e9fae2c3b468de0b35e276a69fa54344a66cfda6fadae1c9
mart_mortalidade_uf_mes.parquet
502.232 linhas
1,9 MB5087682d4deabb89ad9bc01bf26bd8e55013b9746294d39a09e6256e5ca263de
mart_vacinacao_municipio.parquet
932.654 linhas · fora da API REST, só este arquivo
1,9 MB5dc97fef3b3a2101c7d460b95505abb2670409edfe574cfd2c23115d3d21b550
mart_demanda_mensal_hospital.parquet
164.039 linhas
1,8 MB3a0dc2150ddc3792aa92ff51bd57e94738274c394667ec051630d07b03208856
mart_correlacao_causas.parquet
124.848 linhas · fora da API REST, só este arquivo
1,6 MB904386bccce7b91082bbb6c2260a9f70ef71b7ad678d68babf28f8c74928f5fd
mart_dengue_semana.parquet
847.927 linhas · fora da API REST, só este arquivo
1,3 MB183d913e2b669b203ad42e1f205584c0c4a9ae4269dd2528cd5c2f775f092286
mart_sinan_agravo_municipio.parquet
723.765 linhas · fora da API REST, só este arquivo
1,3 MB0380816d9be1b86572927d3f4180c0a60fb8713701cd77380dd4f1effaa13e5b
mart_los_hospital.parquet
246.801 linhas
1,2 MBf5d55bba9dadd275aa8067255ee8f94a7bbb8abfcb1dbdbefef5705c16e6c43c
mart_sisagua_municipio.parquet
397.380 linhas
1,1 MB39a72872d56530e15188c4a24f89c38656a5f0691ac8127704b89db1b0a9bec7
mart_fluxo_intermunicipal.parquet
156.663 linhas
0,9 MBd5e117ca82a224f45be6d151afb3db517104058365d4667a947f8f4396c79454
mart_oncologia_municipio.parquet
76.462 linhas · fora da API REST, só este arquivo
0,8 MB36a33a32e0e392eb04fda764da0c42ea6a18756e0c58673cbfd8e7a569216080
mart_mortalidade_causa.parquet
223.273 linhas
0,8 MBd0037a287d3f61d96339c014b3e7ff7d0ccf6ab93ce65817712d26e73016b904
mart_internacoes_hospital.parquet
14.197 linhas
0,7 MB026436413c088424af2c0ffb7fec0f92edb1fdecfb5039afa5075268f4558f51
mart_leitos_municipio.parquet
55.710 linhas
0,7 MB5a21edcfe0de6e3ae6057e6e2985f9d53904e025a9dbc2d6a2dee1d13b15c1de
mart_siops_municipio.parquet
22.276 linhas
0,6 MB21501aed0794dd2cf786506564c7d86bd971c7ffa6a6b1c009594648ace72e39
mart_icsap_pares.parquet
22.280 linhas
0,6 MB42fef0b836b4dab50652c6ed95d5b8b2f08e7968e4375da1df2fe134878ed073
mart_dengue_municipio_ano.parquet
55.537 linhas
0,5 MB92e534bc0b827555012866ad63c6c2fcf5dc17161b0dde51af0da22590f7caa9
mart_sifilis_municipio.parquet
68.919 linhas · fora da API REST, só este arquivo
0,5 MB7250c4b48fe6ce47e9899dc78329cb4fbdfb579806aa42e0825bcb97917fef80
mart_icsap_municipio.parquet
22.280 linhas
0,5 MB49dfd0633d2de4adc2d2b379c0f2ffed6e083741c5d340281e188620889f0d8d
dim_populacao.parquet
61.271 linhas
0,3 MBa97e160f01892c00e5098a5a78f115a547b24e207e6dd534b4f011748d03c7cb
mart_saude_suplementar_municipio.parquet
22.284 linhas
0,3 MBdadd5ffc7aadec8007676944aabd7911c3e170ad47ae2e1e4c9a2cf626b47eae
mart_natalidade_municipio.parquet
22.341 linhas
0,3 MB431602a1ea6c5ecb377b4d783baf8da3b78b323958a3d9bdd164601a0eca2e63
mart_vazio_assistencial_municipio.parquet
5.570 linhas
0,3 MB99c687ce830231de62c5067a9bc9dcf5e4f4c262f07fc015a9fc7bdc1e6c914e
mart_contexto_social_municipio.parquet
3.446 linhas
0,2 MBc6ef3a063b27c0efe266e03a9bf56745596ed1a4deae61dc123408cce757f1ee
mart_leitos_icsap_municipio.parquet
5.570 linhas
0,2 MBb95c56aa1c31a3f5425492d9c730ca4fd70fb1b01efd54e4f3dbb0afa67ae88d
mart_forecast_demanda_hospital.parquet
13.083 linhas
0,2 MB52a515af2c806f6d95ec87fc6cb4bebbd4f502b7d4b8543225cbb03c9df75a32
mart_hsmr_hospital.parquet
14.167 linhas
0,2 MBde5463882214e2e30119f3b01404305383192eb195fdf7a7df3c9b2b0c10722d
mart_perfil_mortalidade_municipio.parquet
3.452 linhas
0,2 MBad4d3733022101d646626688a4b0af0ed183ae608446747b80ad7f36c6a37947
mart_cobertura_icsap_municipio.parquet
5.570 linhas
0,2 MB19619997ca50fb15e777b10da04ec3510fafdbaeafbea28aa417d8141b18b8cd
mart_vacinacao_uf_mes.parquet
72.202 linhas
0,2 MB77a437230daa1866afad442a29f5f9bb88cd5e53f5058fd1e979d45f29c3a196
mart_equidade_aps_municipio.parquet
5.570 linhas
0,2 MB2de5909d2bdc73a2f4493c126955cc190c59ec500cb931772d329660be557174
mart_cnes_municipio.parquet
5.571 linhas
0,2 MB50be5ea6e4dde5a003b211cf05b01b943fe999868cfbed38875db87350a3bd71
mart_qualidade_registro_municipio.parquet
5.595 linhas
0,1 MB0dbedf92d7b9f33017ff0e9287a532bbacc386faa2a556fc2668d769b43338e9
dim_pop_faixa.parquet
44.560 linhas
0,1 MBbb445b37a2993bba55b357d72b014e5f4d0764133f4273e2b34310f5a7d2fa8d
dim_ivs.parquet
5.570 linhas
0,1 MB8fbc752acb03e01b4d3424524d9356e3d4056117bb6f583dd780df77f8275222
mart_anomalia_causa_municipio.parquet
2.718 linhas
0,1 MBc62395ed86359541f64aa9cc9aea155f5f5baae783678088199b645d96ed4cc7
dim_municipio.parquet
5.571 linhas
0,09 MB2a50ec5a6a2fdb2509c09af7714914cb5c936355428ee960aa39748659460e61
mart_dengue_uf_semana.parquet
16.496 linhas
0,07 MB32e78f91e0c2a2d825ff9e589d09d6f29921d8484e5e9a44e8e9412f0719c776
dim_cid10_informativo.parquet
1.559 linhas
0,06 MB7bc6800b13dadfae24f05547fd31564bc2108e51498ded9fbf832d804886080b
dim_cluster_municipio.parquet
1.728 linhas
0,05 MBd9e1498cb536aa7dd5f241faca3dcf90b27ab6ce728223a7a66d1c7fa60f63de
mart_sisagua_cobertura.parquet
5.571 linhas
0,05 MBf9bb245d789d001c80e07ced09e3d19c1087d1c6b2d1b5441d3536f314f1939c
mart_excesso_uf_mes.parquet
2.016 linhas
0,04 MBeb665a1554a620ae4d87949add0e664c01f6ff6291408c1edcdb5f01ee6c8829
dim_cid10_categoria.parquet
2.046 linhas
0,04 MB63e5d51ffe5871847e8c6353dea778db1343ef700430ee01de07326af9d4c696
mart_sinan_agravo_cobertura.parquet
40 linhas · fora da API REST, só este arquivo
0,01 MB18be1b43027861bd1d6ac4a43367b3189854c7203cc391daea270ce269d69be0
mart_cobertura_vacinal_uf.parquet
270 linhas
0,01 MBd6d0d41a222a606e5eaa1d35faa07ad0f6c830a43d077681fae3849d70a8a8f2
mart_mortalidade_infantil_uf.parquet
108 linhas
0,01 MB2f58c8a96d456995baa8382b70c140690bd1590fab5c8ce4147d88ef42dd1f9a
dim_cid10_capitulo.parquet
22 linhas
0,00 MB73dd938bda5695f9f380566c73d774731f186d509f2dd8ecac41796d11208c83
dim_pop_padrao.parquet
8 linhas
0,00 MB7d4785a8b3469d76f227d899ce2a172b135772ae43b12019ada9c022995e084f
# Verificar integridade após o download
sha256sum mart_mortalidade_municipio.parquet

# Ler direto da URL com DuckDB (sem baixar)
duckdb -c "SELECT uf_sigla, sum(obitos) FROM read_parquet('https://zekjhmxjamatlxpkykde.supabase.co/storage/v1/object/public/dados/mart_mortalidade_uf_mes.parquet') WHERE capitulo_cid='TOTAL' AND sexo='TOTAL' AND faixa_etaria='TOTAL' GROUP BY 1 ORDER BY 2 DESC"

Pacote Python

Cliente oficial com paginação automática e suporte a pandas — ideal para notebooks de pesquisa:

pip install "git+https://github.com/pedropaulofernandes88-stack/saude-publica-br#subdirectory=clients/python"

import saudeemdado as sd
mg = sd.municipios(uf="MG", ano=2023, pop_min=50_000, as_df=True)
mg.nlargest(10, "taxa_padronizada_100k")

Servidor MCP (pesquise via assistentes de IA)

O dataset também é acessível por assistentes de IA via Model Context Protocol: aponte o Claude Desktop/Code para mcp_server/server.py do repositório e pergunte em linguagem natural ("compare o excesso de mortalidade de SP e AM em 2021") — as respostas usam exatamente os números citáveis desta base.

Boletim municipal

Cada município tem um boletim imprimível (PDF via navegador) com série de taxas 20152025, IC95% e principais grupos de causas: /boletim/?m=<código IBGE 6 dígitos> — ou clique no nome do município no painel.

Disponibilidade por fonte

Cada sistema tem cobertura e atualidade próprias — uma análise deve sempre confrontar até onde vai cada base. A cobertura abaixo é derivada do manifesto da publicação corrente, não digitada: ela acompanha o dado.

FonteSistemaCoberturaTabelasLinhasO que observar
Mortalidade
óbitos por município, causa (CID-10), sexo e faixa etária
SIM
DataSUS/MS
2015 a 2025921.903.288O ano mais recente é preliminar (SIM/PRELIM/DORES) e será revisado — os valores só crescem, e a codificação também muda.
Internações e hospitais
internações, permanência, custo aprovado, HSMR e fluxo entre municípios
SIH/AIH
DataSUS/MS
2021 a 2024-12101.146.321Só a rede SUS. A unidade é a AIH, não a pessoa nem o episódio — internação longa gera mais de uma AIH.
Dengue e arboviroses
casos notificados por município e semana epidemiológica
SINAN
DataSUS/MS
2010 a 202651.643.765Notificação não é incidência. As semanas mais recentes sobem com o atraso de digitação.
Sífilis
sífilis adquirida, em gestante e congênita por município de residência, com o que houve com a mãe do caso congênito: pré-natal, momento do diagnóstico e tratamento
SINAN
DataSUS/MS
2007 a 2025168.919Toda a sífilis do SINAN é PRELIMINAR: não há SIFA/SIFG/SIFC em DADOS/FINAIS, nem para 2007 — dezenove anos que nunca foram promovidos. O último ano cobre só metade: os arquivos de 2025 param em junho, e a coluna meses_cobertos carimba isso linha a linha. A defasagem é estrutural — foram reescritos em 30/06/2026 e mesmo assim não passam de junho de 2025, enquanto a dengue do mesmo diretório já cobre 2026. A sífilis adquirida só passou a ser de notificação compulsória em 2010, e os primeiros anos medem a implantação da notificação, não a doença. A taxa por mil nascidos vivos existe só em 2021–2024, onde há denominador.
Nascimentos
nascidos vivos, peso, prematuridade, pré-natal e mortalidade infantil
SINASC
DataSUS/MS
2021 a 2024222.449Denominador da mortalidade infantil; o ano definitivo sai depois do ano do SIM correspondente.
Vacinação
doses aplicadas por imunobiológico, e cobertura por UF
PNI/RNDS
OpenDataSUS/MS
2023 a 2026-0831.005.126É a série mais atual da base. Cobertura vacinal MUNICIPAL foi testada e reprovada por viés de denominador — por isso só existe por UF. As doses de influenza de 2023 estão incompletas no registro nacional.
Atenção primária
cobertura populacional estimada de equipes de saúde da família
e-Gestor AB
SAPS/MS
2021 a 20263372.957Cobertura potencial, calculada por parâmetro de população por equipe — não é atendimento medido.
Estrutura e leitos
estabelecimentos e leitos por tipo, incluindo UTI e leitos SUS
CNES
DataSUS/MS
2015 a 2024472.421Cadastro, não funcionamento: leito cadastrado não prova leito em operação.
Gasto público em saúde
despesa municipal em saúde, por habitante e por fonte
SIOPS
MS
2021 a 2024122.276Declaratório e sujeito a retificação pelo próprio município.
Saúde suplementar
beneficiários de plano médico-hospitalar por município
ANS
ANS
2021 a 2024122.284Vínculos, não pessoas: quem tem dois planos conta duas vezes.
População e contexto social
denominadores populacionais, Censo 2022 e proxy de vulnerabilidade
IBGE
IBGE
2015 a 20256120.426O Censo é de 2022 e não se atualiza todo ano; os demais anos são estimativa ou interpolação.
Oncologia
prazo entre diagnóstico e início do tratamento de câncer, por município de residência
Painel Oncologia
DataSUS/MS
2013 a 2026176.462A proporção sem tratamento registrado NÃO é comparável entre anos: o ano recente é censurado (o tratamento pode ocorrer depois do corte do arquivo) e o Painel mudou de escopo em 2018, quando os casos saltaram de 196 mil para 352 mil.
Análises derivadas
estratos, perfis, correlações e dimensões de apoio calculadas sobre as fontes acima

Saúde em Dado
6133.655Não são coleta: saem dos marts anteriores. A competência é a das fontes que as originam.

Onde a cobertura aparece como AAAA-MM, a série é mensal e o mês é a última competência publicada. As dimensões de apoio e as análises derivadas herdam a competência das fontes que as originam.

Três datas que não são a mesma

Elas se confundem com facilidade, e confundi-las faz um número parecer mais velho ou mais novo do que é:

O quêQuandoO que significa
Base reprocessada2026-09-11.2a publicação corrente, gerada em 2026-09-11. Toda tabela desta página traz o SHA-256 dessa publicação.
Dado recentevaria por fontea última competência de cada sistema, na coluna cobertura acima. É a única das três que diz até quando o dado vai.
Site atualizadoa cada publicação no repositórioo site é estático e reconstrói a cada mudança de código ou de dado — não implica dado novo.

O ano mais recente do SIM (2025) é preliminar: vem do diretório que o DataSUS ainda não fechou, e a série vai de 2015 a 2025.

Observatório de qualidade do registro

A transparência exige medir o que é incerto. Publicamos um índice de confiabilidade do registro de óbitos por município (mart_qualidade_registro_municipio), baseado na proporção de causas mal-definidas (capítulo XVIII — sintomas e sinais), indicador clássico de qualidade da informação em mortalidade (padrão RIPSA/OPAS). No agregado nacional a proporção é de 5,2% (2022–2024), mas o número esconde a desigualdade: 1.096 municípios (1 em cada 5) estão na classe Ruim (> 10%), onde a causa de morte é pouco confiável — concentrados no Norte e Nordeste.

Classificação: Bom (< 5%), Regular (5–10%), Ruim (> 10%). Não redistribuímos causas mal-definidas entre causas específicas — elas permanecem visíveis. Use as taxas causa-específicas com essa ressalva onde a confiabilidade é menor. O índice serve para direcionar busca ativa de óbitos e para ponderar comparações.

Licença e citação

Dados originais em domínio público (DATASUS/Ministério da Saúde e IBGE). Agregações e marts derivados sob CC BY 4.0 (uso livre com atribuição); código sob licença MIT. Em publicações, cite as fontes primárias (DataSUS; IBGE) e, se a agregação for usada, esta plataforma.

Como citar:

Fernandes, P. P. Saúde em Dado: inteligência epidemiológica aberta
sobre os microdados do SUS. https://saudeemdado.com
DOI: 10.5281/zenodo.20706845. Acesso em: AAAA-MM-DD.
Fontes primárias: DATASUS (SIM, SIH, SINAN, SINASC) e IBGE.

DOI de conceito (todas as versões) no Zenodo: 10.5281/zenodo.20706845. O repositório traz CITATION.cff para citação automática (botão "Cite this repository" no GitHub). Cada release versiona o dataset e publica os checksums acima.