ITECH Kenya presentation on OpenMRS Developers Forum
-
Upload
djazayeri -
Category
Technology
-
view
1.400 -
download
0
description
Transcript of ITECH Kenya presentation on OpenMRS Developers Forum
OpenMRS Kenya EMRThe first OpenMRS “Distribution”
openmrskenya.blogspot.com
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.
What’s a “Distribution”?
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
What are we using?
…and the Kenya EMR module to tie it all together
Devs
MVP/CIEL Dictionary
Server*
Form Development
Server
Official Metadata
Server
Final forms (via MDS)
Dictionary updates(currently via SQL dump)
MoH Content(Facility
index, etc)
VMPackaging
Distribution ZIP
DevsDevs
github
Facilities FacilitiesFacilities Facilities…
Facilities ping Official Metadata Server for new distro versions
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”
Metadata Sharing Module
Thank you Rafal and Piotr!
We MDS with versioning
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
HTML Form Entry Module
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
UI Framework & Library Modules
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
App Framework Module
Simple Role-Based Workflows
Activator that loads MDS packages at startup
MetadataConstants.java, defining all our metadata by UUID
User Interface◦ Lots of controllers and GSPs◦ A bit of Javascript
Maven script for building the distribution
Kenya EMR Module (the glue)
mvn package –DbuildDistro=true◦ Builds the kenyaemr omod project◦ Fetches omod files from modules.openmrs.org
Using a snapshot version of a dependent module takes extra work--which is good! Currently only MDS.
Could be more elegant, but it works.
Building the Distro
Package a bunch of omod files in a ZIP Load them all in one atomic action Figures out the dependencies
Module Distro Module
Upload a new distribution zip file. moduledistro figures out what to do.
Easy!
Next step:automaticdownloads
Upgrading the Distribution
1. Start with OpenMRS 1.9◦ Remove bundled
modules◦ Bundle just the
moduledistro module
2. Get the MVP/CIEL dictionary
Easy as 1-2-3
3. Upload our distribution zip
The zip contains just omod files.◦ moduledistro figures
out how to start them in the right order
◦ kenyaemr.omod has content as MDS packages
Easy as 1-2-3
That’s all.
That’s almost all.
A few things absolutelyneed to be managed locally
Demo -- not yet complete :-)◦ https://69.91.227.205/openmrs◦ User/pass = demo/demo
Code is on github:◦ github.com/djazayeri/openmrs-module-kenyaemr◦ github.com/djazayeri/openmrs-module-uiframework◦ github.com/djazayeri/openmrs-module-uilibrary◦ github.com/djazayeri/openmrs-module-appframework◦ github.com/PIH/openmrs-module-moduledistro
Everything except the Kenya EMR module is in the module repository
Follow our progress at openmrskenya.blogspot.com
Check out our work