0% found this document useful (0 votes)
117 views9 pages

AerC-3 - LIS Protocol V

Uploaded by

dongmark
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views9 pages

AerC-3 - LIS Protocol V

Uploaded by

dongmark
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

www.aehealthgroup.

com
Do Ahead of the Illness!

1. Overview
The LIS communication function between the analyzer and the PC in laboratory through Ethernet
or RS-232, including sending analysis results to lab PC.
This communication protocol is defined based on the HL7 Standards. HL7 is a series of electronic
data exchange standards for healthcare industry, which is originally defined by the US and is now
adopted worldwide. This protocol is defined based on HL7 v2.3.1. For details of HL7 standards,
see HL7 Interface Standards Version 2.3.1.

2. HL7 Protocol Grammar


2.1 Message Constructing Principles
Every HL7 message consists of several segments, each of which ends up with the <CR> (0x0D).
Each segment consists of the segment name of three characters and a number of fields, and each
field consists of some components and subcomponents. For each message, the delimiters of the
fields, components and subcomponents are defined in the MSH segment.
E.g.
MSH|^~\&|||||20181231235941||ORU^R01|2|P|2.3.1||||||UNICODE
among which:
The five characters following MSH define the delimiters used between fields, components and
subcomponents. Although they can be any non-text characters, HL7 standard recommends you
use the characters in the table below:
Table 1 HL7 Delimiters
Character Meaning
| Field delimiter
^ Component delimiter
& Subcomponent delimiter
~ Repetition delimiter
\ ESC

The first two fields of MSH contain all the delimiters. Some fields behind are null because they are
optional and not used by AEHEALTH HL7 interface. Details about field definition and selection will
be stated in the following sections.
For message of any type, the segments behind MSH appear in a fixed order. The order will be
described in the following sections and the following grammar is used to organize the segments in
proper order.
[ ] encloses optional segments.
{ } encloses segments which can repeat once or more.
Do Ahead of the Illness!

2.2 Principles of Escape Character Conversion


For the field data of ST, TX, FT, and CF, etc. delimiters may be used in strings like remarks,
clinical diagnosis and customized gender etc. When coding, the delimiters in the original strings
shall be converted to escape sequence; which is restored in decoding. The principles for escape
character conversion for HL7 interface are as follows:
ESC Sequence Original Character
\F\ Field delimiter
\S\ Component delimiter
\T\ Subcomponent delimiter
\R\ Repetition delimiter
\E\ Escape delimiter
\.br\ <CR>, segment end character
Note: the "\" in the escape sequence represents the ESC delimiter, whose value is defined in the
MSH segment.

3. HL7 Low-Level Message Protocol


HL7 of high-level protocol is based on messages. The function of terminating the message is not
provided. In order to determine the message boundary, the MLLP low-level protocol is used (see
HL7 Interface Standards Version 2.3.1.).
Communication Level
Messages are transmitted in the following format:
<SB> ddddd <EB><CR>
among which:
<SB> = Start Block character (1 byte)
ASCII <VT>, i.e. , <0x0B>. Do not confuse with the SOH or STX character in ASCII.
ddddd = Data (variable number of bytes)
ddddd is the effective data of HL7 message and expressed in the form of string. For the strings
used in the HL7 interface messages of the DMU, the UTF-8 code is used.
<EB> = End Block character (1 byte)
ASCII <FS>, i.e.<0x1C>. Do not confuse with the ETX or EOT character in ASCII.
<CR> = Carriage Return (1 byte)
ASCII carriage return character, i.e. <0x0D>.

Note
Each segment of HL7 message starts with ASCII<VT>(0x0B)and ends with ASCII<CR>(0x0D).
Each HL7 message ends with ASCII<FS>(0x1C), the end of each HL7 message is followed one
ASCII<CR>(0x0D).
Do Ahead of the Illness!

Example:
0x0B message segment 1 0x0D
0x0B message segment 2 0x0D
0x0B message segment 3 0x0D
……
0x0B message segment n 0x0D
0x1C
0x0D
…...
Note (Very important):
The time interval when analyzer continuously is sending HL7 message is 500ms.

4. Mostly Used Messages:


4.1 MSH
MSH (Message Header) segment contains basic information of HL7 messages, including
delimiter value, message type and coding method etc. It is the first field of every HL7 message.
Message example:

MSH|^~\&|||||20181231235941||ORU^R01|2|P|2.3.1||||||UNICODE
Note
Segment 10 (2) : it is used to identify one message, AEHEALTH analyzer identify every HL7
message continuously, incrementally from 0, such as 0,1, 2…

4.2 MSA
MSA(Message Acknowledgement) includes confirmation information for message.
MSA example:
MSA|AA|2
Used segment definition as below:
Segment 1 : AA - Accept, AE - Error, AR - Reject
Segment 2 : Message Control ID, it is the same as Segment 10 of MSH.
Note
Receiving end (Computer) should send MSA once it receives MSH from Sending end
(AEHEALTH analyzer) according to rules above.

5. Mostly Used Definitions of HL7 Segment


