From the archive · 2012
Health Atlas Ireland AeroMedical
A web-based GIS the National Ambulance Service used to direct air ambulance and search and rescue missions across Ireland, around the clock for over five years.
AeroMedical was a web-based geographic information system built for the National Ambulance Service. Dispatchers used it to direct air ambulance missions across Ireland and to support search and rescue operations. It ran 24/7 for more than five years on a set of Node.js API services. I was the sole developer on every version from 2012 onwards, and later provided out-of-hours support on call.
Login and front end
The front end was served by Express.js, with forms and widgets rendered from Handlebars templates. Access was tightly controlled, with authentication against an OpenLDAP server.
Feature server
The PostgreSQL database held over 3 million points, lines and polygons covering addresses, power lines and services. A Node.js feature API returned GeoJSON for whatever bounding box and spatial reference the map asked for.
Live helicopter tracking
AeroMedical tracked Irish Air Corps and Coast Guard helicopters so dispatchers could follow missions in progress. Feeds arrived from several sources, were normalised into one format, and every update was pushed over WebSockets to each open session in real time.
LocateMe112
LocateMe112 helped dispatchers find callers who were lost or in remote areas. It sent an SMS with a link, and opening it loaded a tiny page (under 10KB) that read the phone’s location and pinned it on the dispatcher’s map.
SMS and AIS modules
A reusable SMS module let other applications share LocateMe112’s gateway, validating numbers with Google’s libphonenumber. A separate decoder handled the Coast Guard positions supplied by the Department of Transport in AIS format, which packs data into 6-bit ASCII, and decoded every Search and Rescue type 9 message.
Rescue 116 map viewer
After the Rescue 116 helicopter crash, I built a map viewer for the air accident investigators that showed all the available tracking data, with every point along the flight path open to inspection. It supported the search for the aircraft and gave the only flight path information available before the black box was recovered.