HL7
Agenda
− Intro
− HL7
− HL7 v2.*
− HL7 v3.*
− HL7 CDA
− HL7 FHIR
− Challenges
− Questions
Introduction
Andy Stopford – Technical Director
− Oversee HAVAS Health Software
− Software Engineer by trade
− 18 years in the software industry
− Experience built in the E-commerce, Insurance & Financial sectors
− Author & Writer
− Technical advisory at Microsoft
− Member of HL7 UK charter
Our partners
The company we keep
Healthcare Installations
− UK
− NHS Guys & St Thomas Foundation Trust
− NHS Buckinghamshire Healthcare Trust
− NHS Southend Clinical Commissioning Group
− USA
− Henry Ford Health System
Data exchange
in healthcare
HL7
− HL7 International was founded in 1987
− Standards Body
− HL7 defines a common method of structured data exchange in healthcare
− Very common to find in healthcare IT systems
− EHR systems
− Patient appointment booking systems
− HL7 is used in over 35 countries
HL7 v2
− Started life in 1988 with version 1
− 2.1 was the first usable standard and arrived in 1991
− 2.2 to 2.7
− In 2010 2.1 was still used in over 32 countries
− Very common to see 2.1/2.5 in the NHS
− Subject domains
− Patient demographics
− Clinical observations
− Scheduling of patient appointments Resources
− Etc.
HL7 v2 structure
− Aunit of data that is transferred between systems
− Each information exchange is initiated by a trigger event and consists
of one or more messages
− Amessage is composed of segments in a defined sequence
− Segments hold fields (data types)
− The first segment of each message defines the message type
and the type of trigger event that caused the message to be sent
− Each segment is a sequence of data fields, separated by special
data field separators (usually the pipe ‘|’ symbol)
− Each data field has a data type, which may be compound –
made up of components which are separated by a component
separator (usually the carat ‘^’ symbol)
− Structure is modelled onANSI X.12 and UN/EDIFACT
HL7 v2ADT
− Some trigger messages can be classified underAdmission,
Discharge, Treatment (ADT)
− CodedA01 toA62
− A01 –Admit
− A05 – Pre-Admit
− A02 – Transfer
− A08 – Change patient information
− etc
HL7 v2 sequence
ENCOUNTER
REGISTRATION
PLANNED ENC.
TRANSFER
TRANSFER
TRANSFER
DISCHARGE
ADMIT
ADT^A04 ADT^A03 ADT^A02
ADT^A12
ADT^A02ADT^A01ADT^A05
HL7 v2 Segments
− Each message structure varies depending on the trigger
− Every message holds segments
− MSH – Message Header
− EVN – Event Type
− PID – Patient Identification
− PV1 – Patient Visit
HL7 v2 PID fields (sample)
Name Required Length
Set ID No 4
Patient ID No 0
Patient Identifier List Yes 250
Alternate Patient ID No 0
Patient Name Yes 250
Mother's Maiden Name No 250
Date/Time of Birth No 24
HL7 v2 - Example
HL7 v3
− Newer definition of the HL7 standard
− First developed in 2005
− XML based
− Addresses some of the v2 issues
− Schema
− Structure
− Extension
− “Semantic Interoperability”
− Spec is huge (1.2 gig in size)
HL7 v3 - RIM
− Primary object model (RIM)
− Accounting & Billing
− Pharmacy
− PatientAdmission
− Medical Records
− Laboratory
− …My own….
− Etc.
HL7 v3 - RIM
− Domain
− Story boards
− Trigger events
− Domain information model (D-MIM)
− Refined information models (R-MIM)
− Hierarchical Message Descriptions
− CMET
HL7 v3 - Reference Information Model (RIM)
HL7 v3 - RIM
− Red: The central block and represents an action,
− Blue: Defines a participant,
− Pink: Represents an act relationship to describe how acts are related,
− Yellow: Describes the role of the participant,
− Green: Represents the entity playing the role
HL7 v3 - RIM
If I have an inpatient visit for a surgery at a hospital
− The surgery is an act (red) that is a Procedure
− I am participating (blue) as a Record Target
− My surgeon is participating (blue) as the Performer
− My role (yellow) is as a Patient, and
− I am the entity (green) of a Person.
HL7 v3 - D-MIM/R-MIM
− Domain Message Information Model (D-MIM)
− D-MIM is based on the RIM
− Models a given domain but is not the implementation
− Refined Message Information Model (R-MIM)
− R-MIM is derived from the parent D-MIM
− Information model, shows data for a particular message
HL7 v3 - PatientAdmission D-MIM
HL7 V3 -Activate Patient R-MIM
HL7 v3 - Wrapper
− Wraps a message to support the transport from sender to receiver
− Transmission Wrapper
− ControlAct Wrapper
− Payload (the actual domain message)
HL7 v3 – Transmission Wrapper
− Required
− Date/Time
− Identifies the sender and receiver (ID)
− Identifies when acks are required for the message
− Upper level and wraps
− ControlAct Wrapper
− Payload
HL7 v3 – ControlAct Wrapper
− Used to communicate information to an interaction that triggered a
message.
− Message ControlAct (basic)
− Query Infrastructure
− Master File/Registry
− Domain messages have different uses of the control act wrappers
HL7 v3 - CMET
− Common Message Element Type
− Reusable part of a message
− E.g. Patient
− Included in the domain
− Isolated from the domain
− Vulnerable to change
− E.g. Lab states patient needs IQ then pharmacy also has it
− Hides the true size of a message
HL7 v3 - Transport
− Big XML messages that we need to move
− MLLP (Minimum Lower Layer Protocol)
− Used with v2 a lot
− Limited
− SOAP
− The most common
− XML payload
− ebXML (yuck)
− Standard includes a payload spec
HL7 v3 - Example
HL7 CDA
− Clinical DocumentArchitecture
− Represent any clinical document – e.g. Discharge Summary
− Built on the HL7 Reference Information Model (RIM)
− CDAHeader
− CDABody
HL7 CDAHeader
− Document Information
− ID of the document, confidentiality & relationship to other documents.
− Encounter data
− Describes where the encounter took place, time & setting.
− Service actors
− Describes who interacted with service being described
− Service targets
− Include the patient, family members etc.
HL7 CDABody
− Describes the body of the document
− Adocument structure will vary, so too must a CDAbody
− CDABody gives you structures to capture this
− Structures
− Sections
− Paragraphs
− Lists
− Tables
HL7 CCR
− Joint HL7/ASTM standard
− Facilitate better cross communication between systems
− CDABody can vary in structure
− CCR defines templates that fix this structure
HL7 tools
− Server
− InterSystems Ensemble
− InterfaceWare Iguana
− Microsoft BizTalk
− Mirth Connect
− Tools
− HL7 Inspector (OSS)
− 7Edit (commercial
HL7 FHIR
− Fast Health Interoperable Resources
− The future of HL7…
− Free and open!
− Combines parts of v2, v3 and CDAto create a new standard
− Supports XML and JSON
− RESTful
− Working draft available by the end of 2013 with a working process
through 2014 and 2015
FHIR Resources
− Clinical
− General -AdverseReaction, CarePlan, FamilyHistory etc
− Medications - Medication, MedicationPrescription etc
− Diagnostics – Observation, DiagnosticReport
− Administrative
− Attribution – Patient, RelatedPerson, Practictioner
− Resources – Device, Location
− Workflow – Encounter,Alert
− Bundles
− Combined resources
FHIR REST
− Resources expose certain logical interactions
− Create (POST)
− Read (GET)
− Update (PUT)
− Delete (DELETE)
− Bundles
− History (GET)
− Search (GET)
FHIR Security
− HTTPS/SSL
− OAuth
− Authorization/Access control
− HL7 Healthcare Classification System
− Access/data segmentation
− Audit
− Security events
− Provenance
So all good?
The protection of patient data is critical
− Thus it’s not truly open
− Access is limited
− Data is limited
− Storage is almost impossible
− Security is paramount
− HIPAA
How best to work with patient data
− Agree with the trust what you need and what you can see
− Caldicott Guardian
− ISO 27001
− Point to point
− SSL 256
− Accredited data storage (or just don’t do it)
− Encrypt the storage, not the data.
− 256 at minimum
More information
− Web
− HL7 international (http://www.hl7.org)
− HL7 UK charter (http://www.hl7.org.uk/)
− Books
− Principles of Health Interoperability HL7 and SNOMED (Tim Benson)
QUESTIONS?

HL7

  • 1.
  • 2.
    Agenda − Intro − HL7 −HL7 v2.* − HL7 v3.* − HL7 CDA − HL7 FHIR − Challenges − Questions
  • 3.
  • 4.
    Andy Stopford –Technical Director − Oversee HAVAS Health Software − Software Engineer by trade − 18 years in the software industry − Experience built in the E-commerce, Insurance & Financial sectors − Author & Writer − Technical advisory at Microsoft − Member of HL7 UK charter
  • 5.
  • 6.
  • 7.
    Healthcare Installations − UK −NHS Guys & St Thomas Foundation Trust − NHS Buckinghamshire Healthcare Trust − NHS Southend Clinical Commissioning Group − USA − Henry Ford Health System
  • 8.
  • 9.
    HL7 − HL7 Internationalwas founded in 1987 − Standards Body − HL7 defines a common method of structured data exchange in healthcare − Very common to find in healthcare IT systems − EHR systems − Patient appointment booking systems − HL7 is used in over 35 countries
  • 10.
    HL7 v2 − Startedlife in 1988 with version 1 − 2.1 was the first usable standard and arrived in 1991 − 2.2 to 2.7 − In 2010 2.1 was still used in over 32 countries − Very common to see 2.1/2.5 in the NHS − Subject domains − Patient demographics − Clinical observations − Scheduling of patient appointments Resources − Etc.
  • 11.
    HL7 v2 structure −Aunit of data that is transferred between systems − Each information exchange is initiated by a trigger event and consists of one or more messages − Amessage is composed of segments in a defined sequence − Segments hold fields (data types) − The first segment of each message defines the message type and the type of trigger event that caused the message to be sent − Each segment is a sequence of data fields, separated by special data field separators (usually the pipe ‘|’ symbol) − Each data field has a data type, which may be compound – made up of components which are separated by a component separator (usually the carat ‘^’ symbol) − Structure is modelled onANSI X.12 and UN/EDIFACT
  • 12.
    HL7 v2ADT − Sometrigger messages can be classified underAdmission, Discharge, Treatment (ADT) − CodedA01 toA62 − A01 –Admit − A05 – Pre-Admit − A02 – Transfer − A08 – Change patient information − etc
  • 13.
    HL7 v2 sequence ENCOUNTER REGISTRATION PLANNEDENC. TRANSFER TRANSFER TRANSFER DISCHARGE ADMIT ADT^A04 ADT^A03 ADT^A02 ADT^A12 ADT^A02ADT^A01ADT^A05
  • 14.
    HL7 v2 Segments −Each message structure varies depending on the trigger − Every message holds segments − MSH – Message Header − EVN – Event Type − PID – Patient Identification − PV1 – Patient Visit
  • 15.
    HL7 v2 PIDfields (sample) Name Required Length Set ID No 4 Patient ID No 0 Patient Identifier List Yes 250 Alternate Patient ID No 0 Patient Name Yes 250 Mother's Maiden Name No 250 Date/Time of Birth No 24
  • 16.
    HL7 v2 -Example
  • 17.
    HL7 v3 − Newerdefinition of the HL7 standard − First developed in 2005 − XML based − Addresses some of the v2 issues − Schema − Structure − Extension − “Semantic Interoperability” − Spec is huge (1.2 gig in size)
  • 18.
    HL7 v3 -RIM − Primary object model (RIM) − Accounting & Billing − Pharmacy − PatientAdmission − Medical Records − Laboratory − …My own…. − Etc.
  • 19.
    HL7 v3 -RIM − Domain − Story boards − Trigger events − Domain information model (D-MIM) − Refined information models (R-MIM) − Hierarchical Message Descriptions − CMET
  • 20.
    HL7 v3 -Reference Information Model (RIM)
  • 21.
    HL7 v3 -RIM − Red: The central block and represents an action, − Blue: Defines a participant, − Pink: Represents an act relationship to describe how acts are related, − Yellow: Describes the role of the participant, − Green: Represents the entity playing the role
  • 22.
    HL7 v3 -RIM If I have an inpatient visit for a surgery at a hospital − The surgery is an act (red) that is a Procedure − I am participating (blue) as a Record Target − My surgeon is participating (blue) as the Performer − My role (yellow) is as a Patient, and − I am the entity (green) of a Person.
  • 23.
    HL7 v3 -D-MIM/R-MIM − Domain Message Information Model (D-MIM) − D-MIM is based on the RIM − Models a given domain but is not the implementation − Refined Message Information Model (R-MIM) − R-MIM is derived from the parent D-MIM − Information model, shows data for a particular message
  • 24.
    HL7 v3 -PatientAdmission D-MIM
  • 25.
    HL7 V3 -ActivatePatient R-MIM
  • 26.
    HL7 v3 -Wrapper − Wraps a message to support the transport from sender to receiver − Transmission Wrapper − ControlAct Wrapper − Payload (the actual domain message)
  • 27.
    HL7 v3 –Transmission Wrapper − Required − Date/Time − Identifies the sender and receiver (ID) − Identifies when acks are required for the message − Upper level and wraps − ControlAct Wrapper − Payload
  • 28.
    HL7 v3 –ControlAct Wrapper − Used to communicate information to an interaction that triggered a message. − Message ControlAct (basic) − Query Infrastructure − Master File/Registry − Domain messages have different uses of the control act wrappers
  • 29.
    HL7 v3 -CMET − Common Message Element Type − Reusable part of a message − E.g. Patient − Included in the domain − Isolated from the domain − Vulnerable to change − E.g. Lab states patient needs IQ then pharmacy also has it − Hides the true size of a message
  • 30.
    HL7 v3 -Transport − Big XML messages that we need to move − MLLP (Minimum Lower Layer Protocol) − Used with v2 a lot − Limited − SOAP − The most common − XML payload − ebXML (yuck) − Standard includes a payload spec
  • 31.
    HL7 v3 -Example
  • 32.
    HL7 CDA − ClinicalDocumentArchitecture − Represent any clinical document – e.g. Discharge Summary − Built on the HL7 Reference Information Model (RIM) − CDAHeader − CDABody
  • 33.
    HL7 CDAHeader − DocumentInformation − ID of the document, confidentiality & relationship to other documents. − Encounter data − Describes where the encounter took place, time & setting. − Service actors − Describes who interacted with service being described − Service targets − Include the patient, family members etc.
  • 34.
    HL7 CDABody − Describesthe body of the document − Adocument structure will vary, so too must a CDAbody − CDABody gives you structures to capture this − Structures − Sections − Paragraphs − Lists − Tables
  • 35.
    HL7 CCR − JointHL7/ASTM standard − Facilitate better cross communication between systems − CDABody can vary in structure − CCR defines templates that fix this structure
  • 36.
    HL7 tools − Server −InterSystems Ensemble − InterfaceWare Iguana − Microsoft BizTalk − Mirth Connect − Tools − HL7 Inspector (OSS) − 7Edit (commercial
  • 37.
    HL7 FHIR − FastHealth Interoperable Resources − The future of HL7… − Free and open! − Combines parts of v2, v3 and CDAto create a new standard − Supports XML and JSON − RESTful − Working draft available by the end of 2013 with a working process through 2014 and 2015
  • 38.
    FHIR Resources − Clinical −General -AdverseReaction, CarePlan, FamilyHistory etc − Medications - Medication, MedicationPrescription etc − Diagnostics – Observation, DiagnosticReport − Administrative − Attribution – Patient, RelatedPerson, Practictioner − Resources – Device, Location − Workflow – Encounter,Alert − Bundles − Combined resources
  • 39.
    FHIR REST − Resourcesexpose certain logical interactions − Create (POST) − Read (GET) − Update (PUT) − Delete (DELETE) − Bundles − History (GET) − Search (GET)
  • 40.
    FHIR Security − HTTPS/SSL −OAuth − Authorization/Access control − HL7 Healthcare Classification System − Access/data segmentation − Audit − Security events − Provenance
  • 41.
  • 42.
    The protection ofpatient data is critical − Thus it’s not truly open − Access is limited − Data is limited − Storage is almost impossible − Security is paramount − HIPAA
  • 43.
    How best towork with patient data − Agree with the trust what you need and what you can see − Caldicott Guardian − ISO 27001 − Point to point − SSL 256 − Accredited data storage (or just don’t do it) − Encrypt the storage, not the data. − 256 at minimum
  • 44.
    More information − Web −HL7 international (http://www.hl7.org) − HL7 UK charter (http://www.hl7.org.uk/) − Books − Principles of Health Interoperability HL7 and SNOMED (Tim Benson)
  • 45.