Bahmni EMR has a client server architecture.
- Client side code repos:
- Git hub repo links:
- Most of the client side code is in Angular Js while some parts of it is implemented using React.
- openmrs-module-bahmniapps : This is where almost the entire code for Bahmni EMR resides. Please refer this to know how to make/deploy code changes to this code base.
. The code for each app in bahmni apps can be found in the corresponding folder in openmrs-module-bahmniapps/ui/app/<appname> unless it is a custom display control. A prior understanding of Angular JS will aid in understanding the code base.
The service layer(*Service.js) talks to the the server via Rest or Web API in the modules deployed in /opt/openmrs/modules in server.
Server Side code: Server side of EMR part of bahmni comprises of openmrs-core combined with basic openmrs modules (eg. openmrs-webservices.rest) and bahmni specific modules.
Technologies, Tools, Frameworks: Java, MySql, Maven, Spring, Hibernate.
To understand the server side code we need to understand the openmrs modular architecture. Here are few links which can help:
- https://wiki.openmrs.org/display/docs/For+Module+Developers
- https://wiki.openmrs.org/display/docs/Modules
Github Repo for openmrs-core: https://github.com/openmrs/openmrs-core
Each module usually corresponds to code repository in one of following github organisations:
The different modules that come by default with Bahmni installation can be found here.