Version 71 (modified by Fran Boon, 4 years ago) ( diff )


Ebola Response

After monitoring the Ebola Outbreak in West Africa over the past months, Sahana has identified a specific need from from a nurse in the field for improved Contact Tracing/Monitoring which we are able address. Sahana has rapidly responded by developing Contact Tracing/Monitoring module.

A demo site of this functionality is available here:

In order to deliver the maximum impact most effectively, Sahana deploys information management solutions in partnership with responding organisations. If you are responding to the Ebola Outbreak and need information management support, please contact

Sahana Modules for Ebola Response

Sahana is a mature Open Source Disaster Management Software solution, and as well as Contact Tracing/Monitoring, it has a variety of modules that could assist organisations responding to the Ebola Outbreak. Additionally it can be quickly customized and extended to produce solutions to new challenges that may be faced.

Contact Tracing/Monitoring

A key element of the fight against Ebola is to monitor all people that an infected person has come into contact with.

This consists of:

  • Take temperature 2 x a day
  • Asked about symptoms
  • Continue for 3 weeks

As soon as a person is in this monitoring state, then their contacts are also recorded. In the event that they show symptoms, or are tested positive, then their contacts are put into the enhanced monitoring state, and so on.

Currently this is a paper-based system which causes long delays (days) before people are put into the enhanced monitoring state, which obviously means they're likely to have more contacts & hence more deaths will occur. There is an old study about a similar system, related to sexually transmitted diseases, which shows that such a system can reduce the delay to get people into monitoring to less than 6-8 hours (provided you have enough resources for the monitoring itself).

Sahana can rapidly deploy a Contact Tracing/Monitoring solution for any organisations responding to the Ebola Outbreak.

Info to collect

Contact tracing depends on methodical data collection and logistics. WHO Guidelines describe a 3 elements that should be captured by this module:

  1. Contact identification
    1. Persons who lived with patient
    2. Persons who visited patient
    3. Places and persons visited by patient
    4. Health facilities visited
    5. Contact with dead body
  1. Contact listing
  2. Contact followup


  • Identify and digitize a suitable case investigation form
  • Review and incorporate Nigerian tracing methodology

The "contact_tracing" table records time and place (or alternatively "cirumstances" if no particular place can be given, e.g. when the infected person was travelling) where there might have been contacts - if you are not yet able to identify these contacts.

These records are organized by place and time, rather by case - because time and place are the primary connection between the case and the contacts. So in the investigation, you're looking for people who have been e.g. on that same market at the same time, or on the same flight.

That's what the Nigerians did - proximity scan. Who lives, works or visits regularily the places where an infected person has been staying - then follow up on these people. That's how they generated about 26,000 follow-ups out of 19 cases. -- The WHO standard procedure is though to record just the people who are known to have had close contact with the case, e.g. family members, health personnel, friends.

