I’m sharing a project we’re currently working on at PSI-Sierra Leone and would like to receive feedback. I’ve created a basic proof of concept in Python to better describe what we’re aiming to create. You can find the project on GitHub: CBS_Supervision_Report
I’m particularly interested in hearing from others who have worked on similar projects using DHIS2. If you have experience in this area, I’d love to learn about your approach and any insights you’ve gained.
Thank you for sharing this interesting project along with the research it’s based on… perhaps calls for a more general discussion in Research - Recherches .
Since the reports on the Github repositories are screenshots, I’m wondering if they can be more interactive such as with added filters, changing styling…etc?
I’m wondering why the personalized report can’t be generated using the Reports app? Or a custom app in dhis2 itself? Any specific features that are covered by the python code that aren’t possible within the system itself?
I’ll move it there. Should I repost this, or is there a way to edit the tag?
Regarding the reports, they’re still very much a work in progress. One of the main requirements for this project is that it can function offline on virtually any device, which is why I went with a more static route. As for adding and changing filters, I’m currently focused on getting the script to work within the context of PSI-SL goals. The long-term aim is to create an open-source tool that can be used in a wider context, so adding more customization is a future goal. As for why I just posted screen shots I have not designed a sample report from sample data and didn’t want to post a real report given the nature of the data.
Concerning your question about DHIS2 reports, I posted this primarily to get feedback on potential existing tools that might be better suited for creating these personalized reports. I’ve seen multiple other projects implementing something similar, so I suspect tools already exist for this purpose, I am just not currently aware of any.
As for why I didn’t use the DHIS2 reports, there are a few reasons:
The PDF download button for the data set I’m looking at appears to be broken. It downloads a PDF, but it’s just raw HTML text without any formatting.
I couldn’t figure out how to query the report to download it programmatically through the API. These reports need to be created and delivered automatically because there will be over ~300 of them, delivered monthly. So it is not something that could be done by hand.
I’m unsure how to create my own report. There are numerous dropdown menu options, but none display the information in the format I need. The reports seem to be generated based on an HTML template. Is there a way to create a custom HTML template for a report in DHIS2?
Regarding the app:
I’m not entirely sure how to proceed with this approach. I’d be open to creating something this way if you could guide me in the right direction and if I have the necessary authorization and thought it would be applicable to this context.
As far as I’m aware, the peer supervisors don’t have access to DHIS2.
The goal is to create something that can be used offline on relatively low-tech devices. As far as I am aware any Android device with a browser can view PDFs, whereas a DHIS2 app would require installation and training. PDFs could be delivered through WhatsApp or some other messaging service, with most peer supervisors already knowing how to access them.
Why Python:
The main reason is that we’d like to perform analytics on data quality. Running more complex analyses on the data in the reports and adding these findings would be very easy to implement in Python, but I’m not sure how to do this in DHIS2. For example something like adding a chart showing the CHC or CHW performance in areas such as data quality compared with mean or best performing CHC or CHWs
Python offers more customization in terms of data visualization.
Honestly, Python is what I’m most familiar with.
Thank you for your response. I really appreciate it.