Google Calendar for office schedules

A few days ago I made a comment about how the building blocks were there to pull together some "mashups" in medical practice.   I said it wasn't rocket science.   Here's a short description of how I solved a real-life problem in my practice. 

Problem:

  • Dr Reider isn't as well organized as he could be.  Duh.  this is a common problem in healthcare.  Physicians work too much – we'd much rather spend time with our patients than at our desks reviewing paperwork, writing notes, etc.  Perhaps I'm worse than many others.  So be it.  Not going to change this old dog. 
  • Sometimes I'm not scheduled to see patients in the office (yes – I have too many jobs – but let's keep on track here!) but I agree to see someone anyway.  Perhaps I am on the phone with someone who tells me that they can't get an appintment to see me for a few weeks .. and I say "well, Bob .. how about we see each other at 8:30 next Tuesday?"  So Bob gets scheduled .. and next Tuesday rolls around and Bob shows up .. but I'm not there because I forgot. 
  • oops.  Office calls me.  I rush to the office .. see Bob.  All is well.   We hope.
  • My attempt @  human solution was to have the office staff look @ tomorrow's schedule .. see if there are patients scheduled to see me on a day that I'm not usually "in" – and call to remind me.  Short version: this didn't work. 
  • Enter technology:

Requirements:

  • The system will be able to determine when the provider is scheduled to see a patient on a day that he is not otherwise scheduled to see patients.
  • The system will be able to cause the provider to be reminded about the appointment(s) with enough warning to be able to be in the office on time – yet not so early (1 week) that he will forget.
  • The system should – if possible – be able to add the appointment(s) to his calendar in google calendar, 30Boxes, or Outlook.

Implementation:

  • I'm using the webservices that I created for our Misys Vision practice management system to get the information about the scheudle.  Easy.  Scheduled Task that runs on the server @ 6 PM
    • GetSchedule("JMR",BeginDate,EndDate)  .. in this case – I get 1 day – tomorrow.
  • I parse the data and decide if it's a "usual" day or a day I'm not supposed to be in
    • If # rows returned > 4 .. End
    • If $ rows returned < 4 .. then it's probably not an "in-office" day – so let's keep going
  • Push the data to Google's API – to add an event for each visit
    • Sending: BeginTime, EndTime, no patient identifier, description "patient scheduled"
  • The scheduled visit is now on my google calendar.  I can now receive an alert from google via SMS .. or sync with my PDA, outlook, 30Boxes, etc.  Easy.  Google this – there are so many options these days .. from SyncML free solutions – to commercial products.   Perhaps that topic deserves another post …