fhir intro and background at hl7 germany 2014

77
Out-of-the-box eHealth interoperability Ewout Kramer [email protected] HL7 Deutschland, October 21st, 2014

Upload: ewout-kramer

Post on 25-May-2015

392 views

Category:

Healthcare


4 download

DESCRIPTION

A thorough overlook of FHIR, starting out with a general intro and discussing FHIR exchange patterns, architecture and profiling

TRANSCRIPT

Page 1: FHIR intro and background at HL7 Germany 2014

Out-of-the-box eHealth interoperability

Ewout [email protected]

HL7 Deutschland, October 21st, 2014

Page 2: FHIR intro and background at HL7 Germany 2014

Our common problem

• Avoid speaking between lunch and afternoon coffee

• No one is interesting to listen to for more than 45 minutes

Page 3: FHIR intro and background at HL7 Germany 2014

So….Please…

• I’ll break the presentation in 45 minutes

• State your questions at any time

• Read your e-mail if you need to

Page 4: FHIR intro and background at HL7 Germany 2014

Fast(well, that’s relative)

HealthcareInteroperability(that’s what we need)

Resources(the web technology bit)

Page 5: FHIR intro and background at HL7 Germany 2014

January 2011The HL7 Board initiated

“Fresh Look”

“What would we do if we were to revisit the healthcare interoperability space from scratch?”

Grahame

LloydEwout

Page 6: FHIR intro and background at HL7 Germany 2014

Why something new?

Page 7: FHIR intro and background at HL7 Germany 2014
Page 8: FHIR intro and background at HL7 Germany 2014

“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?”

Page 9: FHIR intro and background at HL7 Germany 2014

If your neighbour 's son can’t hack an app with <technology X> in a weekend…..

Focus on implementers

you won’t get adopted

Page 10: FHIR intro and background at HL7 Germany 2014

Focus on implementersKeep common scenarios simpleLeverage existing technologiesMake content freely available

Page 11: FHIR intro and background at HL7 Germany 2014

12

Page 12: FHIR intro and background at HL7 Germany 2014

REST

Page 13: FHIR intro and background at HL7 Germany 2014

WHAT’S IN THE BOX?

Page 14: FHIR intro and background at HL7 Germany 2014

Slice & dice your data into “resources”

MedicationPrescription Problem

Cover 80% - Context independent - Unit of exchange/storage

Page 15: FHIR intro and background at HL7 Germany 2014

Consistent documentation

Organization “ACME Hospital”National Drive 322Orlando, FL

Organization “ACME Hospital”National Drive 322Orlando, FL

PatientMRN 22235“Olaf Olafsson”01-01-1994Bergen

PatientMRN 22234“Ewout Kramer”30-11-1972Amsterdam

Thousands of examples

Page 16: FHIR intro and background at HL7 Germany 2014

Structure of a Resource(XML example)

Page 17: FHIR intro and background at HL7 Germany 2014

How many resources?Currently: about 68

• Administrative– Patient, Location, Encounter,

Organization, • Clinical Concepts

– AllergyIntolerance, Questionnaire, Observation

• Infrastructure– ValueSet, Composition, Profile,

Conformance

Next up…still about 100 to go

• Scheduling- Appointment, Availability, Slot

• Financial- Claim, Account, Coverage

• Consent

Full support for C-CDA

Page 18: FHIR intro and background at HL7 Germany 2014

Generic Specific

Cover all usecases - (n)ever

HL7v3 RIMHL7 CDA

C-CCD

openEHR RM

HL7v2

IHE PDQFHIR

openEHR Archetypes

openEHR Templates

HL7v3 CMETS

Page 19: FHIR intro and background at HL7 Germany 2014

+ =

Cover the 80% out of the box…

Page 20: FHIR intro and background at HL7 Germany 2014

Organization “ACME Hospital”National Drive 322Orlando, FL

PatientMRN 22234“Ewout Kramer”30-11-1972Amsterdam

+ Haircolor BROWN

+ Taxoffice Id NLOB33233

You can extend:- Resources- Elements of Resources- FHIR Datatypes

Page 21: FHIR intro and background at HL7 Germany 2014

Resources, Extensions, Profiles

+ =DiagnosticReport

Observation

"extensions"

"Profile"

Page 22: FHIR intro and background at HL7 Germany 2014

Package & publish: The Profile

“My First Profile”V1.0 by Ewout

Page 23: FHIR intro and background at HL7 Germany 2014

Document from the resource to the wireHTTP/1.1 200 OKContent-Type: application/json;charset=utf-8Content-Length: 627Content-Location: /fhir/person/@1/history/@1Last-Modified: Tue, 29 May 2012 23:45:32 GMTETag: "1“

