HL7 Tutorial

Post on 20-Nov-2014

34 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

Transcript

HL7 Interfacingand RODS

Jeremy Espino MDDirector RODS Open Source Project

President General Biodefense

HL7 Interfacing

HL7 Interfacing

• Health Level Seven Overview

HL7 Interfacing

• Health Level Seven Overview

• HL7 Tools

• Integration Engine (MIRTH)

• Simulators (nule.org)

HL7 Interfacing

• Health Level Seven Overview

• HL7 Tools

• Integration Engine (MIRTH)

• Simulators (nule.org)

• Tasks

• HL7 Routing

• Filtering

• Transformation

HL7 Overview

Health Level 7

Health Level 7

• A standard messaging protocol for the exchange of healthcare information

Health Level 7

• A standard messaging protocol for the exchange of healthcare information

• Corresponds to the Application Layer (layer 7) of the OSI communication layer levels

Health Level 7

• A standard messaging protocol for the exchange of healthcare information

• Corresponds to the Application Layer (layer 7) of the OSI communication layer levels

Health Level 7

• A standard messaging protocol for the exchange of healthcare information

• Corresponds to the Application Layer (layer 7) of the OSI communication layer levels

• Source for HL7 tutorial information:http://www.interfaceware.com/manual/hl7.html

HL7 Characteristics

HL7 Characteristics

• Event-Driven

HL7 Characteristics

• Event-Driven

• Application-to-application

HL7 Characteristics

• Event-Driven

• Application-to-application

• Point-to-point

HL7 Characteristics

• Event-Driven

• Application-to-application

• Point-to-point

• Independent of transport protocol(i.e., FTP, LLP)

HL7 Characteristics

• Event-Driven

• Application-to-application

• Point-to-point

• Independent of transport protocol(i.e., FTP, LLP)

• Concerned only with data exchange

HL7 Characteristics

• Event-Driven

• Application-to-application

• Point-to-point

• Independent of transport protocol(i.e., FTP, LLP)

• Concerned only with data exchange

• Standard (HL7.org)

HL7 Versions

HL7 Versions

• HL7 Version 2.5 Specification is provided on your tutorial CD

HL7 Versions

• HL7 Version 2.5 Specification is provided on your tutorial CD

• Versions are designed to be backward compatible. i.e., 2.5 parsers can read 2.1 messages

HL7 Versions

• HL7 Version 2.5 Specification is provided on your tutorial CD

• Versions are designed to be backward compatible. i.e., 2.5 parsers can read 2.1 messages

• HL7 Version 3.0 in development since 1997 (XML Schema, RIM)

Advantages, Disadvantage of HL7

Advantages, Disadvantage of HL7

• Advantages

• Open Systems

• HL7 Tools

Advantages, Disadvantage of HL7

• Advantages

• Open Systems

• HL7 Tools

• Disadvantage

• Not plug and play – semantic, vocabulary differences in implementation by different vendors

Message Structure

• Message

• Segments - MSH, PID, NK1, PV1

• Fields - |CONROY^MARI^^^^|

• Subfields - CONROY

• MSH|^~\&|EPIC|EPICADT|SMS|SMSADT|199912271408|CHARRIS|ADT^A04|1817457|D|2.3|PID||0493575^^^2^ID 1|454721||DOE^JOHN^^^^|DOE^JOHN^^^^|19480203|M||B|254 E238ST^^EUCLID^OH^44123^USA||(216)731-4359|||M|NON|400003403~1129086|NK1||CONROY^MARI^^^^|SPO||(216)731-4359||EC|||||||||||||||||||||||||||PV1||O|168 ~219~C~PMA^^^^^^^^^||||277^ALLEN FADZL^BONNIE^^^^|||||||||||| 2688684|||||||||||||||||||||||||199912271408||||||002376853

Example Segments

• MSH segment contains information about the Sender and Receiver

• PID contains demographic information

• NK1 contains demographic information about next of kin

• PV1 contains information regarding the patient's stay in the hospital

• Z contains anything a hospital wants

• Many, many more segments in the specification

