Go.Data for contact tracing in Nepal

Go.Data May 13, 2020

To take a break from my regular work schedule, I decided to work on something interesting that would help others and keep me motivated. I knew that the Ministry of Health and Population (MoHP) was working on interoperability for health systems in Nepal. There are several DHIS2 systems working separately in various facilities in Nepal. The problem with these systems was that they were all isolated from each other and there lacked a common system which would connect all of them together. This would allow us to view any data from a single system rather than dwelling from one system to another. This was an interesting challenge for me so I started working on it. It took me a week to figure out how I would implement this and I went to my seniors to share the idea. By then, however, my country was hit by the Corona Virus (COVID-19). The country’s first case was detected and everyone was focused towards working on COVID-19 cases. Although I was planning on proposing a solution to the 'interoperability' problem, a few days later I was called by a team at GiZ to work on COVID-19 systems. With no regrets, I accepted the offer since it was an opportunity for me to work on building a system for contact tracing Nepal. Basically, contact tracing is the process of identifying the people who were in close contact with a particular person. In our case, contact tracing was used for the identification of people who were in contact with COVID-19 suspects. I was hired as a consultant to work on an app called 'Go.Data'.

What is Go.Data ?

Go.Data is an outbreak investigation tool for field data collection in emergency situations.  The main functionality of this app are :

  • case investigation
  • contact follow-up
  • visualization of chains of transmission

Go.Data is the initiative of a group of public health partners and is managed by the Global Outbreak and Response Network coordinated by WHO.


So, i started working on Go.Data, went through its documentation and learnt about Go.Data within a few days. The first priority for us was to convert the physical form to digital forms.
The task was easy but challenging at the same time. while paper form was quiet redundant and no ones bothers since it is just a matter of second to write it in paper but in digital form people bothers since the same things if asked times will makes people go crazy. we evaluated he forms several times and were able to create forms for contact investigations ,
contact follow up and suspect case. these three forms make it clear for health experts to evaluate the suspect history, its condition and mode of transmission that could have taken place to reach the other people.

So, how does Go.Data works:

Let's suppose a patient is suspected with COVID-19. he/she is registered to the system.

Registration Form

A series of question is asked to the patient to know this mode of transportation, this close contacts, symptoms


After filling all the info about the patient then contract tracing is done by asking him about the close contact information which is a seperate form with the contacts information.
After all the information is filled. Now, we have all the info of the patients , his contacts. So you might think how does this help us in tracing the contact.

Now, the interesting things about Go.Data is its follow up schedules and visualization graphs.
After all the information are filled, Go.Data can automatically generates us with follow up schedules after knowing the last date of the contact. so looking at the graph we can see the number of people which has been followed and which are left to follow.

follow up graph

Also, with all the gathered data, a  key program indicators can be generated letting us know the independent chain of transmissions, contacts per cases, contact becoming cases, contact with successful followup etc.


The most interesting graphs is the chain of transmission graph which help to track down the contact and cases very easily. we could find the source and contact and contact being source very easily.

Beyond Go.Data

Chain of Transmission

SMS system for knowing patient response

Go.Data itself was a complete package for a well managed data collect and visualization tools. but an idea of integrating a SMS system with this tool made this project more lively.
The plan was to send SMS to all the contract traced for 14 days from the date of contact and know their status(well, not well). So, phone number could be extracted from the system and a SMS was sent and the response was sent to server we built which eventually save the data to Go.Data Servers.

Automatically generating followups and deducing number if already checked.

The problem with Go.Data was followup schedule needs to be created manually. So, every time new contact was created , the follow up list must be manually generated by going through a process which was tedious. so, we planned on creating a cronjob (a service that run in regular time) to create a follow up list.

Again, the problem with the auto generated list was it generated all the list(tested or not tested). we only need the patient who were not tested. So again, a script to avoid listing a user who were not tested was written to avoid this problem.

Complete workflow diagram for contrac tracing

The whole project was a great experience for me . I was able see the  proper use of data and data turned into information to provide a valuable meaning. Also, contributing directly/indirectly to help nation fight against COVID-19 is a great feeling indeed.

Rohit Shrestha

have a keen interest in building web applications Currently, I work as a consultant for various health-related agencies to leverage the power of data and improve their system for maximum efficiency.