DATASUS SIH/SUS hospital admissions in Brazil (AIH, 1992-2025): ICD-10 causes, ICSAP, rates.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Classifica um ou mais códigos CID-10 como CSAP ou não. Retorna o grupo CSAP correspondente se aplicável. Aceita as duas notações do mesmo código — `J18.1` (OMS) e `J181` (SIH) — com a mesma resposta. Código que NÃO é CID-10 não é classificado: volta com `is_csap: null` e `error` próprio, nunca `false` (que afirmaria que a condição existe e não é sensível). Só CID-10: os códigos CID-9 de 6 dígitos do SIH de 1992–1997 são classificados no build pela lista derivada (src/data/csap-groups-cid9.json), não por esta ferramenta.
Códigos CID-10 para classificar (ex: ['J18', 'A09', 'K35'])
Classifica um ou mais códigos CID-10 como CSAP ou não. Retorna o grupo CSAP correspondente se aplicável. Aceita as duas notações do mesmo código — `J18.1` (OMS) e `J181` (SIH) — com a mesma resposta. Código que NÃO é CID-10 não é classificado: volta com `is_csap: null` e `error` próprio, nunca `false` (que afirmaria que a condição existe e não é sensível). Só CID-10: os códigos CID-9 de 6 dígitos do SIH de 1992–1997 são classificados no build pela lista derivada (src/data/csap-groups-cid9.json), não por esta ferramenta.
| Argument | Type | Description |
|---|---|---|
| cid_codes* | array | Códigos CID-10 para classificar (ex: ['J18', 'A09', 'K35']) |
{
"type": "object",
"required": [
"cid_codes"
],
"properties": {
"cid_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Códigos CID-10 para classificar (ex: ['J18', 'A09', 'K35'])"
}
},
"additionalProperties": false
}Análise temporal comparativa de ICSAP entre UFs ou grupos CSAP. Calcula tendências, variação anual e identifica melhores/piores desempenhos. Para `percentage` e `count` valem todos os anos do SIH (desde 1992); `rate_per_10k` exige população e aceita só os anos de get_available_years.population_years. Em 1992–1997 a ICSAP vem de lista CID-9 DERIVADA e não oficial (g03 e g05 não comparáveis com 1998+) e `uf` é a UF do arquivo — ver as `notes`. Percentual no universo do pacote R csapAIH por padrão (`universe`): fora do numerador e do denominador as internações por procedimento obstétrico, parto e longa permanência.
| Argument | Type | Description |
|---|---|---|
| end_year* | integer | Ano final |
| universe | string | Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações. |
| indicator | string | Indicador: percentage (% ICSAP), count (número), rate_per_10k (taxa) |
| compare_by | string | Comparar por UF ou grupo CSAP |
| start_year* | integer | Ano inicial |
| compare_values | array | Valores específicos para comparar (UFs ou grupos CSAP) |
| include_trend_line | boolean | Incluir análise de tendência linear (default: true) |
{
"type": "object",
"required": [
"start_year",
"end_year"
],
"properties": {
"end_year": {
"type": "integer",
"description": "Ano final"
},
"universe": {
"enum": [
"csapaih",
"all"
],
"type": "string",
"description": "Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações."
},
"indicator": {
"enum": [
"percentage",
"count",
"rate_per_10k"
],
"type": "string",
"description": "Indicador: percentage (% ICSAP), count (número), rate_per_10k (taxa)"
},
"compare_by": {
"enum": [
"uf",
"csap_group"
],
"type": "string",
"description": "Comparar por UF ou grupo CSAP"
},
"start_year": {
"type": "integer",
"description": "Ano inicial"
},
"compare_values": {
"type": "array",
"items": {
"type": "string"
},
"description": "Valores específicos para comparar (UFs ou grupos CSAP)"
},
"include_trend_line": {
"type": "boolean",
"description": "Incluir análise de tendência linear (default: true)"
}
},
"additionalProperties": false
}Compara internações entre UFs ou regiões do Brasil. Gera rankings e identifica variações regionais. Em 1992–1997 `uf` é a UF do arquivo (estabelecimento), não de residência — ver get_available_years.uf_basis e as `notes`.
| Argument | Type | Description |
|---|---|---|
| year | array | Anos para consultar |
| limit | integer | Número de resultados (default: 10) |
| metric | string | Métrica para ranking (default: n) |
| is_csap | boolean | Filtrar apenas CSAP |
| compare_by | string | Comparar por UF ou região (default: uf) |
| cid_chapter | integer | Capítulo CID-10 específico |
{
"type": "object",
"properties": {
"year": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Anos para consultar"
},
"limit": {
"type": "integer",
"description": "Número de resultados (default: 10)"
},
"metric": {
"enum": [
"n",
"deaths"
],
"type": "string",
"description": "Métrica para ranking (default: n)"
},
"is_csap": {
"type": "boolean",
"description": "Filtrar apenas CSAP"
},
"compare_by": {
"enum": [
"uf",
"region"
],
"type": "string",
"description": "Comparar por UF ou região (default: uf)"
},
"cid_chapter": {
"type": "integer",
"description": "Capítulo CID-10 específico"
}
},
"additionalProperties": false
}Retorna os anos disponíveis nos dados do SIH-SUS carregados e o frescor dos cubos em relação ao espelho healthbr-data (`freshness.status`: current, stale, unknown, pending ou disabled; quando stale, lista por ano as partições reeditadas pelo MS, regeneradas, retiradas ou novas na janela). Por ano, o que muda entre as eras do SIH: `race_available` (raça/cor só de 2008), `cid_revision` (9 = CID-9 de 6 dígitos em 1992–1997, 10 = CID-10; 1997 tem as duas), `icsap_list_revision` (cid9-derivada, não oficial, em 1992–1997), `uf_basis` (arquivo em 1992–1997, residencia de 1998), `municipality_available`, `currency` e `records_date_imputed`.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Calcula taxas de internação por população. A taxa sai em `rate`, na base declarada em `rate_per` (1000, 10000 ou 100000; default 100000). Denominador lido de dois arquivos, informados em get_available_years.population_years: projeções do IBGE por idade simples de 2000 em diante (pop_uf.parquet) e, de 1991 a 1999, população por faixa etária quinquenal somada dos municípios (pop_uf_agregado.parquet) — antes de 2000 o recorte por idade só vale nos limites das faixas (age_min múltiplo de 5, age_max terminado em 4 ou 9, ou 80+). A resposta diz qual arquivo serviu a cada ano (population_source) e avisa quando mistura os dois.
| Argument | Type | Description |
|---|---|---|
| uf | array | UFs para filtrar |
| sex | string | Filtrar por sexo |
| year | array | Anos para calcular |
| age_max | integer | Idade máxima |
| age_min | integer | Idade mínima |
| is_csap | boolean | Filtrar apenas CSAP |
| group_by | array | Dimensões para agrupamento |
| rate_per | integer | Taxa por X habitantes (default: 100000) |
Retorna séries temporais de internações (mensal ou anual). Útil para análise de tendências e sazonalidade. O ano e o mês são os da INTERNAÇÃO (DT_INTER), não a competência de faturamento; o ano mais recente cresce até a janela dele fechar (AIH faturada com atraso), e o DATASUS reedita arquivos de competências passadas — cada número é a versão do download do espelho. Série desde 1992; em 1992–1997 `uf` é a UF do arquivo (estabelecimento) e as internações sem data na fonte (1992-01..04 e 1993-01) entram no mês de faturamento — ver get_available_years e as `notes`.
| Argument | Type | Description |
|---|---|---|
| uf | array | UFs para filtrar |
| year_end* | integer | Ano final |
| year_start* | integer | Ano inicial |
| cid_chapter | integer | Capítulo CID-10 específico |
| granularity | string | Granularidade temporal (default: yearly) |
{
"type": "object",
"required": [
"year_start",
"year_end"
],
"properties": {
"uf": {
"type": "array",
"items": {
"type": "string"
},
"description": "UFs para filtrar"
},
"year_end": {
"type": "integer",
"description": "Ano final"
},
"year_start": {
"type": "integer",
"description": "Ano inicial"
},
"cid_chapter": {
"type": "integer",
"description": "Capítulo CID-10 específico"
},
"granularity": {
"enum": [
"monthly",
"yearly"
],
"type": "string",
"description": "Granularidade temporal (default: yearly)"
}
},
"additionalProperties": false
}Consulta dados de internações hospitalares do SUS com filtros flexíveis. Permite agregar por múltiplas dimensões (UF, CID, sexo, idade, raça, ano/mês). Raça/cor só existe de 2008 em diante: em 1998–2007 `race` é nulo (ver get_available_years.race_available). Série desde 1992: em 1992–1997 o diagnóstico é CID-9 decodificado por tabela (`cid_group` = categoria de 3 dígitos, `cid_chapter` = capítulo CID-10 equivalente; agrupar por `cid_revision` separa 9 e 10 — 1997 tem os dois), `uf` é a UF do ARQUIVO (estabelecimento), não de residência, e `value` é nominal na moeda da época — ver get_available_years (uf_basis, currency) e as `notes` da resposta. `exclusion` (agrupável) marca as internações fora do universo do % ICSAP do csapAIH (procedimento_obstetrico, parto, longa_permanencia; nula = dentro).
| Argument | Type | Description |
|---|---|---|
| uf | array | Lista de UFs (ex: ['SP', 'RJ']). Se omitido, todas. |
| sex | string | Filtrar por sexo |
| race | array | Raça/cor (branca, preta, parda, amarela, indigena, ignorado). Só existe de 2008 em diante: em 1998–2007 race é nulo e o filtro não alcança esses anos. |
| year | array | Anos para consultar (ex: [2023, 2024]); série de 1992 em diante |
| limit | integer | Limitar número de resultados |
| month | array | Meses (1-12). Se omitido, todos. |
Consulta internações por Condições Sensíveis à Atenção Primária (ICSAP). Permite filtros por grupo CSAP, UF, município, sexo, idade e raça. Raça/cor só existe de 2008 em diante: em 1998–2007 `race` é nulo (ver get_available_years.race_available). Série desde 1992: em 1992–1997 a ICSAP vem de lista CID-9 DERIVADA e não oficial (g03 e g05 não comparáveis com 1998+), `uf` é a UF do arquivo e `municipality_code` é nulo — ver get_available_years (icsap_list_revision, uf_basis) e as `notes`. Percentual no universo do pacote R csapAIH por padrão (`universe`): fora do numerador e do denominador as internações por procedimento obstétrico, parto e longa permanência.
| Argument | Type | Description |
|---|---|---|
| uf | array | UFs para filtrar |
| sex | string | Filtrar por sexo |
| race | array | Raça/cor (branca, preta, parda, amarela, indigena, ignorado). Só existe de 2008 em diante: em 1998–2007 race é nulo e o filtro não alcança esses anos. |
| year | array | Anos para consultar |
| age_max | integer | Idade máxima |
| age_min | integer | Idade mínima |
| group_by | array | Dimensões para agrupamento |
Calcula indicadores de ICSAP: percentual (ICSAP/Total×100). Métricas-chave para avaliar a Atenção Primária. Agrupar por raça só faz sentido de 2008 em diante: em 1998–2007 `race` é nulo (ver get_available_years.race_available). Em 1992–1997 a ICSAP vem de lista CID-9 DERIVADA e não oficial (g03 e g05 não comparáveis com 1998+) e `uf` é a UF do arquivo — ver as `notes`. Percentual no universo do pacote R csapAIH por padrão (`universe`): fora do numerador e do denominador as internações por procedimento obstétrico, parto e longa permanência.
| Argument | Type | Description |
|---|---|---|
| uf | array | UFs para calcular |
| sex | string | Filtrar por sexo |
| year | array | Anos para calcular |
| age_max | integer | Idade máxima |
| age_min | integer | Idade mínima |
| group_by | array | Dimensões para agrupamento |
| universe | string | Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações. |
Lista os 22 capítulos da CID-10 com seus códigos e faixas de diagnóstico. Os cubos de 1992–1997 (diagnóstico em CID-9) trazem `cid_chapter` como o capítulo CID-10 equivalente (mapa por categoria em src/data/cid9-chapters.json).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Lista os 19 grupos de Condições Sensíveis à Atenção Primária (CSAP) conforme Portaria MS/SAS 221/2008. Retorna código, nome e códigos CID-10 de cada grupo.
| Argument | Type | Description |
|---|---|---|
| group_code | string | Código do grupo específico (ex: 'g01'). Se omitido, retorna todos. |
| include_cid_codes | boolean | Se true, inclui lista de códigos CID-10 (default: false) |
{
"type": "object",
"properties": {
"group_code": {
"type": "string",
"description": "Código do grupo específico (ex: 'g01'). Se omitido, retorna todos."
},
"include_cid_codes": {
"type": "boolean",
"description": "Se true, inclui lista de códigos CID-10 (default: false)"
}
},
"additionalProperties": false
}Gera ranking dos 19 grupos CSAP por número de internações, dias de internação ou valor. Identifica principais causas evitáveis. Em 1992–1997 a ICSAP vem de lista CID-9 DERIVADA e não oficial (g03 e g05 não comparáveis com 1998+) e `value` é nominal na moeda da época — ver as `notes`. Universo do pacote R csapAIH por padrão (`universe`): fora as internações por procedimento obstétrico, parto e longa permanência.
| Argument | Type | Description |
|---|---|---|
| uf | array | UFs para filtrar |
| sex | string | Filtrar por sexo |
| year | array | Anos para consultar |
| limit | integer | Número de grupos no ranking (default: 19) |
| metric | string | Métrica para ranking (default: n) |
| age_max | integer | Idade máxima |
| age_min | integer | Idade mínima |
| universe | string | Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações. |
| rate_type | string | Tipo de taxa: crude (bruta) ou specific (específica por filtro) |
| cid_chapter | array | Capítulos CID-10 (1-22) |
{
"type": "object",
"properties": {
"uf": {
"type": "array",
"items": {
"type": "string"
},
"description": "UFs para filtrar"
},
"sex": {
"enum": [
"M",
"F"
],
"type": "string",
"description": "Filtrar por sexo"
},
"year": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Anos para calcular"
},
"age_max": {
"type": "integer",
"description": "Idade máxima"
},
"age_min": {
"type": "integer",
"description": "Idade mínima"
},
"is_csap": {
"type": "boolean",
"description": "Filtrar apenas CSAP"
},
"group_by": {
"type": "array",
"items": {
"enum": [
"year",
"uf",
"sex"
],
"type": "string"
},
"description": "Dimensões para agrupamento"
},
"rate_per": {
"enum": [
1000,
10000,
100000
],
"type": "integer",
"description": "Taxa por X habitantes (default: 100000)"
},
"rate_type": {
"enum": [
"crude",
"specific"
],
"type": "string",
"description": "Tipo de taxa: crude (bruta) ou specific (específica por filtro)"
},
"cid_chapter": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Capítulos CID-10 (1-22)"
}
},
"additionalProperties": false
}| age_max | integer | Idade máxima em anos |
| age_min | integer | Idade mínima em anos |
| is_csap | boolean | Filtrar apenas CSAP (true) ou não-CSAP (false) |
| group_by | array | Dimensões para agrupamento |
| cid_chapter | array | Capítulos CID-10 (1-22). Se omitido, todos. |
{
"type": "object",
"properties": {
"uf": {
"type": "array",
"items": {
"type": "string"
},
"description": "Lista de UFs (ex: ['SP', 'RJ']). Se omitido, todas."
},
"sex": {
"enum": [
"M",
"F"
],
"type": "string",
"description": "Filtrar por sexo"
},
"race": {
"type": "array",
"items": {
"type": "string"
},
"description": "Raça/cor (branca, preta, parda, amarela, indigena, ignorado). Só existe de 2008 em diante: em 1998–2007 race é nulo e o filtro não alcança esses anos."
},
"year": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Anos para consultar (ex: [2023, 2024]); série de 1992 em diante"
},
"limit": {
"type": "integer",
"description": "Limitar número de resultados"
},
"month": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Meses (1-12). Se omitido, todos."
},
"age_max": {
"type": "integer",
"description": "Idade máxima em anos"
},
"age_min": {
"type": "integer",
"description": "Idade mínima em anos"
},
"is_csap": {
"type": "boolean",
"description": "Filtrar apenas CSAP (true) ou não-CSAP (false)"
},
"group_by": {
"type": "array",
"items": {
"enum": [
"year",
"month",
"uf",
"cid_chapter",
"cid_revision",
"cid_group",
"sex",
"age",
"race",
"exclusion",
"is_csap",
"csap_group"
],
"type": "string"
},
"description": "Dimensões para agrupamento"
},
"cid_chapter": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Capítulos CID-10 (1-22). Se omitido, todos."
}
},
"additionalProperties": false
}| universe |
| string |
| Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações. |
| csap_group | array | Grupos CSAP (ex: ['g01', 'g05']) |
| municipality_code | string | Código IBGE do município (6 dígitos) |
{
"type": "object",
"properties": {
"uf": {
"type": "array",
"items": {
"type": "string"
},
"description": "UFs para filtrar"
},
"sex": {
"enum": [
"M",
"F"
],
"type": "string",
"description": "Filtrar por sexo"
},
"race": {
"type": "array",
"items": {
"type": "string"
},
"description": "Raça/cor (branca, preta, parda, amarela, indigena, ignorado). Só existe de 2008 em diante: em 1998–2007 race é nulo e o filtro não alcança esses anos."
},
"year": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Anos para consultar"
},
"age_max": {
"type": "integer",
"description": "Idade máxima"
},
"age_min": {
"type": "integer",
"description": "Idade mínima"
},
"group_by": {
"type": "array",
"items": {
"enum": [
"year",
"uf",
"municipality_code",
"cid_revision",
"csap_group",
"sex",
"age",
"race"
],
"type": "string"
},
"description": "Dimensões para agrupamento"
},
"universe": {
"enum": [
"csapaih",
"all"
],
"type": "string",
"description": "Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações."
},
"csap_group": {
"type": "array",
"items": {
"type": "string"
},
"description": "Grupos CSAP (ex: ['g01', 'g05'])"
},
"municipality_code": {
"type": "string",
"description": "Código IBGE do município (6 dígitos)"
}
},
"additionalProperties": false
}| municipality_code |
| string |
| Código IBGE do município |
{
"type": "object",
"properties": {
"uf": {
"type": "array",
"items": {
"type": "string"
},
"description": "UFs para calcular"
},
"sex": {
"enum": [
"M",
"F"
],
"type": "string",
"description": "Filtrar por sexo"
},
"year": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Anos para calcular"
},
"age_max": {
"type": "integer",
"description": "Idade máxima"
},
"age_min": {
"type": "integer",
"description": "Idade mínima"
},
"group_by": {
"type": "array",
"items": {
"enum": [
"year",
"uf",
"cid_revision",
"sex",
"race"
],
"type": "string"
},
"description": "Dimensões para agrupamento"
},
"universe": {
"enum": [
"csapaih",
"all"
],
"type": "string",
"description": "Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações."
},
"municipality_code": {
"type": "string",
"description": "Código IBGE do município"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"uf": {
"type": "array",
"items": {
"type": "string"
},
"description": "UFs para filtrar"
},
"sex": {
"enum": [
"M",
"F"
],
"type": "string",
"description": "Filtrar por sexo"
},
"year": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Anos para consultar"
},
"limit": {
"type": "integer",
"maximum": 19,
"minimum": 1,
"description": "Número de grupos no ranking (default: 19)"
},
"metric": {
"enum": [
"n",
"days",
"value",
"deaths"
],
"type": "string",
"description": "Métrica para ranking (default: n)"
},
"age_max": {
"type": "integer",
"description": "Idade máxima"
},
"age_min": {
"type": "integer",
"description": "Idade mínima"
},
"universe": {
"enum": [
"csapaih",
"all"
],
"type": "string",
"description": "Universo do % ICSAP: 'csapaih' (padrão) tira do numerador e do denominador as internações por procedimento obstétrico, com diagnóstico de parto (O80-O84) e as AIH de longa permanência, como o pacote R csapAIH (Nedel); 'all' conta todas as internações."
}
},
"additionalProperties": false
}