Appointment Reminder

Cancelled Posted Jun 17, 2010 Paid on delivery
Cancelled Paid on delivery

BACKGROUND:

I work in a medical clinic in Canada where we see about 100 patients a day. Our current practice is to call patients on the telephone, two days in advance to remind them of their upcoming appointment. This decreases our "no shows" by 75%, however it takes a lot of human labor to do the reminder calls.

GOAL:

I would like to automate this process.

WHO YOU ARE WORKING FOR:

I am an experienced Delphi 7 programmer, with experience building 3 tier c/s multi-user apps based on Midas, IntraWeb, and Firebird as the DB and Apache as the web server. However I have never built a telephony app. I would prefer the software be written in Delphi 7, but I will accept other technologies if they are simple and cheap and open source, and if you give me easy to follow instructions on how to modify/fix the system. Hec, I'll even use Ubuntu 9.04 if you can make this all work with it.

## Deliverables

BACKGROUND:

I work in a medical clinic in Canada where we see about 100 patients a day. Our current practice is to call patients on the telephone, two days in advance to remind them of their upcoming appointment. This decreases our "no shows" by 75%, however it takes a lot of human labor to do the reminder calls.

GOAL:

I would like to automate this process.

WHO YOU ARE WORKING FOR:

I am an experienced Delphi 7 programmer, with experience building 3 tier c/s multi-user apps based on Midas, IntraWeb, and Firebird as the DB and Apache as the web server. However I have never built a telephony app. I would prefer the software be written in Delphi 7, but I will accept other technologies if they are simple and cheap and open source, and if you give me easy to follow instructions on how to modify/fix the system. Hec, I'll even use Ubuntu 9.04 if you can make this all work with it.

DETAILS:

Ultimately what I need is a small system, hereinafter called "the system", including both hardware and software, that I can interact with using a web interface, that will accept a text file upload that contains names and phone numbers and date/time of appointment, and feed that text list to a dialer, which will make each telephone call, speak in a mechanized voice, telling the patient about their upcoming appointment, then ask the patient to respond by pressing certain buttons on their touch tone phone.

1 = "I will attend the appointment"

2 = "I will not attend the appointment"

3 = "You are calling the wrong number, remove me from your list"

After the patient makes the choices of 1 or 2 above, the subsequent choices can be made

User pressed 1 on the touch tone phone:

"I understand that you will attend your upcoming appointment. If you wish to be removed from this automated appointment reminder, press 1"

If user presses 1, then they hear "See you at your appointment, your name will be removed from the appointment reminder list"

User pressed 2 on the touch tone phone:

"I understand that you will NOT attend your upcoming appointment.

1 = "I will not attend the appointment, and wish to rebook"

2 = "I will not attend the appointment, and do not wish to rebook"

Definitions:

User:

That would be me. I'm the clinic, using the system. I'm the one uploading text file lists, in a specific .csv format, that the system will use to call patients.

Patient:

The people I would like to receive an automated appointment reminder. Each patient appointment call will have one row in the text file.

Appointment:

A row in our appointment scheduler that is associated with a specific upcoming visit from a specific patient on a specific date at a specific time.

Our appointment scheduler can produce a .csv report file that contains one row per appointment. Each row contains the patient's name, phone number and date/time of their upcoming appointment.

Call:

An automated telephone call made by "the system". Calls have two statuses: Completed, Not completed

Response:

This is the patient's responses on a touch tone phone, translated into a simple code. Responses must be recorded. (Note: the phone call need not be recorded, only the result of the patient's response. IOW: I don't want to listen to a .wav file of some one pressing touch tones. I just want the simple coded result of those tones stored in a database.

Response Codes: (Example)

1 = OK

2 = Cancel

3 = WrngNmbr

11 = OK, RmvFrmLst

21 = Cancel, OkRebook

22 = Cancel, NoRebook

Your tasks are these:

First of all, clear your mind of all complexity. I want SIMPLE SIMPLE SIMPLE as long as it is reliable and secure, and I prefer open source. I don't want hackers to be able to get into my system. I will accept as low tech as HTML, DOS, what ever, if it gets the job done. The DB must be Firebird, and the web server should be up to me, but I prefer Apache. I will design the DB and supply it to you. The telephony parts can use simple text files as inputs and outputs and I can build a file reader parser to do the DB stuff. Up to you.

TASK 1 ) WEBSITE

Build a simple secure web site that can:

1A) Receive user log in criteria. There will be more than one clinic using this system, and I need to keep them separate and information private. The website can be as simple as a couple of text boxes, one for Login ID and the other Password, and a "Log in" button.

1B) Once a user is logged in, receive a text file upload, and parse it into the appropriate tables in a database. (I will supply you with the database)

1C) Display results of the system's activities to the user, in a simple HTML table, showing columns and rows that display patient name, phone number , appointment date/time and call status ('Pending', 'In progress', 'Completed', 'Failed'), attempts (I want the system to attempt up to a max of 3 calls for the same patient, after that, give up). (Note: the call status is not 'Failed' until the third unsuccessful attempt has completed)

You will supply me with the html pages, or middle ware page generator, or what ever you use to build it, and the source code. I would prefer that this be built in Delphi 7 so that I can modify it myself, however, I will accept other technologies if you supply me with the instructions on how to modify it.

TASK 2) TELEPHONY

Build or recommend, the telephony part that does the calling and receiving of patient responses, and instruct me how to set it up.

This can be something off the shelf. I just need to know that what you are recommending has been used by you with good results.

If you build it, supply me with the source code.

TASK 3) HELP ME SET IT UP HERE AND GET IT WORKING

I need both software and hardware. You will build (and supply it to me) or recommend (so I can buy my own copy) and/or configure the software.

The hardware you will recommend based on your experience. I will buy my own hardware.

If you own these dev tools, there is no extra cost for you for software or hardware. I do not expect you to build the system including hardware, then ship it to me. I buy my own dev tools, and hardware. there should be little or no extra expense for you, as I am assuming that you already own telephony dev software and hardware.

PHP

Project ID: #3510711

About the project

3 proposals Remote project Active Jun 30, 2010

3 freelancers are bidding on average $397 for this job

hanyelmehy

See private message.

$425 USD in 30 days
(20 Reviews)
5.5
Yaroslavus

See private message.

$340 USD in 30 days
(8 Reviews)
3.6
erdeepakjai

See private message.

$425 USD in 30 days
(1 Review)
0.0