{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://parentsvaccineguide.org/schemas/active_pharmacovigilance.schema.json",
  "title": "Active Pharmacovigilance Records (per vaccine)",
  "description": "Normalized active-surveillance findings (Tier 1–3). One record per (vaccine, system, outcome, evaluation period). Distinct from passive VAERS spontaneous reports.",
  "type": "object",
  "required": ["_meta", "vaccines"],
  "additionalProperties": false,
  "properties": {
    "_meta": {
      "type": "object",
      "required": ["description", "lastUpdated", "updateCadence"],
      "additionalProperties": true,
      "properties": {
        "description": { "type": "string" },
        "lastUpdated": { "type": "string", "format": "date" },
        "updateCadence": { "type": "string" },
        "schemaVersion": { "type": "string" }
      }
    },
    "vaccines": {
      "type": "object",
      "additionalProperties": { "$ref": "#/$defs/vaccineActivePV" }
    }
  },
  "$defs": {
    "citation": {
      "type": "object",
      "required": ["label", "url"],
      "additionalProperties": false,
      "properties": {
        "label": { "type": "string" },
        "url": { "type": "string", "format": "uri" }
      }
    },
    "record": {
      "type": "object",
      "required": [
        "system",
        "systemTier",
        "method",
        "outcomeMonitored",
        "status",
        "summary",
        "sourceCitations",
        "lastReviewed"
      ],
      "additionalProperties": false,
      "properties": {
        "system": { "type": "string" },
        "systemTier": {
          "type": "integer",
          "enum": [1, 2, 3],
          "description": "1=public near-real-time dashboard; 2=periodic public secondary docs; 3=regulatory communications"
        },
        "method": { "type": "string" },
        "outcomeMonitored": { "type": "string" },
        "population": { "type": "string" },
        "riskInterval": { "type": "string" },
        "comparisonInterval": { "type": "string" },
        "evaluationPeriod": { "type": "string" },
        "status": {
          "type": "string",
          "enum": [
            "no_signal",
            "signal_under_investigation",
            "signal_investigated_not_confirmed",
            "signal_confirmed",
            "not_currently_monitored"
          ]
        },
        "summary": { "type": "string" },
        "sourceCitations": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/$defs/citation" }
        },
        "lastReviewed": { "type": "string", "format": "date" },
        "sampleSize": { "type": "string" },
        "relatedAeCategory": {
          "type": "string",
          "description": "Optional link to passive AE category labels on the page"
        }
      }
    },
    "vaccineActivePV": {
      "type": "object",
      "required": ["vaccineSlug", "displayName", "records", "lastReviewed"],
      "additionalProperties": false,
      "properties": {
        "vaccineSlug": { "type": "string" },
        "displayName": { "type": "string" },
        "lastReviewed": { "type": "string", "format": "date" },
        "notes": { "type": "string" },
        "records": {
          "type": "array",
          "minItems": 1,
          "items": { "$ref": "#/$defs/record" }
        }
      }
    }
  }
}
