Health Atlas Ireland AeroMedical
- Project Started: January 2012
- Last Worked on Version: 5.11.2
- Releases: 5 Major Versions
- WebSockets (socket.io)
- PostgreSQL & PostGIS
- PG & PG Native
Health Atlas Ireland AeroMedical is a web based Geographic Information System developed for use by the National Ambulance Service. It allows for the direction and management of air ambulance missions across Ireland as well as aiding in search and rescue operations. The system has been in use 24/7 for the last 5 years and is currently powered by a bespoke set of Node.js API services.
The project began in 2012 and I have been the sole developer for each iteration of the software. More recently, I provide out of hours technical support for the project on an incident/call out basis.
Login & Front End Application
The front end is delivered via Express.js with some forms and widgets generated via Handlebars templating. User access is strictly controlled and authentication services are provided by a backend OpenLDAP server.
Feature Server Application
The PostgresSQL database contains over 3 million points, lines and polygons representing addresses, power lines and services. To allow visualisation on a map, I developed a Node.js Feature API which returns GeoJSON features based on bounding box and spatial reference requests.
Health Atlas AeroMedical tracks both the Irish Air corps and Coast Guard Helicopters to help dispatchers better manage missions in progress. Tracking feeds are received from various end points and are combined into a common format. Each update is pushed in real time via Web Socket to all open front end sessions.
The LocateMe112 system is designed to help dispatchers find callers who may be lost or in remote or rural areas. The system sends an SMS to a users Smart Phone containing a web link. Once opened, the link downloads a small (<10KB) application which finds the device position via GeoLocation and pins the location on the dispatchers map.
SMS API Module
This reusable module was developed to allow other applications use the same SMS Gateway infrastructure as LocateMe112. It makes use of Google's libphonenumber library for validation.
AIS SAR Decoder Module
The Coast Guard helicopter tracking positions provided by the Department of Transport are given in AIS format which uses 6-bit encoded ASCII to represent information. This decoder module allows for the accurate decoding of all Search and Rescue type 9 messages presented to the AeroMedical system.
Rescue 116 Map Viewer
To aid the Air Crash Investigation Unit with their ongoing investigation of the Rescue 116 helicopter crash, I built a special map viewer which represented all available tracking data visually with the ability to inspect any track point along the chosen flight path. This greatly aided the search for the air craft and provided the only available flight path information prior to the black box recovery.