## FHIR North Code Camp - eReferral Integrations Stream ### Introduction - Integrating FHIR eReferrals FHIR is a promising new technology to enable rapid deployment of health care integrations. One of the areas in the greatest need of strong standards-based integrations is electronic referrals (eReferrals). On April 26 at the FHIR North conference in Hamilton, a FHIR eReferral server running an API based on the draft Canadian FHIR eReferral specification will be available to connect with. The eReferral server will be able to accept newly submitted eReferrals, relay referrals, and be launched as a SMART on FHIR eReferral app. The purpose of this event is to: 1. Demonstrate the viability of FHIR as an eReferral standard 2. Spur participation of the health application builder community to adopt the Canadian FHIR eReferral specification 3. Test & improve the Canadian FHIR eReferral specification The output of this event will be used to further refine the specification, and jump-start the deployment of the FHIR eReferrals standards within the Canadian health application ecosystem. ### About FHIR North [FHIR North](http://appsandfhir.mohawkcollege.ca/) is aimed at building awareness, knowledge, and experience around the HL7 & FHIR healthcare interoperability standard in Canada. This year, FHIR implementers will once again come together this April 26 at Mohawk College in Hamilton, Ontario to develop and test innovative applications using the HL7® FHIR standards framework. Over two days, Apps for Health & FHIR North attract upwards of 700 attendees from the healthcare IT sector, including researchers, innovators, and practitioners. Sponsors, exhibitors, and attendees now have the opportunity to support both Apps for Health and FHIR North as a 2-day digital health conference. Learn more and [register for FHIR North](http://appsandfhir.mohawkcollege.ca/) ### About the Canadian FHIR eReferral Specification The specification was built and informed by the CIHI eReferral Specification Working Group, started in early 2017, with participation from Canada Health Infoway, eHealth Ontario, the eHealth Centre for Excellence, eReferral vendors (Caredove, Orion Health, CognizantMD-Ocean, Novari Health, Strata Health), Gevity + various other participants from across Canada. Significant input to the specification has also been provided by the broader FHIR community and authors of the FHIR standard, via conversations with FHIR thought leaders, chat.fhir.org and the 2018 FHIR Connectathon in New Orleans. The specification is in an *advanced draft* state, requires fine-tuning, testing and further discussion. However, most of the primary and substantial issues have been addressed. The specification document itself is a work-in-progress, please excuse unfinished sections, spelling and grammatical errors. Feedback is welcome. ### Canadian Draft eReferral Specification Overview The following diagram illustrates all of the data pathways that are addressed by the Canadian FHIR eReferral specification. {{tree:CanadianeReferral/eReferralDataFlows-jpg}} The data flows in this diagram cover various use cases including but not limited to: * Finding the right service to refer to * Submitting eReferrals directly via an API * Relaying eReferrals to one or more recipient systems * Forwarding eReferrals on from an intermediary (e.g., central access processes) * Sending eReferral updates and outcome results between requester systems eReferral servers, and recipient systems * Communicating messages about a referral after inial submission (e.g., request for more information) * Presenting advanced eReferral submission and post-submission business logic to the user via a SMART on FHIR app This diagram and the specification continue to be in development. For more information on the specification, refer to the full implementation guide (hosted here on simplifier.net), and join the bi-weekly Canadian FHIR eReferral Specification working group. --- ## FHIR North Code Camp eReferral Data Flows 3 of the data flows are featured at the FHIR North Code Camp (highlighted in yellow on the eReferral Diagram). {{tree:CanadianeReferral/eReferralDataFlowsFHIRNorth-jpg}} These flows were selected because *2.1 Submit eReferral* & *2.2 Relay Referral* represent the base case for sending an eReferral while *2.4 SMART Submit* represents an easy yet powerful way to introduce advanced business logic into an eReferral process. Also, these data flows are foundational to the remaining flows, and it is a small jump to add the other flows once these flows have been implemented. To keep code camp focused, activities that happen after the initial submission (such as updates, communications and sending appointment information) are part of the specification but are not included in Code Camp. The FHIR eReferral Server component of the architecture will be provided at the code camp. Participants will take the role of an *eReferral Requester System* or *eReferral Recipient System*, and connect to the FHIR eReferral Server. ### FLOW 2.1 - Submit eReferral (POST) This data flow is targeted at *eReferral Requester Systems*, who want to submit a new referral to a targeted healthcare service. Participants will *submit* a FHIR Bundle containing a ServiceRequest + other relevant resources to the endpoint of a pre-selected target HealthcareService, hosted by an eReferral server. On successful submission, the sending system will receive a response bundle, and the eReferral will be viewable in the eReferral Server system. ### FLOW 2.2 - Relay eReferral (POST) This data flow is targeted at *eReferral Recipient Systems*, who want to receive a new eReferral. Participants will provide an endpoint that can *receive* a FHIR Bundle containing a ServiceRequest + other relevant resources, relayed by the eReferral server from another initial requester. The participant can then choose what to do with this dataset, such as display it in an EMR referral inbox, store it in a FHIR eReferral repository, display the data, and more. ### FLOW 2.4 - SMART Submit (SMART on FHIR) This data flow is targeted at *eReferral Requester Systems* who want to send a referral to a service via a graphical interface instead of purely via a back-end API. Participants will launch a SMART on FHIR eReferral app, which will request access to an in-context Patient & Practitioner resource, and use those resources to complete an eReferral with advanced business workflow (e.g., find an appropriate service, book an appointment, complete a form, and submit an eReferral). ----------- ## Participants Participants should select which data flows to integrate with. The FHIR eReferral server role will be provided by [Caredove](https://www.caredove.com), while participants will take the role of a *Requester System* (submitting eReferrals to the eReferral server) or a *Recipient System* (receiving referrals from the eReferral server). There are two ways to participate in the eReferral Integrations Stream: 1. Build an integration on Code Camp day 2. Build an integration ahead of Code Camp day If you choose to build your integration on Code Camp day, the eReferral server, documentation, and people will be available on site to help you. There is a significant benefit to preparing an integration ahead of time * Demonstrate a strong integration to the FHIR community on Code Camp event day * Have a strong foundation to discuss advanced learnings with other integration participants on event day * Have a strong foundation to discover and build unexpected new integrations with other participants on event day * Contribute to learning and improving the specification so that it works better for everybody on event day The following applications have indicated a strong interest in building integrations ahead time to be ready for a presentation on event day: Application | Flow 2.1 (Submit) | Flow 2.2 (Relay) | Flow 2.4 (SMART Submit)| |---|:---:|:---:|:---:| |Cerner (SoF Sandbox)|||√| |SMART on FHIR (Sandbox)|||√| |Caredove (Sandbox EMR)|√|√|√| |Strata Health Pathways|||√| |AlayaCare||√|| |Think Research (Patient Portal)||√|| |Think Research (Patient Order Sets)|√||| |SmileCDR||√|√| |_Announcing more soon..._|||| As more applications indicate interest in participating leading up to event day, they will be added to this list. --------- ## Developer This section contains practical information and instructions for developers on how to build an integration to connect with the FHIR eReferral server. ### Sample JSON Payloads The easiest way to begin is with some sample JSON payloads. The eReferral server has been validated to function with the following data: * [2.1 Submit eReferral .JSON](https://simplifier.net/guide/eReferraldraftiGuide/SubmiteReferralJSON) - The Requester System should send this (or similar) data to the eReferral server for flow *2.1 Submit eReferral* * [2.2 Relay eReferral .JSON](https://simplifier.net/guide/eReferraldraftiGuide/RelayeReferralJSON) - The eReferral server will send this (or similar) data to the Recipient System for flow *2.2 Relay eReferral*. * [2.4 SMART Submit .JSON](https://simplifier.net/guide/eReferraldraftiGuide/SMARTSubmitJSON) - for flow *2.4 SMART Submit*, the eReferral server will request the in-context Patient and Practitioner resources from the requester system. ### Resource Profiles Draft profiles have been written for the resources that will be used in the data flows. The profiles are built using the forward-looking draft FHIR standard STU3.2, which is a draft ballot release for FHIR STU4. STU4 is expected to be ratified in the fall 2018. Review these profiles for detailed information about the usage of elements in the resources: * [ServiceRequest](https://simplifier.net/guide/eReferraldraftiGuide/ServiceRequest) * [Patient](https://simplifier.net/guide/eReferraldraftiGuide/Patient) * [PractitionerRole](https://simplifier.net/guide/eReferraldraftiGuide/PractitionerRole2) * [Practitioner](https://simplifier.net/guide/eReferraldraftiGuide/Practitioner) * [Organization](https://simplifier.net/guide/eReferraldraftiGuide/Organization) * [Location](https://simplifier.net/guide/eReferraldraftiGuide/Location) * [Task](https://simplifier.net/guide/eReferraldraftiGuide/Task) * [Bundle](https://simplifier.net/guide/eReferraldraftiGuide/Bundle) ### Testing * You can test your integration ahead of FHIR North Code Camp * COMING SOON! ### Implementation Notes * To get off on the right foot, contact Tim Berezny (tim@caredove.com) to schedule a call to discuss an overview of the FHIR North Code Camp event and the specification. * For flows *2.1 Submit eReferral* & *2.2 Relay eReferral*, start with the reference JSON files. These payloads are pre-validated against the FHIR eReferral server. * For flow *2.4 SMART Submit*, see the [documentation on the SMART on FHIR homepage](http://docs.smarthealthit.org/) to learn about building a SMART on FHIR server that can launch a SMART app. The eReferral app is currently tested with data from the [SMART on FHIR sandbox environment](http://docs.smarthealthit.org/sandbox/). * For further details on how to use specific elements in the reference JSON files, see the resource profiles published in this guide, or on the FHIR website. * This full implementation guide is not yet complete. However, you should be able to rely on the pages linked from this page for development purposes. ---- ## Questions? * For any questions, contact Tim Berezny, tim@caredove.com. * This page and supporting pages will continue to get updated leading up to FHIR North day. ## News: 2018-03-22 - Updated the 2.1/2.2 payloads, was missing organization.entry.request + the documentReference.created was given an actual DateTime instead of a text placeholder. 2018-03-22 - In the sample payload of /bundle resource added in the meta section, holding link to profile (note that the linked profile is nt complete). Consider adding lastUpdated to 2.2. Also, need to add this meta to all resources. 2018-04-18 - Added headers to sample JSON payloads