2. 2 HealthSuite Hackathon
RESTful Health APIs
Most are specific to a device/company (fitbit, misfit, withings, etc)
…although…
There are some general purpose APIs, like the Human API
https://www.humanapi.co/
These RESTful APIs have some common design features/flaws:
• URL based on data type:
– /user-id/sleep
– /user-id/activity
– /user-id/weight
• Different data structures for each data type
• Additional data types require API change!
• Do not integrate easily with medical records (require translation)
4. 4 HealthSuite Hackathon
Enter FHIR
http://www.hl7.org/fhir/
• A new standard
– Made possible by new technologies and standards
– Informed by lessons of the past
• Not a new standard
– We don’t need yet another health data standard
– HL7, the health data standard since 1987
• REST API
• “Internet of Things” for your health data
• your health data is now addressable
• Compatible with wide range of data
– Hospitals
– Home Monitoring Equipment
– Fitness Trackers
– Environmental sensors
5. 5 HealthSuite Hackathon
What is FHIR? A Brief History
• Fast Healthcare Interoperability Resources (FHIR)
RESTful API for health data
• HL7 standard with long history
– HL7v2: internal hospital data
– HL7v3: Health Information Exchange (HIE)
– CDA/CCD: Clinical Document Architecture / Continuity of Care Document
– FHIR: Simplified REST implementation of CDA
6. 6 HealthSuite Hackathon
FHIR Basics
• Everything is a resource
– Organization
– Patient
– Observation
Every resource is addressable with a URL
https://yourserver.com/Organization/123
https://yourserver.com/Patient/456
https://yourserver.com/Observation/789
Resources are connected with
URL references
8. 8 HealthSuite Hackathon
Observation Value
• “valueQuantity”
– Value
– Units
SI - Système International d’Unités, or International System of Units
UCUM – Unified Code for Units of Measure
“appliesDateTime”
Point in Time
Observation Timing
“appliesPeriod”
Time Interval
9. 9 HealthSuite Hackathon
Coding the Observation Type
LOINC – hospital / medical data
IEEE-11073 – fitness, diet, environmental
10. 10 HealthSuite Hackathon
Coding the Observation Type
/Observation?subject=Patient%2Fa103&name=https%3A%2F%2Frtmms.nist.gov%7C150016
Insert code system + code into your query
You can search for codes
Or check the cookbook!
12. 12 HealthSuite Hackathon
Fitness Data
• Nothing special about fitness data in FHIR
• Observation with a code, same as everything else
• IEEE-11073 covers fitness data
–Steps per day
–Sleep quality
–And much more!
13. 13 HealthSuite Hackathon
Fitness Data: Steps per Day
4,718 steps
March 5, 2015
https://rtms.nist.gov
MDC_HF_DISTANCE
8454247
Fitness tracker data Coding Observation Resource
How many have used FHIR before? Any HL7 messaging standard? Fitness tracker APIs?
HL7 is the standard for hospital medical records. V2 is used internally by hospitals, but uses an old pipe-delimited format that is difficult to read.
HL7v3 was an attempt to create a new XML format.
CDA is a constraint on the HL7v3 standard to build clinical documents.
One such document, the Continuity of Care Document (CCD), combined all the elements of a patient summary record and quickly became the most transmitted electronic health document.
But… XML documents can be difficult to manage.
Enter FHIR, based on the structure of the CCD but uses a RESTful, JSON-friendly structure.
FHIR is a REST implementation of HL7, compatible with the older standards and easier to use.
I’m going to take you through some observations, explaining what the elements are, and then show you a complete example.
Explain SI and UCUM. Spell it out on the slide. Add Examples.
There are other code systems, but these are the 2 we use. Explain what these 2 systems are. Add example
There are other code systems, but these are the 2 we use. Explain what these 2 systems are. Add example
Add date value. Remove snomed coding. Add IEEE.
Bringing concepts all together.
This is weight, you find these in clinical settings like hospitals. Hospitals are already storing weight and other measurements (blood pressure, heart rate) in patient medical records (EMRs).
Consumer sensor data. Show of hands: How many own fitbits or other wearables? How many are wearing one right now?
Add illustration. Picture of fitbit. Steps per day with arrow. Another arrow with code system + code. Out of the box comes a FHIR observation (flame picture, add fhir icon).
Talk through diagram: Take fitbit data (steps, day) add the IEEE code, and out comes a FHIR observation that looks like…
Next slide shows observation JSON.
Add illustration. Picture of fitbit. Steps per day with arrow. Another arrow with code system + code. Out of the box comes a FHIR observation (flame picture, add fhir icon).
Next slide shows observation JSON.
Add illustration. Picture of fitbit. Steps per day with arrow. Another arrow with code system + code. Out of the box comes a FHIR observation (flame picture, add fhir icon).
Next slide shows observation JSON.
Find picture of air purifier… smoggy day… cloud… unhappy person… choking person… guy going into house. Air filter.
Bridges real world action with health record.