What is FHIR?
FHIR is the acronym for “Fast Healthcare Inoperability Resource.” It is the new standard for healthcare information exchange created by the organization HL7 International. It is a replacement for more rigid, complex and expensive to implement legacy standards that HL7 International developed earlier. FHIR overcomes the limitations posed by HL7 v1 and HL7 v2.
When a patient visits various healthcare facilities, the patient data becomes distributed in these facilities. To save time and also overcome inconvenience, the patient data has to be hared over the healthcare network. Data is shared in some consistent and effective way from one healthcare facility to another.
This is when FHIR comes as a standard for communication among dozens of heterogeneous systems across the hospitals/facilities. It is to say that the systems at these different locations speak different languages. FHIR standard is used to translate these languages so a flow of communication is established between different digital machines.
The biggest advantage of using FHIR is that the power of hardware and communication technology is harnessed as the interoperability is granted by FHIR between these devices as a significant amount of time is saved in medical procedures. FHIR is not something unique or something very new. It is built on top of the same technology on which many top social media sites are built.
The main function of FHIR is to integrate, request and transfer data between different healthcare systems.
One of the advantages that FHIR harbors is that it is freely available at http://www.HL7.org/FHIR
What is SMART?
SMART(Substitutable Medical Apps, Reusable Technology) is an App Platform for Healthcare. SMART Health IT is an open, standards-based technology platform that enables innovators to create apps that seamlessly and securely run across the healthcare system. Using an electronic health record (EHR) system or data warehouse that supports the SMART standard, patients, doctors, and healthcare practitioners can draw on this library of apps to improve clinical care, research, and public health.
What is SMART on FHIR?
SMART (“Substitutable Medical Applications, Reusable Technologies”) on FHIR is an open, HL7 FHIR standard-based platform that especially enables developers to create apps that can securely and seamlessly be operational on all the healthcare computer systems. It is a set of open specifications to integrate apps with Electronic Health Records and other Health IT systems.
Registering a SMART App with an EHR
Since SMART on FHIR is meant for integration between your app and EHRs, before a SMART app can run against an EHR, the app must be registered with that EHR’s authorization service. SMART does not specify a standards-based registration process, but it is recommended for EHR implementers to consider the OAuth 2.0 Dynamic Client Registration Protocol for an out-of-the-box solution.
No matter how an app registers with an EHR’s authorization service, at registration time every SMART app must:
- Register one or more fixed, fully-specified launch URL with the EHR’s authorization server
- Register one or more, fixed, fully-specified redirect_uris with the EHR’s authorization server
SMART App Launch Options
SMART apps can be launched in the following two ways. Refer to http://docs.smarthealthit.org/authorization/ for more detailed information about these.
In an EHR launch, information/context from EHR is passed along to the SMART app as part of the launch URL. The app later will include this context as a scope parameter when it requests authorization to access resources. Note that the complete URLs of all apps approved for use will have been registered with the EHR authorization server. For example, we have to register our SMART app with Epic before a hospital can integrate our app with Epic in their environment.
This launch sequence is depicted below:
In a standalone launch, when the app launches from outside an EHR session, the app can request context from the EHR authorization server during the authorization process as described below:
Once the app is launched, it requests authorization to access an FHIR resource by redirecting its authorization request to the EHR’s authorization server. Based on pre-defined rules and possibly end-user authorization, the EHR authorization server either grants the request by returning an authorization code to the app’s redirect URL or denies the request. The app then exchanges the authorization code for an access token, which the app presents to the EHR’s resource server to obtain the FHIR resource. If a refresh token is returned along with the access token, the app may use this to request a new access token, with the same scope, once the access token expires.
Testing SMART APPS / SMART App Launcher
SMART provides a launch that can simulate both of above launch sequences. Please visit https://launch.smarthealthit.org for the launcher and try with your own SMART app.
The SMART sandbox that mimics a real EHR to test and demonstrate apps for practitioners and patients that use the SMART on FHIR platform to access clinical data.
SMART on FHIR app launcher
FHIR launch context