Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SIH_DATA_DIRNoDirectory containing pre-built cubes, instead of the cache.
SIH_CACHE_DIRNoCache directory for downloaded cubes and tables.
SIH_CUBES_CACHENoSet to 'off' to disable caching of cubes (for tests).
SIH_CUBES_BASE_URLNoBase URL for the cube data channel.
SIH_FRESHNESS_CHECKNoSet to 'off' to disable freshness checks.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Brazilian hospital admissions from DATASUS SIH/SUS (AIH records, 1992-2025), read from pre-aggregated public cubes of the healthbr-data Parquet mirror, never from the FTP or TabNet: causes by ICD-10 chapter and group (ICD-9 before 1998), monthly series, ambulatory care sensitive conditions (ICSAP, the Brazilian list) and crude, age-specific or age-standardized rates per 100,000 by state and municipality. Every stratum carries admissions, length of stay, amount paid by SUS and deaths; every response carries a provenance block with the data vintage and the citation. Years and months are those of the ADMISSION date (DT_INTER), read from the billing months of that year plus the following ones — not the billing month; the most recent year is incomplete until its window closes and grows as hospitals bill late, and DATASUS re-edits files of past billing months, so every number is the version of the mirror's download (the provenance extraction date), not a final count. Typical flow: get_available_years first (which years each cube covers), then get_hospitalizations for counts by cause, place, age, sex and race, get_hospitalization_trends for monthly or annual series, get_hospitalization_rates and compare_regions for rates; get_icsap, get_icsap_indicators, rank_csap_groups and compare_icsap_trends for ICSAP; list_cid_chapters, list_csap_groups and classify_as_csap resolve codes and groups before querying. Do not use this server for individual AIH records, for variables the cubes do not carry (procedure performed, facility CNES, secondary diagnosis) or for other DATASUS systems (SIM, SINASC, SIA, SINAN): use microdatasus, PySUS or the healthbr-data mirror for those.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_csap_groupsA

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.

list_cid_chaptersA

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).

get_available_yearsA

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.

get_hospitalizationsA

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).

get_hospitalization_trendsA

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.

compare_regionsA

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.

get_icsapA

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.

get_icsap_indicatorsA

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.

rank_csap_groupsA

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.

classify_as_csapA

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.

get_hospitalization_ratesA

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.

compare_icsap_trendsA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 12 tools

Disambiguation3/5

The CSAP-vs-general split is mostly clear (get_icsap vs get_hospitalizations, get_icsap_indicators vs get_hospitalization_rates), but the analysis family overlaps heavily: compare_icsap_trends, compare_regions and get_hospitalization_trends all produce cross-UF/time comparisons, and rank_csap_groups largely duplicates a grouped get_icsap call. Descriptions are unusually detailed and do help, but an agent must read them carefully to pick the right comparison tool.

Naming Consistency5/5

All 12 tools follow a consistent snake_case verb_noun pattern (get_, list_, compare_, rank_, classify_) with no case or style mixing. Names are predictable and readable, with the only variation being domain terminology (csap/icsap/hospitalization) rather than naming convention.

Tool Count5/5

12 tools sits comfortably in the well-scoped range, covering query, aggregation, trends, rates, indicators, ranking, comparison, classification and metadata without obvious redundancy padding. Each tool corresponds to a recognizable analytical need for this dataset.

Completeness4/5

The surface covers the full analytical lifecycle for SIH-SUS/CSAP data: raw queries, aggregation, rates, indicators, trends, rankings, comparisons, CSAP classification and year/chapter/group metadata. Minor gaps remain — no geography lookup (UF/municipality codes and names) and no general CID-10 code description lookup beyond chapters, which agents will need for filter construction.

Maintenance

ActivityActive
ResponsivenessOutdated data