Developing and piloting a DHIS2 Android app for cold chain monitoring

Hi all,
My name is Filip Christoffer Larsen. I’m 25 years old from Fredrikstad, Norway. I am writing my master’s degree at the University of Oslo in programming and system architecture. Besides my studies, I have worked part-time as a developer. This post summarizes my work and pilot implementation of my CCM app in Mozambique’s Zambézia province.

The course IN5130: Platforms and ecosystem motivated me to write my thesis for DHIS2.
I love building technical solutions that can make work processes more efficient and helping others.

As part of my master thesis, I have integrated a cold chain application with the DHIS2 platform ecosystem, answering the global need for better Cold chain monitoring. I developed an artifact represented in a Minimum viable product (MVP) through design science research. The MVP is an Android application developed in Java, using Bluetooth Low Energy (BLE) to communicate with Bluetooth temperature sensors through the UART protocol. The application captures temperature readings, uploading temperature data to the tracker capture tool as events on a Tracked entity instance. To gain domain knowledge about development in the DHIS2 platform ecosystem, I attended the DHIS2 Android Academy (Digital) held by the Android development team. The academy gave me an introduction to the Android SDK and API structure.

Figure: System architecture.

Application demo: DHIS2 Cold Chain Monitoring Demo - YouTube


Duration: 6.Mars - 01.April

Pilot period: 16 days

Pilot area: Zambézia province

The number of facilities: 3 of 4.

First Week:
I lived in the capital of Mozambique - Maputo, working with the HISP group Saudigitus. The first week was about refactoring and fitting the application to the DHIS2 instance provided from their government servers. I was fixing minor performance issues and translating the application to Portuguese. The HISP group Saudigitus also worked on various exciting projects such as; covid, malaria, and education-related projects. I Attended different meetings and held demos of my application to stakeholders. Lastly, I planned the pilot together with Saudigitus and DPS Zambézia.

Second Week:
Flew to Quelimane. We faced some problems with the application not running on the Android devices provided. We demoed the application to the head of DPS Zambézia to get permission to pilot the app in the province. They were impressed and wanted the app on all 174 facilities in the province. After getting approval, we visited three health facilities - interviewing them regarding existing work processes. We then demoed the application, generally getting good feedback. Existing CCM processes were done on paper, writing down the morning and evening temperatures. The data was sent once a year to the vaccination program - not reported to DHIS2.

The third week:
We Implemented the application at three facilities. Because of the ongoing cyclone, we could not travel to the fourth facility - because the rain had destroyed the bridge to the last facility. Nevertheless, the pilot was successful. We visited each facility four times, training health workers on app usage, fixing bugs, conducting interviews, and observing. Health workers were reporting twice a day or more. An everyday use case is health workers vaccinating at rural locations. Because the sensors were portable, health workers wanted more to use in cooler boxes when going to rural areas. Because of the pilot, we also were invited to attend a polio campaign, using the app to monitor and capture temperatures going door to door vaccinating children.

Fourth Week:
Traveled back to Maputo, presenting the findings for Saudigitus. We discussed the future of the application and the importance of making it more generic to be production-ready.


We experienced the advantages and disadvantages of implementing a digital solution for CCM during the pilot. As of today, for a permanent implementation to be a success, there is a need for changes in work processes and generally better information concerning the importance of CCM. I hope my work can contribute to a conceptual idea of a technical CCM implementation and that DHIS2 can continue the work to implement CCM as a part of the platform core.


I want to thank HISP Saudigitus for facilitating my piloting of the app, arranging meetings, accessing health facilities, taking care of me, and giving me a fantastic educational experience. Mainly thanks to Alfredo, @David_Junior, @Emilio_Mosse, Fernando, and @zeferino. I also want to thank @marcos.campos from the DHIS2 Android team for always helping troubleshoot when I got application errors. Thanks to my supervisor @Johan_Ivar_Saebo for arranging my trip to Mozambique and for excellent guidance on the thesis. @George_McGuire for believing in me, helping with DHIS2 configuration, and providing lots of domain knowledge regarding CCM. And lastly, a big thanks to @Breno for including me in the LMIS team, always believing in me, and being a great travel companion to Mozambique.


| |
| |


Very interesting Filip. We are also looking for solutions for similar thoughts. Please keep us posted the update. I and my team will be in touch with you.

Hannan Khan


@Hannan, we are developing this along with a Cold Chain Equipment life cycle management and stock management tool. These are 3 key GAVI requirements, we can present where we are with each of these if you are interested. All the best!


Hi @Breno

Is there any working prototype available for testing? Can we have some discussion this week, if you are available to see how your use case matched with ours? Later during the annual conference, we can have more detailed discussions.

1 Like