Introduction to SMART on FHIR App Development

Medical interface of holographic body scan with FHIR app development

The popular standard for exchanging healthcare data between different systems is Fast Healthcare Interoperability Resources (FHIR). The modern, RESTful API and common web standards (JSON) are used by FHIR app development.

SMART on FHIR is a platform for application development that allows innovators to create apps that can interact with multiple Electronic Health Record (EHR) systems quickly and easily. With SMART on FHIR, app developers can reach patient data from multiple EHRs without understanding the intricacies of healthcare data standards.

In this comprehensive guide, we will walk through what SMART on FHIR app development and its key capabilities and provide a step-by-step tutorial on building a simple SMART on FHIR app.

What is SMART on FHIR?

SMART on FHIR stands for Substitutable Medical Applications, Reusable Technologies on Fast Healthcare Interoperability Resources.

It is an open, standards-based technology platform that enables innovators to create apps that seamlessly and securely run across the healthcare system.

The key principles behind SMART on FHIR are:

  • Substitutable: Substituting apps and running them against different FHIR servers / EHRs is easy.
  • Reusable: Reusable technologies and standard interfaces are used by apps.
  • Modular: Larger workflows can be composed of apps
  • Portable: Apps and data go wherever the patient goes when they seek care.

With the SMART on FHIR specifications and the OAuth 2.0 open standard, Langate app developers can build apps that talk to healthcare data sources like EHRs and HIEs.

They can allow the apps to access data dynamically, provide clinical decision support, capture additional data, or allow patients to access their medical records.

Key Capabilities of SMART on FHIR

SMART on FHIR enables some key capabilities that simplify app development in healthcare:

Easy Connectivity to Healthcare Data Sources

SMART on FHIR apps uses standard OAuth 2.0 and OpenID Connect protocols to connect to FHIR servers to access patient data. This eliminates the need to know the complexity of healthcare APIs and data standards.

This means developers don’t have to worry about the different APIs and formats across different EHR systems. Authentication, authorization, and access to FHIR resources are handled by the SMART on FHIR client libraries, and there are easy methods to access FHIR resources.

Run Apps Across Multiple EHR Systems

The biggest benefit of SMART on FHIR apps is that they can talk to and run on many different EHR systems without any modifications.

Since SMART apps use the standard FHIR APIs, they will interoperate with any EHR system that supports these standards. This ‘write once, run anywhere‘ approach is a huge advantage for developers.

Modular and Composable Apps

SMART on FHIR promotes modular app design by separating the app UI from the healthcare APIs. This enables the creation of reusable app modules that can be composed into larger workflows.

For example, separate modules for patient selection, decision support, documentation, etc., can be assembled to create full-featured clinical apps.

Access Both Patient Data and EHR Functions

SMART apps get access to FHIR Resources, providing patient data like medications, problems, diagnostic reports, etc. This data can be used to provide targeted decision support.

In addition, apps can access EHR functions like providing clinical decision support at the point of care, capturing additional structured data, or enabling patients to access their records.

Standardized Authorization Model

SMART on FHIR specifies a standardized authorization model to access protected health information (PHI). Apps have to seek patient consent before accessing the data.

Granular scopes are used to control authorization, such as limiting access to only a few FHIR resources or reading-only access. This ensures patient data privacy and security.

SMART on FHIR App Architecture

SMART on FHIR apps follow a standard architecture that connects client-side app UI code to healthcare APIs like FHIR. Here are the key components:

SMART on FHIR Architecture

  • SMART on FHIR App: Single page web app with UI code and app logic. Built using JavaScript frameworks like React, Angular, etc.
  • SMART on FHIR Client: The client library (JavaScript/Python/Java) handles authentication of FHIR servers and provides methods to access FHIR resources.
  • Authorization Server: Handles authentication and authorization based on OAuth 2.0 and OpenID Connect protocols. Issues access tokens to the client app.
  • FHIR Server: An API that provides access to healthcare data resources such as Patients, Observations, Medications, etc., in FHIR format.
  • EHR System: The core electronic health record system stores patient data and provides FHIR interfaces.

The SMART on FHIR client libraries reduces app developers’ complexity by handling all the authentication protocols and FHIR API interactions. Developers can focus on the healthcare use case and app UI code.

SMART on FHIR Use Cases and Apps

The flexibility of the SMART on the FHIR platform allows the creation of apps for various healthcare use cases. Let’s look at some examples:

Clinical Decision Support

SMART apps can provide evidence-based clinical decision support integrated into the clinician workflow. For example:

  • Drug-drug interaction checks
  • Dosage guidance based on lab results
  • Care gap identification for preventive care

By accessing data from the FHIR server, these apps identify opportunities to improve care quality and patient safety.

Popular apps like CDS Hooks use SMART to enable on-demand decision support.

Patient Data Capture

Structured data capture apps enable clinicians to record additional patient data, for example:

  • Capture patient-reported outcomes
  • Record physical therapy progress notes
  • Collect social determinants of health

This data can then be used to provide personalized care for patients.

Patient Engagement

SMART apps provide the ability for patients to connect to their health data:

  • Personal health record access
  • View test results
  • Share records with providers
  • Enter health goals and track progress

Giving patients access and ownership of their data improves engagement in health management.

The SMART Health IT site lists several real-world examples of SMART apps for patients.

Graphic of SMART evolution for FHIR app development

Population Health Management

As SMART apps access standardized FHIR data across systems, they enable aggregating data to identify trends and gaps at a population level.

Analytics use cases include:

  • Stratification to identify high-risk patients
  • Quality measure reporting
  • Disease surveillance based on symptoms

Public health agencies are leveraging SMART to enable population health analysis use cases.

Telehealth / Virtual Care

SMART allows quickly building telemedicine apps that connect patients and clinicians:

  • Integrate video consult capabilities
  • Capture patient-reported symptoms before appointments
  • Identify care gaps for chronic conditions

Structured data exchange via FHIR enables delivering coordinated team-based care.

FollowMyHealth connects multiple hospitals and telehealth platforms using SMART.

There are many more possibilities, such as medical image viewing, care pathway adherence, patient education, and others, where SMART on FHIR enables rapid innovation.

Conclusion

That concludes our simple demo app on SMART on FHIR development. The key takeaways are:

  • SMART eliminates the complexity of healthcare interoperability standards
  • Apps are substitutable across FHIR servers / EHR systems
  • Client libraries handle authentication and authorization
  • FHIR resources provide easy access to patient data

There is tremendous potential to build intelligent healthcare solutions using the power of SMART on FHIR app development.

Subscribe

* indicates required