Components and Data Types

Components and Data Types

• Example is Extended Person Name (XPN)|Slater^Bruce^M^Mr|

Components and Data Types

• Example is Extended Person Name (XPN)|Slater^Bruce^M^Mr|

• Coded entries (i.e., CE, CNE, CWE, CF) have vocabularies (e.g., SNOMED, LOINC, HL7)

Components and Data Types

• Example is Extended Person Name (XPN)|Slater^Bruce^M^Mr|

• Coded entries (i.e., CE, CNE, CWE, CF) have vocabularies (e.g., SNOMED, LOINC, HL7)

• Found in Section 2.16 and 2.A of HL7 2.5 Specification

HL7 Delimiters

Character Purpose

0x0D Marks the end of each segment

| Field Delimiter

^ Sub Field Delimiter

& Sub-sub Field Delimiter

‘~’ repetition character ‘/’ escape character

Reading the Specification

• Each message is an event that has:

• Message level definition

• Required Segments

• [Optional Segments]

• {Repeating Segments}

• Segment level definition

• Fields - optionality, data type, repeatability

Chapter 3: Patient Administration

Health Level Seven, Version 2.5 © 2003. All rights reserved Page 3-9

Final Standard. July 2003.

ACK^A03^ACK General Acknowledgment Status Chapter

MSH Message Header 2

[ { SFT } ] Software Segment 2

MSA Message Acknowledgment 2

[ { ERR } ] Error 2

3.3.4 ADT/ACK - Register a Patient (Event A04)

An A04 event signals that the patient has arrived or checked in as a one-time, or recurring outpatient, and is

not assigned to a bed. One example might be its use to signal the beginning of a visit to the Emergency

Room (= Casualty, etc.). Note that some systems refer to these events as outpatient registrations or emer-

gency admissions. PV1-44 - Admit Date/Time is used for the visit start date/time.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Per-

son level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1

segments. Providers corresponding to the PV1 data are reported in the ROL segment following the

PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following

the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the

IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Be-

gin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role

Code. Refer to Chapter 15 for the definition of the ROL segment.

ADT^A04^ADT_A01 ADT Message Status Chapter

MSH Message Header 2

[ { SFT } ] Software Segment 2

EVN Event Type 3

PID Patient Identification 3

[ PD1 ] Additional Demographics 3

[{ ROL }] Role 15

[{ NK1 }] Next of Kin / Associated Parties 3

PV1 Patient Visit 3

[ PV2 ] Patient Visit - Additional Info. 3

[{ ROL }] Role 15

[{ DB1 }] Disability Information 3

[{ OBX }] Observation/Result 7

[{ AL1 }] Allergy Information 3

[{ DG1 }] Diagnosis Information 6

[ DRG ] Diagnosis Related Group 6

