Disease Outbreak Visualizer

Feb 12, 2026

Tracking Bluetongue Across Europe in an Afternoon

The World Organization for Animal Health (WOAH)'s WAHIS database is the gold standard for officially reported animal disease outbreaks. It's also a pain to work with at scale. The web interface is built for browsing one report at a time -- not for pulling thousands of Bluetongue records across Europe and watching how the virus marched westward into the UK.

So we built a tool that does exactly that. In a day.

Three scripts, one pipeline

Pull the data. report_retriever.py talks directly to the WAHIS REST API. Give it a disease, a region, and a date range and it downloads every matching outbreak report -- coordinates, species, case counts, dates -- straight into Excel. One command, thousands of records.

python report_retriever.py -d "Bluetongue virus (Inf. with) " -r Europe -sd 2024-01-01 -ed 2026-02-12

Tag it with NUTS regions. patch_nuts2.py runs a spatial lookup against official Eurostat boundaries and stamps every outbreak with its NUTS 0/1/2/3 region codes. That means you can immediately aggregate by the same administrative units used in EU and UK policy -- no manual geocoding, no GIS software.

python patch_nuts2.py

Animate it. build_animation.py produces a single self-contained HTML file: an interactive Leaflet.js map that plays back outbreak spread day by day. Colour-coded by disease, with hover popups, speed controls, and no server required. Open it in a browser, hit play, watch BTV-3 sweep across northern Europe.

python build_animation.py


Deliberately simple tech


The whole thing runs on a handful of Python packages -- pandas, geopandas, curl_cffi, openpyxl -- and produces plain Excel files plus a portable HTML map. No cloud, no database, no API keys, no Docker. Clone the repo, install the requirements, run three commands. Done.

Why this matters right now


Since BTV-3 reached the UK, understanding where and when outbreaks are occurring has been critical for informing movement restrictions, targeting vector surveillance, and anticipating further spread. WAHIS holds the authoritative data, but extracting it in bulk, enriching it with administrative geography, and visualising the temporal pattern has until now required significant manual effort.

This tool collapses that effort to minutes. A researcher at the Pirbright Institute can pull the latest data before lunch, have NUTS-tagged spreadsheets ready for analysis by the time the kettle boils, and share an animated map with collaborators by the afternoon. That's the kind of turnaround that matters when a vector-borne disease is still actively spreading.


Get involved


The project is open source on GitHub. Pull requests, bug reports, and feature requests are all welcome -- especially from anyone working on Bluetongue or other transboundary disease surveillance.