"Person":{"id":{"value":"1"},"identifier":[{"type":{"code":"ssn","system":"http://hl7.org/fhir/sid

Page 24: FHIR intro and background at HL7 Germany 2014

Message

Document

REST

CORBA

SOAP ?

Packaging & transport

Yes, v2 style messagingis also supported! √Yes, v3 CDA style documentsare also supported!

Page 25: FHIR intro and background at HL7 Germany 2014

Implementer support…

Page 26: FHIR intro and background at HL7 Germany 2014

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

Page 27: FHIR intro and background at HL7 Germany 2014

Where are we?• 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

29

Page 28: FHIR intro and background at HL7 Germany 2014

Questions?

Page 29: FHIR intro and background at HL7 Germany 2014

INTERLUDE: SOURCE OF FHIR

Page 30: FHIR intro and background at HL7 Germany 2014

“Source” of FHIRStraight from the HL7 SVN “code” respositoryat gforge.hl7.org

Page 31: FHIR intro and background at HL7 Germany 2014

Publication process

.INI

Publication tool(org.hl7.fhir.tools.jar)

Java, C#,Delphi eCoreDefinitions.xml

Website

ValidationSchema’s

Examples

DictXml Resource profiles

ResourceUML

examples

Page 32: FHIR intro and background at HL7 Germany 2014

Let’s browse the Spec

DSTU1, Dev andNightly Build…

Page 33: FHIR intro and background at HL7 Germany 2014

Pillars of FHIR

Exchange : Simple, Concise, ModularConformance : Capable, Comprehensive, fine-grainedOntology / Mapping : Thorough, Deep, Authoritative

Page 34: FHIR intro and background at HL7 Germany 2014

FHIR EXCHANGE LAYERCombining resources into useful exchanges

Page 35: FHIR intro and background at HL7 Germany 2014

FHIR server

Patient ObservationOrganization

PatientPatient Observation

Observation

REST:“Repository” model of healthcare

CreateUpdate Query

Lab System

CreateUpdate

Hospital System

CreateUpdate Query Subscribe

Page 36: FHIR intro and background at HL7 Germany 2014

Play with the exchange layer

Page 37: FHIR intro and background at HL7 Germany 2014

Practitioner

Patient

Observation

Page 38: FHIR intro and background at HL7 Germany 2014
Page 39: FHIR intro and background at HL7 Germany 2014

“Business” identifiers

Page 40: FHIR intro and background at HL7 Germany 2014

FHIR server @ hospitalA.org

PractitionerPractitioner/87

Organization

Organization/1

FHIR server @ lab.hospitalA.org

DiagnosticReport

DiagnosticReport/4445

Observation

Observation/3ff27

result

In REST: Possibly distributed…

42

FHIR server @ pat.registry.org

PatientPatient/223

managing

subject

perfo

rmer

Page 41: FHIR intro and background at HL7 Germany 2014

http://fhirblog.com/2014/01/24/modelling-encounters-with-fhir/

Page 42: FHIR intro and background at HL7 Germany 2014

Below the Resource: FHIR Primitives

Page 43: FHIR intro and background at HL7 Germany 2014

Below the Resource: FHIR datatypes

Page 44: FHIR intro and background at HL7 Germany 2014

Below the Resource: FHIR datatypes

Page 45: FHIR intro and background at HL7 Germany 2014

Exchanging Lists of Resources

• We call them “bundles” of Resources– Search result– History– Multiple-resource inserts (“batches”)– Documents or messages

• So, we need an industry-standard to represent lists, and a place to put our metadata

Page 46: FHIR intro and background at HL7 Germany 2014

“Atom”: New reports in the mail

Page 47: FHIR intro and background at HL7 Germany 2014

Let’s do a search

• Patient/example• Patient?name=eve

• DiagnosticReport?subject=Patient/example

Page 48: FHIR intro and background at HL7 Germany 2014

Bundle: FHIR Document

50

Dr. BernardPractitioner Patient Mary

Patient

Discharge Medslist

Vital Signslist

PulseObservation

BPObservation

DyclofenacMedicationPrescription

TamsulosinMedicationPrescription

Kidney StonesCondition

DischargeSummary

Composition

Chief Complaintsection

Physicalsection

Medicationssection

subjectauthor

content

content

content

entry

entry

Page 49: FHIR intro and background at HL7 Germany 2014

FHIRRepository

Regardless of paradigm the content is the same

Lab System

Receive a lab result in a message…

FHIR MessageFHIR Document

…Package it in a discharge summary document

NationalExchange

REST

Page 50: FHIR intro and background at HL7 Germany 2014

FHIROrder

Management

Polling feeds in FHIR (DSTU1)

Lab System

1. Submit Order

2. Monitor new orders

3. Order update

4. Monitor placed orders

EHR

Page 51: FHIR intro and background at HL7 Germany 2014

Notifications in FHIR (DSTU2)

Patient Care Device

FHIRDevice Alert

Manager

1. Register device

2. Subscribe to device events

3. Send Alert

5. Retrieve alert data

4. Send notification

Page 52: FHIR intro and background at HL7 Germany 2014

THE FHIR CONFORMANCE LAYERAdapting FHIR to local needs

Page 53: FHIR intro and background at HL7 Germany 2014

The need for Conformance

• Many different contexts in healthcare, but a single “core spec” with operations and 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.

Page 54: FHIR intro and background at HL7 Germany 2014

Compliance

Publication

Guidance

Implementation

Find & maintain

Retrieve & use

Repository

Page 55: FHIR intro and background at HL7 Germany 2014

Tagging a profiled Resource

Patient

MRN 22234“Ewout Kramer”30-11-1972Amsterdam

http://hl7.org/fhir/tag/profile“I’m a Patient as defined in the Norwegian Profile – see http://hl7.no/Profiles/patient-no”

Page 56: FHIR intro and background at HL7 Germany 2014

(Distributed) validation

App’s server

Store &Validate

Country validation serverValidate Y

Profile X

Profile Y

Profile YD

ownload &

Validate

Profile X

Profile Y

Page 57: FHIR intro and background at HL7 Germany 2014

Extend/restrict the API

• Conformance Resource: describes how a client or server uses or should use the FHIR API

Which FHIR version? Which Resources? Which elements in the Resources? What search operations?

What formats (json/xml)?Is this a test server? Who can I contact?

Page 58: FHIR intro and background at HL7 Germany 2014

Extend/restrict the API

• OperationDefinition Resource: describes additional operations over and above the RESTful interactions defined in the specification

What is the name, input/output parameters, what does it do? Works on which resources?

Page 59: FHIR intro and background at HL7 Germany 2014

Constrain the Resources

61

Limit cardinality to 1..2(e.g. to at maximum your organizations’ identifier + the national one)

1..21..1

Limit names to just 1 (instead of 0..*)

Forbid any telecom elements

0..0

StructureDefinition Resource: describes additional restrictions on a resource

Page 60: FHIR intro and background at HL7 Germany 2014

Constrain the Resources

62

Fix value: Only allow “active” Patients

=“true”

If deceased is given, it must be a dateTime, not a boolean

Use our national codes for MaritalStatus

Use another profiled Resource

OrganizationNL

Page 61: FHIR intro and background at HL7 Germany 2014

Extending a Resource

Key = location of formal definition

Value = value according to definition

ExtensionDefinition Resource: describes possible extensions to a resource or datatype

Page 62: FHIR intro and background at HL7 Germany 2014

Ontology Support

ValueSet Resource: describes a set of codes or concepts that can be used in a context

NamingSystem Resource: provides formal definitions of system namespaces for identifiers and terminologiesConceptMap Resource: maps between terminologies and/or structures

Page 63: FHIR intro and background at HL7 Germany 2014

For implementer convenience, the specification itself publishes its base definitions using these same resources!

Page 64: FHIR intro and background at HL7 Germany 2014

Implementation Guide Publication

Publication tool

Website

ValidationSchema’s

Examples

DictXml Resource profiles

Profiled resources

StructureDefinition

ExtensionDefinition ValueSet

ConceptMap

NamingSystem

OperationDefinition

Page 65: FHIR intro and background at HL7 Germany 2014
Page 66: FHIR intro and background at HL7 Germany 2014

THE FHIRSTARTERSSome examples from early-adopters

Page 67: FHIR intro and background at HL7 Germany 2014

http://www.forbes.com/sites/danmunro/2014/03/30/setting-healthcare-interop-on-fire/

Page 68: FHIR intro and background at HL7 Germany 2014

Form Filler

Form Repository

EmptyQuestionnaires

1. Form Request+ Patient data in FHIR

Form Client

2. Prepopulated

Questionnaire

3. Filled out form

CompletedQuestionnaires

ONC Structured Data Capture

Page 69: FHIR intro and background at HL7 Germany 2014

Patient & Provider registry

CCD Documents

Hospital System

Resources

FHIR Documents

National Patient Portal

References

PDF Documents

Page 70: FHIR intro and background at HL7 Germany 2014

72

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 C-

CDA

Page 71: FHIR intro and background at HL7 Germany 2014

(XDS) references

• 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.

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:

Page 72: FHIR intro and background at HL7 Germany 2014

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

Page 73: FHIR intro and background at HL7 Germany 2014

http://smartplatforms.org/smart-on-fhir/

Page 74: FHIR intro and background at HL7 Germany 2014

BlueButton

SMART

SMART

FHIR

FHIR

AnyFHIR

Server(PHRs!)

FHIR

Page 75: FHIR intro and background at HL7 Germany 2014
Page 76: FHIR intro and background at HL7 Germany 2014

Next Steps for you

• Read the spec at http://hl7.org/fhir• Try implementing it• Come to a (European?) Connectathon!

[email protected] • #FHIR• Implementor’s Skype Channel• FHIR Developer Days (November 24 – 26), Amsterdam• StackOverflow: hl7 fhir tag

Page 77: FHIR intro and background at HL7 Germany 2014

pagina 79

International HL7 FHIR Developer Days

November 24-26, 2014 in Amsterdam

Education– 14 tutorials

Connectathon– Meet fellow developers– Put FHIR to the test

Networking– FHIR experts and authors on hand

http://fhir.furore.com/devdays