5.1 PID
Do Ahead of the Illness!
PID(Patient Identification)segment contains the patient demographic information.
Message example:
PID|1||NK123^^^^MR||^Zhangsan|||M
Note
 Segment 1 (1) : it is used to identify different PID segment of each HL7 message,
AEHEALTH analyzer codes different PID segment of each HL7 message continuously,
incrementally from 1, such as 1, 2, 3…
 Segment 3 (NK123^^^^MR) : It is used to be case ID in sample testing results. AEHEALTH
analyzer sends Case ID of testing result using this segment, it is empty if user do not enter
the information.
 Segment 5 (^Zhangsan) : It is used to be patient name in sample testing results. AEHEALTH
analyzer sends patient name of testing result using this segment, it is empty if user do not
enter the information.
 Segment 8 (M) : It is used to be patient gender in sample testing results. AEHEALTH
analyzer sends patient name gender of testing result using this segment, sending M means
Male, sending F means Female, sending empty character if the gender is unknown.

5.2 PV1
PV1(Patient Visit)segment contains the patient visit information.
Message example:
PV1|1|Neike|^^BEDN123
Note
 Segment 1 (1) : it is used to identify different PV1 segment of each HL7 message,
AEHEALTH analyzer codes different PV1 segment of each HL7 message continuously,
incrementally from 1, such as 1, 2, 3…
 Segment 2 (Neike) : It is used to be patient type in sample testing results. AEHEALTH
analyzer sends Department information of testing result using this segment, it is empty if user
do not enter the information.
 Segment 3 (^^BEDN123) : It is used to be position information of patient in sample testing
results. AEHEALTH analyzer sends Bed No. information of testing result using this segment,
it is empty if user do not enter the information.

5.3 OBR
OBR(Observation Request)segment contains the test report information.
Message example:

OBR|1||WK001|00001^Automated
Do Ahead of the Illness!
Count^99MRC|||20180408103851|||Zhangsan||||||||||||||HM||||Lisi||||Wangwu
Note
 Segment 1 (1) : it is used to identify different OBR segment of each HL7 message,
AEHEALTH analyzer codes different OBR segment of each HL7 message continuously,
incrementally from 1, such as 1, 2, 3…
 Segment 3 (WK001) : It is used to be sample number in sample testing results. AEHEALTH
analyzer sends Code information of testing result using this segment, it is empty if user do not
enter the information.
 Segment 7 (20180408103851) : It is used to be testing time in sample testing results.
AEHEALTH analyzer sends testing time of testing result using this segment.
 Segment 10 (Zhangsan) : It is used to be consigner information in sample testing results.
AEHEALTH analyzer sends Consigner information of testing result using this segment, it is
empty if user do not enter the information.
 Segment 28 (Lisi) : It is used to be inspector information in sample testing results.
AEHEALTH analyzer sends Inspector information of testing result using this segment, it is
empty if user do not enter the information.
 Segment 32 (Wangwu) : It is used to be operator information in sample testing results.
AEHEALTH analyzer sends Operator information of testing result using this segment, it is
empty if user do not enter the information.

5.4 OBX
OBX(Observation/Result)segment contains the parameter information of each test result.
Message example:
OBX|1|NM|6690-2^WBC^LN||8.0|10*9/L|4.00-10.00||||F
Note
 Segment 1 (1) : it is used to identify different OBX segment of each HL7 message,
AEHEALTH analyzer codes different OBX segment of each HL7 message continuously,
incrementally from 1, such as 1, 2, 3…
 Segment 2 (NM) : It is used to be data type of sample testing results.
 Segment 3 (6690-2^WBC^LN) : It is used to be identification of test item.
 Segment 5 (8.0) : It is used to be testing results.
 Segment 6 (10*9/L) : It is used to be unit of testing results, it can be empty.
 Segment 7 (4.00-10.00) : It is used to be reference range of testing results, it can be empty.
 Segment 8 : Identification of testing result.
 Segment 11 (F) : It is used to be status of testing results.
Do Ahead of the Illness!

6. Complete Sample Message Examples


