Solved

Waiting Room Application

Posted on 2011-02-13
5
541 Views
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.


Questions:
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.
0
Comment
Question by:mlcktmguy
5 Comments
 
LVL 38

Accepted Solution

by:
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.
0
 
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.

JimD.
0
 
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.
0
 
LVL 11

Assisted Solution

by:RgGray3
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)
PatientCueNumber
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

Rich
0
 
LVL 1

Author Closing Comment

by:mlcktmguy
ID: 34892082
Thanks to all for your input
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…

863 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

24 Experts available now in Live!

Get 1:1 Help Now