Calendar Reconstruction Effort

juggernautsei wrote on Saturday, February 04, 2012:

We have been looking at the calendar and how to make it function better. In another thread I was informed that the calendar base code is over 9 years old. Adding more functions on top of this kind of coding is not good. We would like to undertake the coding of the calendar to cut down on the amount of queries the calendar has to make and to bring the code up to date.

Of course we are looking for a sponsor for this project. If there are others that would like to see the community have a better calendar system. Please contact me sgaddis at jse dot net

Sherwin
www.openmedpractice.com

juggernautsei wrote on Saturday, February 04, 2012:

Sorry for got to add that we are looking for $3k in sponsorship

Thank you,

Sherwin

toddjones wrote on Saturday, February 04, 2012:

I am new to the group and love what the group is doing.  Please tell me more about what you want to do with the improvements and how long you think it will take and what it means to be a sponsor and I might do it.  I’m sorry I don’t know anyone in this group so if you could also give me some info on you that would be great as well.

mborchorst wrote on Saturday, February 04, 2012:

I am definitely interested in having some more options in the calender functions. I will send you a mail.

I guess the wished changes should be discussed on the list first. Otherwise I they might not get into the codebase.

juggernautsei wrote on Monday, February 06, 2012:

Thanks for the interest in this project. We are looking at updating the underlying code to the calendar. The calendar look and feel will stay the same to the users unless we get more input as to changes that would enhance the calendars functionality to the community. But the underlying code that the calendar is running on is aging and needs to be updated to make the calendar run cleaner and solve some structural issues we have been having with the calendar and we hope to speed of the calendars response time to queries. To do this, we are looking to cut down the number of queries the calendar has to make ot the data that is needing to be displayed. In optimzing the code or coming up with code that make the calendar act in an instant as intended.

Timing of the project to be complete is hard to gage. We would be happy if it only took two months to pull off. But from the engineering side many things can delay the timing of a project. The biggest delays that we can anticipate is that of input from the community at large and then the adoption by the board which Mr. Brady can tell you a guestimation of how long that process takes to review the code and meet the standards of the program for acceptance into the code base.
So, my guess at this point is 60 - 90 days from the time we have enough sponsorship to move forward.

Sponsorship we try to keep simple. We have one pledge of $1k at this time. Sponsors are just people like you that would like to help the project grow and help the programmers for their time and effort in writing the code. It is a way to donate to the community at large and help a programming  pay some of the mortgage while working on the project. We do the funding in stages. We will break the funding up into three stages and deliverables. The project will be post on the git and can be reviewed and downloaded by the community for testing and adoption prior to it being released in a patch or official upgrade. Brady will decide that part.

I hope this was enough information for you to join our team on this project as a sponsor.

Regards,

Sherwin

bradymiller wrote on Monday, February 06, 2012:

Hi,

To answer above:
The code review process to get code submitted into the official codebase is very quick, but is dependent on the code itself. There is no board that decides this; decision is for the code reviewers which generally consist of myself, Kevin (yehster), Rod, Tony and anybody else that wants to review the code (note there are also testers, such as Arnab and others, that also provide further testing and input). The code review process is completely open and done on github.

My suggestion in a project of this size is to post the code on github as you are developing it; this is much more efficient because it lets the code reviewers bring up issues early in the coding (so you don’t waste resources on producing flawed code). If the code is reviewed like this in an ongoing fashion, then it is generally ready to be committed to the official codebase when it is completed.

Looking very forward to the code,
-brady

yehster wrote on Monday, February 06, 2012:

Here are things that I suspect people would want improved with the current calendar.
Performance tuning:  decrease load time. 

Improved user interaction, especially when number of facilities and number of providers is large.

jperrien wrote on Monday, February 06, 2012:

may also want to consider some rules for entry.  In the present calender it is possible to enter an appt time in a time slot that is not listed as a legal time for the physician.  You will not see the appt on the calender but when the appt is viewed for the individual patient it is allowed.  So it is possible to enter a 3 AM appt on a day that thew physician is in the office starting at 8AM.

tmccormi wrote on Monday, February 06, 2012:

Being able to create a “template” calendar is a frequent request, that is the provider has slots listed that are reserved for scheduling specific kinds a appoints, like surgery versus office visit

And…  have the ability to schedule equipment use and rooms, not just people.  Those have rules like minimum time needed and no double booking …

-Tony

juggernautsei wrote on Tuesday, February 07, 2012:

Tony,

can we get a little more detail on how the template calendar would work or a wire frame?
My clients do something simular to this by just putting blocks on the calendar that say what is suppose to be scheduled between 8am and 12noon and so on.

This sounds like it would be a separate calendar in addition to the people calendar.

Sherwin
openmedpractice.com

juggernautsei wrote on Tuesday, February 07, 2012:

Brady,

thanks for the clarification. We will try to have the github setup by the end of the week.

Thanks to everyone for their input so far.

We have two sponsors right now with a pledge of $1k each.

Sherwin

bradymiller wrote on Tuesday, February 07, 2012:

Hi,
Also would be nice if could address these “long-term” bugs:
http://www.open-emr.org/wiki/index.php/Active_Projects#Multi-facility_bugs
http://www.open-emr.org/wiki/index.php/Active_Projects#Recurring_appointment_bugs
-brady

cbezuidenhout wrote on Wednesday, February 08, 2012:

In the calendar for recurring events, specifically this is aimed at the in/out times, can we select specific days,
ie. every Tues,Wed,Thurs,Fri,Sat

