changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "indicator",
+ "period",
+ "compare_by",
+ "series",
+ "notes",
+ "summary"
+ ]
+ },
+ {
+ "required": [
+ "error"
+ ]
+ }
+ ],
+ "description": "Séries anuais do indicador ICSAP por UF ou grupo CSAP, com tendência linear e melhor/pior desempenho; `error` quando o intervalo está fora da cobertura",
+ "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"
+ },
+ "compare_by": {
+ "description": "Eixo comparado: uf, csap_group ou total (sem eixo)",
+ "type": "string"
+ },
+ "data": {
+ "description": "Sempre vazio: só aparece no caminho de erro-mole do funil",
+ "items": {},
+ "type": "array"
+ },
+ "error": {
+ "description": "Motivo pelo qual não há dados nesta resposta (ano sem dado, cobertura populacional, falha na consulta)",
+ "type": "string"
+ },
+ "indicator": {
+ "description": "Indicador das séries",
+ "enum": [
+ "percentage",
+ "count",
+ "rate_per_10k"
+ ]
+ },
+ "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"
+ },
+ "period": {
+ "additionalProperties": false,
+ "properties": {
+ "end": {
+ "description": "Ano final pedido",
+ "type": "number"
+ },
+ "start": {
+ "description": "Ano inicial pedido",
+ "type": "number"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+ },
+ "population_years": {
+ "additionalProperties": false,
+ "description": "Cobertura populacional; só no erro-mole de `rate_per_10k` fora do intervalo",
+ "properties": {
+ "first_year": {
+ "description": "Primeiro ano com população",
+ "type": "number"
+ },
+ "last_year": {
+ "description": "Último ano com população",
+ "type": "number"
+ }
+ },
+ "required": [
+ "first_year",
+ "last_year"
+ ],
+ "type": "object"
+ },
+ "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"
+ },
+ "series": {
+ "description": "Pontos em ordem cronológica",
+ "items": {
+ "additionalProperties": {
+ "description": "Valor do indicador para esta UF, grupo ou `total`",
+ "type": "number"
+ },
+ "description": "Um ponto por ano: `year` mais uma chave por valor comparado (UF, grupo ou `total`) com o indicador",
+ "properties": {
+ "year": {
+ "description": "Ano",
+ "type": "number"
+ }
+ },
+ "required": [
+ "year"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "summary": {
+ "additionalProperties": false,
+ "properties": {
+ "best_performer": {
+ "description": "Valor comparado com a melhor evolução; só com mais de uma tendência",
+ "type": "string"
+ },
+ "note": {
+ "description": "Como ler o indicador; só para `percentage`",
+ "type": "string"
+ },
+ "worst_performer": {
+ "description": "Valor comparado com a pior evolução; só com mais de uma tendência",
+ "type": "string"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "trends": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "avg_annual_change": {
+ "description": "Variação média anual",
+ "type": "number"
+ },
+ "change_pct": {
+ "description": "Variação relativa entre as pontas, %",
+ "type": "number"
+ },
+ "direction": {
+ "description": "Sentido da tendência",
+ "enum": [
+ "increasing",
+ "decreasing",
+ "stable"
+ ]
+ },
+ "end_value": {
+ "description": "Valor no último ano",
+ "type": "number"
+ },
+ "slope": {
+ "description": "Inclinação da regressão linear (indicador por ano)",
+ "type": "number"
+ },
+ "start_value": {
+ "description": "Valor no primeiro ano",
+ "type": "number"
+ }
+ },
+ "required": [
+ "slope",
+ "direction",
+ "avg_annual_change",
+ "start_value",
+ "end_value",
+ "change_pct"
+ ],
+ "type": "object"
+ },
+ "description": "Tendência por valor comparado; só com `include_trend_line` e ao menos dois anos — ausente quando desligada",
+ "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"
+}