Download - HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Transcript
Page 1: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

The Benefits and Challenges of implementing HL7v2 in SOAVictor CHAIMember of Technical Sub-committeeHL7 Singapore

Page 2: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Why I want to talk about this topic

• It all started with a question I received during one of the HL7 technical sub-committee meeting where one member asked

– “… a standard based XML payload for SOA services and the ability for easy transformation of HL7v2 messages to that XML”

– That was also one of the reasons that I started my own blog to share my knowledge and experience in healthcare interoperability

http://healthinterconnect.blogspot.sg/2011/08/using-hl7v2-in-soa.html

Page 3: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Gist of the Question

• Shared SOA service that is able to process/consume both HL7v2 message and XML based message

• Standards based payload for SOA service

Page 4: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Is this topic still relevant today

• HL7v2 is still widely used here and abroad

Source: http://www.corepointhealth.com/sites/default/files/whitepapers/hl7-v2-v3-evolution.pdf

US Meaningful Use Requirements on Content Exchange - Both HL7v2.5

and HL7 CDA

Page 5: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

What concrete example I will use here

• The EHR product I have personally architected and implemented 7 years ago

• The intent is to share what is still useful and relevant today

• “New” challenges surfaced and the improvement

Page 6: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Key Architecture Requirements 1/2

• A unified multi-purpose health record platform for rapid application development– PHR– EHR– Health Assessment– Health Tracker (Adobe

Flex)

Page 7: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Key Architecture Requirements 2/2

• Supports standards based exchange format– HL7v2 and HL7 CDA

• Different protocols– MLLP for HL7v2– SOAP Web Service– Restful Service– HTTP

• Also needs to support proprietary format

Page 8: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Challenges of HL7v2 in SOA

• There is no or limited out-of-box programming support for parsing and composing HL7v2 message

• A special TCP based protocol – MLLP - Minimal Lower Layer Protocol (MLLP)

• And others such as Sequencing and Threading

Page 9: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7v2 Integration Engine was used• Use HL7v2 Integration

Engine

• Validates and parses incoming HL7v2 message and transform to XML encoded HL7v2

• OracleAQ was used between B2B and Integration Layer

HL7v2B2B

Gateway

Service Integration Layer

HL7v2 Message

Message Control and

Transformation

Oracle AQ

Page 10: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

What was used for service payload

• Standards based service payload?– Such as HL7 CDA,

adopt and adapt?

• Or others?

B2B Control Layer

Message Control and

TransformationOracle

AQ

HL7v2 Message

XML encoded HL7v2

Message

Service Integration Layer

?

Page 11: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

A simplified CDA based payload

• Based on HL7v2 CDA R2 as shown on the right

• Simplify underlying data type and structure for more flexible parsing and processing

Page 12: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

How to support HL7v2 wire format

• XLST transforms the parsed XML encoded HL7v2 message to Service payload format

Page 13: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

How to support HL7 CDA R2 wire format

• Transform different types of records to corresponding section in HL7 CDA R2

Page 14: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

My past architecture design recap

• Standards-based Service Payload

• One shared service supports multiple client friendly format & protocol– HL7v2 message– HL7 CDA – Or proprietary format

Page 15: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

The ‘new’ challenge

• Do we copy and paste the external content into our site page, or we simply use URL link to reference the external content when we build a web site?

• Why it is important?– Prevent information proliferation, and avoid obsolete information

– There is no need to fetch all at one go, the requester can ‘follow’ the path to navigate to the needed information

– Each app can focus on managing its own information, and relies on reference to build up network of information

Page 16: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

The new approach – RESTful design

• Treat each data entity as a native resource which behaves likes a web page, users can create/update/delete a resource

• Each resource has a unique identifier, and reference to other dependent resources

Page 17: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7 FHIR – Why?

• Strong foundation in Web standards– XML, JSON, HTTP, Atom, OAuth, etc.

• Support for RESTful architecture style and also seamless exchange of information using messages or documents

Source: http://www.hl7.org/implement/standards/fhir/summary.htm

Page 18: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7 FHIR – Fast Health Interoperable Resources

• “Resource “ is unit of transactional data such as patient and MedicationPrescription that is stored or exchanged

• Easily accessible - http://server.org/resources/patient/S1234567H

endpoint

resource type

identifier

Page 19: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7 FHIR - A network of resources

MedicationPrescription

Patient

Medication

PrescriberEncounter

Page 20: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

How FHIR improves the design

• Use HL7 FHIR as straight-through resource API and internal object model

• There is no intermediate transformation

Page 21: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7 FHIR – A Sample Resource Definition

Page 22: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7 FHIR – How to implement

• Step 1 – Download Resources classes from HL7 site– http://www.hl7.org/implement/standards/fhir/– Download either Java, C# or Delphi

• Use your favorite IDE and RESTful Web Services framework e.g. Jersey– Implement RESTful resource

Page 23: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

HL7 FHIR – A few lines of code only!

These are just for validation only

Page 24: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

FHIR enabled architecture

Lightweight Restful Service

Messaging and Document based

Integration

Page 25: HIMSS Digital Healthcare Week 2013- The journey from HL7v2 to HL7 FHIR

Summary

• “ If you want to go fast, go alone. If you want to go far, go together”

• Learn from standards, adopt and adapt!– http://www.hl7.org.sg/– http://www.hl7.org/fhir