OpenCHS or not? [Part one]

Vinay Venu
Samanvay
Published in
9 min readAug 5, 2019

This article might help if you are evaluating OpenCHS for your organization.

There are several mobile data collection (MDC) tools available, many of which are free to use. Cartoblog has listed several of them and performed a nice analysis. You can view the analysis here.

It is easy to get overwhelmed by the options available. This is a two-part post. In this first part, I give a brief idea of where OpenCHS would be a good fit, and where it wouldn’t. In the next part, I will talk about other tools available, and which ones you might need based on your use case.

I wish to empower field workers who have (or can be provided with) Android phones

OpenCHS is built for this use case, so if you don’t, its time to stop reading here.

Do I have a data problem?

Many feel they have a data problem, but they don’t. Some feel they are on top of their data, but they are not. How do you know?

If you track 10 indicators for 100 beneficiaries monthly for a year, you are handling 12,000 units of information! Each unit needs to be correct (no pregnant males or 102-year-old children). The data collection requires 1200 visits that are time-sensitive. The field workers need to know what data has to be collected, and what has not been collected for this month. It requires a lot of discipline to ensure everything is done on time.

Your field worker might have to perform certain actions based on answers provided during a visit. Actions can include immediate counseling, or providing advice and following up after a few days. These actions are important for the success of the program and are the hardest to ensure where there are no structured questionnaires, or if implementing such a questionnaire is complex.

If your fieldworker writes notes in paper and later uploads to a spreadsheet for someone else to analyze, you can have issues of inconsistency. There are two reasons for this. First, any copy of data will inevitably lead to data entry errors. The second is an incentive problem. The uploaded data is not directly being used by the fieldworker, so there is no incentive to keep it accurate. You may be able to reduce these errors through regular audits, but can you ever be completely sure all your fieldworkers are accurate in their data entry? We have seen too many cases of fieldworker apathy to be convinced otherwise.

The hardest parts of service delivery in case management are where you need to contextualize your questions during a visit based on all the previous visits you have made. For example, when talking to a pregnant woman, you need to remind her of vaccinations to take at every visit after 14 weeks until she has completed them, and never afterward. Vaccinations are a very important part of service delivery in this scenario, and it is error-prone for a human sifting through notes, remembering the current week of gestation, and verifying if vaccination is complete.

A simple test to check if you really have a data problem, and need a system to manage information is here
1. Do you manage more than 10,000 units of information?
2. Do you spend a lot of time coordinating to get your data on time?
3. Is the internal data consistency of collected data good enough?
4. Are your field workers asking all the relevant questions, and performing all the necessary actions relevant to the situation? If yes, can you prove it?

These questions will help you decide if you need to have an IT system.

I need case management

Case management is several features bundled into one. Different MDC solutions offer differing levels of case management. Be careful to look at your use case, and all the different features of case management you will require. It is at this level that most of your decisions will be made.

At the most basic level, a system that provides case management allows you to create a “subject” and record data against that subject over time. A subject can be an individual, a dam, a building, an area, or anything else. You might need to view how that subject evolved over time, or how the entire population of subjects did.

There are some features you will need for this basic level of case management, robust forms with skip logic, GPS tracking, calculated fields, analytical reports, etc. Many mature software solutions will have these features. There are a bunch of advanced features that you may not think of. See below for a list of such features.

Advanced features

Planned visits — You might plan visits based on time, or based on other data (say, a followup visit for a specific reason). You might have special rules to cancel some specific visits. You might need to plan visits for a relative.

Multiple activities in the same visit — When you visit someone, you might have to perform multiple activities. Fieldworkers frequently provide more than one service to the same person, it only makes sense to do everything for a subject together so that there is no need for another visit later.

Same subject, multiple programs — A subject can be enrolled in multiple programs. For example, a woman might be enrolled in a pregnancy program, a hypertension program. You might also decide one day to roll out a cancer screening program one day for all of them. Each program can have its own list of forms, scheduled visits, etc.

Dependencies between programs — The programs could have dependencies. You might want a person to automatically enroll in a cessation program if you are running a survey, and find someone who is addicted and is willing to join it.

Different subject types — As an organization, you might also have multiple types of subjects. You might need to record data against beneficiaries but also have the need to record other group activities that are not related to the subject. You don’t need another system to manage that data.

Visibility of data — Who gets to see what data can be important for your use case. Every MDC provider is different. OpenCHS currently limits data to be viewed by everyone who is in charge of a “catchment” — a group of subjects demarcated by the area where they serve. Some solutions also offer this at a form element level, which piece of information a user can see.

There is a tradeoff that all software solutions make when it comes to flexibility. More the configuration options available in a solution, harder the implementation. OpenCHS is close to the right end of the spectrum on the customisability scale. We believe that features that allow doing the right things easy and the wrong things hard are important for the overall success of any program.

