Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Current version of Bahmni is using OpenMRS 2.1.1. But OpenMRS recommends to use 2.1.4 as it has lot of bug fixes and it is the supported release for 2.1.X series. So Bahmni EMR Docker will be using OpenMRS Distro 2.1.4. More about OpenMRS release can be found here.

EMR - Backend

...

titleEMR - Backend

Action Plan:

  1. Use OpenMRS base image and MySQL image to just run Clean OpenMRS

    Status
    colourGreen
    titleDONE

  2. Add legacy ui omod and validate if we can login to openmrs

    Status
    colourGreen
    titleDONE

  3. Build dependent repo codebases locally.

    Status
    colourRed
    titleNEEDS ASSISTANCE

  4. Create database images

    1. Fresh Database image

      Status
      colourGreen
      titleDoNE

    2. Demo Database image

      Status
      colourGreen
      titleDONE

  5. Create Bahmni OpenMRS image

    1. Initially volume mount modules and test functionality

      Status
      colourGreen
      titleDONE

    2. Bake Bahmni Module OMODS in the docker image

      Status
      colourGreen
      titleDONe

    3. Override OpenMRS start script to perform migrations, postinstall, configuration

      Status
      colourGreen
      titleDONE

      1. Have a look at bahmni-emr-ansible templates

  6. Include bahmni-lab-connect OMOD and its RPM scripts

    Status
    colourGreen
    titleDONE

    1. Lab Connect OMOD comes with bahmni distro, so skipping it .

    2. Only liquibase migrations for Atomfeed client has been done using custom script

  7. Validate atomfeed sync between different services

    1. Validate for fresh instances of databases

      Status
      colourGreen
      titleDONE

    2. Validate for demo instances of databases

      Status
      colourBlue
      titleIN PROGRESS

      1. 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.

        Code Block
        languagenone
        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)
      2. Demo backups from bahmni-scripts repository should be used and tested.

        Status
        colourGreen
        titleDONE
        (Needs a bug to be fixed) (https://bahmni.atlassian.net/browse/BAH-1261 )

  8. Volume mount required folders

    Status
    colourGreen
    titleDONE

  9. Implementer Provisions to add new modules

    Status
    colourGreen
    titleDONE

  10. Developer Provisions to add/update Bahmni modules

    Status
    colourGreen
    titleDONE

  11. Update Documentation at README.md

    Status
    colourGreen
    titleDONE

  12. Configure Github Actions for Image build and publish

  13. Compare EMR functional tests DB backups with bahmni-scripts DB backups

    Status
    colourGreen
    titleDOne

  14. Try with MySQL 8.0

    Status
    colourYellow
    titleLATER

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 envsubst

Known Issues:

  1. 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.

    1. However need to find the root cause for the problem when it is started.

  2. 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 on Rebuild Search Index

    1. Need to find a way to automate this step by invoking some api.

EMR - Frontend:

...

titleEMR- Frontend

EMR Frontend uses a Apache Server that runs bahmni-ui. The configurations and installations are done by bahmni-web RPM.

...

The following diagram explains how various postinstall steps by bahmni-web RPM is moved across different services in docker:

...

Action Plan:

...

Build bahmni-web image containing bahmniapps and bahmni_config

...

Build Proxy Image with proxy configs and Bahmni Index page

...

Bake default_config into images that need (OpenMRS, OpenELIS, Bahmni Web)

Status
colourBlue
titleIN PROGRESS

...

Configure SSL config in proxy image

...

Configure client side logging

Status
colourPurple
titleDEFFERED FOR LATER

...

Children Display