{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://mapa-espera.pages.dev/schemas/consultas.schema.json",
  "title": "sisle-consultas — listas de espera de consultas externas del SNS",
  "description": "Fila del dataset de consultas externas del SISLE (Ministerio de Sanidad), extraida de los PDF oficiales semestrales. Cada fila es una combinacion de corte, comunidad autonoma y especialidad. Un valor ausente en la fuente se publica como null; nunca se interpola ni se estima.",
  "type": "object",
  "x-csv-columns": [
    "fecha_corte",
    "ccaa_raw",
    "ccaa",
    "especialidad",
    "pacientes_espera",
    "tiempo_medio_dias"
  ],
  "properties": {
    "fecha_corte": {
      "type": "string",
      "pattern": "^\\d{4}-(06|12)$",
      "description": "Corte semestral del SISLE (junio o diciembre)."
    },
    "ccaa_raw": {
      "type": "string",
      "description": "Etiqueta textual tal cual aparece en el PDF oficial, antes de normalizar."
    },
    "ccaa": {
      "type": "string",
      "description": "Nombre canonico de la comunidad autonoma tras normalizacion. Dominio: 19 territorios (17 CCAA + Ceuta + Melilla)."
    },
    "especialidad": {
      "type": "string",
      "description": "Nombre canonico de la especialidad o del agregado Total. Dominio: 10 especialidades + Total."
    },
    "pacientes_espera": {
      "type": ["integer", "null"],
      "minimum": 0,
      "description": "Pacientes en lista de espera de consultas externas. Null si no consta en la fuente."
    },
    "tiempo_medio_dias": {
      "type": ["number", "null"],
      "minimum": 0,
      "maximum": 500,
      "description": "Tiempo medio de espera en dias. Null si no consta en la fuente. El dominio admite 0 porque la fuente publica ese valor en al menos un caso historico (Ceuta/Ginecologia, 2023-06); ver anomalies de fuente en la release."
    }
  },
  "required": [
    "fecha_corte",
    "ccaa_raw",
    "ccaa",
    "especialidad",
    "pacientes_espera",
    "tiempo_medio_dias"
  ],
  "additionalProperties": false,
  "x-data-dictionary": {
    "grain": "fecha_corte + ccaa + especialidad",
    "missing_policy": "null = dato no publicado en la fuente. No se interpola, no se estima, no se rellena.",
    "normalization": "ccaa_raw se normaliza a ccaa canonica para tolerar variantes de etiqueta entre paginas del mismo PDF (p. ej. variantes de 'C. FORAL DE NAVARRA').",
    "source_system": "SISLE — Sistema de informacion sobre listas de espera del SNS, Ministerio de Sanidad.",
    "counts": {
      "territories": 19,
      "specialties_with_total": 11
    }
  }
}
