Existing Free and Open-Source Software (FOSS) for emergency coordination management leave a lot to be desired. SAHANA is a FOSS disaster management system that includes mapping features, but greatly lacks tracking features. Also, the entire mapping system for SAHANA depends on Google Maps, which requires a working Internet connection. Furthermore, although SAHANA can be operated in offline mode as a single instance on the local host, the only way to collaborate between multiple coordination centers is if an Internet or private network link exists between those centers and SAHANA is hosted on a webserver. In emergencies where infrastructure is down, SAHANA does not support independent coordination center operation followed by synchronization should infrastructure come back up or other synchronization strategies be developed (i.e. packet radio).
We would like to support all the basic features of SAHANA and provide a few others. Unfortunately, due to the way database entries are organized, synchronization between multiple coordination centers would be difficult and would need to be interactive (if multiple offline centers have added rows to their databases, there would be a lot of primary key collisions according to the way in which SAHANA stores entries in its database, requiring interactive negotiation). At the heart of our implementation is a database design that promotes synchronization by way of one-way digests. This is performed by prepending all primary keys in all tables with a unique identifier for the location that added that particular entry, or effectively moving toward a composite primary key model consisting of both an ID for the entry and the location.
Additionally, two versioning systems are required by this system. One system consists of marking each digest with an issue/edition number, allowing for ad hoc synchronization where some centers may redistribute updates on behalf of other centers. The other system consists of a timestamp for each entry of each database to mark changes that might be made by the same or a different center than the center that created the entry, so that entry update conflicts can be sorted and resolved. Every version of every entry will be stored so that when a particular entry is retrieved, an update history for that entry is visible along with a confirmation system.
The database model is currently in development, as is the core set of features and interface design, in coordination with K2CC's Emergency Response Team.