Opening the Duke electronic health record to apps: Implementing SMART on FHIR

Int J Med Inform. 2017 Mar:99:1-10. doi: 10.1016/j.ijmedinf.2016.12.005. Epub 2016 Dec 12.


Objective: Recognizing a need for our EHR to be highly interoperable, our team at Duke Health enabled our Epic-based electronic health record to be compatible with the Boston Children's project called Substitutable Medical Apps and Reusable Technologies (SMART), which employed Health Level Seven International's (HL7) Fast Healthcare Interoperability Resources (FHIR), commonly known as SMART on FHIR.

Methods: We created a custom SMART on FHIR-compatible server infrastructure written in Node.js that served two primary functions. First, it handled API management activities such rate-limiting, authorization, auditing, logging, and analytics. Second, it retrieved the EHR data and made it available in a FHIR-compatible format. Finally, we made required changes to the EHR user interface to allow us to integrate several compatible apps into the provider- and patient-facing EHR workflows.

Results: After integrating SMART on FHIR into our Epic-based EHR, we demonstrated several types of apps running on the infrastructure. This included both provider- and patient-facing apps as well as apps that are closed source, open source and internally-developed. We integrated the apps into the testing environment of our desktop EHR as well as our patient portal. We also demonstrated the integration of a native iOS app.

Conclusion: In this paper, we demonstrate the successful implementation of the SMART and FHIR technologies on our Epic-based EHR and subsequent integration of several compatible provider- and patient-facing apps.

Keywords: Electronic health records; HL7 FHIR; Interoperability; Software.

MeSH terms

  • Boston
  • Electronic Health Records / organization & administration*
  • Electronic Health Records / standards*
  • Health Information Exchange / standards*
  • Health Level Seven / standards*
  • Humans
  • Mobile Applications*
  • Software*
  • Systems Integration