Donate to this project

Development Project Status: Completed

Total cost estimate (ex-Tax): 
Due date for completion of this stage: 
Current Percentage Funded: 
Project funding: 

You can donate money to this project by entering the amount above and clicking the 'Add to cart' button. In the Checkout process you can either choose to pay now (via Bank Transfer, Cheque or Pay Pal) or you can pledge the amount by choosing the 'Pledge a payment for a Development Project' method. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then action your payment. Note that development will not commence until all funds are received.

Project description: 

This project will provide rostering support in OpenVPMS.

  • users are rostered to an Area, which is linked to a practice Location
  • Areas can have zero or more Schedules
  • user availability is determined by roster events, which have a start time, end time and Area
  • extend the Booking API to enable clinician availability to be queried

Rostering Workspace

A new Rostering workspace will be added to Workflow, listed under Tasks.

Rostering will performed in a new Rostering workspace. Two views will be provided:
1. roster by Area, showing who is rostered on
2. roster by user, showing when they are rostered on, and to which Area

Roster Editing

A calendar is used to roster a user on or off.
This is displayed as a grid with the columns representing the days.
Shifts are placed to determine when a user is rostered on.
Each shift contains the:

  • roster area
  • practice location
  • start and end time
  • the user. This is optional. If no user is assigned, the shift is not yet filled.


When a clinician has a roster, attempting to select them for an appointment when they are not rostered on will display a warning:

<Name> is not rostered on.

If a clinician already has an appointment at the same time, it will display a warning:

<Name> already has an appointment at this time for <schedule>.

In all cases, the user can keep the selected clinician, or choose a different one.        

Booking API

The booking API will be extended to:

  • return a list of clinicians who work at a location
  • return the availability of a clinician
    This will be determined from their roster, and any appointments that have already been scheduled for them
    The response will include an optional list of schedules, in case clinicians can be rostered to specific schedules in future
  • allow bookings to be made for a specific clinician
    If the clinician is not available at the time, a note will be added to the booking.


This project will not support synchronisation with 3rd party rosters or calendars.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Rostering

Has any funding been pledged yet?

Syndicate content