Application Programming Interfaces (API) 101
Brief introduction to modern internet enabled APIs and their use in healthcare
Session Goal and Agenda
• Part 1 :
» Presented by Avinash Shanbhag, ONC
» Provide basic understanding of modern internet enabled APIs and describe the
key technical terms developers commonly use when describing APIs
• Part 2:
» Presented by Mark Scrimshire, Entrepreneur-in-Residence, CMS
» Provide real-world application of the API technology in healthcare
Goal – Show the power, usability and ease of use of
modern APIs in health care
2
21st Century Cures Act (Sec 4002)
• “(iv) has published application programming interfaces and allows health
information from such technology to be accessed, exchanged, and used
without special effort through the use of application programming
interfaces or successor technology or standards, as provided for under
applicable law, including providing access to all data elements of a patient’s
electronic health record to the extent permissible under applicable privacy
laws;”
Cures Act has recognized the importance of APIs for
interoperability and made it a requirement for developers
3
Things are heating up for FHIR APIs
Check out the latest ONC blog (Oct 1, 2018)
https://www.healthit.gov/buzz-blog/interoperability/heat-wave-the-u-s-
is-poised-to-catch-fhir-in-2019/
4
What are the differences between an “Application” and an “API”
Application API
Computer program designed to help a A set of software code, protocols and
person perform an activity. For example, a tools to help developers build
web site. applications. For example, embedding a
twitter feed into a web site.
It is typically accessible via user interface. It is typically embedded inside another
software program.
Usually contains a lot of functionality that Usually designed to perform few small
are geared towards end users being able tasks that are geared towards software
to perform complex tasks. developers being able to use it in their
software programs.
5
Google Maps – Example of an Application
http://maps.google.com
6
API Example – Google Geocode API
• https://maps.googleapis.com/maps/api/geocode/json?address=Maryland
• https://maps.googleapis.com/maps/api/geocode/json?address=Maryland&key=AIza
SyDBtwiXKlYQR9E1OvyopnrmaU6qrNXCZ7A
7
Google Map API – Example of API
• https://developers.google.com/maps/
8
Differences between “Application” and “API” – Google Maps
Application API
http://maps.google.com https://maps.googleapis.com/maps/api/ge
ocode/json?address=Maryland
Accessible via user interface such as web Does not have user interface. But, is
browsers (e.g. Internet Explorer). embedded inside another software
program. For example, Lyft, Allstate, etc.
Contains a lot of functionality such as Contains only subset of functionality that is
distance, alternate routes, road conditions, needed for rich experience. But, makes it
etc. easy for developers to use.
9
What are the benefits of providing API vs developing application
• Organizations can monetize their API capabilities to new stakeholders
rather than only depending on customers that use their “application”.
• Organizations can make use of APIs to obtain the capability rather than
having to build it again.
• Each API provides focused capability, which makes overall cost of
development lower and hence lower usage cost.
• Everyone wins!
10
Anatomy of modern API – REST and JSON
• Google’s API is an example of RESTful API
• REST stands for Representational State Transfer
• RESTful APIs have following properties
» APIs work similar to how we access web sites!
– API user (software program) calls the API using the standard HTTP(s)
protocol which is the same protocol used for accessing web site.
• https://maps.googleapis.com/maps/api/geocode/json?address=Maryl
and
» You can use the “search parameters” field in the HTTP request string to get
different information
– https://maps.googleapis.com/maps/api/geocode/json?address=Maryla
nd&language=fr
11
Anatomy of modern API – REST and JSON
• API results are structured data formatted in Javascript Object Notation
(JSON) format which is bunch of key/value pairs, and can be easily parsed
by modern programming languages
12
So… What are the benefits of RESTful APIs
• Easy for API developers to develop and deploy, since they use the same
underlying capabilities as a web site
• JSON data structures are easy to read and compute using software
programs
• As a result, software developers can begin using API quickly
13
How is this related to APIs used in health care?
• Fast Healthcare Interoperability Resource (FHIR) is the most widely used API
standard in health care
• FHIR APIs use the same RESTful pattern
» https://fhir.sitenv.org/open/fhir/Patient/1?_format=json&_pretty=true
• Results are in the familiar JSON format
14
To Recap
Part 1:
• We understand the difference between “Application” and “API”.
• Benefits of supporting API from lower maintenance and additional use
cases.
• Underpinnings of modern APIs – REST and JSON
• FHIR APIs support the same standards used in other industry!
Part 2:
• Presented by Mark Scrimshire, Entrepreneur-in-Residence, CMS
• Provide real-world application of the API technology in healthcare
15
Now to Part 2..
@ONC_HealthIT @HHSONC