Release Notes
Bahmni LITE 1.0.0 is the latest version of Bahmni, released on 15-June-2023. Bahmni LITE is preconfigured for use in clinics and small hospitals. Please use this version for production. More details about Bahmni Lite are here. To use the docker version of Bahmni see this: Running Bahmni on Docker. For larger hospitals, one can consider using Bahmni LITE, if its feature set fits the use-cases, otherwise check out Bahmni V0.93 which was released on 13-June-2022.
Explore Bahmni Lite 1.0.0
- Dockerized: Fully dockerized version of Bahmni, to install and run Bahmni easily on an OS (Linux/Windows/Mac).
- Cloud Ready: AWS & Kubernetes ready, with terraform automation to deploy Bahmni Lite v1.0.0 on the cloud, in a secure fashion. Read more here.
- Security: Significant security upgrades and fixes! Also see the new Security Guide.
- Lightweight: Contains Bahmni EMR (running on OpenMRS latest version 2.5.9), Reports, and Crater for billing & invoicing.
- Pre-configured: Pre-configured with CIEL dictionary containing 50,000+ medical terms with SNOMED, LOINC and ICD-10 mappings, Clinical forms, India Essential Drug List and Reports, so that it is ready out-of-the-box for demos and requires minimal configuration to roll out.
- Mobile Responsive: Bahmni EMR UI is now mobile responsive for the Clinical module, so clinicians on the move can use Bahmni from their mobile/tablets.
- Lab Report Upload Module: Comprises a new Lab Report upload module (written in React). See screenshot here.
- FHIR Support: Provides FHIR APIs to pull data from Bahmni / OpenMRS. Read more about Bahmni Interop support for Global standards here.
- Tele-consultation support using Jitsi.
- SMS / Whatsapp / Email support for sending prescriptions or informing patients about Appointments, etc.
- Metabase: Comes out-of-box with Metabase analytics / reporting tool connected to OpenMRS DB and Mart DB (for easier report creation). Read more and see demo video here: Bahmni Metabase / Mart
Docker and docker compose needs to be installed for bahmni lite setup.
For installing docker, docker compose and other docker commands please refer to Running Bahmni on Docker wiki page.
Installing Bahmni Lite using docker
git clone https://github.com/Bahmni/bahmni-docker.git && cd bahmni-docker git checkout tags/1.0.0-lite cd bahmni-lite # Using docker compose docker compose --profile bahmni-lite up -d # Or use the bash script ./run-bahmni.sh
As Bahmni docker ships with default credentials, make sure that these are changed to ensure Bahmni setup is safe. Refer to the steps involved here.
To be noted that Bahmni comes with an out-of-the-box demo database. The demo database contains a location (Bahmni Clinic) and with some users created for login. One can also perform an installation with a fresh schema. Refer to this document. Also you can run your own version of Bahmni-Config by following the steps mentioned here.
S.No | Issue Description | JIRA ID / Comments |
|---|---|---|
| 1. | Print on patient dashboard should not print hyperlinks | BAH-2952 - Getting issue details... STATUS |
| 2. | Dose field in medication can be skipped if the doctor clicks on 'add button' quickly after adding medication name | BAH-2954 - Getting issue details... STATUS |
| 3. | If Patient summary print is spread across multiple pages then, page breaks are not proper. |
BAH-2915
-
Getting issue details...
STATUS
|
| 4. | If patient documents is viewed in patient dashboard, on clicking BROWSER back button, the document modal remains |
BAH-2956
-
Getting issue details...
STATUS
|
| 5. | Unable to save the Diabetic Intake Form when values are entered for “Diagnosis Certainty” field. |
BAH-2958
-
Getting issue details...
STATUS
|
| 6. | If Tele Con Appointment status is not equal to scheduled then Join Tele Consultation button is missing on the Patient dashboard |
BAH-2959
-
Getting issue details...
STATUS
|
| 7. | Appointment time in email is different from the actual time set | BAH-3063 - Getting issue details... STATUS |
| 8. | Details are not aligned properly in referral letter |
BAH-3064
-
Getting issue details...
STATUS
|
Bahmni version: 0.93-219
This release includes fixing the vulnerabilities with struts-core.jar dependency
Release Activities for 0.93.2 Bahmni Release | |
Investigate on upgradation of struts2-core in OpenElis | |
Investigate on upgradation of struts2-core in on openmrs-core | |
"All" Tab search: Unable to get all the patients using % | |
"All Tab search" : Unable to search the patient using name (Fully or partially) | |
Fix deletion of macrotemplate in Bahmni-reports |
Please see system requirements here
Before you go through the installation process, please upgrade "zlib" packages.
$ yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm
Please refer to the documentation on Installation, Upgrade and/or Advanced Installation for version 0.93
Please also refer Installing and Configuring Bahmni Connect for Bahmni Connect Setup
You can refer to All Releases page for further details on RPM versions
Note
- Henceforth, please do not use the “service” command to start/stop/restart a service.
- Only use the “systemctl start/stop/restart <bahmni-service-name>” command.
- Ensure that you don’t have a directory “/var/run/<bahmni-service-name>”. Such directories are henceforth created and removed as part of “systemctl” execution. Hence if you are updating an existing Bahmni installation, ensure /var/run/<bahmni-service-name> directory is not present before install command gets triggered.
- MySQL admin password: From 0.92, we are using a stricter password policy and set to MEDIUM, which is a combination of “Length; numeric, lowercase/uppercase, and special characters”. If you are changing the admin user (root) password, you need to set password appropriately. Check MySQL documentation here for more information.
- MySQL version configuration: Default MySQL version supported is 5.6. A new configuration parameter mysql_version has been introduced to override MySQL version, which you can configure in setup.yml before running the install command. eg. mysql_version=5.7.30
Briefly:
Install
# install dependencies
> yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm
> yum install -y epel-release
> pip install --upgrade pip
> pip install babel==v1.0 python-stdnum urllib3==1.21.1 idna==2.5 chardet==3.0.2 certifi==2017.4.17 qrcode pyserial pypdf python-chart psycogreen passlib ofxparse requests
# install bahmni command line installer
> yum install -y https://repo.mybahmni.org/releases/bahmni-installer-0.93-219.noarch.rpm
# download the postgres repo rpm.
>rm-f/opt/pgdg-redhat-repo-*>cd/opt&& wget https://yum.postgresql.org/common/redhat/rhel-7-x86_64/pgdg-redhat-repo-42.0-23.noarch.rpm --no-check-certificate
# if the filee /etc/bahmni-installer/setup.yml is not there, you can get a sample
> curl -L https://tinyurl.com/yyoj98df >> /etc/bahmni-installer/setup.yml
# configure your implementation specific settings, set repo URL
> vi /etc/bahmni-installer/setup.yml
bahmni_repo_url: https://repo.mybahmni.org/releases/
# configure components you require
> vi /etc/bahmni-installer/local
# run the installer
> bahmni -i local install
- Rebuild Search Index: It's required to rebuild search indexes from the OpenMRS UI. Without this, Patient, Drug and Concept searches won't work in Bahmni or OpenMRS. Please rebuild the indexes post install/upgrade: OpenMRS => Navigate to Administration => Search Index => Run Rebuild Search Index.
- Duplicate Scheduler Tasks: We have noticed that there are sometimes duplicate schedulers for OpenElis Patient Atom Feed Task and OpenMRS event publisher Task running. Having such duplicate entries relevant to Feed and Events can result in unforeseen and unpredictable synchronization issues between components of Bahmni. This was fixed as part of Bahmni-0.91 release for the default demo and clean databases. However, existing installations trying to upgrade Bahmni should manually delete the entries from database. You can do this either from OpenMRS Administration console or updating database directly. You can verify by running this SQL on mysql “openmrs” database.
select schedulable_class, count(*) from scheduler_task_config group by schedulable_class;
If any of the rows, show as more than 1, then you should delete the duplicate entries to ensure only one scheduler job exists and is being run.
- Tag a Location with ‘Operation Theatre’ : To create a surgical block in OT scheduling module, we should have at least one location tagged as "Operation Theatre". If you are not using default config, or have forked from default config previously, you must tag your OT location with ‘Operation Theatre’ tag. Without this setup, OT scheduling app will throw an error.
- Oviyam Viewer URL : You may need to update the configuration for Oviyam DICOM viewer URL in app config for clinical dashboard, if you are migrating from older version. Please edit file /var/www/bahmni_config/openmrs/apps/clinical/dashboard.json for the “pacsImageUrl” attribute like in the example here.
- Odoo Setup: If you are going to use Billing/Pharmacy/Inventory functions from ERP, you need to configure Odoo for your requirements appropriately. Please see WIKI documentation for guide.
- Odoo - Undefined period error during quotation confirmation : While confirming a quotation, if there is no period defined an error is thrown "There is no Period defined". While this has been fixed for 2018 with the default ERP database, if you are going to be installing in 2021, you may still face this error.
Workaround: Please follow the steps as mentioned in this page - OpenERP error "There is no period defined" while confirming a sale quotation - Change default passwords: You should change the user passwords for OpenMRS (superman, admin), OpenELIS (admin), Odoo (admin), Dcm4Chee (admin)
Information don’t sync to Odoo, or published lab results don’t sync to OpenMRS: We have noticed that sometimes post installation (with bahmi-lab, bahmni-erp-connect services running) information don’t sync to Odoo (from OpenMRS) or to OpenMRS (from lab), while the front end applications seem to be working fine. If you would check the log files, you will probably see connection lost, or C3PO connection pool errors. Restarting the services seem to resolve the errors.
> systemctl restart bahmni-erp-connect
> systemctl restart bahmni-lab
systemctl commands throwing error:
Authorization not available. Check if polkit service is running or see debug message for more information. Failed to restart odoo.service: Connection timed out See system logs and ‘systemctl status odoo.service’ for details.
We have noticed this error coming up infrequently. Follow the instructions provided below for resolution
https://access.redhat.com/solutions/1543343
running services in debug mode:
- If you want to run a particular service in debug mode, you can still continue to use the “service <bahmni service-name> debug” command. However, few things you need to keep in mind
- Always run the service in debug mode, as root user.
- After stopping the service, ensure that you delete the /var/run/<bahmni-service-name> and /var/log/<bahmni-service-name> directories.
generate "LetsEncrypt" certs:
- If you want to generate “LetsEncypt” certs from the same server machine, you will have to manually install zlib-devel package. Please see this thread for information
Can not start opnmrs service using "systemctl":
- Openmrs service fails to start with “systemctl start openmrs” after the usage of “service openmrs start”:
- mv /opt/openmrs/log /opt/openmrs/log-backup
- rm /var/log/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- rm /var/run/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- mkdir /opt/openmrs/log
- chown bahmni:bahmni /opt/openmrs/log
- ln -s /opt/openmrs/log /var/log/openmrs
- chown -R bahmni:bahmni /var/log/openmrs
Redirecting service commands to systemctl:
With the release of Bahmni version 0.92, Bahmni’s services uses systemd unit files as opposed to the older init.d files. Using service commands to start/stop Bahmni services are not supported and only systemcl commands are advised. To prevent use of “service” command, we can run the optional step below that sets up a “service” function to redirect service command to call “systemctl” instead:
1. vi ~/.bash_profile 2. Add the following line: service() { local first=$1; local second=$2; echo “Redirecting to systemctl from Bahmni, to unset this run ‘unset -f service’“; systemctl $second $first;} 3. Save and close the file 4. source ~/.bash_profileTo remove the above function, modify the same file and remove the service function.
- Use in different locale other than the default/main - While we have improved localization support in registration and clinical modules, and searching concepts by name in logged in locale is possible, there are places in the clinical module where it is not done so - eg. medication orders. In such cases, the concepts are still being displayed in the main locale set for the implementation.
- Performance issues with MySQL 5.7: we have noticed certain queries taking a lot of time with MySQL 5.7 version. This release defaults MySQL version to 5.6. If you are using MySQL 5.7 and are migrating from older version of Bahmni, please set the MySQL version to 5.7 in the setup.yml
Beds Count mismatch on new Bed Management app: We have seen that earlier way of adding bed by sql insertions/deletions have created some dangling beds which might result in Beds count mismatch on new Bed Management app. This can also result in unpredictable exceptions on new Bed Admin UI while managing beds. You can verify if there is such issue in your database using below query and fix it instead of failing at liquibase migrations during installation.
> select * from bed_location_map where bed_id is null; > select * from bed_location_map where bed_id not in (select distinct bed_id from bed);
The first SQL returning more than zero records, is perfectly alright. If you have defined a layout but not assigned a bed for each of the locations in the layout of a ward/room, this is likely to happen. From "Ward Management" Console, you can assign a bed to that position. The second SQL will identify the invalid “bed” allocation in a ward. Invalid here means - allocation to a “bed” in a ward, which is referring to a not existent “bed” record in the “bed” table. Before running the upgrade, you need to ensure that such bed allocations are removed (remove the record) or updated with bed_id being NULL.
Radiology orders are not synching unless we restart services. (pacs-integration, dcm4chee, httpd)
- Encountered an Error saying "Feed does not exist" on openmrs logs
> update bed_location_map set bed_id = null where bed_location_map_id = <bed_location_map_id from the above query>;
Bahmni version: 0.93-215
- Patient Identifier Extension : registration module now allows for lookup and association of other system identifiers (eg Interacing with a National ID system) by means of custom extension.
This release includes an up-gradation of the log4j version to the latest (2.17.1) to overcome the vulnerabilities, please refer to the below talk thread for more details, https://talk.openmrs.org/t/log4j-security-vulnerability-impact-on-bahmni-cve-2021-44228/35367
Upgraded log4j version to 2.12.4, web-clients version to 0.94.2, atomfeed version to 1.9.5, openmrs version to 2.1.6 | |
Upgraded log4j version to 2.17.1, java-utils-version to 0.94.2, openmrs-atomfeed version to 2.6.1, atomfeed version 1.10.1,openmrs version to 2.1.6, adds liquibase migration to support column change | |
Upgraded log4j version to 2.17.1, java-utils-version to 0.94.2, openmrs version to 2.1.6 | |
Upgraded log4j version to 2.17.1, atomfeed version to 1.10.1, openmrs-atomfeed version to 2.6.1, bahmni i.e apps version to 1.2.0-SNAPSHOT, openmrs-webservices version to 2.17, emr-api-omod version to 1.22.1 | |
Upgraded log4j version to 2.17.1, web-clients version to 0.94.2, quartz version to 2.3.2, sprint-boot-starter-parent version to 1.5.1.RELEASE | |
Upgraded log4j version to 2.17.1, Deprecated email appender, | |
Upgraded log4j version to 2.17.1, atomfeed version to 1.10.1, web-clients version to 0.94.2, quartz version to 2.3.2, jackson version to 2.13.1 | |
Upgraded log4j2 property files | |
Upgraded log4j2 property files | |
Upgraded log4j version to 2.17.1, quartz version to 2.3.2, web-clients version to 0.94.2 | |
Upgraded log4j version to 2.17.1 | |
Upgraded log4j version to 2.17.1 | |
Upgraded log4j version to 2.17.1, removed joda time dependency | |
Upgraded log4j version to 2.17.1 | |
Upgraded log4j version to 2.17.1, atomfeed version to 1.10.1, removed joda time dependency | |
Upgrades web-clients version to 0.94.2 | |
Upgraded openmrs version to 2.1.6, atomfeed version to 1.10.1, openmrs-atomfeed version to 2.6.1, removed joda-time dependency | |
Upgraded atomfeed version to 1.10.1, openmrs atomfeed version to 2.6.1, removed joda time dependency | |
Upgraded log4j version to 2.17.1, atomfeed version to 1.10.1, openmrs-atomfeed version to 2.6.1, removed joda time dependency | |
Generic Implementation of Extension Point for Identifier linking. | |
Postgres repo URL is deprecated causing an error during Bahmni installation |
Please see system requirements here
Before you go through the installation process, please upgrade "zlib" packages.
$ yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm
Please refer to the documentation on Installation, Upgrade and/or Advanced Installation for version 0.93
Please also refer Installing and Configuring Bahmni Connect for Bahmni Connect Setup
You can refer to All Releases page for further details on RPM versions
Note
- Henceforth, please do not use the “service” command to start/stop/restart a service.
- Only use the “systemctl start/stop/restart <bahmni-service-name>” command.
- Ensure that you don’t have a directory “/var/run/<bahmni-service-name>”. Such directories are henceforth created and removed as part of “systemctl” execution. Hence if you are updating an existing Bahmni installation, ensure /var/run/<bahmni-service-name> directory is not present before install command gets triggered.
- MySQL admin password: From 0.92, we are using a stricter password policy and set to MEDIUM, which is a combination of “Length; numeric, lowercase/uppercase, and special characters”. If you are changing the admin user (root) password, you need to set password appropriately. Check MySQL documentation here for more information.
- MySQL version configuration: Default MySQL version supported is 5.6. A new configuration parameter mysql_version has been introduced to override MySQL version, which you can configure in setup.yml before running the install command. eg. mysql_version=5.7.30
Briefly:
Install
# install dependencies
> yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm
> yum install -y epel-release
# install bahmni command line installer
yum install -y https://repo.mybahmni.org/releases/bahmni-installer-0.93-215.noarch.rpm
# download the postgres repo rpm.
>rm-f/opt/pgdg-redhat-repo-latest.noarch.rpm>rm-f/opt/pgdg-redhat-repo-42.0-23.noarch.rpm>cd/opt&& wget https://yum.postgresql.org/common/redhat/rhel-7-x86_64/pgdg-redhat-repo-42.0-23.noarch.rpm --no-check-certificate
# if the filee /etc/bahmni-installer/setup.yml is not there, you can get a sample
> curl -L https://tinyurl.com/yyoj98df >> /etc/bahmni-installer/setup.yml
# configure your implementation specific settings, set repo URL
> vi /etc/bahmni-installer/setup.yml
bahmni_repo_url: https://repo.mybahmni.org/releases/
# configure components you require
> vi /etc/bahmni-installer/local
# run the installer
> bahmni -i local install
- Rebuild Search Index: It's required to rebuild search indexes from the OpenMRS UI. Without this, Patient, Drug and Concept searches won't work in Bahmni or OpenMRS. Please rebuild the indexes post install/upgrade: OpenMRS => Navigate to Administration => Search Index => Run Rebuild Search Index.
- Duplicate Scheduler Tasks: We have noticed that there are sometimes duplicate schedulers for OpenElis Patient Atom Feed Task and OpenMRS event publisher Task running. Having such duplicate entries relevant to Feed and Events can result in unforeseen and unpredictable synchronization issues between components of Bahmni. This was fixed as part of Bahmni-0.91 release for the default demo and clean databases. However, existing installations trying to upgrade Bahmni should manually delete the entries from database. You can do this either from OpenMRS Administration console or updating database directly. You can verify by running this SQL on mysql “openmrs” database.
select schedulable_class, count(*) from scheduler_task_config group by schedulable_class;
If any of the rows, show as more than 1, then you should delete the duplicate entries to ensure only one scheduler job exists and is being run.
- Tag a Location with ‘Operation Theatre’ : To create a surgical block in OT scheduling module, we should have at least one location tagged as "Operation Theatre". If you are not using default config, or have forked from default config previously, you must tag your OT location with ‘Operation Theatre’ tag. Without this setup, OT scheduling app will throw an error.
- Oviyam Viewer URL : You may need to update the configuration for Oviyam DICOM viewer URL in app config for clinical dashboard, if you are migrating from older version. Please edit file /var/www/bahmni_config/openmrs/apps/clinical/dashboard.json for the “pacsImageUrl” attribute like in the example here.
- Odoo Setup: If you are going to use Billing/Pharmacy/Inventory functions from ERP, you need to configure Odoo for your requirements appropriately. Please see WIKI documentation for guide.
- Odoo - Undefined period error during quotation confirmation : While confirming a quotation, if there is no period defined an error is thrown "There is no Period defined". While this has been fixed for 2018 with the default ERP database, if you are going to be installing in 2021, you may still face this error.
Workaround: Please follow the steps as mentioned in this page - OpenERP error "There is no period defined" while confirming a sale quotation - Change default passwords: You should change the user passwords for OpenMRS (superman, admin), OpenELIS (admin), Odoo (admin), Dcm4Chee (admin)
Information don’t sync to Odoo, or published lab results don’t sync to OpenMRS: We have noticed that sometimes post installation (with bahmi-lab, bahmni-erp-connect services running) information don’t sync to Odoo (from OpenMRS) or to OpenMRS (from lab), while the front end applications seem to be working fine. If you would check the log files, you will probably see connection lost, or C3PO connection pool errors. Restarting the services seem to resolve the errors.
> systemctl restart bahmni-erp-connect
> systemctl restart bahmni-lab
systemctl commands throwing error:
Authorization not available. Check if polkit service is running or see debug message for more information. Failed to restart odoo.service: Connection timed out See system logs and ‘systemctl status odoo.service’ for details.
We have noticed this error coming up infrequently. Follow the instructions provided below for resolution
https://access.redhat.com/solutions/1543343
running services in debug mode:
- If you want to run a particular service in debug mode, you can still continue to use the “service <bahmni service-name> debug” command. However, few things you need to keep in mind
- Always run the service in debug mode, as root user.
- After stopping the service, ensure that you delete the /var/run/<bahmni-service-name> and /var/log/<bahmni-service-name> directories.
generate "LetsEncrypt" certs:
- If you want to generate “LetsEncypt” certs from the same server machine, you will have to manually install zlib-devel package. Please see this thread for information
Can not start opnmrs service using "systemctl":
- Openmrs service fails to start with “systemctl start openmrs” after the usage of “service openmrs start”:
- mv /opt/openmrs/log /opt/openmrs/log-backup
- rm /var/log/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- rm /var/run/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- mkdir /opt/openmrs/log
- chown bahmni:bahmni /opt/openmrs/log
- ln -s /opt/openmrs/log /var/log/openmrs
- chown -R bahmni:bahmni /var/log/openmrs
Redirecting service commands to systemctl:
With the release of Bahmni version 0.92, Bahmni’s services uses systemd unit files as opposed to the older init.d files. Using service commands to start/stop Bahmni services are not supported and only systemcl commands are advised. To prevent use of “service” command, we can run the optional step below that sets up a “service” function to redirect service command to call “systemctl” instead:
1. vi ~/.bash_profile 2. Add the following line: service() { local first=$1; local second=$2; echo “Redirecting to systemctl from Bahmni, to unset this run ‘unset -f service’“; systemctl $second $first;} 3. Save and close the file 4. source ~/.bash_profileTo remove the above function, modify the same file and remove the service function.
- Use in different locale other than the default/main - While we have improved localization support in registration and clinical modules, and searching concepts by name in logged in locale is possible, there are places in the clinical module where it is not done so - eg. medication orders. In such cases, the concepts are still being displayed in the main locale set for the implementation.
- Performance issues with MySQL 5.7: we have noticed certain queries taking a lot of time with MySQL 5.7 version. This release defaults MySQL version to 5.6. If you are using MySQL 5.7 and are migrating from older version of Bahmni, please set the MySQL version to 5.7 in the setup.yml
Beds Count mismatch on new Bed Management app: We have seen that earlier way of adding bed by sql insertions/deletions have created some dangling beds which might result in Beds count mismatch on new Bed Management app. This can also result in unpredictable exceptions on new Bed Admin UI while managing beds. You can verify if there is such issue in your database using below query and fix it instead of failing at liquibase migrations during installation.
> select * from bed_location_map where bed_id is null; > select * from bed_location_map where bed_id not in (select distinct bed_id from bed);
The first SQL returning more than zero records, is perfectly alright. If you have defined a layout but not assigned a bed for each of the locations in the layout of a ward/room, this is likely to happen. From "Ward Management" Console, you can assign a bed to that position. The second SQL will identify the invalid “bed” allocation in a ward. Invalid here means - allocation to a “bed” in a ward, which is referring to a not existent “bed” record in the “bed” table. Before running the upgrade, you need to ensure that such bed allocations are removed (remove the record) or updated with bed_id being NULL.
Radiology orders are not synching unless we restart services. (pacs-integration, dcm4chee, httpd)
- Encountered an Error saying "Feed does not exist" on openmrs logs
> update bed_location_map set bed_id = null where bed_location_map_id = <bed_location_map_id from the above query>;
Bahmni version: 0.93-197
- Localization - While Bahmni was designed for internationalization, there remain certain gaps and challenges towards completely localizing a specific Bahmni implementation. In this release, gaps primarily in Registration and Clinical modules have been fixed. For concepts, if you have the metadata properly set up for other languages, it would reflect so once you have logged on to a specific locale.
- Appointment module - new features include ability to schedule for multiple providers for an appointment, conflict management for patients and services, ability to schedule recurring appointments etc
- Forms 2 - Forms now have additional events like onSave which allows you to do validation at form level. Form builder UI now provides a JavaScript editor with basic validations, help etc. It also provides a “preview” mode to test out your form and its behavior. Also a new table control has been introduced.
- Access Control - Reports and forms can now be made accessible to users with specified privileges.
- OT Scheduling - Weekly view is now provided for OT schedules.
- Additional orderables - you may mark a concept as “sellable” and configure such concepts in the orders tab, so that on order they appear on Odoo quotations. For example - procedures, counselling, physiotherapy etc
- Lab Improvements - result entry for referred out tests can be marked as done, test status configuration, test method management, sample printout with barcode,
- Security Improvements - security enhancements towards XSS, CSRF, Domain whitelisting, Injections Attacks etc
- Teleconsultation - (Preview feature only) - It's also possible to schedule a tele consultation appointment, built on top of Jitsi, allowing Doctor-patient interactions over video. Note, while the teleconsultation feature is fully functional, there are some missing features you should be aware of before using on production.
- Oviyam Viewer Upgrade - Oviyam Dicom Viewer has been upgraded to v.2.8.1.
This release includes a preview of a new feature that we expect to officially include in the Bahmni 0.94 release. There is no official support for these previews, and no guarantee that configurations created now will be compatible with the official release.
Teleconsultation: With this release, it's possible to schedule a tele consultation appointment. Note, while the teleconsultation feature is fully functional, there are some missing features you should be aware of before using on production.
- Bahmni-mart : A simplified database used for analytics wherein hierarchical structures have been flattened and pivoted and many other entities denormalized. You may plugin data visualization tools Metabase, Superset etc on top of this database. NOTE: Bahmni-mart is not part of the default distribution and packaging of Bahmni 0.93. Please follow the steps here if you would like to try this out.
- Integration with OpenMRS Reporting : This Open Web App (OWA) is useful to execute Reports defined in the OpenMRS reporting module. Please see here for documentation
Add new concept reference term map for pre-existing concept by CSV upload | |
The timeslot of appointments displayed in appointment display control is not in local timezone but in server timezone | |
Change query to get provider from patient appointment provider table | |
Patient ID as configurable hyperlink on Appointments List View | |
Appointments: Allow saving Speciality entities | |
Reset Appointment Status | |
Show Language of the patient in List View, Appointments module | |
Auto refresh of Appointments | |
Multiple provider assignment for an appointment | |
Address Translation gaps in the Clinical, IPD, OT, Document Upload and Appointment modules | |
Diagnosis search from clinical module should be done in user language | |
Diagnosis Search should be done in user locale | |
Weekly view for OT | |
Preview the form2 form before publishing in Implementer interface | |
Validate and format form condition | |
Clinical Module - Internationalization of Patient Dashboard | |
Print the List View in Bed Management module | |
Patient dashboard trends display control - Localise field names of patient attributes | |
Import of Forms 2.0 in Implementer Interface | |
Role/Privilege based access to Forms | |
Vertical scroll - Implementation for ObstoObs flowsheet | |
Display drugs in drug-o-gram in the "latest first" order | |
Localise the label texts of the patient attribute fields | |
Weekly View in the Appointments Calendar | |
Saving Data for obs which are selected and later hidden | |
frontend to use names field and display the FSN in user specified locale | |
Able to view and edit forms on the patient dashboard | |
Support syncing order units between OpenMRS and Odoo | |
Bug - Refund of discounted invoice does not consider the discount | |
Bahmni Odoo addon module to support "sellable" products/services | |
Forms getValue for MultiSelect Observation | |
Use form UUID as translation file and form file name | |
UI enhancements for Form Builder | |
Create an event editor on implementer interface to provide onSave event handler | |
Introduce onFormSave Event when form save is clicked in consultation page | |
UI Enhancements forms 2.0 | |
Checks and inherits privileges for different versions of the form. | |
Export multiple(One and more) form builder forms in implementer-interface | |
[Form builder] Copy the translations of form (2.0) from one version to next version in implementer-interface | |
Create and render a table inside form | |
API to display form builder forms(forms 2.0) for a patient in dashboard | |
Support Translations for Bed Management Pop-up | |
OpenELIS lab samples grid does not show the print button | |
non-conformity page not opening in OpenElis | |
Mark as done for result entry for referred out tests | |
Disable modification of orders in Bahmni after editing the sample in ELIS during sample collection. | |
Lab - Type of test status configuration, allow user to select test status on results entry | |
Free text reference range information for lab tests | |
Test method management | |
Sample label printout with barcode. | |
New accession number generation logic | |
Apply filters dynamically on the Calendar/List view of OT Scheduling module | |
Custom surgical attributes in OT | |
Making the "Address information" section label dynamic in the registration page | |
Customise display order of First name, Last name and Middle name in Patient registration in EMR | |
Localise the coded concepts in patient attribute fields | |
Registration module - Create Patient should display localised string of coded concepts | |
Patient Attribute, of type concept, should display answers in user locale | |
ROLE based access to reports | |
API - Search Provider by attribute | |
New appointments endpoint to search patients by name/identifier relying on ORM | |
Update Bahmni front end dependencies | |
bahmni-erp-connect application properties not getting overridden by system or env properties | |
Bahmni-Reports- upgrade tomcat version | |
Ship MysQL v5.6 as default in Bahmni for avoiding performance issues | |
Update Bahmni openmrs distro dependency to include EMR API 1.24.8 release version | |
Get Concept by fullyspecifiedName API, to support the existing contract while modifying the response to include the result in user specified locale |
Encounter CSV upload not working for concept names having a dot or decimal point | |
Issue with CSV upload for person attributes of coded data type | |
CSV upload failing for person attribute of 'Date' being empty | |
Recurring Appointment details are not captured in the mart as events are not raised. | |
Error in Appointment scheduling in multiple tabs when logged out | |
Tab switch list view to calender view in Appointment scheduling | |
Appointment still shows under provider name in calendar view even after removing the provider from the appointment | |
Sorting is not working for provider column on Appointment's List view | |
Provider name does not show on calendar view popup | |
Oviyam viewer launched does not show the correct study for patient and accession | |
DICOM Viewer: OVIYAM2 not working on latest Chrome, Firefox browsers | |
Events not generated when bacteriology obs is edited from patient dashboard | |
File uploaded while entering the results for referred out tests is not saved until and unless the "Mark as Done" flag is checked before saving it. | |
Doc Upload - Label for visit "to" is shown garbled | |
Bahmni-core liquibase migration failing | |
Obs are saved even if the form is deleted before save | |
Cannot read property 'map' of undefined' error on dashboard display controls | |
ADT module shows an error message on load in the latest code on master | |
Missing "/" when trying to load Groovy scripts | |
Concept fetching by FSN should be driven by the default locale- Clinical App | |
Clinical app does not open on ipad 2 | |
"More than one encounter matches the criteria" on opening patient dashboard | |
Bahmni Offline Sync omod results in failed openmrs service loading | |
filter column in event_log table is not updated to correct value in Bahmni Connect | |
Can not identify latest Form (2.0) version on Android | |
Odoo startup fails because of missing python dependency of xlswriter | |
Deserialization error processing orders for Odoo | |
OpenMRS not syncing with OpenERP/Odoo due to missing property aleable.feed.generator.uri | |
None type does not remove previously added discount in the quotation. | |
Odoo login screen distorted. | |
Bug - ODOO Receipt printing of Partial Payment | |
[Implementer Interface] Form2 Form Translations are not saved correctly in some cases | |
[Implementer Interface] Form2 form condition of one form where overlapping with form conditions of other form. | |
Not able to add .json files while importing a forms in implementer interface | |
[Display Control] Text is getting truncated in Form Display Control and Visit Display Control when tried to add lengthy text in any of the text field | |
Importing a form and saving it without a form privilege is failing. | |
Form2 Forms are not rendering on Registration Second(Visits Page) Page | |
Importing a published form is creating version 1 and not the next version | |
CSS breaking for notes in table control | |
Obs to Obs Flow Sheet formating issue for add more forms | |
Translation file names not matching form names | |
Issues with the Forms 2.0 | |
Form Conditions with Table | |
Form Builder - Dragging a section inside an inner section causes the entire section to vanish | |
Deleted Form should be enabled in "Add New Obs Forms" list | |
Form builder - deleting one controls in a row deletes another | |
Do not allow to drag and drop controls to obsGroup | |
Forms 1 shows FSN for the locale, and not Short Name | |
python-psycopg2 installation fails due to GPG key isssue | |
Postgres Installation fails on 0.93, due to missing yum repo for postgres 9.6 | |
Client side logging module throws error | |
postgres version still retained as pgdg-centos96-9.6-3.noarch.rpm in /roles/postgres/defaults/main.yml | |
Bahmni installation fails due to Click python lib dependency - Click 7.0 to be installed | |
Bahmni installer updates postgres.conf file when trying to backup postgres database | |
Unable to apply Bahmni Liquibase changes on a 'fresh' OpenMRS database. | |
Update Ansible RPM location in Bahmni installer | |
[Bed Management] Multiple clicks while Admitting, Transferring and Discharging patient having multiple entries in database | |
Ward list layout is not seen in In-Patient module | |
Bed Management UI layout issues | |
[Bed management] beds layout not being displayed correctly | |
Not possible to create Bed Layout without mentioning all bed details | |
Do not allow a bed type or bed tag to be deleted if it is in use with a bed | |
Organisation page in OpenElis Administration menu displays an empty page. | |
Unable to save sample data in OpenElis | |
OpenELIS Reset password feature does not work | |
Null' getting printed in sample label print for collection date | |
OpenElis data not syncing to OpenMRS in 0.93 due to dependency discrepency | |
LAB - error at startup, due to Hibernate mapping Test.referenceInfo column | |
Startup of bahmni-lab fails to start due to missing property | |
Fix for referred out test counts on the dashboard | |
[OT] Issues with surgical block created across multiple days | |
Formbuilder reports not working | |
Audit-log - fix bean definitions and dependency injections | |
Atomfeed Console api is compromised |
Please see system requirements here
Before you go through the installation process, please upgrade "zlib" packages.
$ yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm
Please refer to the documentation on Installation, Upgrade and/or Advanced Installation for version 0.93
Please also refer Installing and Configuring Bahmni Connect for Bahmni Connect Setup
You can refer to All Releases page for further details on RPM versions
Note
- Henceforth, please do not use the “service” command to start/stop/restart a service.
- Only use the “systemctl start/stop/restart <bahmni-service-name>” command.
- Ensure that you don’t have a directory “/var/run/<bahmni-service-name>”. Such directories are henceforth created and removed as part of “systemctl” execution. Hence if you are updating an existing Bahmni installation, ensure /var/run/<bahmni-service-name> directory is not present before install command gets triggered.
- MySQL admin password: From 0.92, we are using a stricter password policy and set to MEDIUM, which is a combination of “Length; numeric, lowercase/uppercase, and special characters”. If you are changing the admin user (root) password, you need to set password appropriately. Check MySQL documentation here for more information.
- MySQL version configuration: Default MySQL version supported is 5.6. A new configuration parameter mysql_version has been introduced to override MySQL version, which you can configure in setup.yml before running the install command. eg. mysql_version=5.7.30
Briefly:
Install
# install dependencies
> yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm
> yum install -y epel-release
# install bahmni command line installer
yum install -y https://repo.mybahmni.org/releases/bahmni-installer-0.93-197.noarch.rpm
# download the postgres repo rpm.
> rm -f /opt/pgdg-redhat-repo-latest.noarch.rpm
> curl https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm --output /opt/pgdg-redhat-repo-latest.noarch.rpm
# if the filee /etc/bahmni-installer/setup.yml is not there, you can get a sample
> curl -L https://tinyurl.com/yyoj98df >> /etc/bahmni-installer/setup.yml
# configure your implementation specific settings, set repo URL
> vi /etc/bahmni-installer/setup.yml
bahmni_repo_url: https://repo.mybahmni.org/releases/
# configure components you require
> vi /etc/bahmni-installer/local
# run the installer
> bahmni -i local install
- Rebuild Search Index: It's required to rebuild search indexes from the OpenMRS UI. Without this, Patient, Drug and Concept searches won't work in Bahmni or OpenMRS. Please rebuild the indexes post install/upgrade: OpenMRS => Navigate to Administration => Search Index => Run Rebuild Search Index.
- Duplicate Scheduler Tasks: We have noticed that there are sometimes duplicate schedulers for OpenElis Patient Atom Feed Task and OpenMRS event publisher Task running. Having such duplicate entries relevant to Feed and Events can result in unforeseen and unpredictable synchronization issues between components of Bahmni. This was fixed as part of Bahmni-0.91 release for the default demo and clean databases. However, existing installations trying to upgrade Bahmni should manually delete the entries from database. You can do this either from OpenMRS Administration console or updating database directly. You can verify by running this SQL on mysql “openmrs” database.
select schedulable_class, count(*) from scheduler_task_config group by schedulable_class;
If any of the rows, show as more than 1, then you should delete the duplicate entries to ensure only one scheduler job exists and is being run.
- Tag a Location with ‘Operation Theatre’ : To create a surgical block in OT scheduling module, we should have at least one location tagged as "Operation Theatre". If you are not using default config, or have forked from default config previously, you must tag your OT location with ‘Operation Theatre’ tag. Without this setup, OT scheduling app will throw an error.
- Oviyam Viewer URL : You may need to update the configuration for Oviyam DICOM viewer URL in app config for clinical dashboard, if you are migrating from older version. Please edit file /var/www/bahmni_config/openmrs/apps/clinical/dashboard.json for the “pacsImageUrl” attribute like in the example here.
- Odoo Setup: If you are going to use Billing/Pharmacy/Inventory functions from ERP, you need to configure Odoo for your requirements appropriately. Please see WIKI documentation for guide.
- Odoo - Undefined period error during quotation confirmation : While confirming a quotation, if there is no period defined an error is thrown "There is no Period defined". While this has been fixed for 2018 with the default ERP database, if you are going to be installing in 2021, you may still face this error.
Workaround: Please follow the steps as mentioned in this page - OpenERP error "There is no period defined" while confirming a sale quotation - Change default passwords: You should change the user passwords for OpenMRS (superman, admin), OpenELIS (admin), Odoo (admin), Dcm4Chee (admin)
Information don’t sync to Odoo, or published lab results don’t sync to OpenMRS: We have noticed that sometimes post installation (with bahmi-lab, bahmni-erp-connect services running) information don’t sync to Odoo (from OpenMRS) or to OpenMRS (from lab), while the front end applications seem to be working fine. If you would check the log files, you will probably see connection lost, or C3PO connection pool errors. Restarting the services seem to resolve the errors.
> systemctl restart bahmni-erp-connect
> systemctl restart bahmni-lab
systemctl commands throwing error:
Authorization not available. Check if polkit service is running or see debug message for more information. Failed to restart odoo.service: Connection timed out See system logs and ‘systemctl status odoo.service’ for details.
We have noticed this error coming up infrequently. Follow the instructions provided below for resolution
https://access.redhat.com/solutions/1543343
running services in debug mode:
- If you want to run a particular service in debug mode, you can still continue to use the “service <bahmni service-name> debug” command. However, few things you need to keep in mind
- Always run the service in debug mode, as root user.
- After stopping the service, ensure that you delete the /var/run/<bahmni-service-name> and /var/log/<bahmni-service-name> directories.
generate "LetsEncrypt" certs:
- If you want to generate “LetsEncypt” certs from the same server machine, you will have to manually install zlib-devel package. Please see this thread for information
Can not start opnmrs service using "systemctl":
- Openmrs service fails to start with “systemctl start openmrs” after the usage of “service openmrs start”:
- mv /opt/openmrs/log /opt/openmrs/log-backup
- rm /var/log/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- rm /var/run/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- mkdir /opt/openmrs/log
- chown bahmni:bahmni /opt/openmrs/log
- ln -s /opt/openmrs/log /var/log/openmrs
- chown -R bahmni:bahmni /var/log/openmrs
Redirecting service commands to systemctl:
With the release of Bahmni version 0.92, Bahmni’s services uses systemd unit files as opposed to the older init.d files. Using service commands to start/stop Bahmni services are not supported and only systemcl commands are advised. To prevent use of “service” command, we can run the optional step below that sets up a “service” function to redirect service command to call “systemctl” instead:
1. vi ~/.bash_profile 2. Add the following line: service() { local first=$1; local second=$2; echo “Redirecting to systemctl from Bahmni, to unset this run ‘unset -f service’“; systemctl $second $first;} 3. Save and close the file 4. source ~/.bash_profileTo remove the above function, modify the same file and remove the service function.
- Use in different locale other than the default/main - While we have improved localization support in registration and clinical modules, and searching concepts by name in logged in locale is possible, there are places in the clinical module where it is not done so - eg. medication orders. In such cases, the concepts are still being displayed in the main locale set for the implementation.
- Performance issues with MySQL 5.7: we have noticed certain queries taking a lot of time with MySQL 5.7 version. This release defaults MySQL version to 5.6. If you are using MySQL 5.7 and are migrating from older version of Bahmni, please set the MySQL version to 5.7 in the setup.yml
Beds Count mismatch on new Bed Management app: We have seen that earlier way of adding bed by sql insertions/deletions have created some dangling beds which might result in Beds count mismatch on new Bed Management app. This can also result in unpredictable exceptions on new Bed Admin UI while managing beds. You can verify if there is such issue in your database using below query and fix it instead of failing at liquibase migrations during installation.
> select * from bed_location_map where bed_id is null; > select * from bed_location_map where bed_id not in (select distinct bed_id from bed);
The first SQL returning more than zero records, is perfectly alright. If you have defined a layout but not assigned a bed for each of the locations in the layout of a ward/room, this is likely to happen. From "Ward Management" Console, you can assign a bed to that position. The second SQL will identify the invalid “bed” allocation in a ward. Invalid here means - allocation to a “bed” in a ward, which is referring to a not existent “bed” record in the “bed” table. Before running the upgrade, you need to ensure that such bed allocations are removed (remove the record) or updated with bed_id being NULL.
> update bed_location_map set bed_id = null where bed_location_map_id = <bed_location_map_id from the above query>;
Bahmni version: 0.92-155
Please see system requirements here
Before you go through the installation process, please upgrade "zlib" packages.
$ yum install -y https://kojipkgs.fedoraproject.org//packages/zlib/1.2.11/19.fc30/x86_64/zlib-1.2.11-19.fc30.x86_64.rpm $ sudo yum install epel-release $ sudo yum install python-pip $ sudo pip install pip==v19.0 $ sudo uninstall click $ sudo pip install click==v7.0 $ sudo pip install pyusb $ sudo pip install babel==v0.9.6 $ sudo pip install decorator==v3.4.0 $ sudo pip install beautifulsoup4
Please refer to the documentation on Installation, Upgrade and/or Advanced Installation for version 0.92
Please also refer Installing and Configuring Bahmni Connect for Bahmni Connect Setup
You can refer to All Releases page for further details on RPM versions
Note
- Henceforth, please do not use the “service” command to start/stop/restart a service.
- Only use the “systemctl start/stop/restart <bahmni-service-name>” command.
- Ensure that you don’t have a directory “/var/run/<bahmni-service-name>”. Such directories are henceforth created and removed as part of “systemctl” execution. Hence if you are updating an existing Bahmni installation, ensure /var/run/<bahmni-service-name> directory is not present before install command gets triggered.
Rebuild Search Index: It's mandatory to rebuild search indexes from the OpenMRS UI. Without this, Patient, Drug and Concept searches won't work in Bahmni or OpenMRS. Please rebuild the indexes post install/upgrade: OpenMRS => Navigate to Administration => Search Index => Run Rebuild Search Index.
Duplicate Scheduler Tasks: We have noticed that there are sometimes duplicate schedulers for OpenElis Patient Atom Feed Task and OpenMRS event publisher Task running. Having such duplicate entries relevant to Feed and Events can result in unforeseen and unpredictable synchronization issues between components of Bahmni. This is fixed as part of latest Bahmni-0.91 release for the default demo and clean databases. However, existing installations trying to upgrade Bahmni should manually delete the entries from database. You can do this either from OpenMRS Administration console or updating database directly. You can verify by running this SQL on mysql “openmrs” database.
select schedulable_class, count(*) from scheduler_task_config group by schedulable_class;
If any of the rows, show as more than 1, then you should delete the duplicate entries to ensure only one scheduler job exists and is being run.
Tag a Location with ‘Operation Theatre’ : To create a surgical block in OT scheduling module, we should have at least one location tagged as "Operation Theatre". If you are not using default config, or have forked from default config previously, you must tag your OT location with ‘Operation Theatre’ tag. Without this setup, OT scheduling app will throw an error.
Odoo Setup: If you are going to use Billing/Pharmacy/Inventory functions from ERP, you need to configure Odoo for your requirements appropriately. Please see WIKI documentation for guide.
Change default passwords: You should change the user passwords for OpenMRS (superman, admin), OpenELIS (admin), Odoo (admin), Dcm4Chee (admin)
MySQL admin password: From 0.92, we are using MySQL version 5.7, and the password policy is stricter and set to MEDIUM, which is a combination of “Length; numeric, lowercase/uppercase, and special characters”. If you are changing the admin user (root) password, you need to set password appropriately. Check MySQL documentation here for more information.
Ansible preferred version: Default ansible version supported is 2.4.6. Bahmni command line option -aru has been reintroduced to enable users to provide repo-url of ansible package (incase of non availability of ansible package) while installing Bahmni.
MySQL version configuration: Default MySQL version supported is 5.7.30. A new configuration parameter mysql_version has been introduced to override MySQL version.
Information don’t sync to Odoo, or published lab results don’t sync to OpenMRS: We have noticed that sometimes post installation (with bahmi-lab, bahmni-erp-connect services running) information don’t sync to Odoo (from OpenMRS) or to OpenMRS (from lab), while the front end applications seem to be working fine. If you would check the log files, you will probably see connection lost, or C3PO connection pool errors. Restarting the services seem to resolve the errors.
> systemctl restart bahmni-erp-connect
> systemctl restart bahmni-lab
systemctl commands throwing error:
Authorization not available. Check if polkit service is running or see debug message for more information. Failed to restart odoo.service: Connection timed out See system logs and ‘systemctl status odoo.service’ for details.
We have noticed this error coming up infrequently. Follow the instructions provided below for resolution
https://access.redhat.com/solutions/1543343
running services in debug mode:
- If you want to run a particular service in debug mode, you can still continue to use the “service <bahmni service-name> debug” command. However, few things you need to keep in mind
- Always run the service in debug mode, as root user.
- After stopping the service, ensure that you delete the /var/run/<bahmni-service-name> and /var/log/<bahmni-service-name> directories.
generate "LetsEncrypt" certs:
- If you want to generate “LetsEncypt” certs from the same server machine, you will have to manually install zlib-devel package. Please see this thread for information
- Same as August 2019 release of v0.92
- Redirecting service commands to systemctl:
- With the release of Bahmni version 0.92-147, Bahmni’s service files are now systemd unit files as opposed to the older init.d files. Using service commands to start/stop Bahmni services are not supported and only systemcl commands are advised. To prevent use of “service” command, we can run the optional step below that sets up a “service” function to redirect service command to call “systemctl” instead:
1. vi ~/.bash_profile 2. Add the following line: service() { local first=$1; local second=$2; echo “Redirecting to systemctl from Bahmni, to unset this run ‘unset -f service’“; systemctl $second $first;} 3. Save and close the file 4. source ~/.bash_profile - To remove the above function, modify the same file and remove the service function.
- With the release of Bahmni version 0.92-147, Bahmni’s service files are now systemd unit files as opposed to the older init.d files. Using service commands to start/stop Bahmni services are not supported and only systemcl commands are advised. To prevent use of “service” command, we can run the optional step below that sets up a “service” function to redirect service command to call “systemctl” instead:
- Openmrs service fails to start with “systemctl start openmrs” after the usage of “service openmrs start”:
- mv /opt/openmrs/log /opt/openmrs/log-backup
- rm /var/log/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- rm /var/run/openmrs (without ‘/’ at the end, we want to remove only the symlink)
- mkdir /opt/openmrs/log
- chown bahmni:bahmni /opt/openmrs/log
- ln -s /opt/openmrs/log /var/log/openmrs
- chown -R bahmni:bahmni /var/log/openmrs
- Replace Offline sync omod:
- If you are going to use “bahmni connect”, you would have chosen “bahmni-offline”. You will need to replace the following file
- /opt/openmrs/modules/bahmniOfflineSync-0.91-SNAPSHOT.omod
with “bahmniOfflineSync-0.92-SNAPSHOT.omod” file, which can be downloaded from
https://github.com/Bahmni/bahmni-offline-sync/releases/tag/0.92-SNAPSHOT
- click the assets link in the above page, to list out the files.
- Once you have placed the file in /opt/openmrs/modules/ directory, make sure that you change the permission for the file
> chown bahmni:bahmni /opt/openmrs/modules/bahmniOfflineSync-0.92-SNAPSHOT.omod
Security Alert
There's been a security advisory from OpenMRS for webservices.rest module. As part of security Advisory, who ever planning to install Bahmni or already have installed Bahmni of versions 0.89, v0.90, v0.91 those have to replace existing webservices.rest module with 2.24.0 version module.
For more details on security advisory, please refer to below talk threads
https://talk.openmrs.org/t/critical-security-advisory-cve-2018-19276-2019-02-04/21607
https://talk.openmrs.org/t/update-for-cve-2018-19276-2019-02-04/21682
persistence-api-1.0.2 jar