My field workers work in areas with limited or no data coverage?

Good mobile applications strive to provide progressive degradation. This means that the features of the app work well when there is good internet, and features progressively degrade based on network availability.

Youtube is a good example. As the network degrades, the app first reduces video resolution, then starts buffering. When it is clear there is no network, it shows only downloaded offline videos.

Mobile data collection is different. Field workers will need almost all features to strictly work offline. Reliability cannot be a function of network coverage.

All features of OpenCHS except syncing with the server work completely offline. If this is a requirement for you, OpenCHS can be a good fit.

I would like to maintain my own servers and infrastructure

If you like OpenCHS, and absolutely want to install your software in-house, go ahead. OpenCHS, like many other MDC tools, is open source. But do it with caution.

There used to be a time when every company had its own servers to host its website, email, blog, documentation, task backlogs, test servers and code repositories, and a lot of its needs itself. Not anymore. With the advent of SaaS solutions for many of these. And with good reason.

  1. It requires a lot of talent to maintain multiple types of servers. If you are less than 1000 employees, I bet you don’t host your email yourself. Even huge companies are moving towards hosted solutions such as Gmail and Microsoft 365.
  2. Absence of talent means that engineers that run your servers will not be able to provide the same levels of software reliability as those who solely do it to earn their bread.
  3. Leaving aside all the complexities of running different types of servers, you would also need to monitor your networks and hardware. What would you do if your server disk is full? One of the switches/routers are broken? What if the engineer responsible is on leave? There are just too many failure points to worry about.
  4. Updates. Local deployments usually don’t try to upgrade to avoid the time and effort required. By having a cloud-based service that you just sign up for, you get all the new goodies automatically in your system. You are already enjoying this on a lot of software. Enterprise software should not be any different.
  5. If you care about your carbon footprint, you will be happy to know that we serve all of the production infrastructure for OpenCHS for more than a dozen customers with just 3 shared CPUs and 3GB RAM(a laptop with an Intel i7 has more resources than that). And we are nowhere near getting saturated. Imagine all the wasted time and money trying to install individual servers for each of these implementations, traveling to each location performing upgrades, fixing full disks, etc.

At Samanvay, we strictly do not own any infrastructure other than our own laptops. Where possible, we use an existing service. Life is just easier that way. We let the experts manage things that we don’t have to.

And we apply the same principles to software we create. We believe OpenCHS is best served via SaaS.

Our data needs to be encrypted

OpenCHS encrypts data at rest on the server and during transport (through TLS). There is a lot of sensitive data coming through our servers, and we take the security of your data seriously.

Does your system need the user interface and forms to be in your local language?

It is common for several organizations to build their own systems because they like another, but cannot use it because it is not built in their own language.

OpenCHS is currently available in English, Hindi, Gujarati, and Marathi. It is, however, designed to work with any language (left-to-right only). If you like OpenCHS but would like to use it in your own language, write to us. We would be happy to translate it.

I need data sharing between users within a catchment

Catchments are areas where one or more field workers are deployed. They have full access to data in their catchments. There are supervisors who will look at data across catchments to ensure quality/service delivery or perform analytics/research.
Many MDC platforms provide single field worker catchments or provide access to all users. If you need to divide data based on catchments, OpenCHS can work well.

I know someone who has used OpenCHS to solve the exact problem I have. Can I use their solution?

This is good news. Implementation is usually what takes up the most time and cost. If someone already has built something very similar to what you need, you can copy over from them and get a jump start.

I have other technical requirements such as migration from a different system, or direct integration into a different piece of software.

Although we have not published it, OpenCHS does have an internal API for import/export of data. Every migration or integration has to be taken up on a case-to-case basis, so talk to us if you need anything done.

I need a web interface for some users for desktop usage

Although collecting data on the field is the primary purpose of OpenCHS, sometimes, there is a data entry operator that enters some piece of information from a desktop computer. They will need a web version where they can add this information.

At the time of writing this document, we are still building a web interface for OpenCHS. If your need is “right now”, you might want to skip OpenCHS.

I am doing a survey

A survey is a subset of what you will need to do case management, so from that perspective, OpenCHS can support it. However, it is not yet a native feature, so your users might not find it intuitive. You might also miss other features such as anonymous submissions (again, can be done, but is clunky), Google sheets integration, etc.

I would, however, recommend OpenCHS for a survey if you already are an OpenCHS user, and need to perform a one-off survey. It will also be useful if you want case management, and are starting with a baseline survey. All that information that you collected is right there when you start the real intervention.

Hopefully, this answers many of your questions, but if you have any, comment below, or ask us at hello@samanvayfoundation.org.

--

--