Bahmni@next way forward

Piggybacking on our initial thoughts on AngularJS moveout, we started to talk about Bahmni@next meets OMRS 3x a year ago and acquired some great experience to formulate our opinion. Here is a quick summary…

Before we talk next steps below are some of the core web architecture qualities we would want to respect as we facelift Bahmni’s frontend

  • Cleanly componentize and promote reuse (Atomic Design)
  • Ensure app-shell or stitching layer is super lightweight
  • Leverage micro-frontends but avoid anarchy
  • Build separate independent apps (physically) based on target users e.g. Registration, Lab entry etc
  • Consider Performance, Configurability, Localisation and Responsiveness as first class citizen (note: other NFR’s such as security, maintainability etc are equally important “in-general” for overall Bahmni)

Next steps

1.  Support current Bahmni AngularJS frontend as-is

  • Respond to any defects or AngularJS issues as and when they arrive.
  • Fix CSS issues on features that are consumed on mobile devices and make it more responsive (reference)

2.  Build new incremental features on top of current Bahmni using

  • Carbon Design system and adhere to OMRS 3.x style guide as much possible (but not mandatory)
  • Lightweight app-shell (build or inherit)
  • ReactJS and Typescript

      Overtime evolve Bahmni Component Library following Atomic Design and ensure these features/components are easily reusable-compatible on any OMRS 3.x distros

3.  While building separate apps, continue to explore opportunities to collaborate and leverage OMRS 3.x core wherever possible (otherwise follow #2 above)

@angshuonline @gsluthra @grace @dkayiwa @binduak @jennifer @jdick


I love this very much! :slight_smile: