HL7 FHIR Ewout Kramer

advertisement
HL7 FHIR
Ewout Kramer
e.kramer@furore.com
http://www.slideshare.net/ewoutkramer/hl7-fhir
HL7 Norway, april 1st, 2014
Our common problem
• Avoid speaking between lunch and afternoon
coffee
• No one is interesting to listen to for more than
45 minutes
So….Please…
• I’ll break the presentation in 45 minutes
• State your questions at anytime
• Read your e-mail if you need to
(well, that’s relative)
(that’s what we need)
(the web technology bit)
Why have something new?
STARTING A FHIR
Why something new?
“How can I get data from
my server to my iOS app?”
“How do I connect my applications
using cloud storage?”
“How can I give record-based
standardized access to my PHR?”
If your neighbour ‘s son can’t hack an
app with <technology X> in a
weekend…..
you won’t get adopted
10
WHAT’S IN THE BOX?
Slice & dice your data into “resources”
MedicationPrescription
Cover 80%
- Context independent
Problem
- Unit of exchange/storage
Thousands of examples
Patient
MRN 22234
Patient
“Ewout Kramer”
30-11-1972 MRN 22235
Amsterdam “Olaf Olafsson”
01-01-1994
Bergen
Organization
“ACME Hospital”
Organization
National Drive 322
Orlando, FL
“ACME Hospital”
National Drive 322
Orlando, FL
Consistent documentation
Structure of a Resource
(XML example)
Human Readable
• CDA taught HL7 a very important lesson
– Even if the computers don’t understand 99% of what
you’re sending, that’s ok if they can properly render it to a
human clinician
• This doesn’t just hold for documents – important for
messages, services, etc.
• In FHIR, every resource is required to
have a human-readable expression
– Can be direct rendering or human entered
How many resources?
Currently: about 40
Next up…still about 100 to go
• Administrative
• Scheduling
– Patient, Location, Encounter,
Organization,
• Clinical Concepts
– AllergyIntolerance,
Questionnaire, Observation
• Infrastructure
– ValueSet, Composition, Profile,
Conformance
- Appointment, Availability, Slot
• Financial
-
Claim, Account, Coverage
• Consent
Everything to cover C-CDA
Cover all usecases - (n)ever
Specific
Generic
HL7v2
openEHR RM
HL7 CDA
HL7v3 RIM
HL7v3 CMETS
openEHR
Archetypes
FHIR
openEHR
Templates
C-CCD
IHE PDQ
Cover the 80% out of the box…
+
=
Patient
MRN 22234
“Ewout Kramer”
30-11-1972
Amsterdam
+
Haircolor BROWN
You can extend:
- Resources
- Elements of Resources
- FHIR Datatypes
Organization
“ACME Hospital”
National Drive 322
Orlando, FL
+
Taxoffice Id NLOB33233
Extending a multiple birth
Key = location of formal definition
Value = value according to definition
?
Package & publish: The Profile
“My First Profile”
V1.0 by Ewout
Support “Bottom-up re-use”
Document from the resource to the wire
HTTP/1.1 200 OK
Content-Type:
application/json;charset=utf-8
Content-Length: 627
Content-Location:
/fhir/person/@1/history/@1
Last-Modified: Tue, 29 May 2012
23:45:32 GMT
ETag: "1“
"Person":{"id":{"value":"1"},"identifi
er":[{"type":{"code":"ssn","system":"
http://hl7.org/fhir/sid
Packaging & transport
√
√
Yes, v2 style messaging
is also supported!
Yes, v3 CDA style
documents
are also supported!
IN SUMMARY…
FHIR Manifesto (abridged)
•
•
•
•
Focus on implementers
Keep common scenarios simple
Leverage existing technologies
Make content freely available
Implementer support…
In Summary…
•
•
•
•
•
•
Basic “80%” Resources
Extension mechanism
Publication mechanism for specs (profiles)
Package as Message, Document or “REST”
XML/JSON/HTTP protocol for transport
Examples, documentation, API’s, connectathons
What’s Next?
• January 2014 First Draft Standard for Trial Use ballot (“DSTU1”)
– Semi-stable platform for implementers Additional DSTU versions roughly annually
to make fixes, introduce new resources
• May 2015 Second Draft Standard for Trial Use ballot (“DSTU2”)
– Additional (C-CDA) resources, more workflow support, work on validation,
community feedback
• Normative is around 3 years out
– We want lots of implementation
experience before committing to
backward compatibility
31
Questions?
INTERLUDE: SOURCE OF FHIR
“Source” of FHIR
Straight from the HL7 SVN “code” respository
at gforge.hl7.org
Publication process
.INI
Website
Validation
Schema’s
examples
Publication tool
(org.hl7.fhir.tools.jar)
Resource
Examples
UML
DictXml
Java, C#,
Delphi
Resource profiles
eCoreDefinitions.xml
Combining resources into useful exchanges
PLAYING WITH FHIR
It’s all about combining resources . . .
http://lab.hospitalA.org/Observation/3ff27
Observation
Patient
Organization
http://hospitalA.org/Organization/1
Diagnostic
http://lab.hospitalA.org/DiagRep/4445
Report
Practitioner
http://hospitalA.org/Practitioner/87
37
Diagnostic
Report
Patient
Practitioner
Observation
In REST: Possibly distributed…
FHIR server @ pat.registry.org
Patient/223
Patient
DiagnosticReport/4445 Observation/3ff27
subject
FHIR server @ hospitalA.org
Organization/1
Practitioner/87
Organization
39
FHIR server @ lab.hospitalA.org
Practitioner
Diagnostic
Report
Observation
http://fhirblog.com/2014/01/24/modellingencounters-with-fhir/
“Repository” model of healthcare
Hospital System
Create
Update
Lab System
Create
Update
Query
Organization
Patient
Patient
Patient
FHIR server
Create
Query Subscribe
Update
Diagnostic
Report
Observation
Observation
Observation
“Atom”: New reports in the mail
FHIR Document
Discharge
Summary
Dr. Bernard
Patient Mary
Practitioner
Patient
Composition
Kidney Stones
Condition
Chief Complaint
Pulse
section
Physical
Vital Signs
list
Observation
entry
section
Medications
section
BP
Observation
Discharge Meds
list
Dyclofenac
entry
MedicationPrescription
Tamsulosin
MedicationPrescription
43
Regardless of paradigm the content is the same
Receive a lab result in a message…
FHIR Message
FHIR
Repository
FHIR Document
Lab System
National
Exchange
…Package it in a discharge summary document
http://fhirblog.com/2014/03/31/referrals-orders-and-fhir/
Very short intro to Profiles
CONTROLLING THE FHIR
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.
Constraining cardinality
1..2
1..1
0..0
Limit cardinality to 1..2
(e.g. to at maximum your
organizations’ identifier + the
national one)
Limit names to just 1 (instead of 0..*)
Forbid any telecom elements
Note: something that’s mandatory in the core definition
cannot be made optional in a profile
48
Limit value domains
If deceased is given, it must be a
dateTime, not a boolean
OrganizationNL
=“true”
49
Fix value: Only allow “active”
Patients
Use our national codes for
MaritalStatus
Use another profiled Resource
“Basic” Document
Practitioner
Composition
Patient
0..1 subject
0..* Section
Any Resource
50
Practitioner-NO
Document-NO Profile!
Discharge
Summary-NO
Patient-NO
Composition
Condition
1..1 Complaint
section
0..1 Physical
section
1..1 Medications
section
0..1 Home situation
section
Vital Signs
list
Discharge Meds
list
Observation
Medication
Prescription-NO
51
What’s in a profile?
http://hl7.no/Profiles/patient-no
Conformance
Metadata
Constraints
Identifier
Name, Version
Publisher
Description, Code
Status
Date (of publication)
ExtensionDefn
Resource
Extension
ValueSet
Tagging a Resource
Patient
http://hl7.org/fhir/tag/security
MRN 22234
“Ewout Kramer”
30-11-1972
Amsterdam
“I’m a VIP - My information cannot yet be disclosed”
http://hl7.org/fhir/tag
“This is TEST data! Don’t use!”
http://hl7.org/fhir/tag/profile
“I’m an Organization as defined in the Norwegian Profile – see
http://hl7.no/Profiles/patient-no”
(Distributed) validation
App’s server
Store &
Validate
Country validation server
Profile X
Profile Y
Profile Y
Some examples from early-adopters
THE FHIRSTARTERS
1. Form Request
+ Patient data in FHIR
Empty
Questionnaires
Completed
Questionnaires
Form Filler
Form Repository
3. Filled out form
Form Client
FHIR
FHIR
Patient & Provider registry
National Patient Portal
References
Hospital System
CCD Documents
INTEROP WITH V2/V3
V2 to FHIR bridge
FHIR message
processor
FHIR
Messages
FHIR
Repository
FHIR
REST
Hospital System
Note: Messages are events,
REST exposes a “repository”
Model of data…
Migration – v2 and FHIR
• Already have an integration engine that supports
translation between v2 and FHIR messages
• 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
…and v2 mappings
Every Resource has v2 mappings specified, e.g.:
http://www.hl7.org/fhir/patient-mappings.html#http://hl7.org/v2
Patient
identifier
name
telecom
gender
birthDate
deceased[x]
address
maritalStatus
PID-3
PID-5, PID-9
PID-13, PID-14, PID-40
PID-8
PID-7
PID-30
PID-11
PID-16
CDA to FHIR
Document bridge
FHIR
Documents
FHIR Document
processor
FHIR
Repository
FHIR
REST
Hospital System A
Note: Documents are compositions,
• No update semantics
• Context?
• Wholeness?
Migration – CDA and FHIR
• 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
– Likely start with important ones like C-CDA
…and v3 mappings
Every Resource has v3 mappings specified, e.g.:
http://www.hl7.org/fhir/patient-mappings.html#http://hl7.org/v3
Patient
identifier
name
telecom
gender
birthDate
deceased[x]
address
maritalStatus
multipleBirth[x]
Patient
./id
./name
./telecom
./administrativeGender
./birthTime
./deceasedInd
./addr
./maritalStatus
.multipleBirthInd
FHIR & C-CDA
•
•
•
•
•
C-CDA is mandated by Meaningful Use
FHIR is a new specification
FHIR is not a replacement for C-CDA (yet)
Project to migrate C-CDA content to FHIR
In the future, FHIR may gradually replace CCDA
66
(XDS) references
A DocumentReference resource is used to
describe a document that is made available to a
healthcare system.
It is used in document indexing systems, and are
used to refer to:
• CDA documents in FHIR systems
• FHIR documents stored elsewhere (i.e. registry/repository following the XDS
model)
• PDF documents, and even digital records of faxes where sufficient information is
available
• Other kinds of documents, such as records of prescriptions.
IHE MHD
“This winter (…) the Volume 2 part of Mobile Health
Documents (MHD) will be replaced with the
appropriate content describing a profile of
DocumentReference to meet the needs of MHD and
the family of Document Sharing in XDS, XDR, and
XCA.”
John Moehrke, august 16, 2013
So why use anything else?
• FHIR is brand new
– No market share
– Only recently passed DSTU ballot
– Little track record
• Business case
– No-one dumps existing working systems just because
something new is “better”
– Large projects committed to one standard won’t change
direction quickly (or even at all)
Simple message
• Yes, FHIR has the potential to supplant HL7 v3, CDA and even
v2
• However
– It’s not going to do so any time soon
• No one's going to throw away their investment in older
standards to use FHIR until
1.
2.
•
The specification has a good track record
It’s clear the new thing provides significant benefits
HL7 will support existing product lines so
long as the market needs them
http://www.forbes.com/sites/danmunro/2014
/03/30/setting-healthcare-interop-on-fire/
SMART DEMO
http://smartplatforms.org/smart-on-fhir/
S
F
M
H
A
I
R
R
T
S
F
M
H
A
I
R
R
T
BlueButton
F
H
I
R
Any
FHIR
Server
(PHRs!)
Let’s run a demo!
Next Steps for you
• Read the spec at http://hl7.org/fhir
• Try implementing it
• Come to a (European?) Connectathon!
•
•
•
•
•
fhir@lists.hl7.org
#FHIR
Implementor’s Skype Channel
FHIR Developer Days (November 24 – 26), Amsterdam
StackOverflow: hl7 fhir tag
Download