User Workflows
As highlighted in the previous sections, Ocean supports multiple eReferral flows which includes the Sender flow and the Receiver flow. The sender flow can include the SMART Launch into Ocean (SSO) integration and/or the ability to receive updates on sent eReferrals into the sending EMR. While the receiver flow can include the ability to receive eReferrals using the FHIR APIs into your EMR and the ability to send updates back from your EMR into Ocean for the received eReferrals.
Ocean also supports some special workflows in both the receiving/sending flows which assist in providing better care to the Patients and increases the ease of eReferral management for the providers. This article contains the example payloads for each of the special workflows highlighted in this section.
Receiving Workflow
Ocean sends eReferrals using the FHIR APIs and supports the ability to receive updates on those eReferrals. It’s important to note that while we send updates on all changes made the referrals, not all information included in the payloads may be required to provide care in your system. Therefore, you can process the information that pertains to your system and disregard the others. However, it's important to still send a 200 OK messages for messages disregarded. This is to ensure Ocean is aware that these messages were received and prevent Ocean from retrying these messages.
Ocean supports the following features in the receiving workflow:
- Receive referral in EMR
- Retrieve attachments and referral pdf
- Send demographic updates to Ocean
- Receive message/Communication from Ocean in EMR
- Send message/Communication with attachment to Ocean from EMR
- Send accept referral status update to Ocean
- Send referral Appointment information to Ocean
- Send referral Appointment booking comments to Ocean
- Send updated Appointment information to Ocean including Appointment cancellation
- Send decline referral status update to Ocean
- Send declined reason update to Ocean
Sending Workflows
The SMART on FHIR Launch into Ocean which is a SSO launch into Ocean can be implemented with or without the updates to the EMR workflow and vice versa.
Ocean supports the following features in the sending workflow:
- Patient demographics integration (using SMART on FHIR)
- CPP fields integration – Medication, Allergies, Conditions, Observations (using SMART on FHIR)
- Attachments integration (using SMART on FHIR)
- Receiving a copy of sent referral (upstream updates)
- Receiving status updates for sent referral (upstream updates)
- Receiving Appointment information (upstream updates)
Upstream Updates
As indicated in the previous section, Ocean supports the ability to send referral senders a copy of their sent referral and status updates on those eReferrals. At this time, this information is sent upstream using the notify-add-service-request (for the initial copy of the referral), and the notify-update-service-request (for status/appointment updates on the referral) message events. As all updates are sent upstream using the notify-update-service-request message event, the focus of the message event is the ServiceRequest. To determine the status and/or information changes in this payload, the following can be implemented:
- To determine if the patient’s information has been updated – A communication resource will be present outlining the change. i.e. Communication.payload.contentString = “The patient's information was updated:\nSex was changed from 'F' to 'M'."
- To determine when an appointment has been added to the referral and the status – the Appointment.start,Appointment.end, and Appointment.minutesDuration elements will be present in the Appointment resource. Additionally, the Appointment.participant.status, where ‘tentative’ would indicate that the appointment is unconfirmed, and ‘accepted’ indicates that the appointment is confirmed.
- To determine if the referral is completed (which may be completed, declined or canceled in Ocean) – the ServiceRequest.status = ‘completed’.
- If cancelled: the
Communication.payload.contentStringelement will be prefaced with "Cancelled". - If declined: the
Communication.payload.contentStringelement will be prefaced with : “This referral was declined…”
- If cancelled: the
All updates are sent in individual update message, i.e. if a referral is declined AND an appointment was removed from it, those will be 2 separate messages reflecting the individual changes.