ITECH Kenya presentation on OpenMRS Developers Forum

Uploaded on


More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. The first OpenMRS “Distribution”
  • 2.  Deploy OpenMRS to hundreds of facilities …without hundreds of sysadmins …“few moving parts” Consistent configuration everywhere …shared metadata …never manually modify configuration …centrally managed via modules “Distribution” means a packaged, pre-configured OpenMRS, with a custom UI for specific workflows.
  • 3.  OpenMRS 1.9 (we want Visits) MVP/CIEL Concept Dictionary Metadata Sharing HTML Form Entry HTML Form Entry 1.9 Extensions UI Framework UI Library App Framework …and the Kenya EMR module to tie it all together
  • 4. MoH Content (Facility MVP/CIEL Dictionary updates Dictionaryindex, etc) (currently via SQL dump) Server* Official Form Final forms Devs Metadata Development Devs (via MDS) Devs Server Server github Distribution ZIP VM Packaging Facilities ping Official Metadata Server for new distro versions … Facilities Facilities Facilities Facilities
  • 5.  Distribution “content” = MDS packages, included in our Also used to move completed forms from Form Development server to Official Metadata server ◦ Validate forms to ensure they only refer to MVP/CIEL concepts before they are “final”
  • 6.  Thank you Rafal and Piotr!
  • 7.  Works with Metadata Sharing, so it fits in our distribution model ◦ Allows for distributed form development Just HTML, so it’s easy to embed forms in our UI workflows
  • 8.  We want simple UI workflows, custom-built for our use case. UI Framework makes these quick to develop ◦ good support for AJAX-y actions ◦ zero module redeployments Widgets intended for reuse by others go in the UI Library module
  • 9.  Lots of apps, each encapsulating a specific limited workflow ◦ Front Desk Registration ◦ Vitals/Triage station ◦ Medical Encounter ◦ Medical Chart ◦ Lab Result Entry ◦ Reports ◦ Admin Enable apps for specific users via privileges
  • 10.  Activator that loads MDS packages at startup, defining all our metadata by UUID User Interface ◦ Lots of controllers and GSPs ◦ A bit of Javascript Maven script for building the distribution
  • 11.  mvn package –DbuildDistro=true ◦ Builds the kenyaemromod project ◦ Fetches omod files from  Using a snapshot version of a dependent module takes extra work--which is good! Currently only MDS. Could be more elegant, but it works.
  • 12.  Package a bunch of omod files in a ZIP Load them all in one atomic action Figures out the dependencies
  • 13.  Upload a new distribution zip file. moduledistro figures out what to do. Easy! Next step: automatic downloads
  • 14.  1. Start with OpenMRS 1.9 ◦ Remove bundled modules ◦ Bundle just the moduledistromodule 2. Get the MVP/CIEL dictionary
  • 15.  3. Upload our distribution zip The zip contains just omod files. ◦ moduledistro figures out how to start them in the right order ◦ kenyaemr.omodhas content as MDS packages
  • 16. A few things absolutelyneed to be managed locally
  • 17.  Demo -- not yet complete :-) ◦ ◦ User/pass = demo/demo Code is on github: ◦ ◦ ◦ ◦ ◦ Everything except the Kenya EMR module is in the module repository Follow our progress at