This thread is regarding the “Export and import feature for the OMRS reporting module” project listed under available development projects in OpenMRS wiki (wiki project page). I’ve taken a great interest in the above-mentioned project which led me to do some background research on the subject. Since then I’ve been trying to get a good solid grasp on properly identifying and specifying the problem, in the process, I continued to read documentations and even contacted and had a discussion with @jayasanka, took part in a discussion we had on the same project in the last (2021-02-02T18:30:00Z) COVID Squad call (meeting notes). Within this thread, I will try to do a requirement gathering, starting by giving an overview of the project and will keep the thread updated as I move forward. Quick disclaimer, everything I state here is within the confines of my current understanding, so any correction or advice is greatly appreciated.
Overview and Problem Specification
Sharing metadata among different OpenMRS installations is a must-have feature. Currently, we have two modules which have the ability to export/import different types of metadata with regards to each module. They are,
OpenMRS metadata sharing module (Module that is designed to export/import metadata)
- Metadata types: Concepts, Htmlforms, Locations, Roles, Programs
DHIS connector module (Module that connects OpenMRS and dhis instances)
- Metadata types: report definition-dhis data element mapping
Whilst the absence of the report definition sharing feature doesn’t affect the metadata sharing module directly it is in fact the case in DHIS connector module’s export mapping workflow. Currently, if a user was to create a mapping between a report definition and dhis data element and export it out to be used in another OpenMRS installation we would have to manually create the report definitions in the exact same way on the second system as this module exports only the mapping which in user’s perspective is a huge inconvenience.
Is there any connection between concepts and report definitions?
Is there any other module other than the above-mentioned ones, that has the functionality to share metadata?
Is there any other module other than dhis connector that is directly affected by the absence of report definition sharing feature?
In addressing the problem which approach would be the most pragmatic?
- Under metadata sharing module as it is the module which is designed for sharing metadata
- Under dhis connector module as it is the most apparent module which is directly affected
- Under reporting module as it is the module which deals with report definitions
In my opinion, I think the most pragmatic way would be to design a solution to add the feature to dhis connector module to give it the ability to export/import report definitions alongside mappings. But at the same time, it does make sense to add the feature to the reporting module itself.
I will try to find more information on the matter while clearing the foggy areas I have with the intention to come up with the best possible solution.