Introduction
The purpose of this paper is to introduce Health Atlas Ireland, an open-source software(OSS) mapping, database and statistical system, briefly explain what it is designed to achieve and how it it is developed and maintained.
Health Atlas Ireland integrates GIS, database and statistical components. A user-friendly interface supports web-enabled access across the Irish health sector and collaborating agencies.
Grant aided by the Health Research Board, the Atlas is custom built by the public health sector in partnership with two universities. Epidemiological and service location analyses are central themes.
Purpose and usage
Health Atlas is a ‘voyage of discovery’ for health service planning and health event data analysis. The purpose of the system is to help answer questions related to health events, emergency response, health services and demographics, initially in the Republic of Ireland and eventually worldwide as related to Irish Health Services. The methodology employed is to answer all questions in ‘real time‘, from raw data — there is no preprocessed data.
System Development
The system is developed by selecting best of breed open source software components and integrating them in a manner that delivers a seamless system view to the end user.
The popular open source methodology of ‘release early, release often’ fits well with the user interaction and uptake.
Starting in February 2006, the system has been delivered in five phases to date
The components integrated to date are as follows:
PostGIS - PostgreSQL is a powerful, open source relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. PostGIS adds support for geographic objects to the PostgreSQL object-relational database. In effect, PostGIS “spatially enables” the PostgreSQL server, allowing it to be used as a backend spatial database for geographic information systems (GIS), much like ESRI’s SDE or Oracle’s Spatial extension. PostGIS follows the OpenGIS “Simple Features Specification for SQL” and has been certified as compliant with the “Types and Functions” profile.
The R Project for Statistical Computing – R is a language and environment for statistical computing and graphics. It is similar to the S language and environment which was developed at Bell Laboratories. R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.
MapServer - a development environment for building spatially-enabled internet applications. We use MapServer primarily for at rendering spatial data (maps, images, and vector data), and it can facilitate multiple projections (through Proj4)and many data formats. Mapserver is supported by many open source libraries such as GD, GDAL,
GRASS - Commonly referred to as GRASS, this is a Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization. This is primarily a desktop system utilized as a server process to write it’s output to PostGIS.
Zope3 — providing the web interface, web server, application logic and many content management functions such as workflow, site membership, role based security and integration of all application components. The user interfaces uses many Ajax and Javascript libraries, PrimaGIS, Nuxeo CPS and integration and logic customizations are written in Python and Python Cartographic Libraries(PCL.
One of the features of the open source development methodology is that experts are often available to provide training and support. In the case of Health Atlas Ireland, Sean Gilles (US — PCL author) and Kai Hainnenan (Finland – PrimaGIS) provided invaluable support for user interface and Mapserver integration while Otto Dassau (Germany ) of Nature Consult has provided training and coaching on GRASS.
Project code management is achieved with Subversion whereby each developer checks in code enhancements from their own development system, allowing us to maintain multiple system images at any one time. Each check in triggers BuildBot which runs a comprehensive suite of tests which minimizes regression testing at system level. Issues and errors are reported and tracked in Trac and notified by email to all users..
Going forward, the system will evolve in three broad areas
-
Addition of new health and environmental datasets, update of all existing datasets and correlation across datasets.
-
Addition of new functionality for statistical processing further utiliizing the available R libraries and further exploitation of available GRASS functionality.
-
Improvements in usability and provision of training to support broad usage throughout the Health Service Executive (HSE) and related agencies.
System Deployment
Due to the requirement to collaborate with multiple agencies within and outside the HSE, the system is deployed at Higher Education Authority Network (HEANET) which provides secure access, over the public Internet, to all public sector and private agencies.
There are currently two servers deployed, each running Xen Virtualisation on Linux. This allows us to implement separate instances for Development Staging, User Acceptance Testing, Production and Public access for each phase of the project currently in use.
Security
A number of artifacts are used to implement a stringent security model.
-
User access is by assignment to ‘Local Roles’ (Viewer, Researcher, Administrator) in defined Agency/Section Folders.
-
A Zope3 custom dataset utility allows the system to connect separate databases to agency folders, enabling agencies to administer their own data outside the Health Atlas.
-
User security is implemented through User Identifier and Password, maintained in an OpenLDAP database and managed through PhP Ldap Admin, enforcing strong passwords and periodic update.
-
Network security is implemented through Virtual Private Networks which ensure only named computers can access the system. HTTPS is used as the transmission protocol which encrypts data transmitted and ensures it cannot be intercepted.
-
Only port 80 is accessible from external and all Firewall rules are implemented in Iptables. Access for root via ssh is disabled and we use ssh access only to master Xen.
-
The system is monitored by OSSEC (sysem security through log monitoring), SNORT (network monitoring) and Nagios (system services). SNMP is used by Cacti to monitor system performance (load average, IO utilization and Network usage)b
The Metatrader 5 app allows trading enthusiasts to trade on world currencies from any location with an internet..