Overview

Project Link

This guide is designed to assist EMR and EHR vendors with their integration with Ocean Cloud Connect using the FHIR module within Cloud Connect.

Historically, the Ocean team added specific modules to Cloud Connect for specific EMRs to connect to the proprietary APIs provided by these EMRs. This approach was effective for achieving integration in the early days before FHIR was the prevalent standard it is today. However, like other proprietary integrations, it does not scale well for either party.

Moving forward, the Ocean team is aiming to provide new integrators with the option of connecting to Ocean as an integrated EMR/EHR using a single, well-defined FHIR API protocol. In this context, Cloud Connect is acting not as the FHIR server but as a FHIR client, with certain specific requirements for the FHIR server. These requirements will ensure that adequate endpoints and resources are available for Ocean when providing the following EMR-integrated products and services:

High-Level Requirements

For a successful integration, implementors must provide the following services:

Design Principles for This Specification

We have attempted to keep this implementation relatively straightforward by minimizing the baseline requirements, while balancing against mandatory functionality. We want to provide sufficient documentation to eliminate ambiguity in the implementation decisions, particularly with regard to the resource endpoints and data elements.

We all win by adhering to existing standards, so whenever possible we have attempted to align with established regional standards, particular pan-Canadian FHIR standards, using the US convention as a fallback. Another important guide is the WELL FHIR API Documentation, which is an important reference implementation for this project and an implementation we aim to ensure is fully compatible.

FHIR Profile Standards

With this in mind, we have extended the profiles outlined in the Canadian Baseline; project source here; simplifier project here). The public URLs for the Canadian Baseline unfortunately do not resolve at the time of this writing due to a reconciliation process (e.g. http://hl7.org/fhir/ca/baseline/StructureDefinition/MedicationStatement); as a result we use the continuous-build URLs (e.g. https://build.fhir.org/ig/HL7-Canada/ca-baseline/StructureDefinition-profile-medicationstatement)

When no Canadian baseline profile is available, the equivalent US Core profiles are used, or the base R4 profile when nothing else is available (e.g. Appointment).

Coding Standards

In terms of diagnostic and Observation clinical coding, LOINC should be used, with SNOMED as a fallback in areas outside of the scope of LOINC. In particular, Ocean references a core set of LOINC codes for certain use cases, such as the pre-population of a patient's hemoglobin or blood pressure in a referral form. However, the specific diagnostic codes used are otherwise ignored by Ocean.

RESTful Endpoint Requirements

M = mandatory, O = optional, N = not used

Endpoint Online Booking Reminders Kiosks Messages Website Forms
Appointment GET M M M O N
Appointment POST M M M O N
Appointment PUT M M M O N
CapabilityStatement M M M M M
DocumentReference M M M M M
Patient GET M M M M M
Patient PUT M M M M M
Patient POST M M M M M
Practitioner M M M N O
Schedule M M M N N
Slot M N N N N
ValueSet M M M M M
Observation M M M M M
Patient/$everything M N M M N
Condition N O O O O
Consent O O O O O
QuestionnaireResponse O O O O O
Task O O O M M
Procedure N O O O O

Other Resources (not offered as endpoints)

Resource Used For Accessed Via
AllergyIntolerance Form pre-population Patient/$everything
CareTeam OAB, Kiosk Patient/$everything
Immunization Form pre-population, Vaccine reminder forms Patient/$everything
MedicationStatement Form pre-population, Medication reconciliation form Patient/$everything

Other Ocean Integrations

This implementation guide focuses on Cloud Connect's direct back-end integration with a compatible EMR/EHR system. There are two other Ocean integrations to consider that are complementary to Cloud Connect: SMART on FHIR, which is used for user single-sign-on and patient-contextual launching of Ocean as an application, and the eReferral specification, which assists with the backend sending and receiving of FHIR ServiceRequests designed to support eReferral and eConsult use cases.

SMART on FHIR

The requirements for SMART on FHIR contextual launch for Ocean are outlined in a separate article: SMART on FHIR Implementation Guidance

eReferral and eConsult Back-end Integration

Ocean implements the Ontario eReferral Specification for the purpose of sending and receiving eReferrals, eConsults, and other ServiceRequest resources. Although this integration may feel like a whole other project, it is best described in relation to this implementation as an extra set of implementation criteria for the ServiceRequest endpoint (which has been omitted as an endpoint in this guide to avoid unnecessary overlap).