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

26
The Benefits and Challenges of implementing HL7v2 in SOA Victor CHAI Member of Technical Sub-committee HL7 Singapore

description

The journey to HL7 FHIR enabled next generation unified healthcare product platform with seamless support for HL7v2, HL7 CDA and FHIR

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

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