Go to the main page

Extend DHIS2 functionality and integrate with other systems

Need to expand the functionality of your DHIS2 system beyond its built-in features? No problem! DHIS2 is designed from the ground up to be fully open and extensible, making it easy to add your own innovative components and connect DHIS2 to other software and data sources.

Jump to a section on this page

    Leverage the power of DHIS2’s fully open API

    The DHIS2 Web API facilitates interoperability, integration, data exchange, and the design of custom applications for DHIS2. Through our REST-based API, it is possible for both external systems and internal applications to access and manipulate data stored in an instance of DHIS2. It provides a programmatic interface to all of the core DHIS2 functionality. The internal DHIS2 web applications use this same API, meaning that anything the core applications can be achieved programmatically or from a custom interface. The API is accessible for integration with third-party software applications, web portals, mobile and web applications, custom scripts, and more. Our API is fully open and well-documented, making it easy for developers and technical implementers to work with.

    Add functionality with custom applications

    If you need to add additional functionalities to DHIS2, custom applications offer a solution. DHIS2 is designed as an application platform, and provides a framework and shared resources that streamline the process of developing and incorporating your own custom web and Android applications to your DHIS2 system. You can download and install existing custom web applications from the DHIS2 App Hub, which features apps developed by the DHIS2 core team, the HISP network, and others in the global DHIS2 community–all of which have passed our review for code quality and security. If you have a custom app that you think would be useful to others, you can submit it to the App Hub to share it with the world!

    Enhance DHIS2 apps with plug-ins and widgets

    While the core DHIS2 apps are designed to accommodate a wide range of configuration options, organizations sometimes have specific requirements that go beyond the limits of what these apps can do out of the box. To make it easier to add custom functionalities to DHIS2 data entry forms and dashboards, DHIS2 supports plug-ins which allow developers to enhance the functionality of the core applications in a targeted way, focusing only on the specific feature or field you want to add, without the need to develop an entirely new data entry application from scratch, drastically reducing the amount of work required.

    Integrate DHIS2 with other software systems

    While the DHIS2 platform offers a robust and flexible set of tools for data collection, analysis, and management, there are often reasons for connecting it with other systems, such as data collection tools, advanced analytics platforms, sector-specific software and hardware, and legacy systems. DHIS2 is designed to support software interoperability, thanks to its open API, flexible data model, and support for global data standards, such as ADX for aggregate data and FHIR for individual records. This makes it possible to integrate DHIS2 directly–or through middleware solutions like OpenFN, OpenHIM, and Apache Camel–with any other integration-ready system. The DHIS2 Camel component also allows you to connect DHIS2 to other platforms with Camel components, such as WhatsApp and Salesforce, or in any integration where you are using Camel as middleware. Visit our integration page for a list of some of the popular systems that support integration with DHIS2.

    Safely incorporate external services into DHIS2

    The DHIS2 Route API and Route Manager app allow you to safely incorporate external services into DHIS2, such as through a plug-in or a custom app, by enabling seamless and secure communication with external HTTP services outside of the main DHIS2 API. For example, you can connect a Tracker program with a national civil registry to automatically populate individual records with biographic data, link your organisation unit hierarchy to a facility registry to ensure alignment, or utilize an external terminology service to facilitate semantic interoperability. The Route API protects these external services by applying DHIS2 user authorization and fine-grained sharing rules. It also supports multiple schemes for authenticating with the external service, making it a secure and simple solution for integrating external services with DHIS2 apps.

    Share DHIS2 data with external stakeholders

    With the DHIS2 API, you can import and export data automatically, allowing you to pull data into DHIS2 in real time and to use DHIS2 data to power public information portals and interactive metrics dashboards on external websites. This allows you to expand the audience for DHIS2 data outputs in a secure way.

    Trigger automatic actions in external systems

    DHIS2 allows you to trigger actions and updates in other systems in real time through the DHIS2 Event Hook API, a powerful tool that can help you automate your workflows and keep your systems in sync with each other. It currently allows users to subscribe to two types of events that occur within the DHIS2, metadata events and scheduler events, and to send the event notifications to a specific target such as an HTTP webhook, a JMS queue, or Apache Kafka. For example, you could set up an event hook that listens for changes to data elements in your metadata, and then sends a webhook to another system to update their records accordingly.

    Get flexible and fine-tuned views of your data and metadata

    To make it easier to extract the information you need from your DHIS2 database, DHIS2 supports custom SQL views, which can be used for creating and retrieving views of any data and metadata in your DHIS2 system. For example, you could use this functionality to generate a view of all organization units with their names, parent names, organization unit level and name, and the coordinates listed in the database. SQL views also support filtering, allowing you to fetch only the data rows you are interested in.

    Import, export, and synchronize data

    To get a holistic picture, organizations frequently want to combine data collected directly in DHIS2 with data from other sources. This can involve bringing external data into DHIS2, sending DHIS2 data to another platform, or connecting multiple DHIS2 systems with each other. DHIS2 allows you to set up scheduled integration workflows that support automatic data import and export, helping you get all of your data in one place, and keep it synchronized across platforms.

    Learn more about DHIS2 extensibility tools

    Use the links below to find out more about DHIS2 tools that support extensibility, read the documentation, and download the latest software versions and resources.

    Web API

    DHIS2’s fully open REST-based Web API gives you a power tool for extending your DHIS2 system.

    Learn more

    Web App Developer Tools & SDK

    The DHIS2 core team provides these resources to make it easier for you to develop your own custom web and Android apps for DHIS2.

    Developer Resources

    Data Store & Route Manager

    These front-end applications are core DHIS2 features that support extensibility.

    Data Store

    Route Manager

    DHIS2 Camel component

    An Apache Camel module that allows developers to integrate Camel middleware applications with DHIS2.

    Learn more

    App Management

    With the App Management app, you can manage and update the apps you have installed in your DHIS2 system, and install new ones yourself.

    Learn more

    App Hub

    The DHIS2 App Hub offers you a platform to share the apps that you develop with the global DHIS2 community.

    Learn more

    Resources on DHIS2 extensibility

    Want to learn more about extending DHIS2? Check out these free resources on the DHIS2 Developer Portal:

    You can also sign up for in-person training courses on extensibility-related topics through the DHIS2 Academy.