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.