Bahmni EMR Backend (OpenMRS + Bahmni Omods)
Action Plan:
Use OpenMRS base image and MySQL image to just run Clean OpenMRS DONE
Add legacy ui omod and validate if we can login to openmrs DONE
Build dependent repo codebases locally. NEEDS ASSISTANCE
Create database images
Fresh Database image DoNE
Demo Database image DONE
Create Bahmni OpenMRS image
Initially volume mount modules and test functionality DONE
Bake Bahmni Module OMODS in the docker image DONe
Override OpenMRS start script to perform migrations, postinstall, configuration DONE
Have a look at bahmni-emr-ansible templates
Include bahmni-lab-connect OMOD and its RPM scripts DONE
Lab Connect OMOD comes with bahmni distro, so skipping it .
Only liquibase migrations for Atomfeed client has been done using custom script
Validate atomfeed sync between different services
Validate for fresh instances of databases DONE
Validate for demo instances of databases IN PROGRESS
When using demo dumps from
emr-functional-tests
repository there seems to be a mismatch with master data between ELIS and MRS. But sync between EMR and Odoo happens. The following exception is thrown by OpenMRS.ERROR - BaseRestController.handleException(115) |2021-10-06 08:37:45,455| No panel concept found with uuid 12f404d7-7615-412d-abb8-9273608c12e5 org.openmrs.module.emrapi.encounter.exception.ConceptNotFoundException: No panel concept found with uuid 12f404d7-7615-412d-abb8-9273608c12e5 at org.bahmni.module.referencedata.web.controller.PanelController.getPanel(PanelController.java:33) at sun.reflect.GeneratedMethodAccessor538.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:177)
Demo backups from
bahmni-scripts
repository should be used and tested. DONE (Needs a bug to be fixed) (https://bahmni.atlassian.net/browse/BAH-1261 )
Volume mount required folders DONE
Implementer Provisions to add new modules DONE
Developer Provisions to add/update Bahmni modules DONE
Update Documentation at README.md DONE
Configure Github Actions for Image build and publish
Compare EMR functional tests DB backups with bahmni-scripts DB backups DOne
Try with MySQL 8.0 LATER
Dependent Repos to Look :
Repo Name | Use Case | How is it included in dockerization |
---|---|---|
bahmni-core | Provides Bahmni Core OMODs |
|
openmrs-distro-bahmni | Provides all bahmni-distro.zip |
|
emr-functional-tests | Replace bahmni-package/bahmni-emr/resources/demo-dump from here | Used by build script while building DB docker image |
bahmni-package | RPM config and Build scripts | Config files has been templated and replaced at runtime using |
Known Issues:
Logout returns 404.
Analysis: This happens only when bahmni database dumps are used. When started against a fresh mysql:5.7 instance, seems to work good.
Temporary Fix : When openmrs is restarted once, logout feature works fine.However need to find the root cause for the problem when it is started.
Index Rebuild Required
Analysis: When bahmni is started with demo databases, some concepts fails to load and bahmni ui seems to be broken
Temporary Fix: After OpenMRS starts, navigate to Administartion → Maintanence → Search Index and then click onRebuild Search Index
Need to find a way to automate this step by invoking some api.
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)