Appointments Module of OpenMRS
- Teresa Gracias
- Sruti Sridhar
- Venkata Jaswanth U
Purpose and Benefits
This is documentation for Appointment Module of OpenMRS. This is no longer supported and is not part of the standard Bahmni distribution. You can find the details of the new Bahmni Appointment Module feature here.
KNOWN ISSUE
It seems Appointment Module is not running on Bahmni v0.88 due to an omod incompatibility. The following discussion shows how a community member has been able to make it work for them. Please see: https://talk.openmrs.org/t/appointments-module-with-bahmni-0-88/10556/4
Tip
Appointment Module is not working with demo database for Bahmni v0.82 because of the lack of privileges to 'openmrs-user’. Please run the below command from mysql prompt to Grant the privileges to the user.
GRANT ALL PRIVILEGES ON openmrs.* TO 'openmrs-user'@'%' WITH GRANT OPTION;
And add the below specified Appointment Module omod versions.
- coreapps-1.9.omod
htmlformentry-3.2.omod
- htmlformentryui-1.4.omod
- htmlformentry19ext-1.7.omod
- appui-1.5.1.omod
- appointmentschedulingui-1.3.omod
- appointmentscheduling-1.4.omod
- reporting-0.9.9.omod
- reportingrest-1.6.omod
Appointments module provides the ability to give appointments to patients and then manage their workflow through the clinic.In simple terms, the module allows implementations to do the following:
Create a schedule of when providers are available to see patients
Schedule appointments for patients based on provider schedule
Manage the patient queue through the clinic when the patients arrive for their appointments.
Steps:
1. Add ‘omod’ files required for 'Appointments module' to OpenMRS
Download and add the following omod files in /opt/openmrs/modules and restart OpenMRS.
Core Apps module - https://modules.openmrs.org/#/show/177/core-apps-module
HTML Form Entry modules:
App UI module - https://modules.openmrs.org/#/show/8/appui
Appointment Scheduling UI module - https://modules.openmrs.org/#/show/200/appointment-scheduling-ui-module
Appointment Scheduling module - https://modules.openmrs.org/#/show/7/appointmentscheduling
Reporting module - https://modules.openmrs.org/#/show/119/reporting
Reporting Rest module - https://modules.openmrs.org/#/show/121/reportingrest
After adding the above omods in the modules folder, ‘App: appointmentschedulingui.home’ privilege and other privileges required for the appointments module are automatically added in OpenMRS.
2. Assign Roles and Privileges
Create a new Appointment role in OpenMRS->Administration->Manage Roles. Assign the appointments module related privileges to that role and then assign this new role to a user.
Refer to this video for creating roles in OpenMRS https://www.fuzemeeting.com/replay_meeting/0d7c6e99/7842034
3. Run SQL Queries
Run the below query for adding Telephone Number person attribute type. If 'Telephone Number' person attribute type already exists, the query will throw an error. You can safely ignore it.
INSERT INTO person_attribute_type (name, description, format, searchable, creator, date_created, retired, sort_weight, uuid) VALUES ('Telephone Number', 'Telephone Number', 'java.lang.String', '0', 1, now(), 0, 3, uuid());
INSERT INTO person_attribute_type (name, description, format, searchable, creator, date_created, retired, sort_weight, uuid) VALUES ('Unknown patient', 'Unknown Patient', 'java.lang.String', '0', 1, now(), 0, 3, uuid());
4. Add the Appointment module to the dashboard
The Appointment module can be added to Bahmni's Application Dashboard using the following configuration in "extension.json" (->/default-config/openmrs/apps/home/)
"bahmni.appointments": { "id": "bahmni.appointments", "extensionPointId": "org.bahmni.home.dashboard", "type": "link", "label": "Appointments", "url": "../../openmrs/appointmentschedulingui/home.page", "icon": "fa-user", "order": 11, "requiredPrivilege": "App: appointmentschedulingui.home" }
5. Automate the installation process
As mentioned in point 3, Appointment module needs some SQL files to be executed. You can automate this process by adding liquibase migrations if required. Please refer to this example of one of the Bahmni implementations that uses liquibase migrations.
The Ansible installation supports adding additional OMODs like appointment module as part of the installation process. Refer to this for more information.
On this Page
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)