Case Study 1
Case Study 1
a r t i c l e i n f o a b s t r a c t
Article history: Objective: Recognizing a need for our EHR to be highly interoperable, our team at Duke Health enabled
Received 27 September 2016 our Epic-based electronic health record to be compatible with the Boston Children’s project called
Received in revised form 3 December 2016 Substitutable Medical Apps and Reusable Technologies (SMART), which employed Health Level Seven
Accepted 11 December 2016
International’s (HL7) Fast Healthcare Interoperability Resources (FHIR), commonly known as SMART on
FHIR.
Keywords:
Methods: We created a custom SMART on FHIR-compatible server infrastructure written in Node.js that
Electronic health records
served two primary functions. First, it handled API management activities such rate-limiting, autho-
HL7 FHIR
Interoperability
rization, auditing, logging, and analytics. Second, it retrieved the EHR data and made it available in a
Software 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.
© 2016 Elsevier Ireland Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.ijmedinf.2016.12.005
1386-5056/© 2016 Elsevier Ireland Ltd. All rights reserved.
2 R.A. Bloomfield Jr et al. / International Journal of Medical Informatics 99 (2017) 1–10
same way. Health data standards HL7v2 and v3 are not only less tion permits the inclusion of SMART-enabled HTML apps directly
familiar and more complex than commonly-used web standards into the clinical workflow rather than as a “one-off” solution. These
[3], but until recently [4] have been encumbered by licensing issues additional features make it possible to create a SMART-enabled app
that increase cost and slow adoption. In order to bring healthcare that could communicate with any compliant EHR with no addi-
into the modern era of rapid technological change, it is impera- tional effort: a truly “plug-and-play” solution.
tive that broadly-supported, accessible health care standards are This paper decribes the first integration of SMART and FHIR in
deployed at scale as quickly as possible. an Epic-based EHR system.
Between 2012 and 2014 Duke Health underwent a transition We implemented a SMART and FHIR-compatible server at Duke
from a home-grown, web-based electronic health record (EHR) sys- on our Epic 2014-based EHR. While continuing to develop a custom
tem called eBrowser to an Epic-based EHR. With this transition solution would have met Duke’s local needs, innovations would
came anxiety that the degree of flexibility enjoyed with a home- have remained siloed within Duke’s walls, inaccessible by other
grown system might be significantly curtailed. As an academic institutions without tremendous additional effort to support out-
medical center, this consideration was magnified by the desire of side EHR environments. The SMART platform was also attractive
our innovators, including physicians, nurses, and business leaders because of the ecosystem of apps that was actively being devel-
to use data generated by the EHR to fulfill their clinical, research oped, and made available in the SMART App Gallery, as shown in
and business needs, and to have the capability to access this data Fig. 1.
from anywhere. In other words, mobile data access was imperative.
It became clear that a system of open application programming 2.1. Implementation of SMART on FHIR
interfaces (APIs) would help us meet these needs.
In early 2014 we began to explore the feasibility of such a The implementation and pilot of the SMART and FHIR frame-
system with our development team, who, because of our prior works at Duke involved two major efforts: 1) integrating the SMART
experience implementing an enterprise-scale EHR system, under- and FHIR functionality into the Epic-based EHR, and 2) installing
stood the nuances related to access of protected health information several apps to validate this integration. The integration effort is
(PHI), including considerations related to security, compliance, data collectively known as Duke Apps Supporting Healthcare, or DASH,
validity, and standardization. We implemented a proof-of-concept as illustrated in Fig. 2.
system that employed use of standard technologies for authentica- At a high level, integrating the SMART and FHIR frameworks
tion, authorization and data access, including REST and OAuth 2.0, into an Epic EHR required mapping the data elements in the Epic
and demonstrated an Android application that allowed a provider database to data types used by FHIR (known as “Resources” [10]),
to log in to the Epic environment using standard Duke credentials and implementing the authorization/authentication scheme sup-
to access patient demographics, medications, and a problem list. ported by SMART (OAuth 2.0 and OpenID Connect). In addition to
Feasibility had been proven. supporting novel applications, the framework was also intended to
aid the transition of aging clinical systems to a modern infrastruc-
1.2. SMART on FHIR ture. All of this needed to be done in a way that would be secure,
compliant, and allow us to control the amount and type of users
Shortly after completing this work we became aware of a similar accessing the apps at any given time.
but much more comprehensive effort called SMART on FHIR, a new,
open API designed to support substitutable apps [5]. Substitutable 2.2. FHIR server
Medical Apps and Reusable Technologies (SMART) incorporates
Fast Healthcare Interoperability Resources (FHIR) [6], which was The FHIR server (based on the Draft Standard for Trial Use ver-
designed from the ground-up to be standards-based, open source sion 2, or DSTU2 [11]) is comprised of two components: 1) the API
and royalty free with no exceptions. HL7 maintains the FHIR stan- management layer (Fig. 2, middle row); and 2) the code to handle
dard as a departure from prior work. In the words of HL7, “FHIR the retrieving FHIR resources from the EHR (Fig. 2, bottom row).
combines the best features of HL7 s v2, HL7 v3 and CDA product The server is written using Node.js [12], an asynchronous, event-
lines while leveraging the latest web standards and applying a tight driven JavaScript runtime known for its efficiency and stability. The
focus on implementability [7].” These prior standards − HL7 v2, resulting architecture is fast and scalable, allowing for real-time
HL7 v3, and the clinical document architecture (CDA) − were not rate limiting on a per-app basis as well as appropriate auditing and
designed using modern web standards, are not open source, and logging as required (Fig. 3).
until 2013 required licensing fees. The FHIR resources can be retrieved from Epic in one of three
However, employing the FHIR APIs alone would not help us ways depending on our needs:
accomplish our goal of seamless EHR data access from apps. FHIR
did not define the method whereby a user could be appropri- • Epic web services. Our preferred method, when possible, is to
ately given permission (i.e., authorized) to access the data, it only use Epic’s provided web services to retrieve data elements, then
defined the data models, ontologies, and the method to exchange expose them via the FHIR interface. The advantage is that these
the information with a FHIR server. To close this gap, a group at web services take care of the required auditing and logging with
the Computational Health Informatics Program at Boston Children’s minimal overhead. They are also fast and efficient, and pull data
Hospital and Department of Biomedical Informatics at Harvard had from Chronicles, Epic’s real-time clinical database (see below),
been federally funded to develop open API specifications for EHR thus ensuring the data is always up to date. One important
data access, and had developed the SMART app platform. SMART caveat is that if a web service does not provide enough data
constrains FHIR with a standard set of data profiles, and adds stan- or metadata to satisfy the requirements of a particular FHIR
dard authorization and authentication technologies (OAuth 2.0 and resource, we may be required to combine the web service data
OpenID Connect) as well as EHR UI integration patterns to provide with one of the methods below in order to be compliant. This
an open health app platform [8]. SMART’s goal is to enable an app additional dependency dramatically increases complexity and
written once to run in any health IT system [9]. This deep integra- maintenance overhead. For example, when implementing the
R.A. Bloomfield Jr et al. / International Journal of Medical Informatics 99 (2017) 1–10 3
MedicationOrder FHIR resource we were not provided with the cles, the production Epic database that uses the Caché database
RxNorm code, but rather given an internal Epic code that we management system based on the Massachusetts General Hospi-
used to pull the RxNorm code from Clarity (see below) before tal Utility Multi-Programming System, or MUMPS [13]. MUMPS
combining and exposing the data via FHIR. is described by Menn et al. as “a versatile text-oriented language
• Clarity. When there is not a web service available for a specific [that is] easy to use, allows rapid access to a dynamic data base,
data type, we can quickly and easily pull the data from Clarity, a and can be implemented on a relatively modest-sized computer
relational database that is typically updated once or twice daily system [14],” the last of which is still true. This method requires
with data from the production clinical database. This is not ideal the greatest effort since we also need to take responsibility for
for data elements that require up-to-the-minute accuracy, but is appropriate auditing and logging, yet the end result is fast and
very useful for prototyping FHIR resource in our proof-of-concept timely access to the clinical data. These custom routines are then
environment with very little effort. exposed as custom web services that can be used alongside Epic’s
• Chronicles. When a web service is not available, yet we need web services.
immediate access to recent data elements, we turn to Chroni-
4 R.A. Bloomfield Jr et al. / International Journal of Medical Informatics 99 (2017) 1–10
Fig. 2. Apps (on top) interact with FHIR resources (on bottom) via an additional layer of API management controls (middle).
2.3. App integration above, there are several methods available to obtain these data from
the EHR. In this instance we needed to write a custom routine to
Since we expect that future apps will primarily come from three pull the data from Chronicles in order to ensure up-to-date data.
development sources − open source, proprietary, or internal − This was important because this app will be used in the inpatient
we chose apps for this pilot reflective of each of these categories setting, where providers would need access for rounding purposes
(Table 2). In addition, the Duke team wanted to demonstrate how soon after the values were recorded in the patient’s chart.
the flexibility of this platform allowed for these apps to be deployed In addition to mapping the EHR data elements to the appropri-
within a desktop or mobile workflow. ate FHIR resources, a critical element to full workflow integration
This aspect − integration into the desktop or mobile workflow − was the authentication and authorization process. Without an inte-
was a key motivation for undertaking this effort, and was based on grated process, also known as single sign-on (SSO), providers would
our experience that any app that did not seamlessly integrate into be required to log in to this app even after they were logged into
the patient or provider workflow would quickly fall into disuse and their EHR environment. This additional barrier would significantly
fail. The SMART and FHIR frameworks provide the technical tools decrease app usage. This integration was accomplished through the
that allow us to make the requisite connections to the EHR, but standard OAuth 2.0 standard, and required modification of our EHR
beyond enabling these frameworks in our Epic-based EHR, we also environment so that the EHR could generate a token that could then
needed to ensure that this integration made sense from a usability be understood and interpreted by the FHIR infrastructure, which
standpoint. would, in turn, grant appropriate access to an authorized user. We
customized the SMART on FHIR authorization flow slightly (see
3. Results “Limitations”).
Fig. 3. a. SMART on FHIR Growth Chart app integrated within the provider workflow; b. SMART on FHIR Growth Chart app integrated within the patient portal and displaying
a patient-centric view.
6 R.A. Bloomfield Jr et al. / International Journal of Medical Informatics 99 (2017) 1–10
Fig. 4. SMART growth chart app deployed on mobile devices via the mobile EHR apps in our proof of concept system.
Table 1 The SMART Growth Chart app was deployed in our production
Type of integration required for each FHIR resource.
EHR environment in October 2015 to a small pilot group consisting
Web Services Clarity Chronicles of about 20 EHR physician champions, making it the first FHIR app
FamilyMemberHistory X X deployed in production at any health system with an Epic-based
MedicationOrder X X EHR.
Observation (Vital Signs) X
Patient X
3.2. Limitations
This functionality was completed in our proof of concept envi- 3.2.1. Authorization flow
ronment in January 2015, and later demonstrated at HIMSS15 [19] As noted above, our implementation introduced a small devia-
along with Meducation and Duke PillBox [20]. With the infras- tion from the SMART on FHIR authorization flow in order to remain
tructure in place, it was a simple matter to demonstrate how the compliant with the OAuth 2.0 specification as well as with the poli-
SMART Growth Chart app could be included in additional envi- cies of our Information Security Office. As illustrated in Fig. 6a,
ronments, including the Epic mobile applications, Haiku and Canto the SMART on FHIR JS client library expects that the Authorization
(for iPhone/Android and iPad, respectively). This integration in our Server (AS) will be able to provide information regarding the patient
proof-of-concept environment required a simple, ∼5-min configu- context when it provides the access token. In our case, because the
ration, and would work for any HTML-based FHIR app. Note that the Duke Information Security Office required that the AS remain sep-
SMART Growth Chart app is not yet optimized for mobile, touch- arate from the EHR, we needed to modify it to support this flow in
based interfaces through a responsive web design. This is work that a compliant way. In our modified flow, as illustrated in Fig. 6b, we
will need to be done before the apps are deployed on mobile devices launch the application from Hyperspace using a JSON Web Token
in production. (JWT) as an authorization grant according to RFC 7523 [24], and
In addition to the integration of HTML5-based apps, we also encrypted according to RFC 7516 [25], with the patient context
demonstrated that a SMART on FHIR-compliant, native iOS app passed as custom claims. This JWT is opaque to the application,
could also be configured to connect directly to the same FHIR end- which in turn passes it to the AS. After the AS decrypts the JWT
point (see Table 1). This app made use of open source libraries for and verifies the signature, it exchanges the JWT for an access token
SMART [21] and FHIR [22] written in the open source Swift [23] that it returns to the application. At the same time, the AS takes
programming language. See Fig. 5. the custom claims and links them to the generated access token,
R.A. Bloomfield Jr et al. / International Journal of Medical Informatics 99 (2017) 1–10 7
Table 2
Apps integrated into our Epic-based EHR via SMART on FHIR.
Web; Open Source SMART Growth Chart [15] Boston Children’s Hospital Pediatric growth chart Patient
interface that includes Observation (Vital Signs)
traditional curves, data tables, FamilyMemberHistory
and a unique parental-specific
view
Native; Proprietary Pediatric Growth Charts [16] Boston Children’s Hospital Pediatric growth chart app that Patient
provides a native interface for Observation (Vital Signs)
iOS devices
Web; Proprietary Meducation [17] Polyglot Patient-specific medication Patient
instructions provided at a MedicationOrder
5–8th grade reading level in 21
languages
Web; Internally-developed Duke PillBox [18] Duke Health Interactive, patient-specific Patient
medication adherence teaching MedicationOrder
tool
Native; Internally-developed Duke FHIR Wedge Duke Health Software adapter to allow Patient
legacy app to receive patient
demographic information via
FHIR interface
which the app can retrieve as needed using an introspection call and clinical expertise to accurately map the data elements to FHIR
according to RFC 7662 [26]. from their equivalent element in the EHR. The complexity of this
issue has been recognized by others, and attempts to collectively
3.2.2. Data validation solve this problem have not yet been widely successful. As a start-
While the use cases demonstrated here were ideal for a simple ing point, SMART defines data category level profiles that align to
proof of concept for the SMART on FHIR platform, building out more meaningful use (e.g. specifying that RxNorm codes are required for
complex FHIR resources on our own would require significant effort FHIR medication resources) and is working with Argonaut [27] (see
8 R.A. Bloomfield Jr et al. / International Journal of Medical Informatics 99 (2017) 1–10
[13] R.A. Greenes, A.N. Pappalardo, C.W. Marble, et al., Design and implementation [25] RFC 7516: JSON Web Encryption (JWE). May 2015. https://tools.ietf.org/html/
of a clinical data management system, Comput. Biomed. Res. 2 (1969) rfc7516. (Accessed August 2016).
469–485. [26] RFC 7662: OAuth 2.0 Token Introspection. October 2015. https://tools.ietf.org/
[14] S.J. Menn, G.O. Barnett, D. Schmechel, et al., A computer program to assist in html/rfc7662. (Accessed June 2016).
the care of acute respiratory failure, JAMA 223 (3) (1973) 309. [27] Argonaut Project. http://argonautproject.org/. (Accessed May 2016).
[15] Substitutable Medical Apps and Reusable Technology. App Gallery −Growth [28] Clinical Information Modeling Initiative. http://opencimi.org. (Accessed May
Chart. 2016. https://gallery.smarthealthit.org/boston-childrens-hospital/ 2016).
growth-chart. (Accessed May 2016). [29] Health Intersections. #FHIR and the Gartner Hype Cycle. 2016. http://www.
[16] Substitutable Medical Apps and Reusable Technology. App Gallery −Pediatric healthintersections.com.au/?p=2514. (Accessed May 2016).
Growth Charts (iOS). 2016. https://gallery.smarthealthit.org/boston- [30] The Wall Street Journal. Home Depot’s 56 Million Card Breach Bigger Than
childrens-hospital/pediatric-growth-charts-ios. (Accessed May 2016). Target’s. Sept. 18, 2014. http://www.wsj.com/articles/home-depot-breach-
[17] Substitutable Medical Apps and Reusable Technology. App Gallery bigger-than-targets-1411073571. (Accessed June 2016).
−Meducation RS. 2016. https://gallery.smarthealthit.org/polyglot-systems/ [31] Modern Healthcare Big healthcare breaches affected millions before Anthem’s
meducation-rs. (Accessed May 2016). hack. 2015. http://www.modernhealthcare.com/article/20150210/blog/
[18] Substitutable Medical Apps and Reusable Technology. App Gallery −Duke 302109995. (Accessed June 2016).
Pillbox. 2016. https://gallery.smarthealthit.org/duke/pillbox. (Accessed May [32] SSAE-16. http://www.ssae-16.com/. (Accessed May 2016).
2016). [33] L.A. Orlando, A.H. Buchanan, S.E. Hahn, et al., Development and validation of a
[19] Smart Health IT YouTube Channel. Duke: SMART Launch & Apps Demo in primary care-based family health history and decision support program
Epic. 2015 https://www.youtube.com/watch?v=fN z92Twlec. (Accessed May (MeTree), NC Med. J. 74 (4) (2013) 287–296.
2016). [34] The Mobile Doc. White House Champions of Change in Precision Medicine:
[20] Smart Health IT YouTube Channel. Duke: PillBox. 2015. https://www.youtube. Duke’s Commitment. http://www.rickybloomfield.com/2015/07/white-
com/watch?v=ilpOR1lS7Lk. (Accessed May 2016). house-champions-of-change-in.html. (Accessed May 2016).
[21] GitHub. Swift-SMART. 2016. https://github.com/smart-on-fhir/Swift-SMART. [35] National Institutes of Health. An Update on the Precision Medicine Initiative
(Accessed May 2016). Cohort Program. 2015. http://www.nih.gov/about-nih/who-we-are/nih-
[22] GitHub. Swift-FHIR. 2016. https://github.com/smart-on-fhir/Swift-FHIR. director/statements/update-precision-medicine-initiative-cohort-program.
(Accessed May 2016). (Accessed May 2016).
[23] Swift.org. 2016. https://swift.org. (Accessed May 2016). [36] Sync For Science. Helping patients share EHR data with research. http://
[24] RFC 7523: JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication syncfor.science. (Accessed June 2016).
and Authorization Grants. May 2015. https://tools.ietf.org/html/rfc7523.
(Accessed June 2016).