Payloads
Ocean generates payloads using the FHIR APIs to transmit messages to healthcare systems. The messages are typically sent whenever a new referral event occurs (e.g. upon new referral creation, status/eReferral updates, attachment addition, message communication, appointment additions, referral splitting, etc.). Ocean also receives messages regarding updates to the referral from a healthcare POS system and performs actions on the eReferral on the Ocean platform based on those messages.
Itβs important to note that Ocean accumulates resources in each payload bundle which may not be relevant for certain message events and actions. Additionally, Ocean will send an update back to the receiving EMR for any update made in Ocean, even when these updates are made by the receiving EMR. Therefore, Ocean is considered very 'chatty' and 'verbose', providing frequent message updates with all the accumulated resources and information present in the payloads. The image below depicts how upstream and downstream updates flow to and from Ocean.
Additionally, referrals in Ocean are typically managed in folders located in the eReferrals & eConsults section. These folders are used to manage and process the site's sent and/or received eReferrals by sorting them in one of the following folders, based on their current status: New, Pending Booking, Booking Unconfirmed, Booking Confirmed, Awaiting Reply, Awaiting Response, Received (All), Sent (All), Completed, Declined, Forwarded (All), Cancelled, Externally Managed, Incomplete. This article provides additional information on what the different folders mean and their uses.
The table below highlights the v0.11.1 message events, their focus MessageHeader.focus, and the appropriate folder and action that each message event pertains to in Ocean for the receiver flow.
Ocean to EMR β Receiver Workflow (Received Folder)
| v0.11.1 | Description | Focus | Ocean Folder |
|---|---|---|---|
| add-service-request | Send a new eReferral | ServiceRequest | New |
| notify-update-service-request | Send an update on an eReferral | ServiceRequest | this depends on the specific action taken. |
| send-communication-from-requester | Sender sends a message to the receiver | Communication | The referral will remain in the previous folder it was and will also be added to the Needs Review folder. |
| revoke-service-request | Cancel an eReferral | ServiceRequest | Cancelled |
EMR to Ocean β Receiver Workflow (Received Folder)
| v0.11.1 | Description | Focus | Ocean Folder |
|---|---|---|---|
| notify-data-correction | Send an update on an eReferral, either for the eReferral itself or demographics | ServiceRequest/ Patient | this depends on the previous actions taken |
| notify-add-process-request | Update the status of the eReferral | Task | this depends on the specific action taken. See task.status eReferral Lifecycle section for what each status actions. |
| notify-add-appointment | Add an appointment to the eReferral | Appointment | Booking Unconfirmed/ Booking Confirmed |
| notify-update-process-request | Update the status of the eReferral or update an appointment on the eReferral (including cancel) | Task/Appointment | Booking Unconfirmed/ Booking Confirmed (for Appointment updates) |
| send-communication-from-provider | Receiver sends a message to the sender | Communication | *this depends on the previous actions taken (Needs Review) |
The table below highlights the v0.11.1 message events, their focus MessageHeader.focus, and the appropriate folder and action that each message event pertains to in Ocean for the sender flow.
Ocean to EMR β Sender Workflow (Sent Folder)
| v0.11.1 | Description | Focus | Ocean Folder |
|---|---|---|---|
| notify-add-service-request | Send a copy of the new eReferral | ServiceRequest | New |
| notify-update-service-request | Send any update made on the eReferral including demographic changes, communication, appointment additions, etc. | ServiceRequest | *this depends on the specific action taken. |
This article contains examples of the v0.11.1 payloads. However, as previously mentioned, we recommend using this as a guide and not an exact copy, as the Implementation Guides should ultimately be used to frame your integration. The task.status eReferral Lifecycle section highlights the sending and receiving provider task.status actions that affect the eReferral lifecycle. The v0.10.0 highlights contains a comparison between v0.10.0 and v0.11.1 message events as we encourage implementors to use the v0.11.1 eReferral version.