Database Homework
Introduction to FHIR
David Hay
May 11, 2015
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
This presentation
Can be downloaded here:
http:// gforge.hl7.org/svn/fhir/trunk/presentations/2015-04 Tutorials/Introduction to FHIR.pptx
Use “anonymous” and email address to logon
Is licensed for use under the Creative Commons, specifically:
Creative Commons Attribution 3.0 Unported License
(Do with it as you wish, so long as you give credit)
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Who am I?
Name: David Hay
Company: Orion Health
Background:
Involved in FHIR almost from beginning
Ex Clinician
Co-Chair FHIR Management Group
Chair HL7 New Zealand
Blog: FHIRBlog.com
3
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Who are you?
What’s your background with HL7?
v2? v3? CDA? Brand new?
What’s your role?
Developer? Manager? Clinician? Other?
What’s the single most important thing for you to get out of today’s course?
Please be brief!
4
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Tutorial Objectives
You should:
Know where FHIR fits in the broader healthcare landscape, including other HL7 specifications
Be able to explain what FHIR is to others in your organization, and what impact it might have
Be equipped to help your organization determine if, when, where and how you might use FHIR
Know how to approach the FHIR specification to find out what more you need to know
Be prepared for the more detailed tutorials
Be able to engage with the community
5
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
9:15
5
What is FHIR?
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Answer: An instigator of bad puns
FHIR is the hottest thing since . . .
This spec is spreading like wild. . .
This company is really on FHIR
Feel free to come up with your own
(but please, not here )
7
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The acronym
F – Fast (to design & to implement)
Relative – No technology can make integration as fast as we’d like
H – Health
That’s why we’re here
I – Interoperable
Ditto
R – Resources
Building blocks – more on these to follow
8
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
9:25
8
Genesis of FHIR
Has been a need to share healthcare information electronically for a long time
Increasing pressure to broaden scope of sharing
Across organizations, disciplines, even borders
Mobile, Device & Cloud-based applications
Faster – integration in days or weeks, not months or years
9
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
v2 is over 25 years old
9
Genesis of FHIR
Q: So what did HL7 have to offer in this space?
A: Not much
V2 old, and limited by it’s own rules (though hugely successful)
V3 too slow and too hard
CDA has success, but both limited and too hard
Different contexts of interoperability different representations that aren’t compatible
Nothing suitable for light-weight integration, or for Health 2.0
10
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Genesis of FHIR
HL7 undertook a “Fresh look”
What would healthcare exchange look like if we started from scratch using modern approaches?
Web search for success markers led to RESTful based APIs
Exemplar: Highrise (https://github.com/37signals/highrise-api)
Drafted a healthcare exchange API based on this approach
11
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Timeline: Where does FHIR fit?
1980
2000
1990
2010
2020
V2
1987
Fresh
Look
2011
V3
CDA
2005
FHIR
DSTU
2014
Start V3
1995
10 years
3
years
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FHIR Principles
13
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FHIR Manifesto
Focus on Implementers
Target support for common scenarios
Leverage cross-industry web technologies
Support human readability as base level of interoperability
Make content freely available
Support multiple paradigms & architectures
Demonstrate best practice governance
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
We don’t actually have a formal manifesto, but these are the principles we adhere to.
14
Implementer Focus
Specification is written for one target audience: implementers
Rationale, modeling approaches, etc. kept elsewhere
Multiple reference implementations from day 1
Publicly available test servers
Starter APIs published with spec
C#, Java, Pascal, ObjectiveC, Javascript
more to come
Connectathons to verify specification approaches
Instances you can read and understand
Lots of examples (and they’re valid too)
15
using HL7.Fhir.Instance.Model;
using HL7.Fhir.Instance.Parsers;
using HL7.Fhir.Instance.Support;
XmlReader xr = XmlReader.Create(
new StreamRead
IFhirReader r = new XmlFhirReader
// JsonTextReader jr = new JsonTe
// new StreamRead
// IFhirReader r = new JsonFhirRe
ErrorList errors = new ErrorList(
LabReport rep = (LabReport)Resour
Assert.IsTrue(errors.Count() == 0
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Who’s read the v3 spec? – modeler & balloter focused
Spec is driven by people who write code
Numerous pieces have been changed because of experience with what worked when trying to implement
Even have a test workbench for RESTful servers
External libraries already available
Whole spec is built like software project
15
Support “Common” Scenarios
Focus on scenarios implementers ask for
Inclusion of content in core specification is based on core content rule
“We only include data elements if we are confident that most normal implementations using that resource will make use of the element” (80%)
Other content in extensions (more on this later)
Easy to say, governance challenge to achieve
Resources are simple and easy to understand and use
16
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Design by constraint failed – years to develop, what was produced required yet more design to be implementable and after that might not be interoperable
How to determine the 80%? Look to existing specs – v2, v3, CDA templates, OpenEHR, jurisdictional projects, what implementations we’ve seen
If not sure, err on the side of “not in for now”
Note: not 80% of instances, 80% of implementations
Challenges with “raising the bar”
What happens when there aren’t many/any implementations?
16
Web technologies
HTTP
DataTypes W3C complaint
Instances shared using XML or JSON
REST supported
Web calls work the same way they do for Google, Facebook & Twitter
Rely on HTTPS, OAuth, etc. for security functions
Atom was used for bundles
Replaced in DSTU-2
17
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
We try very hard to *not* invent stuff that exists elsewhere unless it’s really broken or totally unaligned with the FHIR principles.
17
Human Readable
CDA has both narrative and data
The data / narrative dynamic exists throughout the process
In FHIR, every resource should have a human-readable expression
Can be direct rendering or human entered
18
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Even when you think your target will understand all the encoded data, reality is data often gets shared beyond the originally intended context
Allow for exceptions for things like automated device readings, etc.
18
Freely available
Unencumbered – free for use, no membership required
19
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Was a bigger deal before HL7 decided to open up all IP
full legal text towards bottom of FHIR home page
19
Paradigms and Architectures
20
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
9:45
20
Paradigms
FHIR supports 4 interoperability paradigms
21
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
REST
Documents
Messages
Services
REST
“Representational state transfer” – an architecture for how to connect systems
CRUD
Outcomes
Simple stable interfaces
High Performance / Scalability
Visible Process (e.g. can debug)
Portability
Reliability (resistance to failure)
22
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Document
23
Bundle
Resource 1
Resource 2
Composition
Similar to CDA
Collection of resources bound together
Root is a “Composition” resource
Just like CDA header
Sent as part of Bundle
One context
Can be signed, authenticated, etc.
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Message
24
Bundle
Resource 1
Resource 2
MessageHeader
Similar to v2 and v3 messaging
Also a collection of resources as a Bundle
Allows request/response behavior with bundles for both request and response
Event-driven
E.g. Send lab order, get back result
Can be asynchronous
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10:30
24
Service Oriented Architecture (SOA)
Do whatever you like
(based on SOA principles)
Ultra complex workflows
Ultra simple workflows
Individual resources or collections (in Bundle or other formats)
Use HTTP/S or use something else
Only constraint is that you’re passing around FHIR resources in some shape or manner
25
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Comment about SOA discovery day
25
Services
Operations
RPC in REST
Examples in spec
Get Patient record
Expand ValueSet
Fetch Encounter data
Resources that define Input & Output
26
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FHIR
Repository
Regardless of paradigm
the content is the same
Lab System
Receive a lab result in a message…
FHIR Message
FHIR Document
…Package it in a discharge summary document
National
Exchange
REST
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Governance
28
Governance
FGB
Management
FMG
Methodology
MnM
Oversight
TSC
Content
Work Groups
Content
Core Team
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FHIR Governance Board
Maintains FHIR principles
Identifies risks, precepts
Handles coordination w/ external groups
FHIR Management Group
Coordinates Work Groups
Manages ballot process
Education delivery
Day-to-day activities
Modeling & Methodology
Defines criteria for artifacts
Determines processes
Documents best practices
Work Groups
Do the actual development work
Core Team
Temporary
Takes on work Work Groups can’t
Expedites
What haven’t we talked about yet?
28
Architectures
FHIR makes no assumptions about the architectural design of systems
You can use it for
Light or heavy clients
Central server or peer-to-peer sharing
Push or pull
Query or publish/subscribe
Loosely coupled or tightly coupled environments
With history tracking (versions) or without
29
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
29
Reading the FHIR Spec
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
30
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Published as HTML
Published using validation process that performs consistency checks – like a software build
Really shouldn’t require much guidance to read, but a few things to call out
Objective of spec is developer can skim and decide in < day
31
FHIR Resources
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10:00
32
Resources
“Resources” are:
Small logically discrete units of exchange
Defined behaviour and meaning
Known identity / location
Smallest unit of transaction “of interest” to healthcare
V2: Sort of like Segments
V3: Sort of like CMETs
33
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What’s a Resource?
Examples
Administrative
Patient, Practitioner, Organization, Location, Coverage, Invoice
Clinical Concepts
Allergy, Condition, Family History, Care Plan
Infrastructure
Document, Message, Profile, Conformance
Non-examples
Gender
Too small
Electronic Health Record
Too big
Blood Pressure
Too specific
Intervention
Too broad
34
100-150 total
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
And few systems will ever see more than 40-50
34
Resources
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resource anatomy
Resources have 4 parts
36
Defined
Structured
Data
Extensions
Narrative
(text)
Metadata
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Defined Structured Data
The logical, common contents of the resource
Mapped to formal definitions/RIM & other formats
Extensions
“Non-common” requirements, but everyone can use
Published and managed
Narrative
Human readable (fall back)
36
37
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resource
Narrative
Elements
Extensions
Extensions
Structure of a Resource
DSTU 2
Metadata
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resource Documentation
For each Resource:
Scope and Usage Notes
Resource Content (UML and XML)
Terminology Bindings
Constraints
Implementation Issues
Search Parameters
Examples, Profiles, Formal Definitions
Mappings to RIM, CDA, v2, etc
39
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
40
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
41
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example Resource Definitions
42
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Bindings
For coded elements
43
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Constraints & Notes
44
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Identity
2 different ‘sorts’ of identity
ID identifies a resource on a server
Is metadata
Will change between servers
Identifier
Business identifier
Is an element in the resource
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
A Resource’s ID
http://server.org/fhir/Patient/1
endpoint
resource type
id
Note: This URL resolves to the current version of a resource
It’s also specific to a server
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
This is not only the URL you use to retrieve the resource, it’s also its id.
All URL’s in FHIR are case-sensitive (and so is the id)
46
“Business” identifiers
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resource Id’s (=URLs) are infrastructural id’s, they differ from “business” identifier.
Many Resources also have business identifiers, they are explicitly modeled, like Patient.identifier (even more than one identifier possible!)
Business identifiers are completely separate from technical resource id’s
47
It’s all about combining resources . . .
Diagnostic
Report
Patient
Practitioner
Observation
Organization
http://moh.govt.nz/nhi/Patient/223
http://moh.govt.nz/hpi/Practitioner/87
http://lab.hospitalA.org/DiagRep/4445
http://lab.hospitalA.org/Observation/3ff27
http://moh.govt.nz/hpi/Organization/1
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
References
Resources are independent – don’t need other resources to correctly interpret a resource
But resources reference each other extensively to form a web of information
Need to resolve references to fully understand the data
49
<Procedure xmlns="http://hl7.org/fhir">
<subject>
<reference value="Patient/23"/>
</subject>
…
<report>
<reference value=”http://myServer/DiagnosticReport/45"/>
</report>
…
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Rules for references
References can be relative or absolute
References don’t have to be to the same server
Server does not have to enforce integrity
Clients need to cater for broken links
Targets can be ‘contained’ in the resource:
50
<Procedure xmlns="http://hl7.org/fhir">
<contained>
<Patient id="pat">
</Patient>
</contained>
<subject>
<reference value="#pat"/>
</subject>
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
References between resources
51
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Data types:Primative
52
Based on w3c schema and ISO data types
Stick to the “80% rule” – only expose what most will use
Simplified
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Complex
53
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example – CD datatype
ISO
Code, code system, code system name, code system version, value set id, value set version, coding rationale, updateMode, flavorId, nullFlavor, controlAct root & extension, validTime low and high
displayName with language and translations
originalText with mediaType, language, compression, integrityCheck, thumbnail, description, translations, reference (can be text, video, whatever)
Translations (most of same info as code)
Source code
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Example – CD datatype
FHIR
Code, code system, code system name, code system version, value set id, value set version coding rationale, updateMode, flavorId, nullFlavor, controlAct root & extension, validTime low and high
displayName with language and translations
originalText with mediaType, language, compression, integrityCheck, thumbnail, description, translations, reference (can be text, video, whatever)
Translations (most of same info as code)
Source code
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
CodeableConcept
56
CodeableConcept
Coding
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Vocabulary
57
Support for coded data of varying complexity
Some codes defined as part of resource, others referenced from external vocabularies
LOINC, SNOMED, UCUM, etc.
Recognition some will differ by implementation space
Can use Value Set resource to define more complex or specific code lists
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Narrative
All resources can carry an html representation of their content
It’s a clinical safety issue
The receiver has a fall back option if the system is not sure it fully understands the content
It is not mandatory, but SHOULD be present
In a closed eco-system, with extremely tight control and strong conformance testing, it may not be necessary
But things often change over time
So using narrative is highly recommended
58
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Saves a lot of money downstream from the author
58
Narrative XHTML
Narrative is XHTML. Formatting allowed:
Tables, lists, divs, spans
Bold, Italics, styles etc
E.g. all static content
Features not allowed:
Objects, scripts, forms – no active content
Links, Stylesheets, iframes – web context
Local storage, Microdata (no active content)
Concerns are security and clinical safety
59
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Narrative example
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Resources SHOULD always contain narrative to support human-consumption as a fallback. However, in a strictly managed trading systems where all systems share a common data model and additional text is unnecessary or even a clinical safety risk, the narrative may be omitted.
generated The contents of the narrative are entirely generated from the structured data in the resource.
extensions The contents of the narrative are entirely generated from the structured data in the resource and some of the content is generated from extensions.
additional The contents of the narrative contain additional information not found in the structured data.
empty the contents of the narrative are some equivalent of "No human-readable text provided for this resource".
FHIR Extensions
61
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10:15
61
The Case for Extensions
Extensions are often problematic in existing HL7 specs
Z-segments in v2
What does this mean?
ZSB|20080117|Q^57|4.30^uL
Foreign namespaces in CDA/V3
Break schemas
Simple choice – design for absolutely everything or allow extensions
62
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extensions
FHIR has a standard framework for extensions
Built into wire format
Every FHIR element can be extended
Including datatypes
Every extension has:
Reference to a computable definition
Value – from a set of known types
Every system can read, write, store and exchange all legal extensions
All extensions are valid by schema etc.
63
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extensions
In FHIR, extensions are “normal”
Consequence of the 80% rule – keep the simple stuff simple
Extensions can exist anywhere
Resource, Element, DataType
Conformant systems can’t reject instances just because they contain unrecognized extensions
They could:
Display them
Should be in resource narrative
Store as a ‘Blob’
Make a conscious decision to ignore (unless ModifierExtension)
(Could lookup profile)
64
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
[31/08/14 3:34:55 pm] Lloyd McKenzie: no. They can't refuse the instance because it contains extensions (unless they're modifierExtensions), but they're free to strip/ignore them.
[31/08/14 3:35:19 pm] Lloyd McKenzie: Requiring persistance would cause havoc with legacy systems
64
Extension Definition
Core part of profiling
(to come later)
A separate resource (was part of profile)
StructureDefinition
Also used for resource definition
Registries
Search before build
Promote reuse
65
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
An Extension in a resource
66
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Extending a multiple birth
Key = location of formal definition
Value = value according to definition
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Really any FHIR element (Resource, Datatype, Primitive) can be extended. Just nest an <extension> element under the thing you want to extend
You should be able to go to the formal definition endpoint and get the definition of the extension.
Note: birth order is already provided for in FHIR through the multipleBirthInteger
67
Modifier Extensions
Also a core part of FHIR
Needed because some extensions can’t be safely ignored
Can’t compute on an element containing an unrecognized modifier extension. However, can:
Reject instance
Just display narrative
Retrieve definition & seek human review
68
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Governing Extensions
Extensions are not a silver bullet
FHIR has a sliding scale governance for extensions
HL7 published extensions
National Standards (e.g. Standard Finnish Extensions)
Domain standards (e.g. Best Practice Cardiology)
Local Projects
69
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
resource misc.
70
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10:15
70
Tags
Contain metadata about resources
Beyond ID, version & date
Used for different purposes:
Compliance to Profile
Security – e.g. sensitivity of resource
Indicate Document/Message
User defined
Transported in different ways:
REST – as an HTTP header
In a bundle (document, message, transaction) - in the metadata element of the resource or the bundle
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Versioning
Most recent version
http://server.org/fhir/Patient/1
Returns single resource
All versions
http://server.org/fhir/Patient/1/_history
Returns bundle of versions
Specific version
http://server.org/fhir/Patient/1/_history/1
Returns single resource
Version support is optional
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Works at instance and type level – originally there
72
Version history - revival
33, v13 – 2012-12-05
33, v14 – 2012-12-08
/server.org/fhir/Patient/33/_history/14
/server.org/fhir/Patient/33/_history/13
/server.org/fhir/Patient/33/_history/15
/server.org/fhir/Patient/33
33, v15 – 2012-12-09
33, v16 – 2012-12-10
/server.org/fhir/Patient/33/_history/16
33, v17 – 2012-12-11
/server.org/fhir/Patient/33/_history/17
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
* The resource returns back to life!
73
Bundles
When more than one resource needed
Query result
Document
Message
Transaction
Specific Resource
Was “Atom feed” with JSON representation
74
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Bundle as a serialized Object Graph
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Imagine that all resources in a single bundle
Links maintain references
Comment on new recources (cid: id’s)
About REST and Resources
76
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Because REST was the biggest need and the most currently worked out…
76
REST in practice
“Resources” with an explicit and stable URI
The name for what gets exchanged in REST
Defined behaviour and meaning
Known identity / location
Quite an abstract idea
Formats: XML / JSON / RDF
Exchange using HTTP
Security: SSL / OAuth
“REST” followed loosely, hence “RESTful”
77
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
REST Activities
CRUD:
Create – create a new instance of data
Read – get the content (state) of an instance of data
Update – change the content of an instance of data
Delete – remove the instance of data
78
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Delete isn’t necessarily physical
Execute – eg transaction
78
RPC vs REST
RPC (Remote Procedure Call):
Ask a server to perform some operation
Hand it a set of parameters
Server performs some operations
Returns a set of parameters
REST:
Define a URI that represents the state of something
Tell the server what the state should be
Server makes the state change happen
79
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
79
RPC vs REST example
Example:
A device that monitors a patient %02 Sat
Raises an alarm on EHR if it’s too low
EHR can turn the alarm off
RPC:
POST http://acme.org/devices/turnOffAlarm
Parameters: device id, alarm id
REST:
POST http://acme.org/devices/[deviceid]/[alarmid]
Content: data to say “Alarm is off”
80
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
FHIR Activities
(Based on CRUD REST – not Operations)
81
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Business Processes
Register a patient:
Create a Patient Resource
Admit a patient:
Create an Encounter Resource
Move a patient from one bed to another
Find and update the encounter resource
Prepare a list of medications to administer
Search through the medication prescriptions for a patient (and then apply logic)
Or, use a List resource
82
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Note relation to v2 messaging
82
FHIR Resource URLs
| Template | Description | Example |
| [base] | Server URL | http://fhir.com |
| [base]/[type] | URL for type manager | http://fhir.com/Patient |
| [base]/[type]/[id] | URL for a resource | http://fhir.com/Patient/23 |
| [base]/[type]/[id]/_history/[vid] | URL for a past version of a resource | http://fhir.com/Patient/23/_history/2 |
83
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Activity/ Type
| Activity | Description | Request Content | Response Content |
| create | Create a new resource with a server assigned id | Resource | -- |
| search | Search through all resources of the type based on some filter criteria | Params | Bundle |
| history | Get a list of all the past versions of this resource type | -- | Bundle |
| validate | Check that the content would be acceptable as an update | Resource | Resource (OperationOutcome) |
84
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Activity/ Instance
| Activity | Description | Request Content | Response Content |
| read | Read the current state of the resource | -- | Resource |
| vread | Read the state of a specific version of the resource (e.g. what it was in the past) | -- | Resource |
| update | Update an existing resource by its id (or create it if it is new). Use the resource representation supplied | Resource | -- |
| delete | Remove the resource so it is no longer present (note: it still has a history) | -- | -- |
| history | Get a list of all the past versions of the resource | -- | Bundle |
85
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Activity/ System
| Activity | Description | Request Content | Response Content |
| conformance | Get a conformance statement for the system | -- | Resource |
| transaction | Update, create or delete a set of resources as a single transaction | Bundle | Bundle |
| history | Retrieve the update history for all resources (full pub/sub) | -- | Bundle |
| search | Search through all resources of all types based on some filter criteria | Params | Bundle |
86
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Playing with FHIR
Access public server
87
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Sample CRUD stuff
Search for patient on name
Specify json or xml
Get a patient
Update a patient
Grahames & Ewouts server
87
Profiles & conformance
88
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
10:15
88
The need for Profiles
Many different contexts in healthcare, but a single set of Resources
Need to be able to describe restrictions based on use and context
Allow for these usage statements to:
Authored in a structured manner
Published in a repository
Used as the basis for validation, code, report and UI generation.
Note Profiling is going to be very important
‘Message from the chair’
89
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
The need for Profiles
Profiles can serve the same purpose as:
CDA templates & implementation guides
HL7 v2 “static” profiles
CIMI implementation guides
OpenEHR Archetypes & templates
Profiles aren’t mandatory for interoperability, but they improve the degree of it.
Profiles never change meaning of an instance
90
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Profiling a resource. For example...
91
Require that the identifier uses the NHI – and is required
Limit names to just 1 (instead of 0..*)
Limit maritalStatus to another set of codes that extends the one from HL7 international
Add an extension to support “Iwi”
Note: hardly any mandatory elements in the core spec!
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
91
Using Profiles
You can just go ahead and use a resource
No need for a profile
But you should write a profile
Document your usage in detail for partners
You can mark a resource or bundle with a profile
It’s just a claim – can test conformance with that
92
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Denormalization for performance
Comment that profiles will be really important
92
Conformance
There’s a resource for documenting conformance to FHIR
Can be used for:
Stating how a specific system instance behaves
Defining how a software system is capable of behaving (including configuration options)
Identifying a desired set of behavior (e.g. RFP)
To declare themselves “FHIR Conformant”, a system must publish a Conformance instance
93
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Doesn’t have to support XML – is can be json only
93
94
Conformance (cont’d)
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Implementing FHIR
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Where can FHIR be used?
Classic in-institution interoperability
Back-end e-business systems (e.g. financial)
Regional Health Information Organizations (RHIO)
National EHR systems
Social Web (Health)
Mobile Applications
96
Near
Term
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Architecture
Standalone FHIR Server
A FHIR Server in front of an existing application (e.g. SQL)
FHIR as front end to an XDS server (“MHD”)
An interface engine that ‘speaks’ FHIR
A tablet/mobile phone application
Web portal uses FHIR to access other systems
A healthcare application that access information from multiple systems as well as it’s own server
Smart-On-FHIR – an EHR plug-in framework
97
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Implementation Assistance
Reference Implementations – object models, parsers, serializers, clients, validators, utilities
Schema, Schematron, Validation Pack
1000’s of examples
Live Servers to test against
http://wiki.hl7.org/index.php?title=Publicly_Available_FHIR_Servers_for_testing
Connectathons
98
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Servers
Use the servers to explore how it works
Write clients that use the test data
Test that you got your own system right
Most developers:
Use the servers to learn
Consult the documentation occasionally
We do recommend to read the specification
(RTFS)
99
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Other Free software
See http://wiki.hl7.org/index.php?title=Open_Source_FHIR_implementations
Coming shortly:
“Sprinkler” – a conformance test tool for servers
“Forge” – an editor for conformance statements
A Value set Editor
Several implementation guide publishers
100
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Connectathons
Open invitation to any interested party to come and write software that exchanges FHIR resources
Always hold one before HL7 meetings (last week) + Others by invitation
Mix of skills
Newbies (“where is the spec?”)
Old hands who’ve been to every connectathon
Experiment with new features
We have a virtual connectathon all the time…
101
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Implementation Assistance
Stack Overflow – ask implementation questions
Link from front page
Search for answers first
Don’t ask for changes to the spec (get deleted!)
gForge Tracker – ask for changes to the spec
Link from bottom of every page
But have discussion somewhere first
Disqus – on every page of the specification
Skype – implementers channel – 251 participants
FHIR Email list, Connectathons, Tutorials
102
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
102
Migration
No expectation that people will migrate existing interfaces any time soon.
Initial adopters will be green-field, new technology
FHIR may see use behind the scenes in v2 systems before it sees use over the wire
Forthcoming policy initiatives may necessitate revisiting existing interfaces
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Migration – v2
Already have at least one integration engine that supports translation between v2 and FHIR
Resources map to segments reasonably well
As always, the challenge with v2 mapping is the variability of v2 interfaces
“Common” mappings can be created, but they won’t be one size fits all
Focus of Connectathon this time
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Migration – CDA
Made more complex by human-readable nature
Need to ensure text <-> entry linkages are retained
Will best be handled on a template by template basis
Start with well defined ones like C-CDA
Argonaut
105
DSTU 2
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
12:15
Text linkages not as important when not human-attested
105
What’s next?
106
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Development plans
Performing rigorous QA on initial set of resources
Full support for C-CDA in next DSTU
Additional resources will continue to be introduced in future DSTU cycles as implementers identify needs
Continue to seek testing & real world implementation experience
107
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Balloting plans
First Draft Standard for Trial Use ballot (DSTU) complete
DSTU publication in Jan 2014
Will provide a semi-stable platform for implementers while still allowing non-backward-compatible change for Normative version if implementation experience dictates
Additional DSTU versions roughly annually to make fixes, introduce new resources
Normative is around 2.5 years out
We want *lots* of implementation experience before committing to backward compatibility
108
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Next Steps for you
Attend the other FHIR tutorials
Architects, Developers, Profiles
Read the spec: http://hl7.org/fhir
Comment on the spec (link on each page)
Follow #FHIR on Twitter
Shape the specification:
Join the FHIR track at this WGM
Join the FHIR email list http://wiki.hl7.org/index.php?title=FHIR_email_list_subscription_instructions
Try implementing it
Make Ballot comments
Come to a Connectathon!
109
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Review
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
What does FHIR provide?
Resources (building blocks)
Extensions
Methodology
Versioning, Bundles, Profiles, Conformance
Syntax (XML, JSON)
Human readability
Support for multiple Paradigms
REST, Messaging, Documents, Services
111
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
111
FHIR Manifesto
Focus on Implementers
Target support for common scenarios
Leverage cross-industry web technologies
Require human readability as base level of interoperability
Make content freely available
Support multiple paradigms & architectures
Demonstrate best practice governance
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
112
FHIR & Cost of Integration
These factors will drive down the cost of integration and interoperability
Easier to Develop
Easier to Troubleshoot
Easier to Leverage in production
More people to do the work (less expensive consultants)
Competing approaches will have to match the cost, or disappear – effect is already being felt
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
Future impact of FHIR
Impact of FHIR on the market
Drive interoperability prices down
Higher Expectations
Sense of a community
Enormous interest from vendors and Legislators
Overall Market focus
Web based PHR
Mobile
Device Data management
Healthcare repositories (MHD+)
Retooling existing connections (v2, CDA)
Resistance is futile!
114
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
How much integration do you need? Nx2 – twice what you have
114
Questions?
http://www.hl7.org/implement/standards/fhir/
http://hl7.org/fhir/2015May/index.html
http ://wiki.hl7.org/index.php?title= FHIR
http://fhirblog.com/
115
© 2015 HL7 ® International. Licensed under Creative Commons. HL7 & Health Level Seven are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.