2015-04-30 Developers Forum

How to Join

 Click here to expand...


By Browser

By telephone

  • US telephone number: +1 201.479.2627



  • Quickly review previous meeting minutes (5 min)
  • OpenERP showcase w/ Bahmni
  • OpenMRS 2.2 retrospective
  • Review next meeting agenda


View at notes.openmrs.org


OpenMRS Developers Forum 2015-04-23
Recording:   (Audio) https://connect.iu.edu/p4xl96muqt8/  (Adobe® Flash®)
  • Burke Mamlin
  • Michael Downey
  • Mhawila "Willa" Mhawila
  • Wyclif Luyima
  • Sara Armson
  • Maurya Kummamuru
  • Ryan Yates
  • Tomasz Mueller
  • Mike Seaton
  • Jamie Thomas
  • Ada Yeung
  • Manika Praveenkumar Maheshwari
  • vinkesh
  • Shruthi Dipali
  • Tharunya
  • Sharon Varghese
  • Paul Biondich
  • Daniel Kayiwa
  • Angshu
Agenda & Notes
  • Review last week TODOs
  • TODO: Burke to notify presenters about their dev forum topics
  • TODO: Someone to Set up CI builds for MariaDB, PostgreSQL, and SQLServer, Oracle (We assume these will not be green lights)
  • TODO: Someone to Create tickets to address problems that occur for alternate DBs
  • TODO: Someone to Schedule sprint(s) to address DB tickets
  • TODO: Someone to push for mocks over integration tests
  • TODO: Someone to document how to test within IDE in dev pages in wiki
  • OpenMRS 2.2 retrospective
  • What did you expect to happen?
  • I expected it to be released in March (at the very very end of March)
  • Contain contributions from a ton of people
  • Run on Platform 1.11.0
  • This is a BIG deal, because 1.11 contains 18+ months of community contributions
  • Expected (more) hoopla (e.g., cake) at the release
  • I Expected lot of implementer interest
  • I expected someone else (i.e. not me, Darius) to do most of the work
  • What actually happened?
  • Did not release in March (released on 23 April)
  • We had contributions from a large number of people
  • Maurya seemed to be bearing a lot of the weight.
  • There were times when people jumped in to help, but at times it seemed like he was flying solo
  • 423 downloads so far
  • It contained items from the road map
  • The release got delayed because we found a lot of bugs late in the game
  • The formal testing process was awesome!
  • 1.11.2 got included
  • Two platform releases within a week or so of each other just before the OpenMRS 2.2 release
  • 1.11.x impact was not assessed earlier
  • A dedicated chunk of time had to be set aside for testing and finding bugs (with help from the community)
  • A lot of work went into it
  • Improved documentation for release process, fixing many gaps and adding missing items in the process documentation
  • Maurya did an awesome job in organizing the testing and release!
  • Release documentation was missing in parts or not always clear
  • Release manager did ~30% of effort, ~70% was done by others (but only 3-4 people).
  • Many of the tasks were only within reach of a few people
  • Not easy to know who the module owner/maintainer was
  • Talk helped streamline communication
  • CIEL update released the day of the 2.2 release. Difficult to tell what changed.
  • 163+ contributors to this release
  • uat01 was extremely helpful
  • having devtest environments to do initial testing (e.g., platform, chart search) was helpful
  • What can we do better?
  • Leading up to the release, shorter emails daily, rather than encyclopedic emails less often. (I gave this feedback to Maurya halfway through.)
  • Can we have a release team instead? (About 3 to 4 people? with one acting as a lead)
  • Get release manager engaged much earlier in the release cycle (at the beginning?)
  • Make sure the test server is set up correctly - some issues were actually caused by missing forms/modules
  • Formalize the final testing process – i.e., document the process we took to test in early April to identify features & modules to be tested and then dividing & conquering the process of validating them.
  • Having status for each module needing release in one place – e.g., 
  • Hard code freeze deadlines and stick to them?
  • (this would be a blocker for PIH to be co-developing refapp modules, i.e. we use all the same modules, but in a different distro, and if we were code-frozen we would have to fork and/or not use the refapp modules)
  • When upgrading to a new platform there should be enough time for every bundled module to be tested against it. 
  • => explicitly budget more time for this
  • => get a (volunteer) testing team -- not just the module owners -- to do this
  • OpenERP showcase w/ Bahmni
  • OpenERP is an enterprise resource manager.
  • Bahmni is using it for managing pharmacy inventory.
  • Bahmni is using OpenERP version 7 (an older version). Haven't tried to upgrade, but don't think it should be a big deal.
  • angshu: OpenERP/odoo is an ERP solution like OpenBravo, OpenTaps etc. Taking care much of an org's needs like purchasing, quotation, invoicing, inventory/stocks/goods, pricing, orders and even accounting.
  • angshu: idea is to use specialized s/ws for specific needs. allowing each s/w to evolve independently without tightly coupling each other.
  • Vinkesh demonstrated OpenERP (see recording)
  • Paul: so there's a companion dictionary (of drugs) inside openERP that matches to the OpenMRS dictionary?
  • => Actually, all of the product/drug management happens within OpenMRS and it is sychronized to OpenERP. So the drug has the same UUID in both. The cost data is a "Pricelist" in OpenERP
  • Paul: think the right design is that the clinical concepts come from the clinical system, and cost metadata can be added for that concept in the system that manages costs/payments/accounting (and they are doing this, so +1)
  • Darius: what if a certain type of patient gets free meds of a certain type?
  • => there's a Discount function in OpenERP that lets you apply a discount and charget it to a line item.
  • How to handle the change of unit price for the same item?
  • Can you explain more on the synchronization between OpenERP and OpenMRS, especially on patient/customer?
  • when we create a patient in OpenMRS we publish a feed item saying that the patient was created
  • a wrapper on top of OpenERP that is both an atom feed client and server
  • the openerp-atomfeed-service has
  • a job running that polls the OpenMRS feed for things like patient created, encounter created, encounter edited, etc
  • workers that are triggered by these different kinds of feed entries
  • they do a REST call to OpenMRS to fetch the object linked from the feed entry
  • then they make a straightforward call to the OpenERP API
  • Bahmni customizations to OpenERP are here (including the atom feed module)
  • Preview Next Week
  • 7 May: Google-MSF Ebola project
  • 14 May: ThoughtWorks-SCI Ebola Module tech deep dive (Darius)



  • Audio recording of the call: Listen online or download (available after the meeting)