Overriding Configuration
- Sravanthi N. S. CH.
- teresa gracias
- Mahesh Kumar Vadla
Owned by Sravanthi N. S. CH.
Any Bahmni configuration can be overridden by creating a separate override file. That way, an implementation with multiple entities can have a standard master configuration and each entity will have the freedom to override specific parts
Example
Let us take an example config file:
clinical/app.json
{ "id": "bahmni.clinical", "extensionPoints": [ { "id": "org.bahmni.clinical.consultation.board", "description": "Bahmni Clinical Consultation Page" }, { "id": "org.bahmni.clinical.conceptSetGroup.*", "description": "Define conceptsets part of a conceptset group" }, { "id": "org.bahmni.clinical.orders", "description": "Bahmni Orders Page" }, { "id":"org.bahmni.patient.search", "description": "Bahmni Patient search, lookups Page" } ], }
To override this config file with another file, do the following two things
Add the flag "shouldOverRideConfig: true" as shown below
/var/www/bahmni_config/openmrs/apps/clinical/app.json{ "id": "bahmni.clinical", "shouldOverRideConfig": true, "extensionPoints": [ { "id": "org.bahmni.clinical.consultation.board", "description": "Bahmni Clinical Consultation Page" }, { "id": "org.bahmni.clinical.conceptSetGroup.*", "description": "Define conceptsets part of a conceptset group" }, { "id": "org.bahmni.clinical.orders", "description": "Bahmni Orders Page" }, { "id":"org.bahmni.patient.search", "description": "Bahmni Patient search, lookups Page" } ], }
Create a new file openmrs/apps/clinical/app.json in the folder /var/www/implementation_config as shown below
/var/www/implementation_config/openmrs/apps/clinical/app.json{ "id": "bahmni.clinical", "extensionPoints": [ { "id": "org.bahmni.clinical.consultation.board", "description": "Bahmni Clinical Consultation Page" } ], }
The above file will override the section "extensionPoints" in the the app.json file with the contents of the app.json file.- Make sure to have an alias for implementation_config is added to "ssl.conf" under /etc/httpd/conf.d directory. Ideally this will be coming from bahmni installer itself. If not, add a new line with "Alias /implementation_config /var/www/implementation_config" where all the aliases are added.
Different types of overrides
Type | config | overridden config | Notes |
---|---|---|---|
override | sections: { "observations" : { "name" : "Observations", "showDefault":true }, "disposition":{ "name": "disposition" } } | sections: { "observations" : { "showDefault":false } } |
|
Remove | sections: { "observations" : { "name" : "Observations", "showDefault":true }, "disposition":{ "name": "disposition" } } | sections: { "observations" : { "showDefault":false }, "disposition": null } |
|
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)