We Stand with Ukraine
Home / Blog / Integrating a SMART on FHIR App with the Cerner EHR

Integrating a SMART on FHIR App with the Cerner EHR

Paul Kovalenko Paul Kovalenko | November 3, 2021 | 6 min

EHR (electronic health record) and EMR (electronic medical record) systems have been a great contribution to healthcare innovation. However, these systems, in some cases, are more of a curse than a blessing. Interoperability, which is the ability of computer systems or software to exchange and use information, is a big part of the problem. Currently, only 4 out of 10 healthcare providers manage to exchange information between healthcare units freely.

In the past, it has always been challenging for HealthTech developers to integrate an application with a single EHR platform, let alone connect it with many. SMART on FHIR was created specifically to address this challenge. This article explains what SMART on FHIR apps are and how to integrate a medical app with a health system using Cerner.

What is a SMART on FHIR?

Before we get an answer to how to integrate a medical app with Cerner, let’s explore what two abbreviations mean in the healthcare industry.

Defining FHIR

FHIR stands for Fast Healthcare Interoperability Resources, and it is the next-generation version of the HL7 protocol. HL7 served as an early framework for secure healthcare messaging and document exchange between healthcare organizations. It became a standard for exchanging health information between medical applications to facilitate interoperability between apps. However, it had its limitations – because of its complexity and structure, it could not be used or was impractical in many cases where a simpler approach would suffice. FHIR uses more common data formats, lessening the complexity, learning curve, and overhard for developers and organizations interested in using it. It also more easily accommodates mobile and SaaS apps, wearables, medical devices and provides easier interoperability.

Defining SMART

SMART stands for Substitutable Medical Apps, Reusable Technology. It is a standards-based healthcare API that allows developers to create standardized and interoperable apps. An interoperable app means it can work with any healthcare system, no matter what EHR platform may be in use.

Before SMART was introduced, developers had to integrate their applications individually with each EHR platform. It was burdensome for both the healthcare providers and the EHR vendors, and in many cases, developers had to create a separate app for each EHR platform. This also led to a limited range of apps that healthcare providers could use, as many developers would choose a single EHR vendor to work with and abandon or postpone plans to integrate with other EHR platforms. Consequently, customers were forced to use apps that were not efficient for their needs and, in some scenarios, obsolete.

With SMART, developers can create a single version of an app compatible with all SMART-enabled EHR platforms. This leads to richer app stores with more available apps that are easier to support and manage for the teams that created them.

How does SMART Relate to FHIR?

At its core, SMART is a collection of API calls and endpoints that all follow a set of shared standards, presenting healthcare data consistently and straightforwardly across multiple systems. It defines the “how” of healthcare interconnectivity.

FHIR is a protocol and a format that defines the “what” each system expects to receive.

Here is how SMART and FHIR make up the SMART on FHIR protocol:

Foundation component:

  • FHIR – defines the format for health data exchange within SMART API wrappers
  • CDS Hooks – provide a way for a healthcare platform to request clinical decision support from a third-party app

Data access component:

  • US Core Data Profiles – FHIR-based data profiles for health data (US) – these tell us what health information we can receive for each patient and how it will be presented
  • FHIR Bulk Data API – provides a way to exchange large data sets, as opposed to individual records

UI and Security Integration component:

  • SMART App Launcher – This is the subject of this article, provides a way to connect third-party apps to EHRs and health providers
  • SMART Backend Services – provides a way for server-to-server communications using FHIR standards.

Let’s proceed to the steps on how to integrate SMART app into Cerner.

Need help integrating a SMART on FHIR Appi with the Cerner EHR?
Langate can help

Integrating SMART App with Cerner EHR Platform: Patient- and Provider-Facing Apps

There are two types of apps that can be published on Cerner App Gallery: patient-facing and provider-facing. The differences between them are crucial while talking about how to register and test the app in Cerner, as well as complete the validation processes.

Patient-Facing Apps

Patient-facing apps are developed for use by patients. In Cerner EHR, you can launch this app as a standalone only. Meaning, that the app operates outside of the EHR application. In order to integrate SMART app into Cerner, you need to:

  • Have your SMART app created and deployed on a server
  • Sign up for a CernerCare account (it’s free)
  • Register on the code console (enter a name, redirect URL, app type, FHIR spec, standard scope, user scope, and patient scopes).
  • You will then receive an OAuth 2 client IDs
  • Go to launch-patient.html. (There will already be a file created for your app, just add a client ID that you received from completing the previous step)
  • Save the launch-patient.html file in the gh-pages branch
  • Paste Launch URL in a browser, you will be taken to the patient-facing login page
  • After you log in, you’ll be taken to an authorization page
  • After the authorization, the app will load with patient and observation data

Provider-Facing Apps

Provider-facing apps are developed specifically for use by healthcare institutions. In Cerner EHR, you can launch a provider-facing application within the EHR context only. Launching with EHR context means that your app extends the features of EHR and operates only within the security boundaries of the user that launched it.

Here’s the step-by-step process on how to integrate SMART on FHIR app with Cerner for a provider-facing platform:

  • Sign up for a Cerner Care account (it is free)
  • Register SMART app with Cerner through the code console (enter a name, SMART launch URL, redirect URL, app type, FHIR spec, standard scope, user scope, and patient copies).
  • You will get an OAuth 2 client ID
  • Wait for about 10 minutes
  • Go to Cerner LaunchPad and launch the app in the EHR context
  • You will then be redirected to a Launch ID where you will go through the authorization process
  • After successful authorization, you will get index.html with an access token

Following that, your app will access FHIR endpoints using the context of the logged-into- EHR user. Want to learn more about integration pricing? Check our new article about cost of EMR implementation.

How Langate Can Help Integrate SMART App with a Health System Using Cerner

Do you need help integrating SMART on FHIR app with Cerner or seek more information on this or other similar integrations? Then, you may want to reach out to Langate. We have over 20 years of experience developing software solutions for healthcare, a deep understanding of FHIR and related technologies, and a passion for improving patient care through technology. Don’t hesitate to reach out to us – whether it’s just a quick question or a large-scale project. With a large team of healthtech-focused engineers, we have the expertise to share and help others.

Latest insights

View more
Wearable App Development: Comprehensive Guide

Paul Kovalenko

Wearable technology has significantly impacted our daily lives. From fitness trackers to smartwatches, they have evolved to become indispensable. Experts …

May 20, 2024 | 11 min

We use cookies to ensure that we give you the best experience on our website. By continuing to browse this site you accept the use of cookies.
Learn about latest
compliance requirements

    How MSPs Can Choose the Right Software Development Partner