Appointment Scheduling Module

What this module does

This adds the ability to scheduling patients for appointments then manage their flow through a clinic once they arrive for appointments. 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.

Documentation / How-To

Adding appointments on this module can be confusing for first time users of this module as it's not straightforward. So, to help you get started using this module, here are the steps you need to take in order to add an appointment -

  1. Inside Appointment Scheduling Module, click on Manage Provider Schedules. You should see a calendar. 
  2. Click on a date, select a location, add a provider (optional), select service type, start time and end time for the appointment. Save your entry. It should now be visible on the calendar when you have the right location selected.
  3. On the module home page, click on Manage Appointments and search for the patient whose appointment you want to add.
  4. After clicking on the patient's info, under Schedule a New Appointment, select the service type that you previously added appointment for and search.
  5. Select your appointment and save.

In January 2015, a demo was given on the OpenMRS Developers call showcasing the latest features of the module. Links to a recording of that call can be found here:

2015-01-08 Developers Forum

Below an OpenMRS University how-to on YouTube (below) that explains how to use an earlier version of the module. This video explains the basics of the module from version 0.2.


The Appointment Scheduling Module uses OpenMRS's User Capabilities to control access to the module for individual users.  These capabilities can be modified under System Administration → Manage Accounts.

By default, Admin users will have all available capabilities. Many capabilities provided by OpenMRS do not affect the Appointment Scheduling Module. Below you will find a list of all capabilities which affect

access to this module, and the functionality they provide to the user.

The following capabilities provide access to the associated pages inside the module - 

Schedules Appointments
  • Manage Appointments
  • Daily Appointments
  • Appointment Requests

Configures Appointment Scheduling

  • Manage Service Types
 Manages Provider Schedules
  • Manage Provider Schedule 
Schedules and Overbooks Appointments
  • Manage Appointments
  • Daily Appointments
  • Appointment Requests
Sees Appointment Schedule
  • Manage Appointments
  • Daily Appointments

Here's a brief description of what each page does:

 Manage Service TypesView, add, edit and remove types of services that are provided in an appointment. 
Manage Provider ScheduleView, add, edit and delete appointment blocks of providers.
 Manage AppointmentsSearch for a patient by ID or name and add or remove appointment(s) for him/her.
 Daily AppointmentsView scheduled appointment for the specified date and location. 
 Appointment RequestsAccept appointment requests made by others. 


  • OpenMRS 1.9 with visits enabled



Manage Service TypesManage Provider SchedulesManage AppointmentsDaily AppointmentsDaily Appointments - Scheduling New AppointmentsDaily Appointments - Viewing Scheduled AppointmentsAppointment Requests

Release Notes


This module was developed by Ben Gurion University of the Negev students Tobin Greensweig (medicine), Yonatan Grinberg, and Adam Lauz (both Information Systems Engineering) in collaboration with MigrantHealth:IL and the Tel Aviv Refugee Clinic. The OpenMRS community contributed to the design and early development. The module was built based on the specifications and input from all parties involved so we hope it will be generalizable and usable by many organizations!

If you have any questions or would like to contribute to the project, please don't hesitate to ask!

The OpenMRS Project page:  Appointment Module