Integrations
RingRx connects directly to several third party systems. Unlike Callbacks, which you build and manage yourself, these integrations are maintained by RingRx and run inside the platform. You do not write any code to use them.
Enabling an Integration
Integrations cannot be turned on or configured from the portal or the API. To enable one, or to change how an existing one behaves, contact RingRx support. Support will tell you what credentials or access the integration needs from you, set it up, and confirm it is working before it goes live.
When you contact support, have the following ready:
Which integration you want, and which features of it (see each section below).
For EHR integrations, the API credentials from your EHR vendor (see EHR Integrations).
For scheduling integrations, an administrator at the scheduling system who can provide access.
For scheduling integrations, the RingRx On-Call group the schedule should drive.
Note
Most integrations rely on matching people by email address and patients by phone number. Before go-live, make sure each user’s email address in RingRx matches the address in the other system, and that patient phone numbers are up to date in your EHR.
Integrations at a Glance
Integration |
Type |
What it does |
|---|---|---|
Elation |
EHR |
Imports patients into RingRx contacts. Posts voicemail, call and SMS activity to the patient’s Elation chart. |
ModMed (EMA) |
EHR |
Imports patients into RingRx contacts. Files voicemail and fax onto the patient’s ModMed chart, creates callback tasks, and can log calls and SMS. |
Amion |
Scheduling |
Keeps a RingRx on-call group’s shifts in step with your Amion schedule. |
ShiftAdmin |
Scheduling |
Keeps a RingRx on-call group’s shifts in step with your ShiftAdmin schedule. |
QGenda |
Scheduling |
Keeps a RingRx on-call group’s shifts in step with your QGenda schedule, including the call order when several people are on call at the same time. |
EHR Integrations
Both EHR integrations work the same general way:
Patient sync (EHR to RingRx). Patients from your EHR are copied into your RingRx contacts. Incoming calls, voicemails, faxes and texts then show the patient’s name, and RingRx can tie each item to the right patient. Patients removed from the EHR are removed from RingRx contacts over time. The sync is one way: RingRx never changes patient records.
Activity write-back (RingRx to EHR). When a selected event happens in RingRx, such as a new voicemail, RingRx looks up the caller’s phone number in the synced contacts and, if it finds the patient, records the event in that patient’s chart.
Each event is opt in. A new integration starts with only the patient sync running. You choose with support which events (voicemail, fax, calls, SMS) are sent to the EHR, and these can be turned on one at a time.
Users are matched to providers. RingRx matches users to EHR providers by email address or name. Support can map any users that do not match automatically.
If an EHR integration is removed, the patient contacts it created are removed from RingRx. Nothing already written to the EHR is removed.
Important
RingRx cannot issue EHR credentials. Before support can enable an EHR integration, you must contact your EHR vendor (Elation or ModMed) and request API credentials for the RingRx integration. Send these to RingRx support once you have them.
Elation
The Elation integration connects your RingRx account to your Elation practice.
What it can do
Feature |
Description |
|---|---|
Patient sync |
Elation patients are imported into RingRx contacts and refreshed every 4 hours. |
Voicemail |
A report is added to the caller’s chart with the caller, the mailbox, the length of the message, the transcript, and a link to play the message in the RingRx portal. |
Calls |
Inbound and outbound calls to and from a patient are logged to the chart with the numbers and duration. |
SMS |
Inbound and outbound text messages with a patient are logged to the chart, including the message text. |
Fax, outreach and call recordings are not sent to Elation at this time.
What you need to provide
Elation API credentials for your practice: a client ID, client secret, and an API user name and password. Contact Elation to request these for the RingRx integration. RingRx cannot obtain them on your behalf.
Any users whose names or email addresses differ between RingRx and Elation, so support can map them to the right physician.
Optionally, text to add before or after voicemail transcripts in the chart.
ModMed (EMA)
The ModMed integration connects your RingRx account to your ModMed EMA practice.
What it can do
Feature |
Description |
|---|---|
Patient sync |
ModMed patients are imported into RingRx contacts. Changes are picked up every hour, and a full refresh runs weekly. |
Voicemail |
The voicemail audio, with its transcript, is filed as a document on the patient’s chart. RingRx can also create a callback task for the mailbox owner or for a care team you choose. |
Fax |
Incoming faxes are filed as a PDF on the patient’s chart. When the sending number does not match exactly one patient, the fax goes to ModMed’s unassociated documents queue for your staff to file. |
Calls |
Optional. Calls with a patient can be logged as a chart note or a task. Because every call creates an item, this is off unless your practice asks for it. |
SMS |
Optional. Text messages with a patient can be logged as a chart note or a task. |
Call recordings are not sent to ModMed at this time.
Everything RingRx writes to ModMed is read back and checked where ModMed allows it. The result appears in the voicemail or fax history in RingRx, so you can see that an item reached the chart.
Choices you make with support
The ModMed document category for voicemails and for faxes, which can differ per fax line.
Who receives callback tasks for each mailbox (a provider or a care team), and the task name prefix.
The default location and provider, and per-user or per-mailbox locations.
Whether calls and SMS are logged, and whether as chart notes or tasks.
What you need to provide
API credentials for your practice: an API user name, password and API key. Contact ModMed to request these and to authorize RingRx as an integration partner for your practice. RingRx cannot obtain them on your behalf.
Your EMA address prefix (the
<prefix>part ofhttps://<prefix>.ema.md).
Support first connects the integration to a test environment, then runs it in a review mode that records what would be sent without sending it, before switching it to your live practice.
Note
Tasks that RingRx creates in ModMed are closed by your staff in ModMed. RingRx does not close them.
Scheduling Integrations
The scheduling integrations keep a RingRx On-Call group’s shifts in step with an external scheduling system. Your schedulers keep working in the system they already use, and calls to the on-call group reach whoever that system says is on call.
All three work the same way:
Every 2 hours RingRx reads the schedule and creates, updates or removes shifts in the on-call group to match.
People are matched by email address. Each person on the schedule is placed on the matching RingRx shift by the email address in their RingRx user profile.
Filters limit the sync to the parts of the schedule that belong to that on-call group (for example one site or one service), so one schedule can drive several groups. See Using Filters.
Alerts. If someone on the schedule cannot be matched to a RingRx user, an email alert listing their name and email address is sent to the on-call group’s alarm recipients (when shift alarms are on for that group).
One per group. An on-call group can use one of Amion, ShiftAdmin or QGenda. Different groups in the same account can use different schedules, or the same schedule with different filters.
Limit of 1,000 shifts. If a sync would make more than 1,000 shifts for one group, the sync stops and changes nothing. The group keeps its current shifts. Narrow the filters so that the group gets only its part of the schedule.
A failed sync changes nothing. If the schedule cannot be read (for example, the password is wrong or the scheduling system is down), the group keeps its current shifts until the next sync works.
Warning
Once a schedule integration is enabled, the external schedule is the source of truth for that on-call group. Shifts in the group that are not in the schedule are removed at the next sync. Make schedule changes in Amion, ShiftAdmin or QGenda, not in RingRx.
Using Filters
A single Amion, ShiftAdmin or QGenda schedule usually covers many services, sites and shifts. Filters let several RingRx on-call groups read the same schedule, each taking only the part it needs.
The integration is set up on each on-call group separately. Every group connected to the same schedule uses the same schedule credentials, but each group has its own filters. At each sync, each group reads the full schedule, keeps only the entries that pass its filters, and builds its own shifts from them. Groups do not affect each other: a shift removed from one group is not removed from any other.
Each integration has two filters:
Integration |
Location filter |
Shift filter |
|---|---|---|
Amion |
Site - the Amion group or site name |
Service - the Amion assignment name |
ShiftAdmin |
Facility - the full or short facility name |
Shift - the full or short shift name |
QGenda |
Locations - the location name or abbreviation |
Tasks - the task name or abbreviation |
How the filters are applied:
A blank filter includes everything. With both filters blank, the group receives the entire schedule.
Several values are separated by commas. An entry matches if it matches any of the values, for example
Main Campus, North Clinic.Values match part of the name and ignore case.
cardiomatchesCardiology CallandCardiology Backup. Use a longer value to be more specific.Both filters must pass. When both are set, an entry is included only if it matches the location filter and the shift filter.
Example
A hospital keeps one Amion schedule that contains the following assignments:
Site |
Assignment |
|---|---|
Main Campus |
Cardiology Call |
Main Campus |
Neurology Call |
North Clinic |
Cardiology Call |
North Clinic |
Pediatrics Call |
Four RingRx on-call groups use this one schedule, each with different filters:
On-call group |
Site filter |
Service filter |
Receives |
|---|---|---|---|
Main Cardiology |
|
|
Cardiology Call at Main Campus only |
All Cardiology |
(blank) |
|
Cardiology Call at both sites |
North Clinic |
|
(blank) |
Every assignment at North Clinic |
Neuro and Peds |
(blank) |
|
Neurology Call and Pediatrics Call at all sites |
Entries can feed more than one group. In this example, Cardiology Call at Main Campus appears in both Main Cardiology and All Cardiology, so a hospital can, for example, route a department line to one group and a hospital-wide line to another.
Tip
Because values match part of a name, check that a filter does not catch entries you did not intend. For example, Call matches every assignment above. Send support the exact names as they appear in your schedule.
Amion
The Amion integration reads your published Amion schedule for the current and next month. It uses the Site and Service filters described in Using Filters.
What you need to provide
Your Amion schedule password (the access code used to view the schedule).
The site and service names that belong to each RingRx on-call group.
Confirmation that each provider’s email address in Amion matches their RingRx user.
ShiftAdmin
The ShiftAdmin integration reads your ShiftAdmin schedule from the start of last month through the end of next month. It uses the Facility and Shift filters described in Using Filters. Each filter matches either the full or the short name in ShiftAdmin.
What you need to provide
A ShiftAdmin validation (API) key for your schedule. Your ShiftAdmin administrator can issue one.
The facility and shift names that belong to each RingRx on-call group.
Confirmation that each provider’s email address in ShiftAdmin matches their RingRx user.
QGenda
The QGenda integration reads your published QGenda schedule from yesterday through 60 days ahead. It uses the Locations and Tasks filters described in Using Filters. Each filter matches either the name or the abbreviation in QGenda.
RingRx reads only assignments that are published and not removed, for working tasks. Unavailable time (such as vacation) is not read.
QGenda gives the one-time shifts of the group for that period. One-time shifts in that period that are not in QGenda are removed at the next sync. Repeated shifts made in RingRx are kept, and are used when QGenda has nobody on call.
Several people on call at the same time
In QGenda, several people can be on call at the same time, for example on a 1st Call task and a 2nd Call task, or two people on one task. RingRx puts all of the people who are on call at the same time into one shift, and calls them in this order:
The External Call Priority of the task in QGenda. Priority 1 is called first.
The order of the names in the Tasks filter, for tasks that have no External Call Priority. For example, with
1st Call, 2nd Call, the 1st Call person is called first.Last name, for people on the same task. QGenda has no call order for people on the same task, so the alarm email names the task.
Tip
For a dependable call order, give each call level its own task in QGenda (for example 1st Call, 2nd Call, Backup), and set an External Call Priority on each task. Your QGenda administrator sets this in the task settings.
Assignments that have no start or end time in QGenda are skipped, and are listed in the alarm email.
What you need to provide
QGenda API access for your organization. API access is an option on your QGenda contract. Contact QGenda to add it.
Your QGenda company key, and the email address and password of a QGenda user that has API access and can see the schedule. We recommend a separate QGenda user for RingRx.
The location and task names that belong to each RingRx on-call group, in call order.
Confirmation that each provider’s email address in QGenda matches their RingRx user.