Waiting Room Application

Posted on 2011-02-13
Last Modified: 2012-05-11
I have been developing Access apps for many years but this request is uniique to me although I am certain it is common in the real world.

An exisitng client of mine has asked for a quote on a waiting room app with three stations. I understand the logic for each of the individual stations but I'm not sure how to 'pass' information from the check in station to the two others in a real time way. All three stations are on the same local network.

Station One: will be the patient check in.  As the patient arrives we recognize who they are and  ask them to confirm their appointment time.  

Station Two is the receptionist office.  When the patient checks in on station one the receptionsist should receive a notification of this check-in.  The notification should be in the form of a screen popup.  The best analogy I can think of is the way that MS Outlook notifies you of a new email message arriving to your Inbox but I would prefer not to do it by sending an email from station one.  Maybe it will end up being the best solution but it just seems so lo-tech and is dependant on Outlook being turned on.  It is also dependant on the user logged in to the sattion which will change from day to day and even throughout the day.

Station Three: A large display monitor in the office waiting room showing the waiting patients the order that the patients will be taken in.  Any given patient will know the number of patients in front of them.

When a patient checks in on station one, how is the message sent to station two that they have arrived?  I know I can send an email using the sendobject command but that doesn't seem like what they really want.  One way I see of implementing this is to have an app running on station two that monitors a particular area on the server for new activity.  When it sees new activity it puts a pop up on the screen.  Can this monitoring app be created in Access?  Once again this really seems lo tech and I'm hoping there are better ways.

How does station three become aware of new patient check in and update the monitor displaty?

Station two can also make changes to the schedule which should update the monitor display.

Looking for some genral ideas on how to do this, the more the better.  I realize there is no 'right' and 'wrong' way of implementing this but I am hoping for some ideas.  I know this had been done before.
Question by:mlcktmguy
LVL 38

Accepted Solution

Aaron Tomosky earned 125 total points
ID: 34883007
Your on the right track. I'd suggest a filewatcher folder on each station that is shared where the other stations can put  an XML file there. Each station then watches that folder and opens the XML if it sees it.
LVL 57

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 125 total points
ID: 34883043
<<When a patient checks in on station one, how is the message sent to station two that they have arrived?  I know I can send an email using the sendobject command but that doesn't seem like what they really want.  One way I see of implementing this is to have an app running on station two that monitors a particular area on the server for new activity.  When it sees new activity it puts a pop up on the screen. >>

  Yes, that would be one way of structuring it; have a "action" table, which your programs check every xx seconds and if it finds a message in there that pertains to what it does, it acts on it.

  A more traditional approach would be to simply have each update station update the data it's based on every xx seconds.  

  Or a combination of those; stations update the data, then message each other that they need to refresh.

  as you said, million ways to structure that.  I would not however rely on any form of e-mail to accomplish this.  It's simply not required and just adds a whole bunch of complexity.

LVL 18

Assisted Solution

by:Richard Daneke
Richard Daneke earned 125 total points
ID: 34883795
I am suggesting something different.
1. At check-in, you would be updating a date/time field for the patient.
2. At Station 2, you refresh a query looking for current date and a 'popped up' yes/no field.  VBA can open a message box on this station.  On close of MsgBox, the yes/no field is set.
3. On the 'Big Board', a query is refreshed to show the Patient List is ascending order for the day.  (As patients are called, another yes/no field or date/time field can be used to 'clear the name' from the board.

The requery can be set with a OnTimer event on the appropriate forms/reports.

This involves a minimum of special code, keeps the full transactions within Access, and, if a date/time field is used for updating when a patient is seen, can provide some statistics on wait times.
LVL 11

Assisted Solution

RgGray3 earned 125 total points
ID: 34883820
Possibly an activity table with fields like

Patient ID  (name or key...  depending on your structures)
PatientArrived  (Y/N)
PatientAcknowledged   (Y/N)  Station 2 has responded to a msg box)
PatientSeen    (Y/N)   (to be set to true when Station 3 calls the person and they are to be seen)
PatientApptTime        (Could be supplied by a joined appointment table...  depending on your structures)

So the patient checks in and the first check is set
The second station uses the timer to check on a regular basis...  (1, 5, 10, 30 ...  seconds based upon your specification) to see if there are any patients that have arrived but station 2 has not "Acknowledged"

Pop up a small form with the list of patients (depending on your TimerInterval there may be more than 1)
Ask station 2 to acknowledge and upon doing so...   print/do/run what ever they see as required prep for station 2 and mark them as acknowledged.

On station 3 you have a form that is "Requeried on a regular basis"  determine the frequency
that shows all patients that have the first two checks true and the third as false

Then you could get slick and when someone is seen... and the 3 station marks them as seen....  you create a record set of your unseen patients and renumber them from 1, requery the form and it will always indicate the patients place in the que.

You could get fancy and have a field for ON TIME so patients that arrive on or before their appointment time could get preference to walkins and late people...   logic is doable...

I believe that covers your specs...  basically it can all be managed using the Form's timer event and interval


Author Closing Comment

ID: 34892082
Thanks to all for your input

Featured Post

Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

Join & Write a Comment

The first two articles in this short series — Using a Criteria Form to Filter Records ( and Building a Custom Filter ( — discuss in some detail how a form can be…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now