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.
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.
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
| Tabela | Granularidade | Linhas |
|---|---|---|
mart_mortalidade_municipio | município × ano (2015–2025) × capítulo CID-10 × sexo; taxa bruta + IC95% + taxa padronizada por idade | 1.306.442 |
mart_mortalidade_uf_mes | UF × mês (2015–2025) × capítulo × sexo × faixa etária | 502.232 |
mart_mortalidade_causa | UF × ano (2015–2025) × causa básica (CID-10, 3 caracteres) | 223.273 |
mart_excesso_uf_mes | excesso de mortalidade: observado × esperado por UF/BR × mês (2020+) | 2.016 |
mart_dengue_semana só download | dengue (SINAN): casos prováveis, graves e óbitos por município × ano × semana epidemiológica | centenas de mil |
mart_dengue_municipio_ano | dengue anual por município: casos, incidência /100k e letalidade | dezenas de mil |
mart_internacoes_municipio | internações SUS (SIH): volume, permanência média, mortalidade hospitalar e custo, por município × ano × capítulo CID-10 | centenas de mil |
mart_natalidade_municipio | nascidos vivos (SINASC): peso ao nascer, prematuridade, pré-natal, idade da mãe, por município × ano | 22.341 |
mart_mortalidade_infantil_uf | Taxa de Mortalidade Infantil por UF e ano (óbitos <1 ano ÷ nascidos vivos) | 54 |
mart_vacinacao_municipio só download | doses 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_mes | doses 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_uf | cobertura 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/Ruim | 5.595 |
dim_ivs | vulnerabilidade social municipal (proxy Censo 2022: analfabetismo + água; z-score) | 5.570 |
dim_cluster_municipio | estrato 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_municipio | internaçõ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_intermunicipal | fluxo de pacientes residência→atendimento (SIH 2024, fluxos ≥ 5) | dezenas de mil |
mart_internacoes_agravo | internações por agravo traçador (CID-3) por município, 2024: volume, permanência, mortalidade, custo | 158.042 |
mart_internacoes_hospital | internações por estabelecimento (CNES), 2024: volume, permanência, mortalidade, custo, capítulo principal | 14.197 |
dim_municipio | municípios IBGE (códigos 6/7 dígitos, UF, região) | 5.571 |
dim_populacao | população municipal por ano (2015–2025) | 61.271 |
dim_pop_faixa | população municipal por faixa etária (Censo 2022) | 44.560 |
dim_pop_padrao | população padrão da padronização (Brasil, Censo 2022) | 8 |
dim_cid10_capitulo / dim_cid10_categoria | capítulos e descrições das categorias CID-10 | 22 / ~2 mil |
meta_dataset | metadados: 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-genderDefinições: BRDivisaoGeograficaBrasil · BRCID10 · CNES · BRSexo-1.0.
| Coluna | Sistema | Formato nesta base |
|---|---|---|
municipio_cod, municipio_res, municipio_mov | IBGE, nível município | 6 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ípio | 7 dígitos, com dígito verificador (3550308). Use dim_municipio para converter entre as duas formas |
uf_sigla, uf_res, uf_mov | IBGE, nível UF | sigla 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) |
regiao | IBGE, nível região | nome da macrorregião. O código de 1 dígito é o primeiro de municipio_cod |
capitulo_cid, capitulo_principal | CID-10, capítulo | numeral romano, I–XXII. A faixa correspondente está em dim_cid10_capitulo.faixa (O00-O99) |
causabas_3 | CID-10, categoria | 3 caracteres (G31). Vem de CAUSABAS no SIM e DIAG_PRINC no SIH; descrições em dim_cid10_categoria |
cnes | CNES | 7 dígitos, string com zeros à esquerda (0000035). Converter para número destrói a chave |
sexo | HL7 administrative-gender | M / F / I equivalem a male / female / unknown — os mesmos três valores do BRSexo-1.0 |
ano_epi + semana_epi | semana 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_competencia | ISO 8601 | primeiro dia do mês (2023-03-01), não uma data de evento |
faixa_etaria | convençã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, grupo | convenção desta base | chaves 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_icsap | Lista Brasileira de ICSAP | Portaria 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:
| Valor | Colunas | Significa |
|---|---|---|
TOTAL | capitulo_cid, sexo, faixa_etaria | subtotal pré-calculado. Somado junto com as partes, dobra a contagem — filtre explicitamente |
I / IGN | sexo / faixa_etaria | atributo ignorado no registro de origem. É um evento real com campo ausente — descartá-lo subestima o total |
ND | uf_sigla | UF não identificada |
<UF>0000 | municipio_cod | agregado 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.
| Arquivo | Tamanho | SHA-256 |
|---|---|---|
| mart_mortalidade_municipio.parquet 1.306.442 linhas | 16,3 MB | ce635990f5850dc2b7668049fd5833993019422b1fb79ea9cff3a8224286a017 |
| mart_mortalidade_causa_municipio_mes.parquet 8.613.183 linhas · fora da API REST, só este arquivo | 15,4 MB | 14c01208e55401c63853c46dcc115969a15b655f04dd4e475ce7d5ecb7d725c8 |
| mart_mortalidade_causa_municipio_faixa.parquet 7.238.429 linhas · fora da API REST, só este arquivo | 13,3 MB | 236c597c7e986bcd3f69188ceb213164269d6ede8349db93001edce536ae223c |
| mart_mortalidade_causa_municipio.parquet 4.009.400 linhas · fora da API REST, só este arquivo | 11,2 MB | d633b16e05fe89e1f89cc24018f817080a58768d31045c3b5e037d510f9fe75f |
| mart_internacoes_municipio.parquet 334.769 linhas | 9,4 MB | e15c4e7d09ee6901105a039d03359081d7fc66f3f11e637c83f4b51871e218f2 |
| mart_internacoes_agravo.parquet 158.042 linhas | 5,0 MB | 8641e370d8a616e91b463449556612a9ee85e914aeeb6ebf24e150134caf2d9f |
| mart_cobertura_aps_municipio.parquet 361.817 linhas | 3,2 MB | dc436be403fcaac1e9fae2c3b468de0b35e276a69fa54344a66cfda6fadae1c9 |
| mart_mortalidade_uf_mes.parquet 502.232 linhas | 1,9 MB | 5087682d4deabb89ad9bc01bf26bd8e55013b9746294d39a09e6256e5ca263de |
| mart_vacinacao_municipio.parquet 932.654 linhas · fora da API REST, só este arquivo | 1,9 MB | 5dc97fef3b3a2101c7d460b95505abb2670409edfe574cfd2c23115d3d21b550 |
| mart_demanda_mensal_hospital.parquet 164.039 linhas | 1,8 MB | 3a0dc2150ddc3792aa92ff51bd57e94738274c394667ec051630d07b03208856 |
| mart_correlacao_causas.parquet 124.848 linhas · fora da API REST, só este arquivo | 1,6 MB | 904386bccce7b91082bbb6c2260a9f70ef71b7ad678d68babf28f8c74928f5fd |
| mart_dengue_semana.parquet 847.927 linhas · fora da API REST, só este arquivo | 1,3 MB | 183d913e2b669b203ad42e1f205584c0c4a9ae4269dd2528cd5c2f775f092286 |
| mart_sinan_agravo_municipio.parquet 723.765 linhas · fora da API REST, só este arquivo | 1,3 MB | 0380816d9be1b86572927d3f4180c0a60fb8713701cd77380dd4f1effaa13e5b |
| mart_los_hospital.parquet 246.801 linhas | 1,2 MB | f5d55bba9dadd275aa8067255ee8f94a7bbb8abfcb1dbdbefef5705c16e6c43c |
| mart_sisagua_municipio.parquet 397.380 linhas | 1,1 MB | 39a72872d56530e15188c4a24f89c38656a5f0691ac8127704b89db1b0a9bec7 |
| mart_fluxo_intermunicipal.parquet 156.663 linhas | 0,9 MB | d5e117ca82a224f45be6d151afb3db517104058365d4667a947f8f4396c79454 |
| mart_oncologia_municipio.parquet 76.462 linhas · fora da API REST, só este arquivo | 0,8 MB | 36a33a32e0e392eb04fda764da0c42ea6a18756e0c58673cbfd8e7a569216080 |
| mart_mortalidade_causa.parquet 223.273 linhas | 0,8 MB | d0037a287d3f61d96339c014b3e7ff7d0ccf6ab93ce65817712d26e73016b904 |
| mart_internacoes_hospital.parquet 14.197 linhas | 0,7 MB | 026436413c088424af2c0ffb7fec0f92edb1fdecfb5039afa5075268f4558f51 |
| mart_leitos_municipio.parquet 55.710 linhas | 0,7 MB | 5a21edcfe0de6e3ae6057e6e2985f9d53904e025a9dbc2d6a2dee1d13b15c1de |
| mart_siops_municipio.parquet 22.276 linhas | 0,6 MB | 21501aed0794dd2cf786506564c7d86bd971c7ffa6a6b1c009594648ace72e39 |
| mart_icsap_pares.parquet 22.280 linhas | 0,6 MB | 42fef0b836b4dab50652c6ed95d5b8b2f08e7968e4375da1df2fe134878ed073 |
| mart_dengue_municipio_ano.parquet 55.537 linhas | 0,5 MB | 92e534bc0b827555012866ad63c6c2fcf5dc17161b0dde51af0da22590f7caa9 |
| mart_sifilis_municipio.parquet 68.919 linhas · fora da API REST, só este arquivo | 0,5 MB | 7250c4b48fe6ce47e9899dc78329cb4fbdfb579806aa42e0825bcb97917fef80 |
| mart_icsap_municipio.parquet 22.280 linhas | 0,5 MB | 49dfd0633d2de4adc2d2b379c0f2ffed6e083741c5d340281e188620889f0d8d |
| dim_populacao.parquet 61.271 linhas | 0,3 MB | a97e160f01892c00e5098a5a78f115a547b24e207e6dd534b4f011748d03c7cb |
| mart_saude_suplementar_municipio.parquet 22.284 linhas | 0,3 MB | dadd5ffc7aadec8007676944aabd7911c3e170ad47ae2e1e4c9a2cf626b47eae |
| mart_natalidade_municipio.parquet 22.341 linhas | 0,3 MB | 431602a1ea6c5ecb377b4d783baf8da3b78b323958a3d9bdd164601a0eca2e63 |
| mart_vazio_assistencial_municipio.parquet 5.570 linhas | 0,3 MB | 99c687ce830231de62c5067a9bc9dcf5e4f4c262f07fc015a9fc7bdc1e6c914e |
| mart_contexto_social_municipio.parquet 3.446 linhas | 0,2 MB | c6ef3a063b27c0efe266e03a9bf56745596ed1a4deae61dc123408cce757f1ee |
| mart_leitos_icsap_municipio.parquet 5.570 linhas | 0,2 MB | b95c56aa1c31a3f5425492d9c730ca4fd70fb1b01efd54e4f3dbb0afa67ae88d |
| mart_forecast_demanda_hospital.parquet 13.083 linhas | 0,2 MB | 52a515af2c806f6d95ec87fc6cb4bebbd4f502b7d4b8543225cbb03c9df75a32 |
| mart_hsmr_hospital.parquet 14.167 linhas | 0,2 MB | de5463882214e2e30119f3b01404305383192eb195fdf7a7df3c9b2b0c10722d |
| mart_perfil_mortalidade_municipio.parquet 3.452 linhas | 0,2 MB | ad4d3733022101d646626688a4b0af0ed183ae608446747b80ad7f36c6a37947 |
| mart_cobertura_icsap_municipio.parquet 5.570 linhas | 0,2 MB | 19619997ca50fb15e777b10da04ec3510fafdbaeafbea28aa417d8141b18b8cd |
| mart_vacinacao_uf_mes.parquet 72.202 linhas | 0,2 MB | 77a437230daa1866afad442a29f5f9bb88cd5e53f5058fd1e979d45f29c3a196 |
| mart_equidade_aps_municipio.parquet 5.570 linhas | 0,2 MB | 2de5909d2bdc73a2f4493c126955cc190c59ec500cb931772d329660be557174 |
| mart_cnes_municipio.parquet 5.571 linhas | 0,2 MB | 50be5ea6e4dde5a003b211cf05b01b943fe999868cfbed38875db87350a3bd71 |
| mart_qualidade_registro_municipio.parquet 5.595 linhas | 0,1 MB | 0dbedf92d7b9f33017ff0e9287a532bbacc386faa2a556fc2668d769b43338e9 |
| dim_pop_faixa.parquet 44.560 linhas | 0,1 MB | bb445b37a2993bba55b357d72b014e5f4d0764133f4273e2b34310f5a7d2fa8d |
| dim_ivs.parquet 5.570 linhas | 0,1 MB | 8fbc752acb03e01b4d3424524d9356e3d4056117bb6f583dd780df77f8275222 |
| mart_anomalia_causa_municipio.parquet 2.718 linhas | 0,1 MB | c62395ed86359541f64aa9cc9aea155f5f5baae783678088199b645d96ed4cc7 |
| dim_municipio.parquet 5.571 linhas | 0,09 MB | 2a50ec5a6a2fdb2509c09af7714914cb5c936355428ee960aa39748659460e61 |
| mart_dengue_uf_semana.parquet 16.496 linhas | 0,07 MB | 32e78f91e0c2a2d825ff9e589d09d6f29921d8484e5e9a44e8e9412f0719c776 |
| dim_cid10_informativo.parquet 1.559 linhas | 0,06 MB | 7bc6800b13dadfae24f05547fd31564bc2108e51498ded9fbf832d804886080b |
| dim_cluster_municipio.parquet 1.728 linhas | 0,05 MB | d9e1498cb536aa7dd5f241faca3dcf90b27ab6ce728223a7a66d1c7fa60f63de |
| mart_sisagua_cobertura.parquet 5.571 linhas | 0,05 MB | f9bb245d789d001c80e07ced09e3d19c1087d1c6b2d1b5441d3536f314f1939c |
| mart_excesso_uf_mes.parquet 2.016 linhas | 0,04 MB | eb665a1554a620ae4d87949add0e664c01f6ff6291408c1edcdb5f01ee6c8829 |
| dim_cid10_categoria.parquet 2.046 linhas | 0,04 MB | 63e5d51ffe5871847e8c6353dea778db1343ef700430ee01de07326af9d4c696 |
| mart_sinan_agravo_cobertura.parquet 40 linhas · fora da API REST, só este arquivo | 0,01 MB | 18be1b43027861bd1d6ac4a43367b3189854c7203cc391daea270ce269d69be0 |
| mart_cobertura_vacinal_uf.parquet 270 linhas | 0,01 MB | d6d0d41a222a606e5eaa1d35faa07ad0f6c830a43d077681fae3849d70a8a8f2 |
| mart_mortalidade_infantil_uf.parquet 108 linhas | 0,01 MB | 2f58c8a96d456995baa8382b70c140690bd1590fab5c8ce4147d88ef42dd1f9a |
| dim_cid10_capitulo.parquet 22 linhas | 0,00 MB | 73dd938bda5695f9f380566c73d774731f186d509f2dd8ecac41796d11208c83 |
| dim_pop_padrao.parquet 8 linhas | 0,00 MB | 7d4785a8b3469d76f227d899ce2a172b135772ae43b12019ada9c022995e084f |
# 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 2015–2025, 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.
| Fonte | Sistema | Cobertura | Tabelas | Linhas | O que observar |
|---|---|---|---|---|---|
| Mortalidade óbitos por município, causa (CID-10), sexo e faixa etária | SIM DataSUS/MS | 2015 a 2025 | 9 | 21.903.288 | O 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-12 | 10 | 1.146.321 | Só 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 2026 | 5 | 1.643.765 | Notificaçã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 2025 | 1 | 68.919 | Toda 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 2024 | 2 | 22.449 | Denominador 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-08 | 3 | 1.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 2026 | 3 | 372.957 | Cobertura 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 2024 | 4 | 72.421 | Cadastro, 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 2024 | 1 | 22.276 | Declarató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 2024 | 1 | 22.284 | Ví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 2025 | 6 | 120.426 | O 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 2026 | 1 | 76.462 | A 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 | — | 6 | 133.655 | Nã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ê | Quando | O que significa |
|---|---|---|
| Base reprocessada | 2026-09-11.2 | a publicação corrente, gerada em 2026-09-11. Toda tabela desta página traz o SHA-256 dessa publicação. |
| Dado recente | varia por fonte | a última competência de cada sistema, na coluna cobertura acima. É a única das três que diz até quando o dado vai. |
| Site atualizado | a cada publicação no repositório | o 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.