The message example below shows the communication process of sample data.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MSH|^~\&|||||20181231235941||ORU^R01|2|P|2.3.1||||||UNICODE
PID|1||NK123^^^^MR||^Zhangsan|||M
PV1|1|Neike|^^BEDN123
OBR|1||WK001|00001^Automated Count^99MRC|||20180408103851|||Zhangsan||||||||||||||HM||||Lisi||||Wangwu
OBX|1|IS|08001^Take Mode^99MRC||O||||||F
OBX|2|IS|08002^Blood Mode^99MRC||W||||||F // Sampling mode:W - Whole blood;P – Pre-diluted
OBX|3|IS|08003^Test Mode^99MRC||CBC||||||F
OBX|4|IS|01002^Ref Group^99MRC||Common||||||F
OBX|5|NM|30525-0^Age^LN||20|yr|||||F // Age unit:yr – year, mo – month, d - day
OBX|6|ST|01001^Remark^99MRC||Remark||||||F
OBX|7|NM|6690-2^WBC^LN||***.*|10*9/L|***.*-***.*|N|||F // Testing result, unit、reference range and identification of testing result:
OBX|8|NM|731-0^Lymph#^LN||***.*|10*9/L|***.*-***.*|N|||F // N – Normal
OBX|9|NM|10027^Mid#^99MRC||***.*|10*9/L|***.*-***.*|N|||F // H – Higher than upper limit of reference range
OBX|10|NM|10028^Gran#^99MRC||***.*|10*9/L|***.*-***.*|N|||F // L – Less than lower limit of reference range
OBX|11|NM|736-9^Lymph%^LN||***.*|%|***.*-***.*|N|||F // B – WBC/RBC/HGB bubble
OBX|12|NM|10029^Mid%^99MRC||***.*|%|***.*-***.*|N|||F // C – WBC/RBC clog
OBX|13|NM|10030^Gran%^99MRC||***.*|%|***.*-***.*|N|||F // F – HGB fault
OBX|14|NM|789-8^RBC^LN||*.**|10*12/L|*.**-*.**|N|||F
OBX|15|NM|718-7^HGB^LN||***|g/L|***-***|N|||F
OBX|16|NM|4544-3^HCT^LN||**.*|%|**.*-**.*|N|||F
Do Ahead of the Illness!
OBX|17|NM|787-2^MCV^LN||***.*|fL|***.*-***.*|N|||F
OBX|18|NM|785-6^MCH^LN||***.*|pg|***.*-***.*|N|||F
OBX|19|NM|786-4^MCHC^LN||****|g/L|****-****|N|||F
OBX|20|NM|788-0^RDW-CV^LN||**.*|%|**.*-**.*|N|||F
OBX|21|NM|21000-5^RDW-SD^LN||***.*|fL|***.*-***.*|N|||F
OBX|22|NM|777-3^PLT^LN||****|10*9/L|****-****|N|||F
OBX|23|NM|32623-1^MPV^LN||**.*|fL|**.*-**.*|N|||F
OBX|24|NM|32207-3^PDW^LN||**.*||**.*-**.*|N|||F // The unit of testing result can be empty.
OBX|25|NM|10002^PCT^99MRC||*.***|%|*.***-*.***|N|||F
OBX|26|NM|10013^P-LCC^99MRC||****|10*9/L|****-****|N|||F
OBX|27|NM|10014^P-LCR^99MRC||***.*|%|***.*-***.*|N|||F
OBX|28|IS|12045^Multiple alerts^99MRC||T||||||F // Alarm identification of WBC histogram Rm(there is more than 2 R alarms):T – Ture, F – False
OBX|29|IS|12046^Lym left region alert^99MRC||T||||||F // Alarm identification of WBC histogram R1:T – Ture, F – False
OBX|30|IS|12047^Lym mid region alert^99MRC||T||||||F // Alarm identification of WBC histogram R2:T – Ture, F – False
OBX|31|IS|12048^Mid gran region alert^99MRC||T||||||F // Alarm identification of WBC histogram R3:T – Ture, F – False
OBX|32|IS|12049^Gran right region alert^99MRC||T||||||F // Alarm identification of WBC histogram R4:T – Ture, F – False
OBX|33|IS|12050^Plt rbc boundary blur^99MRC||T||||||F // Alarm identification of PLT histogram Pm:T – Ture, F – False
OBX|34|NM|15010^WBC Lym left line^99MRC||1||||||F // Abscissa of the first line(from left to right)WBC histogram
OBX|35|NM|15011^WBC Lym Mid line^99MRC||2||||||F // Abscissa of the second line(from left to right)WBC histogram
OBX|36|NM|15012^WBC Mid Gran line^99MRC||3||||||F // Abscissa of the third line(from left to right)WBC histogram
OBX|37|NM|15013^WBC Gran right line^99MRC||4||||||F // Abscissa of the fourth line(from left to right)WBC histogram

OBX|38|ED|15000^WBC Histogram Binary^99MRC||^Application^Octer-stream^000111022003||||||F


Do Ahead of the Illness!
// WBC histogram data, length:3x256 ASCII characters(0-9)
OBX|39|NM|15051^RBC Histogram Left Line^99MRC||5||||||F // Abscissa of the first line(from left to right)RBC histogram
OBX|40|NM|15052^RBC Histogram Right Line^99MRC||6||||||F // Abscissa of the second line(from left to right)RBC histogram
OBX|41|ED|15050^RBC Histogram Binary^99MRC||^Application^Octer-stream^000111022003||||||F
// RBC histogram data, length:3x256 ASCII characters(0-9)
OBX|42|NM|15111^PLT Histogram Left Line^99MRC||7||||||F // Abscissa of the first line(from left to right)PLT histogram
OBX|43|NM|15112^PLT Histogram Right Line^99MRC||8||||||F // Abscissa of the second line(from left to right)PLT histogram
OBX|44|ED|15100^PLT Histogram Binary^99MRC||^Application^Octer-stream^000111022003||||||F
// PLT histogram data, length:3x256 ASCII characters(0-9)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

The End

You might also like