Versions Compared

Key

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

This guide is currently In-Progress. Over the next few months, content will be added to it. 

If you have any suggestions or would like to add pages which talk about the functionality of Bahmni, please feel free to add them.

 

Introduction

Bahmni EMR is a user interface layer that is built on top of OpenMRS. Where possible, Bahmni depends on configuration that can be performed directly in OpenMRS. For example, OpenMRS provides a mechanism to define custom attributes for a patient. Bahmni uses this underlying facility to show custom attributes for the patient on the Registration app. However, on Bahmni, there is also a way to define mandatory attributes for a patient. This cannot directly be achieved by configurations in OpenMRS. Such customizations are achieved in Bahmni using configuration files. Any feature that you configure for Bahmni will usually need a combination of OpenMRS configuration and modifying the Bahmni configuration files. 

 

OpenMRS configuration

Most of the configuration below will be required for every installation of Bahmni. 

  1. Users
  2. Roles and Privileges
  3. Locations
  4. Visit Types
  5. Encounter Types
  6. Providers
  7. Patient Attributes
  8. Address Hierarchy
  9. Relationships
  10. Concepts and Concept Sets
  11. Drugs
  12. Order Types
  13. Global Properties

Bahmni Configuration files

Bahmni configuration files are deployed under /bahmni_config/openmrs/apps of the web server that is served under Bahmni. Each implementation is expected to have its own copy of configuration files. These are mostly simple json files. A typical directory structure would look like this. 

Code Block
titleTypical Directory Structure for Configuration files
├── admin
├── adt
├── clinical
├── customDisplayControl
│   ├── js
│   └── views
├── documentUpload
├── home
├── orders
├── registration
│   ├── registrationCardLayout
│   │   ├── css
│   │   └── images
│   └── supplementalPaperLayout
│       └── css
└── reports
    └── sql

 

A sample configuration file set that has all features turned on can be found in Github. There are several other working configurations available in the Bhamni organization in GIthub that can be used to start with (look for repositories ending with "-config"). 

Apps

Apps are the top level applications in Bahmni. An app will contain an app.json, an extension.json and optionally some custom configuration files.

app.json is the primary file for an app. This will contain all app level configurations. It also defines extensions that can be used to extend the app. 

extension.json contains instances of extensions configured for an app. 

 

Other files are custom configuration that came out of the need to separate out configuration of specific functionality that grew too big. 

 

 

 

 

Tip
iconfalse
titleOn this Page

Table of Contents
stylenone