Back to AqtaBio Pandemic Risk Agent

Card snapshot

qjtqgvpd9s.eu-west-1.awsapprunner.com · 2026-05-19 00:50:47 UTC · 6358d21b6fadb7afd0bc9e7b01578a86f67f19c81eb7d7d60a7f8e8afcc57fc4

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "AqtaBio Pandemic Risk Agent",
  "description": "Pre-etiologic zoonotic spillover risk forecasting at 25 km tile resolution. Backtest validation on the v0.1.0 historical cohort: AUROC up to 0.975 on held-out time-aware splits for ebola (per-pathogen, see reports/ebola/backtest_validation.json in the closed source). Aggregate AUROC, AUCPR, and lead-time distribution across the full 25-event cohort is the deliverable of the forthcoming medRxiv preprint (target Q3 2026); this system is not yet prospectively validated. Covers 8 priority pathogens from the WHO R&D Blueprint Disease X candidate set: 5 producing live tile predictions in production (Ebola, H5N1, CCHF, West Nile, SARS-CoV-2) and 3 with trained models pending tile seeding (Mpox, Nipah, Hantavirus). Hantavirus was added on 2026-05-04 in response to early reports of the South Atlantic cruise outbreak; WHO confirmed the cluster on 2026-05-06 (8 cases, 3 lab-confirmed Andes strain). Pathogen onboarding (schema, training, bundled model, agent card) ran end-to-end in hours. Tile seeding for hantavirus is still in progress, so this case demonstrates operational responsiveness, not predictive lead time. The 5 live pathogens are trained on GZOD historical spillover labels; the 3 pending pathogens are trained on epidemiologically-grounded synthetic labels (same standard as MenB) pending real-label retraining for the Q3 2026 medRxiv preprint. See `prediction_status` and the training-script citations on each entry. Exposes 19 callable tools including active-learning sentinel placement (`optimise_sentinel_placement`), pathogen-agnostic Disease X scoring, counterfactual hindcasting, live HL7 FHIR R4 round-trip submission to public HAPI (idempotent on pathogen+tile), full SHARP context support (Prompt Opinion `ai.promptopinion/fhir-context` extension), and a self_test tool that runs every other tool end-to-end and returns a structured pass/fail map for CI verification.",
  "version": "0.1.0",
  "url": "https://qjtqgvpd9s.eu-west-1.awsapprunner.com/mcp",
  "protocol_version": "1.0",
  "protocolVersion": "1.0",
  "provider": {
    "organization": "Aqta Technologies Limited",
    "url": "https://aqtabio.org"
  },
  "model_info": {
    "primary": "claude-haiku-4-5-20251001",
    "scoring": "XGBoost + SHAP v0.1.0",
    "training_cutoff": "2025-10-01"
  },
  "service_endpoint": "https://qjtqgvpd9s.eu-west-1.awsapprunner.com/mcp",
  "supported_protocols": [
    "mcp-streamable-http",
    "http+json/rest"
  ],
  "authentication": {
    "type": "none",
    "description": "Public read-only tooling. Rate limits enforced upstream."
  },
  "capabilities": {
    "streaming": true,
    "fhir_r4": true,
    "prediction_status_taxonomy": "pathogens_covered entries carry a `prediction_status` field: 'live' = tile_predictions rows exist in production; 'pending_tile_seeding' = XGBoost model bundled but atlas tiles not yet seeded, so the prediction pipeline has not run.",
    "extensions": [
      "ai.promptopinion/fhir-context"
    ],
    "sharp_context": {
      "supported": true,
      "fields_consumed": [
        "patient_id",
        "encounter_id",
        "fhir_server",
        "access_token"
      ],
      "tools_using_sharp": [
        "get_patient_local_risk",
        "emit_riskassessment_to_ehr"
      ],
      "phi_minimisation": "Only address.country is retained from the FHIR Patient resource. Risk is population-level (25 km tile). No patient identifier, name, DOB, or condition is stored or returned."
    }
  },
  "skills": [
    {
      "name": "list_pathogens",
      "description": "List all monitored pathogens with SNOMED CT codes and geographic scope.",
      "tags": [
        "discovery"
      ]
    },
    {
      "name": "get_risk_score",
      "description": "Current spillover risk score for a geographic tile with SHAP feature drivers. FHIR RiskAssessment optional.",
      "tags": [
        "query",
        "fhir"
      ]
    },
    {
      "name": "get_hotspots",
      "description": "Hotspot counts by severity tier (critical \u22650.9, high \u22650.7, moderate \u22650.5) for a pathogen. FHIR DetectedIssue optional.",
      "tags": [
        "query",
        "fhir",
        "aggregate"
      ]
    },
    {
      "name": "get_risk_trend",
      "description": "24-month risk trajectory for a tile. FHIR Observation Bundle optional.",
      "tags": [
        "query",
        "timeseries",
        "fhir"
      ]
    },
    {
      "name": "get_top_risk_tiles",
      "description": "Highest-risk tiles ranked by score for a pathogen.",
      "tags": [
        "query",
        "ranking"
      ]
    },
    {
      "name": "get_top_risk_countries",
      "description": "Returns the top countries by spillover risk. When a trained CountryClassifierModel sidecar is available for the requested pathogen + month, serves rankings from that model with a `scoring_method: 'trained_classifier'` flag. Otherwise falls back to a heuristic aggregation of tile-level scores (mean / max / upper bound of a bootstrap CI on the country mean), with saturation share flagged so callers can see when a country's rank is driven by clipped scores. Use for country-of-concern guidance (eg pre-positioning by WHO Africa).",
      "tags": [
        "query",
        "ranking",
        "aggregate",
        "country",
        "trained-classifier"
      ]
    },
    {
      "name": "get_system_status",
      "description": "System health, data freshness, live vs demo mode.",
      "tags": [
        "ops"
      ]
    },
    {
      "name": "generate_outbreak_briefing",
      "description": "Claude generates a PHO situational brief synthesising hotspots, top tiles, and SHAP drivers into an actionable narrative with 3 recommended actions.",
      "tags": [
        "genai",
        "narrative"
      ]
    },
    {
      "name": "explain_risk_drivers",
      "description": "Claude translates SHAP values into plain-English causal narrative for a tile, with 2-3 specific recommended actions.",
      "tags": [
        "genai",
        "explainability"
      ]
    },
    {
      "name": "retrospective_validation",
      "description": "Returns the recorded retrospective attestation for a historical spillover event paired with the publicly verifiable WHO / ECDC / national notification date. Backtest provenance, AUROC and AUCPR are surfaced in the `cross_check` field. Not a live model recomputation.",
      "tags": [
        "validation",
        "evidence"
      ]
    },
    {
      "name": "get_multi_pathogen_hotspots",
      "description": "Detects syndemic convergence: regions and time windows where multiple pathogens simultaneously cross HIGH+ severity, flagging response infrastructure saturation risk.",
      "tags": [
        "syndemic",
        "aggregate"
      ]
    },
    {
      "name": "generate_fhir_bundle_for_pho",
      "description": "Complete HL7 FHIR R4 transaction Bundle (RiskAssessment + DetectedIssue + 12\u00d7Observation) with per-entry POST requests, ready to submit to any FHIR server.",
      "tags": [
        "fhir",
        "integration"
      ]
    },
    {
      "name": "get_disease_x_risk",
      "description": "Pathogen-agnostic pre-spillover risk score addressing the WHO R&D Blueprint's Disease X priority. Aggregates per-pathogen risks into a single 'any zoonotic emergence' signal for the unknown pathogen of the next pandemic.",
      "tags": [
        "disease-x",
        "blueprint",
        "novel"
      ]
    },
    {
      "name": "get_hindcast",
      "description": "Counterfactual timeline analysis. Given a recorded retrospective attestation, returns the actual outbreak timeline alongside an illustrative counterfactual: what intervention window would have been available if a public-health responder had acted N days after the threshold-crossing signal. Honest about caveats; no claim of cases averted.",
      "tags": [
        "counterfactual",
        "validation",
        "novel"
      ]
    },
    {
      "name": "submit_to_hapi_fhir",
      "description": "Live HL7 FHIR R4 round-trip: builds a RiskAssessment for a tile/pathogen/month, POSTs to the public HAPI FHIR test server, and returns the assigned resource URL plus HAPI's HTTP status. Makes the 'FHIR round-trip tested' claim a callable proof; anyone can fetch the resource back to verify conformance. Population-level risk only, no PHI.",
      "tags": [
        "fhir",
        "interop",
        "verifiable"
      ]
    },
    {
      "name": "get_patient_local_risk",
      "description": "SHARP-aware patient-local risk. Reads the Prompt Opinion `ai.promptopinion/fhir-context` block (patient_id, fhir_server, access_token), fetches the Patient resource via SMART-on-FHIR, derives the home tile from address.country, and returns AqtaBio's population-level spillover risk for that area. PHI minimisation: only country is retained. Designed to be invoked from a clinician's Prompt Opinion workspace.",
      "tags": [
        "sharp",
        "fhir",
        "patient-context",
        "smart-on-fhir"
      ]
    },
    {
      "name": "emit_riskassessment_to_ehr",
      "description": "SHARP-aware EHR write-back. Takes the SHARP-propagated bearer token from the clinician's EHR session and POSTs an AqtaBio FHIR RiskAssessment resource to the same FHIR server, attached to the patient reference. Demonstrates round-trip context propagation: the platform's promise of bridging EHR credentials without bespoke token handling is verifiable end-to-end.",
      "tags": [
        "sharp",
        "fhir",
        "writeback",
        "smart-on-fhir"
      ]
    },
    {
      "name": "handoff_to_triage",
      "description": "A2A v1.0 handoff. Takes a FHIR RiskAssessment from the surveillance side of AqtaBio and returns a FHIR Task that hands the matter to a clinical triage specialist agent. The Task carries a deterministic risk-band action (notify / surveil / routine) plus a disclaimer in note that the mapping is not clinical decision support; a public health officer must approve before any operational step. The triage specialist agent card is exposed at /.well-known/triage-agent.json.",
      "tags": [
        "a2a",
        "handoff",
        "fhir",
        "task",
        "triage"
      ]
    },
    {
      "name": "self_test",
      "description": "Runs every other tool with sane default arguments and returns a structured pass/fail map. Lets CI / pre-deploy / post-deploy check that all 18 working tools execute without exception. Catches dangling references and missing pathogen branches that would otherwise only surface in a clinician's workspace.",
      "tags": [
        "self-test",
        "ci",
        "ops"
      ]
    }
  ],
  "pathogens_covered": [
    {
      "id": "ebola",
      "display": "Ebola Virus Disease",
      "snomed": "37109004",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "live"
    },
    {
      "id": "h5n1",
      "display": "Avian Influenza H5N1",
      "snomed": "396425006",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "live"
    },
    {
      "id": "cchfv",
      "display": "Crimean-Congo Haemorrhagic Fever",
      "snomed": "19065005",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "live"
    },
    {
      "id": "wnv",
      "display": "West Nile Virus Disease",
      "snomed": "417093003",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "live"
    },
    {
      "id": "sea-cov",
      "display": "SARS-CoV-2",
      "snomed": "840539006",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "live"
    },
    {
      "id": "mpox",
      "display": "Mpox (Monkeypox)",
      "snomed": "50811000",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "pending_tile_seeding"
    },
    {
      "id": "nipah",
      "display": "Nipah Virus",
      "snomed": "27332006",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "pending_tile_seeding"
    },
    {
      "id": "hantavirus",
      "display": "Hantavirus",
      "snomed": "16541001",
      "status": "operational",
      "model_status": "trained",
      "prediction_status": "pending_tile_seeding"
    }
  ],
  "validation_claim": {
    "event": "COVID-19 Wuhan",
    "model_prediction_date": "2019-11-08",
    "risk_score": 0.82,
    "who_notification_date": "2019-12-31",
    "lead_time_days": 53,
    "tile_id": "AS-025-45678",
    "verifiable_via": "retrospective_validation(event_id='2019_wuhan_sars_cov_2')"
  },
  "documentation_url": "https://aqtabio.org/proof-of-concept"
}