changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "data",
+ "notes",
+ "summary",
+ "filters_applied"
+ ]
+ },
+ {
+ "required": [
+ "error"
+ ]
+ }
+ ],
+ "description": "Internações por condições sensíveis à atenção primária, agrupadas conforme `group_by`, com totais e a nota do universo; `error` quando nenhum ano pedido tem dado",
+ "properties": {
+ "attribution": {
+ "description": "URLs canônicas das fontes desta resposta (lista de atribuição)",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "available_sih_years": {
+ "description": "Anos com dados SIH atendíveis por este servidor",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "data": {
+ "description": "Linhas agrupadas (vazio no caminho de erro-mole)",
+ "items": {
+ "additionalProperties": false,
+ "description": "Uma linha por combinação de `group_by` (só as colunas pedidas aparecem)",
+ "properties": {
+ "age": {
+ "description": "Idade em anos (group_by: age)",
+ "type": "number"
+ },
+ "cid_revision": {
+ "description": "Revisão da CID: 9 ou 10 (group_by: cid_revision)",
+ "type": "number"
+ },
+ "csap_group": {
+ "description": "Grupo CSAP g01–g19 (group_by: csap_group)",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "deaths": {
+ "description": "Óbitos nas ICSAP",
+ "type": "number"
+ },
+ "icsap_percentage": {
+ "description": "n_icsap / n_total × 100, duas casas",
+ "type": "number"
+ },
+ "municipality_code": {
+ "description": "Código IBGE do município de residência (6 dígitos); null em 1992–1997 (group_by: municipality_code)",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "n_icsap": {
+ "description": "Internações por condições sensíveis à atenção primária no universo escolhido",
+ "type": "number"
+ },
+ "n_total": {
+ "description": "Total de internações no universo escolhido (denominador)",
+ "type": "number"
+ },
+ "race": {
+ "description": "Raça/cor; null em 1998–2007 (group_by: race)",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "sex": {
+ "description": "Sexo: M ou F (group_by: sex)",
+ "type": "string"
+ },
+ "total_days": {
+ "description": "Dias de permanência das ICSAP",
+ "type": "number"
+ },
+ "total_value": {
+ "description": "Valor pago das ICSAP (R$)",
+ "type": "number"
+ },
+ "uf": {
+ "description": "UF de residência — do estabelecimento em 1992–1997 (group_by: uf)",
+ "type": "string"
+ },
+ "year": {
+ "description": "Ano (group_by: year)",
+ "type": "number"
+ }
+ },
+ "required": [
+ "n_icsap",
+ "n_total",
+ "icsap_percentage",
+ "total_days",
+ "total_value",
+ "deaths"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "error": {
+ "description": "Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)",
+ "type": "string"
+ },
+ "filters_applied": {
+ "additionalProperties": false,
+ "description": "Os argumentos recebidos, ecoados",
+ "properties": {
+ "age_max": {
+ "description": "Idade máxima",
+ "type": "integer"
+ },
+ "age_min": {
+ "description": "Idade mínima",
+ "type": "integer"
+ },
+ "csap_group": {
+ "description": "Grupos CSAP (ex: ['g01', 'g05'])",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "group_by": {
+ "description": "Dimensões para agrupamento",
+ "items": {
+ "enum": [
+ "year",
+ "uf",
+ "municipality_code",
+ "cid_revision",
+ "csap_group",
+ "sex",
+ "age",
+ "race"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "municipality_code": {
+ "description": "Código IBGE do município (6 dígitos)",
+ "type": "string"
+ },
+ "race": {
+ "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.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sex": {
+ "description": "Filtrar por sexo",
+ "enum": [
+ "M",
+ "F"
+ ],
+ "type": "string"
+ },
+ "uf": {
+ "description": "UFs para filtrar",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "universe": {
+ "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.",
+ "enum": [
+ "csapaih",
+ "all"
+ ],
+ "type": "string"
+ },
+ "year": {
+ "description": "Anos para consultar",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "note": {
+ "description": "Como obter o dado (por exemplo, consultar get_available_years)",
+ "type": "string"
+ },
+ "notes": {
+ "description": "Avisos que qualificam os números: era CID-9, raça/cor ausente, universo do % ICSAP, denominador populacional, truncamento",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "provenance": {
+ "description": "Um bloco por procedência que contribuiu com esta resposta (SIH, lista CSAP, csapAIH, população…); licenças nunca se fundem",
+ "items": {
+ "additionalProperties": false,
+ "description": "Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença",
+ "properties": {
+ "citation": {
+ "description": "Citação pronta para uso",
+ "type": "string"
+ },
+ "data_vintage": {
+ "description": "Competência ou safra do dado segundo a fonte; null quando a fonte não expõe",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "license": {
+ "description": "Regime legal do dado (id SPDX quando há)",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "retrieved_at": {
+ "description": "Instante REAL da extração na origem (ISO-8601)",
+ "type": "string"
+ },
+ "source": {
+ "description": "Fonte oficial do dado",
+ "type": "string"
+ },
+ "source_url": {
+ "description": "URL canônica que reproduz a consulta ou localiza a fonte",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "source_url",
+ "data_vintage",
+ "retrieved_at",
+ "citation",
+ "license"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "summary": {
+ "additionalProperties": false,
+ "description": "Totais do recorte inteiro, calculados sem agrupamento",
+ "properties": {
+ "deaths": {
+ "description": "Óbitos nas ICSAP",
+ "type": "number"
+ },
+ "icsap_percentage": {
+ "description": "total_icsap / total_hospitalizations × 100, duas casas",
+ "type": "number"
+ },
+ "records_returned": {
+ "description": "Linhas em `data`",
+ "type": "number"
+ },
+ "total_days": {
+ "description": "Dias de permanência das ICSAP",
+ "type": "number"
+ },
+ "total_hospitalizations": {
+ "description": "Internações no universo (denominador)",
+ "type": "number"
+ },
+ "total_icsap": {
+ "description": "ICSAP no recorte inteiro",
+ "type": "number"
+ },
+ "total_value": {
+ "description": "Valor pago das ICSAP (R$)",
+ "type": "number"
+ }
+ },
+ "required": [
+ "total_icsap",
+ "total_hospitalizations",
+ "icsap_percentage",
+ "total_days",
+ "total_value",
+ "deaths",
+ "records_returned"
+ ],
+ "type": "object"
+ },
+ "truncated": {
+ "additionalProperties": false,
+ "description": "Presente só quando `data` foi truncado no teto de linhas; os totais em `summary` são do conjunto inteiro",
+ "properties": {
+ "returned": {
+ "description": "Linhas devolvidas (o teto)",
+ "type": "number"
+ },
+ "total": {
+ "description": "Linhas que a consulta produziu",
+ "type": "number"
+ }
+ },
+ "required": [
+ "returned",
+ "total"
+ ],
+ "type": "object"
+ },
+ "years_not_available": {
+ "additionalProperties": false,
+ "description": "Presente só quando parte dos anos pedidos não tem dado: os números cobrem apenas os anos atendidos",
+ "properties": {
+ "note": {
+ "description": "Quais anos ficaram fora e quais os números cobrem",
+ "type": "string"
+ },
+ "years": {
+ "description": "Anos pedidos que não têm dados SIH e ficaram fora do resultado",
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "years",
+ "note"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "provenance",
+ "attribution"
+ ],
+ "type": "object"
+}