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 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.
- Users
- Roles and Privileges
- Locations
- Visit Types
- Encounter Types
- Providers
- Patient Attributes
- Address Hierarchy
- Relationships
- Concepts and Concept Sets
- Drugs
- Order Types
- Global Properties
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.
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 | ||||
---|---|---|---|---|
| ||||
|