Final presentation showing all features implemented during Google Summer of Code 2011
OpenMRS is a highly-configurable system, with lots of generic functionality. The advantage of this is that it's a very powerful and flexible system, but it does have a cost too: using OpenMRS requires defining a large quantity of metadata. After installing OpenMRS, a system administrator will typically have to create Locations (e.g. "Harborview Hospital"), Encounter Types (e.g. "Outpatient Consultation"), and even concepts (e.g. "Weight" and "Hematocrit").
Some of this metadata truly needs to be created by the administrator of the application: for example the particular list of satellite clinics that a hospital is serving are not likely to be shared by other users of the OpenMRS system. But some metadata should be shared among different OpenMRS users. For example a successful Malaria treatment program might want to share a package, consisting of an intake form, a followup form, a summary report, plus hundreds of supporting questions, answers, and calculations.
The Metadata Sharing Module, originally written during GSoC 2010 lets an administrator select a set of metadata, and it generates an export "package" of those metadata and all their dependencies as a zip file. That zip file can be manually shared with other OpenMRS users. So our hypothetical Malaria treatment program could share its metadata package with other projects interested in replicating their program.
The goal of this project is to take the Metadata Sharing Module to the next level, workflow-wise, by allowing metadata packages to be versioned, and introducing a publish/subscribe model.