ITECH Kenya presentation on OpenMRS Developers Forum

19
OpenMRS Kenya EMR The first OpenMRS “Distribution” openmrskenya.blogspot.com

description

 

Transcript of ITECH Kenya presentation on OpenMRS Developers Forum

Page 1: ITECH Kenya presentation on OpenMRS Developers Forum

OpenMRS Kenya EMRThe first OpenMRS “Distribution”

openmrskenya.blogspot.com

Page 2: ITECH Kenya presentation on OpenMRS Developers Forum

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”?

Page 3: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 4: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 5: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 6: ITECH Kenya presentation on OpenMRS Developers Forum

Thank you Rafal and Piotr!

We MDS with versioning

Page 7: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 8: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 9: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 10: ITECH Kenya presentation on OpenMRS Developers Forum

Simple Role-Based Workflows

Page 11: ITECH Kenya presentation on OpenMRS Developers Forum

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)

Page 12: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 13: ITECH Kenya presentation on OpenMRS Developers Forum

Package a bunch of omod files in a ZIP Load them all in one atomic action Figures out the dependencies

Module Distro Module

Page 14: ITECH Kenya presentation on OpenMRS Developers Forum

Upload a new distribution zip file. moduledistro figures out what to do.

Easy!

Next step:automaticdownloads

Upgrading the Distribution

Page 15: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 16: ITECH Kenya presentation on OpenMRS Developers Forum

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

Page 17: ITECH Kenya presentation on OpenMRS Developers Forum

That’s all.

Page 18: ITECH Kenya presentation on OpenMRS Developers Forum

That’s almost all.

A few things absolutelyneed to be managed locally

Page 19: ITECH Kenya presentation on OpenMRS Developers Forum

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