OpenEMR Fax and/or SMS Module Guide

Fax and/or SMS Module

Fax and SMS feature for OpenEMR that currently supports Twilio SMS and etherFAX for faxing.

This is a start to documenting my module. I plan to add more later but for now this will help those planning to implement from our upcoming new v7.0.1 release.
Feedback from the community is always welcomed and appreciated.

This module uses an abstract class to arbitrate and dispatch
API calls to different vendor services for both the fax and sms type on a per-call basis.
To add new vendors, just follow and use the existing dispatching flow for an existing service type and vendor service.

Install Module

  • To turn on and setup vendor accounts goto the top menu Modules->Manage Modules then click Unregistered button to display all currently unregistered modules.

  • Find the FaxSMS Module item and click the Register button.

  • From the Registered tab find and click the Install button then Enable the module.

  • Once installed, click the far right config icon to display the config panel.

  • Select the appropriate vendors for SMS and/or Fax. Tick the Individual User Accounts if you want to have the vendor account(s) associated with the user that is setting up the account.

  • Once a vendor is selected an account credential setup button will display.

  • Click the Setup SMS/Fax Account button and input the appropriate account information received when setting up the vendor accounts.

  • Log out and log back in to OpenEMR.


  • You may have only one set of account credentials per user. So a practice can have an main account that is available to all users/providers however, if Use Separate accounts is selected in module set up then account is tied to that user. Currently only faxes are displayed based on the account for logged in user. If main account then all faxes. This scenario will need to be tweaked as we get user feedback.
  • You are required to create and use Twilio Api Sid and API Secret.
  • etherFax allows using either account user and password or the preferred API key.
  • Reminder and notifications are available from the top patient bar.

Using etherFax

Sending a Fax.

Currently there are two events and a drag and drop/select box incorporated in OpenEMR for sending a fax.

Receiving Fax

  • From the Manage etherFAX menu item received faxes within the selected date range that have not been processed by the logged in account user are displayed.
  • There are six action icons the user has available for fax disposal. From left to right they are:
  1. Dialog to save selected fax to a current patient documents(searchable) or if necessary create a new patient and save fax to newly created patient documents. See details further down.
  2. Attach fax and notify another user using OpenEMR Messaging.
  3. Forward fax as attachment to an email, new fax number/recipient or both from same dialog. Email SMTP must be set up in Config to enable email forward.
  4. View fax document in new window.
  5. Download fax which will also mark the fax as received(soft delete).
  6. Soft Delete fax.
  • More details for item 1.
    The search and create new patient action follows the same workflow as our main patient create. Namely when the dialog is active you may enter the minimum necessary basic fields to create a patient then select Confirm New Patient button to show all patients that either meet all or some of the inputted search fields.
    It is then up to the user to determine if a patient already exist, no duplicate or is just a close match. If it is determined the patient is new then clicking the Confirm New Patient button will create the patient and add the attached fax to new patient chart.
    Otherwise, if the patient exists, Cancel dialog and click Existing Patient from search dialog to check and select a matching patient to save fax to the selected patient documents(Chart it).

General Information for etherFAX

A very cool etherFax feature is the ability to scan fax documents for key details within the fax such as names, document types, DOB, labs, referral information and much more. From this I present a table attached to the fax item for the user to view and help determine how to dispose of the fax.
If the patient details necessary to determine if patient is currently in OpenEMR is present they will populate the dialog for item 1. If the patient is found then the PID is displayed in the U>I table of received faxes.


This module uses the GPL-3 license.


Hi Jerry,
We have the module set and configured. We can manually send reminders. How do we get the system automatically send reminders at 8:00 AM each morning?

Hi Sherwin,
You can use interface/modules/custom_modules/oe-module-faxsms/library/rc_sms_notification.php to run a cron, window task or maybe openemr background task.

I haven’t tested this from command line in awhile however I think Robert or perhaps Luis has.
Take a look at the script to get startup up args.

I will set a cron job and update this thread with the results.

Hi @sjpadgett

Newbie here
How can I get these details:

Account Id * :
Account Username :
Account Password :
Account Fax Number * :
Number where you will receive faxes :
Account API Key - Recommended :

Note: I’m using docker container in AWS.

hi @VNCE_MNL, pretty sure you will want to to sign up with etherfax

I sent an email to EtherFax to see if they have or will assign a point person for sales. Waiting to hear back.
Still Stephen is correct just get a hold of EtherFax to get an account.

1 Like

Vince - reach out to the etherFAX using and they can get you set-up.

Product Manager, etherFAX

1 Like

I am setting up Twilio SMS and I am not sure what to use for Twilio Api Sid * and Twilio Api Secret *.
Additionally, how do we send test sms to ourselves and then setup for automatic reminders later instead of doing them manually? TIA

For those interested I forgot I added SMS to portal secure messaging and thought I’d mention here:

Also here is some usage information I posted on another thread that may help. One day soon and since I’ve settled on the basic design, I’ll put up a how to on wiki and make a couple videos.

I’d like to develop a new secure chat sometime soon.

Hi everyone, I am new to OpenEMR and I am currently in setup mode and loving what I see. People have done some incredible work here.

I am looking to see if there is a way to send out SMS reminders to patients about upcoming appointments. I assume (hopefully correctly) that it could be done through this module. Ideally I would like it to function something like:

-Automatically or manually send group text reminders for all of tomorrow’s patients or upon booking or modifying a patient appointment info
-Patient would reply Yes or No to the confirmation
-The calendar tab would automatically update to “Confirmed” or “To reschedule”

Are these realistic expectations with the current build or will significant coding be required to implement such a design?

I followed the steps above for SMS and was about to set up a Twilio account. I just wanted to make sure I was going down the correct path for what I am trying to accomplish.

Any advice/links to steer me in the right direction. Thanks!

This we currently do. You can set when to notify in setup e.g. 48 hrs prior etc… You can send all manually via module action menu as often as you like or setup a cron/batch to send in backgroud on a schedule.

They may reply where you can answer back however this is done in the module status panel.

This is not currently supported but could be if you wanted to sponsor.
I also have hopes to add an addition vendor so user can shop. I have one in mind that was recommended where they do high volumes of messages and cheaper. Also looking for sponsor with need.

Calendar update would be a great addition IMO.

1 Like

There’s also MedEx.

1 Like


I also have hopes to add an addition vendor so user can shop. I have one in mind that was recommended where they do high volumes of messages and cheaper.

If you are talking about ultra-msg, you can try this it can speed up your integration.
I should add messages with image and attachment, but it works for simple text messages

1 Like