HL7 Protocol for Chemical Analyzers
HL7 Protocol for Chemical Analyzers
PC set sends “MSG_ERGODIC” command to the analyzer to get all the packets.
“*” indicates a different place with the standard LIS protocol.
“[ ]” is optional
“{ }” is repeatable
The "OBR" section is used to transmit the medical advice and other information of the patient
sample.
No. Field name Length Description
1 Set ID – OBR 10 Distinguish between different “OBR” fields
2 Placer Order Number 22 Sample bar code
3 Filler Order Number 22 Sample test number
4 Universal Service ID 200 (MNCHIP^CelercareM1)
5 Priority 2 Whether emergency, yes “Y”, no “N”
6 Requested Date/time 26 Reserve
7 Observation Date/Time 26 Test time
Observation End
8 26 Reserve
Date/Time
9 Collection Volume 20 Reserve
10 Collector Identifier 60 Reserve
11 Specimen Action Code 1 Reserve
12 Danger Code 60 Reserve
13 Relevant Clinical Info 300 Relevant Clinical Info of patient
Specimen Received
14 26 Specimen Received Date/Time
Date/Time
15 Specimen Source 300 Sample type: whole blood, plasma, serum
16 Ordering Provider 120 Fetch Doctor
Order Callback Phone
17 40 Fetch Department
Number
18 Placer Field 1 60 “icterus”, “hemolysis”, “lipemia”
19 Placer Field 1 60 Blood bag number
20 Filler Field 1 60 Attending doctor
21 Filler Field 2 60 Treatment department
Result Rpt/Status
22 26 Reserve
Change – Date/Time
23 Charge to Practice 40 Reserve
Diagnostic Serv Sect
24 10 Reserve
ID
25 Result Status 1 Reserve
26 Parent Result 200 Reserve
27 Quantity/Timing 200 Reserve
28 Result Copies To 150 Reserve
29 Parent 150 Reserve
30 Transportation Mode 20 Reserve
31 Reason for Study 300 Reserve
Principal Result Reserve
32 200
Interpreter
Assistant Result Reserve
33 200
Interpreter
34 Technician 200 Reserve
35 Transcriptionist 200 Reserve
36 Scheduled Date/Time 26 Reserve
Number of Sample Reserve
37 4
Containers
Transport Logistics Reserve
38 60
of Collected Sample
39 Collector’s Comment 200 Reserve
Transport Arrangement Reserve
40 60
Responsibility
41 Transport Arranged 30 Reserve
42 Escort Required 1 Reserve
Planned Patient Reserve
43 200
Transport Comment
Ordering Facility Reserve
44 60
Name
Ordering Facility Reserve
45 106
Address
Ordering Facility Reserve
46 48
Phone Number
Ordering Provider Reserve
47 106
Address
“OBX” is used to send the test results. One patient can have more than one “OBX”.
No. Field name Length Description
1 Set ID – OBX 10 Distinguish between different “OBX” fields
2 Value Type 3 “NM” (numeric) represents quantitative projects
3 Observation Identifier 590 Observation identifier, used as test item ID
4 Observation Sub-ID 20 Observation Sub-ID,used as test item name
5 Observation Value 65536 Test result
6 Units 90 Unit of test items
7 References Range 90 References Range
Determine whether the test results in the reference
range
8 Abnormal Flags 5 “L” - Low
“H” - High
“N” - normal
9 Probability 5 Reserve
Nature of Abnormal
10 2 Reserve
Test
11# Observe Result Status 1 Reserve
Date Last Observe
12 26 Reserve
Normal Values
User Defined
13 20 Reserve
Access Checks
Date/Time of the
14 28 Test time
Observation
15 Producer's ID 60 Reserve
Responsible
16 80 Responsible Observer, test physician
Observer
17 Observation Method 60 Reserve
18* Lower limit 20 Linear lower bound
19* Upper limit 20 Linear upper bound
The “QAK” section contains some information about the following query response:
No. Field name Length Description
1 Query Tag 32 (SR), representing the sample information
“OK”: Data found, no errors
“NF”: No data found, no errors
2 Query Response Status 2
“AE”: Application error
“AR”: Application reject
Below is the structure of fields used by “QRD” section. “(aaa)” is expressed as a fixed value
“aaa”.
No. Field name Length Description
1 Query Date/Time 26 The query time, call system time
2 Query Format Code 1 (R)
3 Query Priority 1 (D)
4 Query ID 10 Query ID
5 Deferred Response Type 1 Reserve
Deferred Response
6 26 Reserve
Date/Time
7 Quantity Limited Request 10 (RD)
8 Who Subject Filter 60 Sample bar code
9 What Subject Filter 60 (OTH)
What Department
10 60 Reserve
Data Code
What Data Code Value
11 20 Reserve
Qual
12 Query Results Level 1 Reserve
“QRF” and “QRD” sections are together used to further refine the original query content.
“(aaa)” is expressed as a fixed value “aaa”.
No. Field name Length Description
1 Where Subject Filter 20 (CelercareM1)
When Data Start
2 26 Starting Specimen Received Date/Time
Date/Time
When Data End
3 26 Ending Specimen Received Date/Time
Date/Time
4 What User Qualifier 60 Reserve
Other QRY Subject
5 60 Reserve
Filter
Which Date/Time
6 12 (RCT)
Qualifier
Which Date/Time
7 12 (COR)
Status Qualifier
Date/Time Selection
8 12 (ALL)
Qualifier
When Quantity/Timing
9 60 Reserve
Qualifier
The “DSP” section is used to give a display sample information and patient information,
which can be repeated.
No. Field name Length Description
1 Set ID - DSP 4 “DSP” section ID
2 Display Level 4 Display level
3 Data Line 300 300 Data rows, the query contents
4 Logical Break Point 2 Logical break point
5 Result ID 20 Result ID
Remarks: The third field "Line Data" is used to display the sample information downloaded
from the LIS server. The details of the sample information are shown in the following table.
No. Content Type and value
1 Admission Number String
2 Bed Number String
3 Patient Name String
4 Date of Birth String, format is: “YYYYMMDDHHmmSS”
(year/month/day/hour/minute/second) for example:
20061122130540. All time fields are in this format.
5 Sex String, Sex: male “M”; female “F”; Other “O”
6 Patient Alias String, blood type: “O”, “A”, “B”, “AB”
7 Race Reserve
8 Patient Address String
9 County Code String
10 Home Phone Number String
11 Business Phone Number Reserve
12 Primary Language Reserve
13 Marital Status Reserve
14 Religion Reserve
15 Patient Account Number String, “outpatient”, “inpatient”, “Other”
16 Social Security Number String
17 Driver License Number String, Charge type: “own”, “insurance”
18 Ethnic Group String
19 Birth Place String
20 Nationality String
21 Bar Code String
22 Sample ID int
23 Sample Time String
String, Whether emergency, yes “Y”, no “N”, blank
24 Priority
“N”.
25 Collection Volume Float, blank
26 Sample Type String, “serum”, “plasma”, “whole blood”
27 Fetch Doctor String
28 Fetch Department String
Test ID^TestName^Unit^Normal String^string^string^string
29
Range
The “DSC” section is used to indicate the last data in the sending sample information.
No. Field name Length Description
1 Continuation pointer 180 Continuation pointer
Note: because there is only sample information, the “DSC” section in the “DSR” message is
empty.
The whole data packet is transmitted to the analyzer by data flow. After received the
“DSR^Q03” message, if the data is complete, the analyzer will make a reply confirmation. The
message is:
<SB>MSH|^~\&|MNCHIP|CelercareM1|||20121026132420||ACK^Q03|1|P|2.3.1||||||ASCII|||<
CR>
MSA|AA|1|Message accepted|||0|<CR>ERR|0|<CR><EB><CR>
If the data is not correct, the analyzer will send the error code. The message is:
<SB>MSH|^~\&|MNCHIP|CelercareM1|||20121026132420||ACK^Q03|1|P|2.3.1||||||ASCII|||<
CR>
MSA|AE|1|Segment sequence error|||100|<CR> <EB><CR>
When received the error code, LIS will resend the data.
(2) After the test being done, the test data will be sent to LIS, using the "ORU^R01" message, the
test data is as follows:
Field name Information data
Patient Identifier List 8
Patient Name John Smith
Date/Time of Birth 2005.10.03
Sex male
Patient type Inpatient
Sample type Serum
Fetch Department Surgery
Test item name TP, ALB, TBIL, ALT, AST, GGT, UREA, CRE, GLU
Test result 72.6, 50.5, 15.0, 5.1, 10.3, 53.3, 4.23, 59.7, 2.51
Unit of test items g/L, g/L, μmol/L, U/L, U/L, U/L, mmol/L, μmol/L, mmol/L
References Range 64-83, 34-48, 3.4-17.1, 5-40, 8-40, 11-50, 2.9-8.2, 54-109, 3.9-6.1
Linear range 0-1000, 0-1000, 0-1000, 0-1000, 0-1000, 0-1000, 0-1000, 0-1000, 0-1000
The “ORU^R01” message which the analyzer sends to LIS is:
<SB>MSH|^~\&|MNCHIP|CelercareM1|||20121026132318||ORU^R01|1|p|2.3.1||||0||ASCII|||
<CR>
PID|1||8||John Smith||20051003000000|M||||||||||Inpatient|||||||||||||<CR>
OBR|1|||MNCHIP^CelercareM1|||20121026132153||||||||Serum||Surgery|||||||||||||||||||||||||||||||<CR>
OBX|1|NM||TP|72.6|g/L|65-85|N|||||72.6|20121026132153||||0|1000|<CR>
OBX|2|NM||ALB|50.5|g/L|40-55|N|||||50.5|20121026132153||||0|1000|<CR>
OBX|3|NM||GLO|27.4|g/L|20-40|N|||||27.4|20121026132153||||0|1000|<CR>
OBX|4|NM||A/G|1.6/1||1.2-2.4/1|N|||||1.6/1|20121026132153||||0|1000|<CR>
OBX|5|NM||TBIL|15.1|μmol/L|3.4-17.1|N|||||15.1|20121026132153||||0|1000|<CR>
OBX|6|NM||ALT|20|U/L|9-50|N|||||20|20121026132153||||0|1000|<CR>
OBX|7|NM||AST|16.3|U/L|15-40|N|||||16.3|20121026132153||||0|1000|<CR>
OBX|8|NM||GGT|63.3|U/L|10-60|H|||||63.3|20121026132153||||0|1000|<CR>
OBX|9|NM||UREA|4.23|mmol/L|2.9-8.2|N|||||4.23|20121026132153||||0|1000|<CR>
OBX|10|NM||CRE|90|μmol/L|54-109|N|||||90|20121026132153||||0|1000|<CR>
OBX|11|NM||GLU|3.63|mmol/L|3.9-6.1|L|||||3.63|20121026132153||||0|1000|<CR><EB><C
R>
If the data is not correct, LIS will send the error code. The message is:
<SB>MSH|^~\&|||MNCHIP|CelercareM1|20121026132420||ACK^Q03|1|P|2.3.1||||||ASCII|||<
CR>
MSA|AE|1|Segment sequence error|||100|<CR> <EB><CR>
When received the error code, the analyzer will resend the data.