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 of https://<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. cardio matches Cardiology Call and Cardiology 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

Main Campus

Cardiology

Cardiology Call at Main Campus only

All Cardiology

(blank)

Cardiology

Cardiology Call at both sites

North Clinic

North Clinic

(blank)

Every assignment at North Clinic

Neuro and Peds

(blank)

Neurology, Pediatrics

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:

  1. The External Call Priority of the task in QGenda. Priority 1 is called first.

  2. 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.

  3. 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.