Difference between revisions of "HL7"

From Clinfowiki
Jump to: navigation, search
m (Hl7 moved to HL7)
(No difference)

Revision as of 21:25, 1 March 2011

Founded in 1987, the Health Level Seven (HL7) protocol and corporation behind it are a standard means for exchanging clinical data. Currently in its third version, this standard describes a framework for the exchange of messages related to patient registrations, lab results, pharmaceutical orders, inventory, billing, et cetera between and within care-delivery systems and organizations. “Health Level Seven” is an allusion to the Open Systems Interconnection (OSI) model’s “Level Seven”, the conceptual network layer at which data is exchanged between applications and the lower networking layers and infrastructure. As such, the protocol accepts data from disparate applications, packages it into an appropriately formatted message type with various header and identifying information, and facilitates its transmission across TCP/IP connections between machines hosting these applications.

Currently the most common iteration of the HL7 standard is version 2.x. Messages in this version rely on “triggers” to define the exchange of data. Specific message types exist to signal Admissions, Discharges, and Transfers (ADTs), lab results (ORU), medication administration (RAS) events, et cetera. Upon, e.g., admission of a patient to a hospital, the registration system generates and populates an “ADT” message, of type “A01”. This message is populated with demographic information about the patient recently admitted, to include name and address, next-of-kin information, allergies, and related/relevant diagnoses. Each of these bundles of information is relayed inside an ordered set of reusable “segment” of the message; e.g., Patient IDentifiers are placed inside a segmented component of the ADT message called a “PID segment”. Discrete pieces of information are separated by “delimiters”, which themselves are meaningful; e.g., “…|LastName^FirstName|…|DateOfBirth|Sex|…” might represent a portion of the PID segment, and is delimited using the ‘|’ character to set apart conceptual entities (e.g., name and date-of-birth), and the ‘^’ characer to set apart components of those entities (e.g., first and last name). Some of these components and fields are allowed to repeat, such that a single lab result message may contain the results of several ordered labs for a given patient. The various segments which comprise the HL7 message are then prefixed with a MeSsage Header (MSH) segment, describing the message itself, (optionally) an EVeNt (EVN) segment, describing the event which “triggered” that message, and then transmitted through a TCP/IP connection to a receiving application’s interface server where the message is parsed into component values and consumed.

An example of an HL7 message follows. Note how quickly you can guess the meanings of the fields and even segments within this message signaling the admission of a patient:

 MSH|^~\&|||||200501100455||ADT^A01|ADT66561|P|2.3||||||| 
 PID|||10006579||DUCK^DONALD D||19241010|M|||111^QUACK ST^^FOWL^CA^99999^^R||8885551212|||||40007716|123121234
 PV1||I|PREOP^101^1||||37^DISNEY^WALT|||||||||||I||||||||||||||||||||||||||200501100452 
 DG1|1|||OSTEOARTHROS NOS-L/LEG


Submitted by Kit Crafton