Drag and Drop for appointments

jobermeier wrote on Tuesday, November 06, 2012:

I noticed that appointment’s in the calender section can not be dragged and dropped, some of the other software vendors have that option, are there any plans to implement this option?
Thank you,

Josef

yehster wrote on Tuesday, November 06, 2012:

Please explain in more detail the drag drop interaction you would like to see implemented. I’m not sure what the usage case for such a feature would be.

tmccormi wrote on Tuesday, November 06, 2012:

I’ve had two requests for this, both different.

1) ability to drag the columns around to rearrange the order the providers are listed (left to right).  This is because the user has dozens of doctors on staff, but only 1-4 on call on any given day, so to avoid scrolling the would like to shift the on call docs to be first in the list

2) Drag a previously scheduled appointment to a new time or date.

Tony
www.mi-squared.com / @tonymi2
oemr.org / @OEMR_org

yehster wrote on Tuesday, November 06, 2012:

Drag drop is decidedly hard to implement in web interfaces. jQueryUI has does have support for “draggable” and “orderable” but it’s far from simple. 

For changing an existing appointment to a new time or date, here is a potentially useful UI paradigm that might not be too hard to implement.
Presently, if you have a popup for an existing appointment active, when you click on a time slot in the calendar, the system prompts “OK to close this other popup window?”.
Instead, that “active appointment” could have it’s time/date updated to the time slot specified by the click on the calendar.  Or the current prompt could be updated to allow choosing between the current behavior of just “closing the other popup window” or updating the time on the open appointment.
That way you can easily browse the calendar for an available slot, and click on an empty spot of your choosing, without having to keep the mouse down for dragging while looking around.
I guess drag drop would be better/simpler if you are just trying to change the time for an appointment to a slot that is already being displayed (a different hour if you are viewing the “day” calendar, or a different slot in the same week if you are viewing the "weekly calendar.  But what would the drop target be if you want to move the appointment to a different month?

A cluttered calendar when there are large numbers of providers is certainly a recurring problem.  The base problem seems to be the need for options to order providers other than just alphabetical.  Even if the UI elements were there to allow dragging providers around, there would need to be a mechanism to store that order (at least on a session basis).  Otherwise, it will frustrate users when they setup their order for the day, then leave the calendar, only to have the alphabetical sorting return.  It might be useful to order a large calendar by “only providers with at least one appointment for today” first, and then alphabetically.  ( wouldn’t want to sort by total number of appointments because then the providers are going to jump around a lot.

bradymiller wrote on Wednesday, November 07, 2012:

Hi,

Regarding ordering “memory”, check out the mechanism that remembers what is expanded/collapsed in the patient summary screen that is based on this ajax call:
library/ajax/user_settings.php
(could likely leverage this to store per user settings of calendar ordering etc.)

-brady
OpenEMR

tmccormi wrote on Wednesday, November 07, 2012:

re: calendar ordering, two thoughts
1) The ordering could be an Administrator task that applies globally and is the responsibility of the the admin to keep up to date (that’s what my customer wanted).  But it just one possibility

2) On Call Drs don’t have appointments until after the “day/shift” starts so using exiting appointments isn’t going to work for that

-Tony

yehster wrote on Wednesday, November 07, 2012:

Yeah, I was pretty sure the order by appointment existence wouldn’t be optimal for on-call.  As the shift progressed though, the providers would get prioritized, and I’d bet Art’s clinic would find it useful.  Ideally there would be multiple sort order options, but there needs to be a base mechanism for re-ordering first.