Versions Compared

Key

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

Purpose and Benefits

Warning
titleKNOWN ISSUE

It seems Appointment Module is not running on Bahmni v0.82 due to an omod incompatibility. We will work to resolve this issue soon. If you are interested in helping out, please let us know. This issue can be tracked in Mingle here: #2008


Appointments module provides the ability to give appointments to patients and then manage their flow through once they arrive at a clinic. In simple terms, the module allows implementations to do the following:

  1. Create a schedule of when providers are available to see patients

  2. Schedule appointments for patients based on provider schedule

  3. 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.

  1. Core Apps module - https://modules.openmrs.org/#/show/177/core-apps-module

  2. HTML Form Entry modules:

  3. App UI module - https://modules.openmrs.org/#/show/8/appui

  4. Appointment Scheduling UI module - https://modules.openmrs.org/#/show/200/appointment-scheduling-ui-module

  5. Appointment Scheduling module - https://modules.openmrs.org/#/show/7/appointmentscheduling

  6. Reporting module - https://modules.openmrs.org/#/show/119/reporting

  7. 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.


Code Block
languagesql
titleSQL Queries
linenumberstrue
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());

Run the below query for adding Unknown Patient person attribute type. I'Unknown Patient' person attribute type already exists, the query will throw an error. You can safely ignore it.

Code Block
languagesql
titleSQL Queries
linenumberstrue
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. Accessing the Appointment module from Bahmni Application

The Appointment module can be added to Bahmni's Application Dashboard using the following configuration in "extension.json" (->/default-config/openmrs/apps/home/)

Code Block
languagejs
titleAppointment Module Configuration
linenumberstrue
"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. Automating 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.

Tip
titleOn this Page

Table of Contents
 

Panel
titleColorwhite
titleBGColor#668D3C
titleFeature Details

Appointments Module - Feature Guide

Panel
titleColorwhite
titleBGColor#668D3C
titleUsage Details

Appointments Module - Implementer's Guide

Panel
titleColorwhite
titleBGColor#668D3C
titleRelated Links

(Discussion) Setting up Appointment Module in Bahmni