Technical Overview

Digital health apps powered by the Community Health Toolkit can have a number of underlying technical components, packaged with a custom name or brand. The design, development, and deployment process can vary in complexity depending on how these components are used. While there are many concrete technical advantages to building on an established framework, one of the most important benefits is that building with an open community is more fun than going alone!

Community Health toolkit

Community Health Application Framework

The Community Health Application Framework supports extensive customization, and makes the development process dramatically faster, more reliable, more interoperable, and more secure than coding a digital health app from scratch. According to OpenHub.net, the framework core is in the top 10% globally of highly-active open source projects. In addition to the core repository, the framework includes a developer environment, a beautiful icon library, an SMS gateway, a native Android container for running the web-app on Android devices, and a command line interface that supports app development, data management, and testing.

The app framework enables developers to rapidly deploy more features and customize them in more nuanced ways than is possible with approaches that don’t involve coding, such as drag and drop form builders. This combination of a streamlined, yet powerfully flexible app development toolkit is what has made the CHT particularly useful for highly advanced community health programs, which often have complex task management, decision support, and performance management needs.

Another important advantage of this framework is that it was designed to support responsive web applications. This means that the app you build will work on smartphones, tablets and computers, with an interface that automatically adapts to the users’ device, whereas a typical Android app will only work on smartphones and tablets.

If you’re interested in contributing to the framework itself, check out our list of Help Wanted issues on Github. That said, most app developers focus on using and extending the framework’s functionality by writing application code and setting up integrations.

Application Code

From a technical perspective, developing a custom app begins with writing and testing XForms, JSON, and JavaScript code that configure the framework’s core features to run in a specified manner. As an app developer, you define each element in your app in a modular way, and then specify when and how it should appear in the user interface. In this way, you can write code that customizes how the core features are displayed to different types of users, without having to modify the underlying framework. Collectively, this customization and configuration code is referred to as application code.

Apps developed on this framework are open source, and can be used as templates for building new community health apps. In the coming months, we plan to update and release documentation for a number of reference applications, to make it easier for the wider community to tinker with, understand, and reuse the apps that the CHT community has developed.


Complementary Apps and Integrations

Designing a community health app that integrates with the broader digital health ecosystem is a powerful opportunity to support more integrated and proactive patient care. The CHT is designed to complement standalone apps that run on the health workers’ smartphone or tablet, and to support more complex backend integrations via the framework core’s API.

In 2019 we plan to release more documentation about different types of complementary apps and integrations. Important examples include the OppiaMobile app for health worker learning material and quizzes, a computer vision app that reads rapid diagnostic tests, and integrations with electronic health records and health information management systems such as OpenMRS and DHIS2. If you’d like to propose or build an integration, feel free to reach out!


Developer Sandbox

The Sandbox is intended for developers who would like to get the dev environment set up on their machine, use the command line interface to build a demo with datasets, and start tinkering with the application code files that power the demo. 


Framework Roadmap and Release Notes

The Community Health App Framework is constantly evolving and improving with new contributions from the community. For a sneak peek of where the framework is headed, check out the product roadmaps.

Follow the link below for the latest release notes!