Those contacts are of course recorded directly under the case - on the contact tab. No "contact_tracing" record is required for that. -- In /any/ case of contact, the exact circumstances and exposure risk level for each known contact person are recorded in the contact_person record. Any high-risk exposure should automatically create a new case for the contact person as "at risk", and set its monitoring level to "routine monitoring". But this is actually a business rule and hence needs to be configurable (at least per disease, but maybe also per country). -- When a new contact is submitted under a "tracing" record, it should of course inherit the case_id (this isn't yet implemented) - and for that reason, the case_id field should not appear on the "contact persons" tab of a tracing.

This is the kind of stuff that still needs to be completed.

It would also need some help texts/tooltips here and there, and of course there needs to be access control. No way that such information can be publicly accessible - we would put people's lives at risk. --- By the way, this sort of "circumstantial tracing" is not only relevant to find contact persons, but also to identify contaminated places and things, e.g. medical equipment, which need to be decontaminated or incinerated (highly important /within/ medical facilities, and for first occurences).

But then, it is not suitable for all diseases - HIV or HCV for example do not require it as there is no indirect transmission mode. However, for airborne pathogens or anything that can be indirectly transmitted (like Ebola, or MRSA) this can be very relevant.

If you for example unknowingly treated an Ebola patient in an emergency unit without suitable protection equipment, then you may need to treat all staff and all subsequent patients in the same unit for the following 12 hours as possible contacts. However, since you didn't know, you may have sent away the patient, either to a more specialized hospital, or (as it happened) back home with some pain killers.

At the time when somebody then registers the case (which could be at a different hospital many miles away), they may not be able to identify those contacts. Instead they would record the situation, the time and the location - which ideally would send out (or at least trigger) an alert to your ER where you first treated the patient, both allowing you to decontaminate the place, and to start to identify and report any possible contact persons back to the case file.

That is why it is split into direct "contacts", and "tracing".

Ultimately, when you have identified all circumstantial contacts, you can close the "tracing" record (it has a status flag).

Note that "exposure" and "contact_person" are de facto the same thing - just from two different angles. "Exposure" means backwards - i.e. /this/ person had been exposed to a known case. "Contact" is forward - i.e. a person was exposed to /this/ case.

Thus, when you register a contact person for a case, the case automatically appears under "exposure" for that person - allowing you to trace backwards. And vice-versa: when you register an exposure, it would automatically appear as contact under the case this person was exposed to, allowing you to trace forward. --- ...from my previous description it should have become clear that ideally you should not need to register a new case under the "Exposure" tab - the source case should already be in the system by the time the current case is reported (how else would you know that it was an exposure?).

When a case is first registered under "Exposure", then something has gone wrong - and it will become complicated. Because: it means that somewhere there information flow was disrupted, and now we need to trace that original case and find its data (e.g. current status, diagnosis etc.).

So, in an ideal world, there should not be an AddResourceLink for a new case on the Exposure tab. But practically, I think it can and it will happen that cases are known but not registered, especially when people cross borders.

As you can imagine, this kind of "loose links" needs a solution - IMHO it must actually automatically search through all known databases for the data (especially the case number, but also status and diagnosis information) of the source case, and also report back the new case as contact.


How do we get the ongoing data into the system?

  • Cases
  • Contact Persons
  • Contact Monitoring Updates

The volunteers assessing the data do not carry around laptops, let alone are they connected to the internet. They currently use paper forms to report, which then need to be manually entered into the database after they returned to base. They do have mobile phones, though.

A key improvement to this process would be to allow mobile transmission of the data directly into the database, and notify field workers about new cases/contacts via mobile.


There has been a lot of interest in the effectiveness of the Nigerian contact tracing effort, please see

Personnel / Human Resources

Many of the responding organisations have identified a need for better personnel & human resources solutions.

Sahana's Personnel / Human Resources module is used by several different Red Cross National Societies around the world, so is proven to be flexible & mature.

Sahana can rapidly deploy a Personnel / Human Resources solution for any organisations responding to the Ebola Outbreak.

Logistics & Donation Management

Many of the responding organisations have identified a need for better logistics solutions.

Sahana can rapidly deploy a Logistics or Donation Management solution for any organisations responding to the Ebola Outbreak.

Single Organization

Sahana's logistics module is used by the Philippines Government Department of Social Welfare and Development (DSWD). It was used to manage the distribution of more aid than any other organisation during Typhoon Haiyan/Yolanda, so is proven to be mature and locally supportable.

Inter-Agency Coordination

Sahana's logistics module can also be use to support Inter-Agency Coordination

  • Request Management
  • Donation Management
  • Logistic information sharing

Sahana has been previously been piloted as the HELIOShare solution by various UK INGOs to share inventory and logistics capacity data with each other, without needing to modify their existing systems and internal processes. The logistics staff from these organisations gave very positive feedback about the utility of the system, yet there has not been an agency to lead the deployment of this solution. Ideally this would be done by the Logistics Cluster lead, as WFP in Liberia.

Hospital + Health Facility Management

Sahana's Hospital + Health Facility Management module can be used to manage locations including their status, capacities and requirements. This can be seen on our demo site here:

Sahana can rapidly deploy a Hospital + Health Facility Management solution for any organisations responding to the Ebola Outbreak.

Who's Doing What Where

Sahana has modules that can manage organisations, contacts, activities and projects which provide a Who's Doing What Where solution. The DRR Project Portal which is powered by Sahana has been sharing information on Disaster Risk Reducation Projects in the Asia Pacific for the past 4 years.

Sahana can rapidly deploy a Who's Doing What Where solution for any organisations responding to the Ebola Outbreak.

Custom Solutions

In addition to Sahana's existing modules, new modules can quickly be developed to provide custom solutions to new challenges that may be faced by organisations responding to the Ebola Outbreak. These solutions can easily be integrated into the existing modules as well as utilizing Sahana's full framework:

  • User Permissions & Security
  • Messaging (Email/SMS/Twitter/IVR)
  • Mapping
  • RESTful API
  • Offline Support

Sahana can rapidly deploy a custom solution for any organisations responding to the Ebola Outbreak.

Sahana Ebola Response

Sahana is currently working on a number tasks to be able to better support any requests for assistance, but will prioritize requests from any organisations responding to the Ebola Outbreak.

If you are interested in being involved in the Sahana Ebola Response you are welcome to contributing to any of these tasks. Please be aware that the Sahana Team is currently very busy with the response efforts, so will not be able to provide any additional assistance or guidance at this stage. If you are a new software developer it would be most valuable to follow the steps here: Want To Help Develop Sahana Eden?

A list of tasks is also documented here: Sahana Ebola Deployment Google Doc.

Contact Tracing/Monitoring

Constraints are that the system would need to work offline and on 5-8 year old hardware such as Windows laptops with IE7/8 and pre-Android phones.

My solution would be to bundle Firefox into the install and use SMS for mobile parts. This needs validating before we can action.


'Disease' as this is more widely applicable than Ebola, although Ebola is clearly the most pressing

Actioned: Fran


We want to be able to point people somewhere to see something real

Actioned: Fran


Many sources here:


GIS Locations for Guinea, Liberia & Sierra Leone

  • from GADM/COD with P-Codes from OCHA

Actioned: Fran - see GIS/Data

Health Facilities

Ebola-related Health facilities and their Orgs:

Actioned: Fran - see hospital.csv & organisation.csv

All health facilities (add .csv for the CSV version, as UI for link is b0rked):

ToDo: Remodel HMS to support:

  • multiple Types per Hospital: simple lookup & link tables [Action: Pat]
  • multiple Orgs per Hospital: Lead Org as integrated organisation_id & deployment_setting for multi like Project. Can add Role field in, although we have no data for that yet (e.g. infrastructure, inventory/supplies and health services)
    • Ideally we'd look at Auth issues too: allowing Staff from all Orgs to be able to update this Hospital's data...which gets a little more leave that part for now

Then update import XSLT/CSV inc KML (EDXL-HAVE needs updating to 2.0 anyway...see separate task)



Baseline Demographics (Population/Density):

Raw data from opendataforafrica in CSV here (needs converting to Sahana format):

Confirmed Cases by Lx by date:

Actioned: Fran - see (Latter file converted to our format - easy apart from Locations as-ever)

  • Confirmed Cases need to be converted to non-cumulative data and made updateable whenever a new version is released

Actioned: Graeme - see


  • TimeSlider widget to display the data on the map (etc)
  • Location groups for imports?
Item Catalog

protective gear, waste bins, disinfection and incineration materials, iv catheters, infusion sets, thermometers, blankets

In this format:

Try to find something to download, or just create one (can leave most fields blank, no problem)

Data Model

New 'disease' module

Actioned: Dominic


  • XSLT/CSV Imports of Cases
  • Pets


  • onaccept routine (run async where possible, even if unlikely on the older hardware we're talking) to flag record of contacts that need to go into enhanced monitoring...and provide a summarised list to the relevant person (email?) Do we notify the contact themselves via SMS?


  • A layer per HMS Facility Type with Differential markers for Status

Actioned: Fran


  • Simple reporting to see a list (& totals) of contacts that we should be monitoring and their status

UI / Design

  • Customise Homepage (although this can be minimal - doesn't need to look pretty! Just be functional)
  • Customise Menus
  • Customise Modules
    • Simplification of PR to minimum required for the usecase
      • pr_contact & pr_address as InlineComponents?
    • Simplification of HMS to minimum required for the usecase (which could start as zero with all referrals happening off-system)
  • Customise Dashboards / Visualizations - Mockups of potential solutions
  • User Guide / Support Text


If it is to be used in Guinea, we should ensure the relevant strings are translated into French


  • Test Requests for Hospitals
    • need to enable Requests module


  • Build Installer


  • Do we need Sync with a central server?

Other Modules

The follow tasks could also be valuable, but will be prioritised based on requests from organisations:

  • Develop a template for a simplified HR system which could be rapidly deployed by any of these Orgs
  • Develop a template for a simplified Logistics system which could be rapidly deployed by any of these Orgs
  • Develop a LogShare template to allow different organisations to share Logistics data with each other without needing to modify their internal processes.


We want to support any organisations who are responding to the Ebola Outbreak.

We are already engaging with the following organisations:

Please connect any other organisations (or others within the organisations listed above - they often have many branches) with Sahana ideally coordinating with Michael Howden <>.

See Also




Sierra Leone

General Background

Note: See TracWiki for help on using the wiki.