[{ --- PROCEDURE begin

PR1 Procedures 6

Chapter 3: Patient Administration

Health Level Seven, Version 2.5 © 2003. All rights reserved Page 3-77

Final Standard. July 2003.

facilities) or by a government entity, for example a nationally assigned unique individual identifier. While

a facility is usually an assigning authority, not all assigning authorities are facilities. Therefore, the fourth

component is referred to as an assigning authority, but retains backward compatibility using the construct of

the HD data type (see the note in chapter 2). Additionally, CX data types support the use of assigning facil-

ity (HD) as the sixth component.

HL7 Attribute Table - PID - Patient Identification

SEQ LEN DT OPT RP/# TBL# ITEM# ELEMENT NAME

1 4 SI O 00104 Set ID - PID

2 20 CX B 00105 Patient ID

3 250 CX R Y 00106 Patient Identifier List

4 20 CX B Y 00107 Alternate Patient ID - PID

5 250 XPN R Y 00108 Patient Name

6 250 XPN O Y 00109 Mother’s Maiden Name

7 26 TS O 00110 Date/Time of Birth

8 1 IS O 0001 00111 Administrative Sex

9 250 XPN B Y 00112 Patient Alias

10 250 CE O Y 0005 00113 Race

11 250 XAD O Y 00114 Patient Address

12 4 IS B 0289 00115 County Code

13 250 XTN O Y 00116 Phone Number - Home

14 250 XTN O Y 00117 Phone Number - Business

15 250 CE O 0296 00118 Primary Language

16 250 CE O 0002 00119 Marital Status

17 250 CE O 0006 00120 Religion

18 250 CX O 00121 Patient Account Number

19 16 ST B 00122 SSN Number - Patient

20 25 DLN B 00123 Driver's License Number - Patient

21 250 CX O Y 00124 Mother's Identifier

22 250 CE O Y 0189 00125 Ethnic Group

23 250 ST O 00126 Birth Place

24 1 ID O 0136 00127 Multiple Birth Indicator

25 2 NM O 00128 Birth Order

26 250 CE O Y 0171 00129 Citizenship

27 250 CE O 0172 00130 Veterans Military Status

28 250 CE B 0212 00739 Nationality

29 26 TS O 00740 Patient Death Date and Time

30 1 ID O 0136 00741 Patient Death Indicator

31 1 ID O 0136 01535 Identity Unknown Indicator

32 20 IS O Y 0445 01536 Identity Reliability Code

33 26 TS O 01537 Last Update Date/Time

34 241 HD O 01538 Last Update Facility

35 250 CE C 0446 01539 Species Code

36 250 CE C 0447 01540 Breed Code

37 80 ST O 01541 Strain

38 250 CE O 2 0429 01542 Production Class Code

39 250 CWE O Y 0171 01840 Tribal Citizenship

HL7 Acknowledgment

HL7 Acknowledgment• After each message is handled the transmitter

expects an acknowledgment

HL7 Acknowledgment• After each message is handled the transmitter

expects an acknowledgment

• Transmitter will not send next message until acknowledgment (queued)

HL7 Acknowledgment• After each message is handled the transmitter

expects an acknowledgment

• Transmitter will not send next message until acknowledgment (queued)

HL7 Transports

HL7 Transports

• “Real-time HL7” accomplished using Minimum Lower Layer Protocol (MLLP)

HL7 Transports

• “Real-time HL7” accomplished using Minimum Lower Layer Protocol (MLLP)

• MLLP uses specific ASCII characters to denote the start and end of each message

HL7 Transports

• “Real-time HL7” accomplished using Minimum Lower Layer Protocol (MLLP)

• MLLP uses specific ASCII characters to denote the start and end of each message

• <SB><HL7 MESSAGE><EB><CR>

HL7 Transports

• “Real-time HL7” accomplished using Minimum Lower Layer Protocol (MLLP)

• MLLP uses specific ASCII characters to denote the start and end of each message

• <SB><HL7 MESSAGE><EB><CR>

• “Batch HL7” accomplished using text files and any available file transfer protocol

HL7 Tools

Integration Engine

Integration Engine

• Act as a router of messages

Integration Engine

• Act as a router of messages

• Filter messages

Integration Engine

• Act as a router of messages

• Filter messages

• Transform messages

MIRTH

MIRTH

• An open source HL7 integration engine

MIRTH

• An open source HL7 integration engine

• Handles HL7 2.x messages

MIRTH

• An open source HL7 integration engine

• Handles HL7 2.x messages

• Transports: MLLP, directory, JMS

MIRTH

• An open source HL7 integration engine

• Handles HL7 2.x messages

• Transports: MLLP, directory, JMS

• Transformation and filtering using Javascript E4X

Nule.org HL7 Browser

• Open source HL7 interface simulator

• An HL7 interface simulator and browser

• Inbound and outbound HL7 interfaces

How we use these tools

MIRTH RODS

Hospital

Hospital

Hospital

How we use these tools

MIRTH RODS

Hospital

Hospital

Hospital

How we use these tools

MIRTH RODS

Hospital

Hospital

Hospital

Hands-on Lessons

Lesson 1: SetupSimulation Environment

Lesson 2Route messages

Lesson 3Filter messages

Lesson 4Delete fields

Lesson 5Transform fields

top related