Sometimes a provider has a slightly different working week to us mere mortals.

This may already be possible, if so, please slap me on the wrist and educate me.

  - Craig
    Tajemo Enterprises

aethelwulffe wrote on Wednesday, February 08, 2012:

For recurring appointments, expanding fuzzy dates has always been top of the list for my peeps.  Often, they schedule things or are required to do things on a date like “First Monday of”.

I also agree with Tony that lots of users want a room scheduling feature, or be able to indicate a “roomed” status at various levels “In Room #3, drawing Labs”, or “In Room #3 awaiting Dr.Bob” with an announcement, color code, or something.  I find that a lot of clinics already use color-code flags outside their doors, so matching a standard version of that, or enabling color code settings for that might be nice for them.  I don’t know the specifics of using this system (not being a medical type myself), but perhaps someone could provide input.
  I also thing that enabling the calender to function to operate outside a frame (second diminished window or tab) would be a huge boon to folks that are constantly using the calender.

juggernautsei wrote on Wednesday, February 08, 2012:

Craig,

Can you elaborate a little more about the work week schedule?

Thanks!

juggernautsei wrote on Wednesday, February 08, 2012:

Wulffe wrote “I also agree with Tony that lots of users want a room scheduling feature, or be able to indicate a “roomed” status at various levels “In Room #3, drawing Labs”, or “In Room #3 awaiting Dr.Bob” with an announcement, color code, or something.  I find that a lot of clinics already use color-code flags outside their doors, so matching a standard version of that, or enabling color code settings for that might be nice for them.  I don’t know the specifics of using this system (not being a medical type myself), but perhaps someone could provide input.”

This seems more like a status indicator than “room scheduling”. I have seen something simular in athena healths system where the status of the patient has it’s own quick glance display where the patient is checked in and place a particular room status. This process is continued until checkout. The staff would have to be in tuned to change the status of the patient through out the visit to make this work right.

When I heard room scheduling I was thinking more of like you book a hotel room. Maybe there is a more than one doc facility and they are scheduling rooms for use at a specific time was my thinking. It just sounds wrong. Please expound more on how this would work. Please.

Sherwin

aethelwulffe wrote on Wednesday, February 08, 2012:

Yeah, prolly too ambitious.  That’s why we do these brain-storming things…mostly to get rid of bad ideas than to get new ones.  Yes, when just working on a scheduling basis, facilities can be very important, but I think the system (if room restrictions were added) could be useful for SOME applications such as imaging labs, operating rooms and the like, but I imagine clinics are in too much of a flux to crimp by restrictions, and often have more rooms than providers…and they shift around “Uh, hey, let’s talk in my office”.

That disclaimer made, along with previous disparagement of my relevant experience and general overall intelligence, I could see the calender interface as being more of a work-flow interface.  Yes, this may be pie-in-the-sky, but I just like throwing insane ideas out there.  Feel free to ignore the following:

First, when someone flagged as a provider looks at their calender, it defaults the scrolled view to center on the current system time.

Second, in the above situation, things like the small calender selection would be a horizontal sliding menu (hover, no click) because the provider doesn’t care about tomorrow when he is running around putting out today’s fires.  The central view only shows a narrow abbreviated view of the appointment list.

Third, the provider should have three or so frames (or objects) on the right side that shows previous, current and next patient appointment status along with an interface to switch to that patient’s encounter that was created by the “arrived@” flag, (which should set the encounter session user to the scheduled provider, not the front office that set the status).  This interface would have colored buttons that indicate and set the status of the patient.  All workflow indicators and prerequisite checks (as configured for that particular practice) should function within the system:  i.e. patient cannot be roomed until checked in, copays and verification etc…
  When the doc finalizes the appointment or their portion of an encounter (or any other level of provider such as a phleb etc…) they sign off on the status by clicking the appropriate button.  This also generates a list of encounters that the provider, biller, etc… can reference later so in case they have to complete notes, add lab results, or whatever at the end of the day, and then finalize the encounter.

Administrative types looking at the calender get a fairly frequent refresh (yes, expensive).  They can see the current status of the patient directly from the calender, and can interface with that patient directly from the full calender display.

Yeah, pie-in-the-sky.  What I can do, though my web app scripting skills are poo, is create a quick program (in a language I actually understand) that visually demonstrates an idea of how such an interface might appear (with static data of course).  I’ll whip it up, and post a link here.

aethelwulffe wrote on Thursday, February 09, 2012:

http://arsponline.org/CrazyCalender/calender.zip
Download, unzip and run the exe if you want to go through all that trouble to see.

aethelwulffe wrote on Thursday, February 09, 2012:

…or wait until I get an html5 version running there.  It will be at http://arsponline.org/CrazyCalender/index.html

cbezuidenhout wrote on Thursday, February 09, 2012:

juggernautsei

Basically at the moment, the calendar allows for the in/out times to be set to every day, workday, month, week or year.

but what happens is a doctor works tues - sat this does not match any of the criteria, so at the moment one needs to set in time on each day individually and then set it to weekly.

it would be better if there was a simple checkbox selector for mon,tues,wed,thurs,fri,sat,sun then we select (in this case)
every tues,wed,thurs,fri,sat until 2035 or some other date far in the future.

hope this makes sense.

it theory the code exists, just need to find the next (selected days) and set for each (selected day) a weekly event.

  - Craig
    Tajemo Enterprises