OpenLMIS Pain Points

OpenLMIS Pain Points

This is a running list of pain points end-users, developers, and implementers experience with the current version of OpenLMIS. 

Developers

  • No documentation on how to get OpenLMIS up and running

    • This is true for an implementer.  Developer steps are decently documented

  • Insufficient developer documentation

    • Please clarify.  Agree, for example, little guidance on domain, solution design, etc.

  • No database documentation

    • What is required?  ERD, for example, is now part of a build job

  • Average BA/non-dev type can't get started - hard to install (vs OpenMRS, etc.)

  • Scant API & documentation

  • Monolithic app tightly coupled with UI: 

    • Not extensible and causes lots of forking/toggling (e.g. new screens)

    • A lot of the variation is in reporting

  • No way to contribute without stepping on the toes of others.

  • No CI Server/no Continuous Delivery:

    • Update (3/16): We now have Jenkins running to exercise unit tests and DB integration, but functional testing is weak and needs enhancement (e.g. JS tests are not enabled). 

    • Successful build are not being deployed to Demo

  • Insufficient test coverage

  • Supportability:  inadequate error handling – lots of errors are caught and swallowed; logging is insufficient.

  • Older tech stack – Some outdated tools and approaches:

    • For those that we want to keep, we need to update to latest/later versions

  • Large number of tools & shared libraries that overlap &/or duplicative: Security is a concern and burden

  • Poor architectural choices (eg: use of Lombok and approach to exception-handling) 

  • Using the APIs requires first doing an interactive login

  • No end-user documentation of test cases for manual/regression testing

End-Users

  • End-user documentation is lacking; falls to implementor to write it; reference documentation

  • No way to provide user feedback

  • UI is non-responsive: fails to size and scale, even on large desktop displays

  • Poor performance in low-bandwidth environments

    • need baseline metrics!

  • Lack of "offline first" design for occasionally connected environments for certain business processes

Implementors

  • No user training guide

  • No deployment planning tools (e.g. facility list, users/roles, seed data, etc.)

    • Or is this a process/project management toolkit?

  • No framework for creating dashboards or reports for a country

    • default reports have insufficient business value; Jasper isn't solving the problem

    • no user-friendly tools for creating custom/ad hoc reports

  • No security model or transaction logging to help manage the system –

    • Need updated threat analysis (e.g. penetration testing)

  • No way to create country-specific data collection forms (e.g. IVD monthly form) without forking

    • can't create custom screens/tabs to expose and collect custom fields

  • Very hard to initially configure the system – 

    • all the seed/reference data for upload configuration is onerous, manual and time-consuming, e.g. master facility list, or the ability to pull in from DHIS2

  • No way to add additional features needed for a country implementation without forking the code

  • No auto-update/upgrade/migration process

    • e.g. security updates

 

OpenLMIS: the global initiative for powerful LMIS software