Sms and Email Notification Howtos

From OpenEMR Project Wiki

N.B.

  • TM4B and Clickatell services cannot be integrated without considerable modifications.
  • Refer to Short Message Service for a more complete configuration guide.
  • SMS and email configurations have no bearing on each other. They are related only as far as two separate topics under one heading.
  • See Mercury Mail Configuration in Windows for more details.

The email/SMS notification module is used to notify a patient about an upcoming event/appointment (a Notification). The module consists of two parts, a "front end" setup and a "back end" engine. The front end is used to set the message template, access for the SMS/email engines and specify if a certain patient should receive notifications. The back end is set to query the database every hour for upcoming events which are set to send notifications and send them.

Gateways Supported as of 3.2 are:

Setup SMS/email notification module you need follow these steps for version 4.0.0 and higher:

1. In Left menu: Administration => Globals => Notifications and adjust the configuration as appropriate for your setup: Email Notification Hours - limits when messages should be sent

For SMS messages you need to give the correct info for: SMS Notification Hours - limits when messages should be sent SMS Gateway Username - user name used for SMS gateway access SMS Gateway Password - access password SMS Gateway API Key - used to interface with Clickatell

For Email Services the following info is needed:

Notification Email Address - Where will the message come from

Email Transport Method - Select: SMTP, SENDMAIL or built in PHPMAIL

SMTP Server Hostname - email outgoing server host/ip

SMTP Server Port Number

SMTP User for Authentication - outgoing server user

SMTP Password for Authentication - outgoing server password

These globals from 3.2 seems to be missing in the admin tool --Tony - www.mi-squared.com 21:01, 2 March 2011 (UTC)

  • $GLOBALS['smtp_use_ssl'] (REMARK: where is this file located now? In Demographic for any individual Client,(Allow SMTP) or is it in Administration Globals Security Enable SSL?)
  • $log_folder_path - this is the path where the back end process will save the logs. You must set this with write access for the user which will run the cron jobs.
(Note: at the moment only two SMS engines are supported TM4B - http://www.tm4b.com and Clickatell - http://www.clickatell.com)

2. In order to install back end notification processes you need to add cron_email_notification.php and cron_sms_notification.php in system crontab to run every hour. Do this in the command *LINUX* command line.

(REMARK: Windows instructions need to be written, Cronjobs could be accomplished with Windows Task Scheduler.)

For Linux follow these instructions:

bash$ crontab -e
then put in the following lines:
* */1 * * * /var/www/html/openemr/modules/sms_email_reminder/cron_sms_notification.php
* */1 * * * /var/www/html/openemr/modules/sms_email_reminder/cron_email_notification.php
(note: make sure you adjust the path as per your configuration)


3. Login into openEMR and go in section Administration => Globals => Nofications.

There you will find three new sections:
- SMS notification - set provider name and the body of the sms message
- e-Mail notification - set subject, provider name and the body of the email message.
- Phone notification - set USER name, Passsword and URL

4. In openEMR front end, under Patient/Client => summary (-page)=> Edit Demographics => Choices

In this section you will find two options: 1. Allow E-mail and 2. Allow SMS.
This is to be set as required if you want your patient to be notified about an upcoming appointment.

5. Go to Administration => Other => Database.

Find the table automatic_notification:
Edit the 2nd row in which email is the default value. Only change "provider name", "message subject" and "message send from". Write the body as per your requirement in the "message" section. --Dr.Arnab Naha

6. Some useful Annonations:

***NAME*** - for entering the name of the patient automatically
***DATE*** - for entering the date of the appointment automatically
***STARTTIME*** - For entering the start time of the appointment
***ENDTIME*** - for the end time of the appointment
***PROVIDER*** - to state the provider automatically with whom the appointment is fixed --Dr. Arnab Naha

7. You need to configure mercury mail in your xampp or separately to be able to send mails. Mercury Mail acts as a secure mail server on your local machine. Dr. Arnab Naha

Emails for Appointment Reminders, Recalls and General Announcements

If the operating system is Linux, the above will not work. An alternative is to use an email client, such as Thunderbird and the add-on, Mail Merge, as explained in this tutorial.

OpenOffice or LibreOffice usually comes pre-loaded with the operating system to create the spreadsheet for the .csv file.

A stock email for an upcoming appointment day would be paired with variables such the patients' first and last names plus the patients' email addresses. The time of the appointment can be another variable. The user is free to incorporate more variables with additional columns in the spreadsheet.

This process can be used to recall patients for their annual exam or to make a general announcement, e.g., the office will be closing because the physician plans to retire.

Old emails can be quickly deleted with ctrl and shift by holding the Control key while clicking the first email to be deleted, then holding the Shift key and clicking the last email to be deleted; thus minimizing clutter in Thunderbird.

Both Thunderbird and Mail Merge are open source.

This method does not integrate emails with OpenEMR, but security is enhanced.