sih-br-mcp
Servidor MCP do DATASUS SIH/SUS: internações hospitalares do Brasil (AIH, 1992–2025) — causas CID-10 e CID-9, séries mensais, ICSAP e taxas por UF e município, sem baixar .dbc nem usar TabNet. Brazilian hospital admissions (SIH/SUS) MCP server.
npm · fingerprint 6d3fdcb4e109fac42b1da0e0 · repository · RSS
What changed
Changed between 13 October 2026 and 20 October 2026 (first seen 2026-10-20 11:29 UTC)
1 schema or annotation change with the description left byte-identical.
--- pinned/get_hospitalization_rates +++ observed/get_hospitalization_rates { "annotations": { "destructiveHint": false, - "description": "Internações por `rate_per` habitantes, duas casas", + "description": "Internações por `rate_per` habitantes, com no mínimo 3 algarismos significativos e nunca menos de duas casas (taxa pequena não vira 0)", "type": "number" }, "rate_per": { - "description": "DEPRECADO — use `rate` com `rate_per`. Internações por 100 mil habitantes, qualquer que seja `rate_per`; sai numa versão futura", + "description": "DEPRECADO — use `rate` com `rate_per`. Internações por 100 mil habitantes, qualquer que seja `rate_per`, mesmo arredondamento de `rate`; sai numa versão futura", "type": "number" }, "uf": { - "description": "Taxa do conjunto, na base `rate_per`", + "description": "Taxa do conjunto, na base `rate_per`, mesmo arredondamento de `rate`", "type": "number" }, "rate_per": {
Changed 2026-10-09 13:13 UTC
1 description rewritten, 11 schema or annotation changes with the description left byte-identical.
--- pinned/classify_as_csap +++ observed/classify_as_csap { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/compare_icsap_trends +++ observed/compare_icsap_trends { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/compare_regions +++ observed/compare_regions { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/get_available_years +++ observed/get_available_years { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/get_hospitalization_rates +++ observed/get_hospitalization_rates { "annotations": { "destructiveHint": false, - "description": "Ano (quando agrupado por ano ou mais de um ano)", + "description": "Ano da internação (DT_INTER), quando agrupado por ano ou mais de um ano", "type": "number" } }, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/get_hospitalization_trends +++ observed/get_hospitalization_trends { "annotations": { "destructiveHint": false, - "description": "Retorna séries temporais de internações (mensal ou anual). Útil para análise de tendências e sazonalidade. 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`.", + "description": "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`.", "inputSchema": { "additionalProperties": false, "properties": { - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string" - "description": "Ano", + "description": "Ano da internação (DT_INTER)", "type": "number" } }, - "description": "Competência AAAA-MM", + "description": "Ano-mês da INTERNAÇÃO (DT_INTER), AAAA-MM — não a competência de faturamento; só nas internações sem DT_INTER na fonte (1992-01..04, 1993-01) é a competência", "type": "string" } },
--- pinned/get_hospitalizations +++ observed/get_hospitalizations { "annotations": { "destructiveHint": false, - "description": "Ano (group_by: year)", + "description": "Ano da internação (DT_INTER) — group_by: year", "type": "number" } }, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/get_icsap +++ observed/get_icsap { "annotations": { "destructiveHint": false, - "description": "Ano (group_by: year)", + "description": "Ano da internação (DT_INTER) — group_by: year", "type": "number" } }, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/get_icsap_indicators +++ observed/get_icsap_indicators { "annotations": { "destructiveHint": false, - "description": "Ano (group_by: year)", + "description": "Ano da internação (DT_INTER) — group_by: year", "type": "number" } }, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/list_cid_chapters +++ observed/list_cid_chapters { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/list_csap_groups +++ observed/list_csap_groups { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
--- pinned/rank_csap_groups +++ observed/rank_csap_groups { "annotations": { "destructiveHint": false, - "description": "Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença", + "description": "Bloco de proveniência do portfólio: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, avisos, o que o servidor calculou e se o número ainda pode mudar", "properties": { "citation": { "description": "Citação pronta para uso", + "derivation_note": { + "description": "Como o número foi calculado; presente junto com derived", + "type": "string" + }, + "derived": { + "description": "Presente (true) quando o número foi calculado por este servidor — os cubos SIH são somas das internações dos arquivos do DATASUS", + "type": "boolean" + }, "field_sources": { "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só", "items": { + "notices": { + "description": "Avisos que acompanham o dado (ex.: cubo atrás do espelho healthbr-data, frescor não verificado). Ausente quando não há aviso", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" + }, "retrieval": { - "description": "Diagnóstico de origem desta chamada (contrato v1.1): idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", + "description": "Diagnóstico de origem desta chamada: idas ao canal sih/cubos/ do healthbr-data (manifesto e arquivos que faltavam no disco), tentativas somadas e anomalias contornadas; unstable=true quando houve anomalia. null = a resposta veio do DISCO (cache aquecido) ou o bloco não é do canal (listas de referência)", "oneOf": [ { "additionalProperties": false, + "revision": { + "additionalProperties": false, + "description": "Se o número ainda pode mudar: provisional quando algum ano da resposta ainda tem competências abertas no SIH (o total ainda pode crescer); current nos demais — o DATASUS reedita arquivos de competências passadas", + "properties": { + "note": { + "description": "O específico da fonte: o que revisa, quando, por quê", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte", + "enum": [ + "current", + "provisional", + "final" + ], + "type": "string" + } + }, + "required": [ + "status", + "note" + ], + "type": "object" + }, "source": { "description": "Fonte oficial do dado", "type": "string"
Current tools
Show all 12 tool fingerprints
Watch this server yourself
If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.
npx -y mcp-pin@0.2.3 -- <your sih-br-mcp command>
Or subscribe to this page's RSS feed to be told when it changes.
Badge
The badge states one fact about time and nothing else. It never claims a server is safe.
[](https://mcp-pin.gautamkhosla.com/servers/782bc88657a273c8.html)