interface/modules/custom_modules/oe-module-faxsms/README-GUIDE.md
oe-module-faxsms)Unified communications for OpenEMR — enabling Fax, SMS, Email, and optional Voice (RingCentral) features. Compatible with OpenEMR 7.0.4+.
When sending a fax to a number within the same etherFax account (common for testing/loopback), EtherFax may reuse the same JobId for the outbound (Sent) job and the inbound (Received) record. Since OpenEMR enforces unique (account + job_id) and does not allow duplicates, the inbound “Received” update can overwrite the existing Sent queue entry — meaning you may not see a full Sent-history for that test fax once it is received.
This module extends OpenEMR’s communication capabilities, providing clinicians and staff with a single interface to send and receive Faxes, SMS, Emails, and make Voice calls. It supports multiple vendors, allows per-user service permissions, and integrates tightly with OpenEMR’s patient and document management systems.
| Service | Supported Vendors | Notes |
|---|---|---|
| Fax | RingCentral Fax (ID 1), etherFAX (ID 3) | Use account credentials or API key. |
| SMS | RingCentral SMS (ID 1), Twilio (ID 2), Clickatell (ID 5) | Requires valid API SID and Secret. |
| Built-in SMTP (ID 4) | Standard mail client configuration. | |
| Voice | RingCentral Voice (ID 6) | Supports web phone / click-to-call widgets. |
⚖️ HIPAA Tip: Avoid transmitting PHI in SMS messages unless your vendor signs a BAA. Use generic appointment or callback notifications instead.
Run the following in your OpenEMR root directory:
composer install && composer dump-autoload -o
Open Modules → Fax • SMS • Email → Setup to enable and configure services.
After enabling, use the buttons:
Administrators can now control each user’s access to Fax, SMS, Email, and Voice features independently.
Path: Modules → Fax • SMS • Email → Setup → Users/Permissions
| Permission | Grants Access To | When Disabled |
|---|---|---|
| Fax | Send, receive, and file faxes | Fax tab hidden and API calls blocked |
| SMS | Send SMS messages and reminders | SMS tab hidden and send disabled |
| Compose and send emails | Email tab hidden | |
| Voice | Use Voice widget for calling | Voice tab hidden |
Special Controls:
Permission Hierarchy:
Changes apply immediately—no restart required.
Minimum Application Scopes (under Security → Application Scopes):
These scopes are required for full operation of RingCentral Fax, SMS, and Voice.
The module includes built-in background jobs for automated SMS and Email reminders.
Available under: Modules → Fax • SMS • Email → Background Services
| Action | Description |
|---|---|
| Create and Run | Creates a service job but leaves it disabled. |
| Enable / Disable | Start or stop the background service. |
| Delete | Permanently remove the job. |
Service Parameters:
Notes:
To automate appointment reminders:
30 8 * * * www-data /usr/bin/php \
/var/www/openemr/interface/modules/custom_modules/oe-module-faxsms/library/rc_sms_notification.php \
site=default user=admin type=sms testrun=0 >/dev/null 2>&1
Parameters:
site – OpenEMR site ID (e.g., default)user – Username for executiontype – sms or emailtestrun – 1 for dry run, 0 to send| Issue | Likely Cause | Resolution |
|---|---|---|
| Service missing from menu | Not enabled in Setup | Enable under “Enable Accounts” |
| User blocked | Missing permission | Grant in User Permissions tab |
| Background job not running | Disabled or misconfigured | Enable service and verify interval |
| Fax/SMS fails | Invalid credentials | Re-enter API info or JWT |
| Email send failure | SMTP misconfiguration | Verify host, port, TLS, credentials |
| Voice widget error | Missing scope or JWT expired | Renew token or refresh permissions |
Initial Setup
User Management
Background Jobs
This module is distributed under the GNU General Public License v3.0 (GPL-3).
interface/modules/custom_modules/oe-module-faxsmsMaintained by: OpenEMR Community
Lead Developer: Jerry Padgett
Version: 7.0.4
License: GPL-3
Module Path: interface/modules/custom_modules/oe-module-faxsms