0% found this document useful (0 votes)
30 views27 pages

ELite 3 - Serial Communication Protocols

Uploaded by

Blonde Tail
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)
30 views27 pages

ELite 3 - Serial Communication Protocols

Uploaded by

Blonde Tail
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/ 27

Elite Communication Protocols

ELITE COMMUNICATION PROTOCOLS


REVISION HISTORY

Revision Change Edited by Effective date


01 First revision (all protocols included) DEC-14-2012

1/27 2012.01
Elite Communication Protocols

CONTENTS

General Description of protocols ............................................................................................................................ 4

Format of Packages Sent by the analyzer ........................................................................................................... 5

Format of Acknowledge of the Receiver ............................................................................................................. 5

Detailed Description of Packages ........................................................................................................................ 6

INIT package .................................................................................................................................................... 6

DATA package ................................................................................................................................................. 6

RBC, WBC and PLT package ............................................................................................................................. 8

XML record descriptor package ...................................................................................................................... 9

FULL record package ..................................................................................................................................... 11

Setting up the Communication Link ...................................................................................................................... 12

Serial Link .......................................................................................................................................................... 12

Setup of analyzers ......................................................................................................................................... 12

USB Link............................................................................................................................................................. 12

Setting up the Driver ..................................................................................................................................... 13

Setup of Analyzers ......................................................................................................................................... 13

ETHERNET.......................................................................................................................................................... 13

Setup of Analyzers ......................................................................................................................................... 13

Serial Protocol 1.0 ................................................................................................................................................. 14

Serial Protocol 1.7 ................................................................................................................................................. 16

Serial Protocol 2.20, 2.23 ...................................................................................................................................... 18

Serial Protocol 3.0 ................................................................................................................................................. 18

Serial Protocol 3.1 ................................................................................................................................................. 19

Introduction ...................................................................................................................................................... 19

Characters and basic structure.......................................................................................................................... 19

Details of the 3.1 protocol ................................................................................................................................ 20

HL7 Protocol (HL7v2.5) ......................................................................................................................................... 22

2/27 2012.01
Elite Communication Protocols

ELite 5 sending measurement data to the server ............................................................................................. 22

ELite 5 receiving work list from the server ........................................................................................................ 23

Bidirectional example of HL7 Messages ............................................................................................................ 24

3/27 2012.01
Elite Communication Protocols

GENERAL DESCRIPTION OF PROTOCOLS

Protocols ELite 3 ELite 3 ELite 5


supported (60) (80)
1.0 ☺ ☺
1.7 ☺ ☺
2.20 ☺ ☺
2.23 ☺ ☺
3.0 ☺ ☺
3.1 ☺ ☺ ☺
HL7 ☺

Software running on Erba Lachema hematology analyzers is able to make serial connection link to a receiver
device (computer) by connecting to the serial port of the instrument (ELite5 also supports Ethernet connection
– see relevant section). If Serial Communication Speed (in general: Utilities / Settings / Customize / General
Settings) Baud Rate setting is set to a valid value (other than “Offline”), the analyzer will try to initiate a
communication sequence.

The analyzer initiates serial communication, the receiver must respond to this request.

The hardware protocol is: 8 data bit, 1 stop bit, no parity. If the other side is not responding within 1 second,
the analyzer will repeat the transmission twice, but if still no response, the other side will be supposed to be
not ready to receive data, and thus the analyzer will not try to communicate any more.

From this state it can wake up by receiving an <ENQ> (ASCII code 5) character from the other side, and The
analyzer will immediately respond with an <ACK> (ASCII code 6). From this point the analyzer will send data if it
is ready for transmission.

The communication is based on packages. There are 7 package types:

- INIT package: Device identification, software version, current date and time.

- DATA package: Sample and patient information, measured parameters, and markers.

- RBC package: Sample information, RBC histogram.

- WBC package: Sample information, WBC histogram.

- PLT package: Sample information, PLT histogram.

- XML file with FULL record structure information

- FULL record transmission

The communication sequence is always started with an INIT package. If the link is successful, The analyzer will
send DATA package, and the receiver can request RBC, WBC and PLT packages at acknowledge.

If serial communication protocol is set to version 3.0 then the analyzer will send XML and FULL packages.

4/27 2012.01
Elite Communication Protocols

Special characters used in the communication:

Character ASCII code


<SOH> 1
<STX> 2
<ETX> 3
<EOT> 4
<ENQ> 5
<ACK> 6
<HT> 9
<LF> 10
<NAK> 21
<SPACE> 32

FORMAT OF PACKAGES SENT BY THE ANALYZER

The packages sent by the analyzer are always between a <SOH> and <EOT> character, and they consist of
header, data and tail. The header consists of a package identifier and a package type descriptor. The tail
includes the checksum. Typical format:

<SOH>MID CMD<STX>MESSAGE<ETX>CHKSUM<EOT>

MID: Message ID, one capital letter between ’ A’ and ’ Z’

CMD: Command, one capital letter – package type descriptor

• ’I’ for INIT;

• ’D’ for DATA;

• ’R’ for RBC;

• ’W’ for WBC;

• ’P’ for PLT.

• ‘X’ for XML descriptor

• ‘F’ for full record transmission

MESSAGE: the message consists of ASCII characters (between 32..128) CHKSUM: two hexadecimal digits of a
one-byte checksum which contains the lower byte of the sum of characters between the <SOH> and <ETX>
(incl. those, too).

FORMAT OF ACKNOWLEDGE OF THE RECEIVER

The receiver must acknowledge transmission by the following message:

<ACK>CMD MID

CMD: the type of the next package to send – this makes possible to a request for histograms. If no more
packages are required, <SPACE> should be sent.

MID: the identifier of the package that acknowledged by this message.

5/27 2012.01
Elite Communication Protocols

If receiving of the message was not successful, <NAK> should be sent, and The analyzer will repeat the last
package.

The receiver has approx. 1 second to reply. Otherwise The analyzer will repeat the last transmission, twice
automatically. But if still no response after 3 trials, The analyzer will not start to communicate any more, even if
there is data to send (see General Description).

DETAILED DESCRIPTION OF PACKAGES

The packages sent by the analyzer are placed between a header and a tail. There are 5 main types of them:
INIT, DATA and histogram packages, XML descriptor, and FULL record. The histogram package can be: RBC,
WBC, and PLT. Format is the same, only the type descriptor differs.

INIT PACKAGE

The analyzer sends the general identifiers by this package during initiation of a communication:

DEVICE<HT>VERSION<HT>DATE<HT>TIME

DEVICE: device identifier: „analyzer model name”

VERSION: version of the software, e.g. „x.y”

DATE: date in YYYYMMDD format

TIME: time in HHMMSS format

DATA PACKAGE

This package contains sample and patient data, the measured parameters and the markers of histograms. One
data element consists of two items: name and value, which are separated by a <HT> character, and closed by
<LF>:

SNO<HT>152<LF> internal identifier

DATE<HT>19980715<LF> date of measurement (YYYYMMDD)

TIME<HT>114500<LF> time of measurement (HHMMSS)

PID<HT>2<LF> patient identifier (0..9999)

NAME<HT>JOE SMITH<LF> patient name (max. 32 characters)

MODE<HT>0<LF> patient type


1
WRN<HT>0<LF> warning bits (32-bit hexadecimal)
2
PM1<HT>12<LF> PLT lower marker
2
PM2<HT>204<LF> PLT upper marker

6/27 2012.01
Elite Communication Protocols

2
RM1<HT>51<LF> RBC lower marker
2
WM1<HT>23<LF> WBC upper marker
2
WM2<HT>57<LF> WBC LYM-MID marker
2
WM3<HT>92<LF> WBC MID-GRA marker

PARN<HT>22<LF> number of parameters to send


3 4
P01<HT> 6.6<HT>0<LF> first parameter ID , value and flag

P02<HT>4.29<HT>0<LF> second parameter ID, value and flag

...

P22<HT> 8.2<HT>0<LF> last parameter ID, value and flag

Remarks:
1
Position and meaning of the warning flags:

Bit Mask Letter Meaning


0 0x00001 c, q RBC/PLT clogging.
3 0x00008 m RBC/PLT Coincidence is too high. Linearity error.
6 0x00040 b RBC Blank is high, or no RBC blank.
7 0x00080 p PLT blank is high, or no PLT blank.
8 0x00100 C, Q WBC clogging.
11 0x00800 M, N WBC coincidence is too high. Linearity error.
14 0x04000 B WBC Blank is high, or no WBC blank.
15 0x08000 H HGB Blank is high, or no HGB blank.
16 0x1000 E No WBC three part.

The detailed description can be found in the relevant analyzer’s User’ s Manual

To connect the analyzer to a PC, use a so-called Null-Modem cable. Such cables are available commercially in
any computer shop. Below are 2 connection schemes of the Null-Modem cable:

OR

7/27 2012.01
Elite Communication Protocols

2
The markers are given in histogram channel between 0 and 255, where 0 means that the marker could not be
found.
3 9 12
The parameter IDs in The analyzer are: P01: WBC (10 /l); P02: RBC (10 /l); P03: HGB (g/l); P04: HCT (%);
9
P05: MCV (fl); P06: MCH (pg); P07: MCHC (g/l); P08: PLT (10 /l); P09: PCT (%); P10: MPV (fl); P11: PDWsd (fl);
9 9 9
P12: PDWcv (%); P13: RDWsd (fl); P14: RDWcv (%); P15: LYM (10 /l); P16: MID (10 /l); P17: GRA (10 /l); P18:
LYM% (%); P19: MID% (%); P20: GRA% (%); P21: RBCtime (sec); P22: WBCtime (sec).
4
The parameter value is always 4 characters wide, spaces from left added if necessary. It can be 9999, if the
value could not be displayed in 4 digits, or ---- if the value could not be calculated because of an error.

The meaning of the parameter flags:

Flag Displayed Meaning


0 Value correct.
1 + Value high(more than upper limit)
2 - Value low(less than lower limit)
3 * Value is unreliable.
4 E Value not given because of error. Value is----.
5 Value cannot be calculated. There is no value!

RBC, WBC AND PLT PACKAGE

The format of the histogram packages are the same, they differ in type descriptor only. The package contains
the sample data (to identify the package) and the histogram.

SNO<HT>152<LF> internal identifier

DATE<HT>19980715<LF> date of measurement (YYYYMMDD)

TIME<HT>114500<LF> time of measurement (HHMMSS)

PID<HT>2<LF> patient identifier (0..9999)

CHN<HT>256<LF> number of histogram channels (256)

9<HT> value of first histogram channel

...
th
1<HT> value of 255 histogram channel

0 value of the last histogram channel

8/27 2012.01
Elite Communication Protocols

XML RECORD DESCRIPTOR PACKAGE

Each time a communication is initialized, The analyzer will send an XML file in ASCII mode. A receiver
application should be aware of this, by saving this XML file for later use.

This package contains the description of the FULL record format. FULL record format means transmission of a
record stored in The analyzer as is, in binary format. Data sent in an ‘F’ package should be interpreted
according to the description in the XML file below. Would an ‘F’ package arrive without an ‘X’ package received
earlier, receiver application can ask for the XML descriptor by sending a request for an ‘X’ package. (See WBC,
RBC, PLT histogram package request.

XML FILE SENT BY THE ANALYZER:


<DB_Struct_DAT>
<Header>
<Field name="Head" type="char" length="9"/>
<Field name="Modified" type="DateTime" length="1"/>
<Field name="Length" type="DWORD" length="1"/>
<Field name="Order" type="BYTE" length="1"/>
<Field name="Dummy1" type="BYTE" length="1"/>
<Field name="Dummy2" type="WORD" length="1"/>
<Field name="Capacity" type="WORD" length="1"/>
<Field name="RecLen" type="WORD" length="1"/>
<Field name="Dummy3" type="BYTE" length="7"/>
</Header>
<Record>
<Field name="RecNo" type="WORD" length="1" path="Measures/Measure" alias="RecNo"/>
<Field name="TimeStamp" type="DateTime" length="1" path="Measures/Measure" alias="Date"/>
<Field name="OperatorID" type="WORD" length="1" path="Measures/Measure" alias="OpID"/>
<Field name="SampleID" type="char" length="8" path="Measures/Measure" alias="SID"/>
<Field name="PatientID" type="char" length="20" path="Patient" alias="PID"/>
<Field name="Name" type="char" length="32" path="Patient" alias="Name"/>
<Field name="BirthDate" type="DateTime" length="1" path="Patient" alias="Birth"/>
<Field name="Sex" type="BYTE" length="1" path="Patient" alias="Sex" extID="Sex"/>
<Field name="Doctor" type="char" length="16" path="Measures/Measure" alias="Doctor"/>
<Field name="LimitsLow" type="float" length="23" path="Measures/Measure" alias="field_LimitLow" incr="1"/>
<Field name="LimitsHigh" type="float" length="23" path="Measures/Measure" alias="field_LimitHigh" incr="1"/>
<Field name="PatTypeName" type="char" length="20" path="Measures/Measure" alias="PatTypeName"/>
<Field name="VetMode" type="WORD" length="1" path="Measures/Measure" alias="field_VET" source="PatTypeName"/>
<Field name="HistoRBC" type="BYTE" length="256" path="Measures/Measure/field_RBCH" alias="D" extID="Histo"/>
<Field name="HistoPLT" type="BYTE" length="256" path="Measures/Measure/field_PLTH" alias="D" extID="Histo"/>
<Field name="HistoWBC" type="BYTE" length="256" path="Measures/Measure/field_WBCH" alias="D" extID="Histo"/>
<Field name="PLTlo" type="BYTE" length="1" path="Measures/Measure/field_PLTH" alias="PM1"/>
<Field name="PLThi" type="BYTE" length="1" path="Measures/Measure/field_PLTH" alias="PM2"/>
<Field name="RBClo" type="BYTE" length="1" path="Measures/Measure/field_RBCH" alias="RM1"/>
<Field name="WBClo" type="BYTE" length="1" path="Measures/Measure/field_WBCH" alias="WM1"/>
<Field name="LYMhi" type="BYTE" length="1" path="Measures/Measure/field_WBCH" alias="WM2"/>
<Field name="GRAlo" type="BYTE" length="1" path="Measures/Measure/field_WBCH" alias="WM3"/>
<Field name="Param" type="float" length="23" path="Measures/Measure" alias="field_P" incr="1" extID="Param"/>
<Field name="Flag" type="BYTE" length="23" path="Measures/Measure" alias="field_P" alias2="_f" incr="1" extID="Flag"/>
<Field name="Warning" type="DWORD" length="1" path="Measures/Measure" alias="field_WRN"/>
<Field name="Lyse" type="float" length="1" path="Measures/Measure" alias="field_LYSE"/>
<Field name="Lyse_2" type="float" length="1" path="Measures/Measure" alias="field_LYSE2"/>
<Field name="Options" type="WORD" length="1" path="Measures/Measure" alias="field_OPT" extID="Options"/>
<Field name="PrVMinW" type="WORD" length="1" path="Measures/Measure" alias="PrVMinW"/>
<Field name="PrVMaxW" type="WORD" length="1" path="Measures/Measure" alias="PrVMaxW"/>
<Field name="PrVMinR" type="WORD" length="1" path="Measures/Measure" alias="PrVMinR"/>
<Field name="PrVMaxR" type="WORD" length="1" path="Measures/Measure" alias="PrVMaxR"/>
<Field name="PrVMinW2" type="WORD" length="1" path="Measures/Measure" alias="PrVMinW2"/>
<Field name="PrVMaxW2" type="WORD" length="1" path="Measures/Measure" alias="PrVMaxW2"/>
<Field name="Age" type="BYTE" length="1" path="Measures/Measure" alias="field_AGE"/>
<Field name="ClogReport" type="char" length="29" path="Measures/Measure" alias="ClogReport"/>
</Record>
<Misc>
<Field path="Measures/Measure" alias="Type" value="Haematology"/>
<Field path="Measures/Measure" alias="field_PLTH" value=""/>
<Field path="Measures/Measure/field_PLTH" alias="CHN" value="256"/>
<Field path="Measures/Measure" alias="field_RBCH" value=""/>
<Field path="Measures/Measure/field_RBCH" alias="CHN" value="256"/>
<Field path="Measures/Measure" alias="field_WBCH" value=""/>
<Field path="Measures/Measure/field_WBCH" alias="CHN" value="256"/>
<Field path=".." alias="Version" value="2.22"/>
<Field path="Measures/Measure" alias="Version" value="2.22"/>
<Field path="Measures/Measure" alias="MeasureMode" value="3"/>
</Misc>
<MaxParams value="23"/>

9/27 2012.01
Elite Communication Protocols

<DB_VERSION value="2.22"/>
</DB_Struct_DAT>

EXPLANATION OF A FIELD:
< Starting tag of field descriptor
Field name="RecNo" Name of field (can be used as reference in PC application)
type="WORD" Type descriptor of field
length="1" How many bytes should be used for storing (length)
… Technical tags
/> Closing of field tag

<Field name="LimitsLow" type="float" length="23" path="Measures/Measure" alias="field_LimitLow"


incr="1"/>

This field is an array, contains 23 entries, as indicated. Interpretation of these entries is not listed in the XML file.
You will find them below:

#define PAR_WBC 0
#define PAR_RBC 1
#define PAR_HGB 2
#define PAR_HCT 3
#define PAR_MCV 4
#define PAR_MCH 5
#define PAR_MCHC 6
#define PAR_PLT 7
#define PAR_PCT 8
#define PAR_MPV 9
#define PAR_PDWsd 10
#define PAR_PDWcv 11
#define PAR_PDW 11
#define PAR_RDWsd 12
#define PAR_RDWcv 13
#define PAR_RDW 13
#define PAR_LYM 14
#define PAR_MID 15
#define PAR_GRA 16
#define PAR_LYMp 17
#define PAR_MIDp 18
#define PAR_GRAp 19
#define PAR_RBCt 20
#define PAR_WBCt 21
#define PAR_WBCt2 22

Use the above identifiers to interpret entries in the array.

Param and flag interpretation should happen accordingly.

10/27 2012.01
Elite Communication Protocols

FULL RECORD PACKAGE

This package starts with the ‘F’ package identifier, and contains a record in binary format. Interpretation of the
binary information should happen using field definitions of the XML file received in an ‘X’ package.

11/27 2012.01
Elite Communication Protocols

SETTING UP THE COMMUNICATION LINK

Analyzers by default do not have communication enabled. You have to enable this function through the user
interface of the analyzer. See the table below for availability of ports per analyzer

PORTS ELite 3 ELite 3 ELite 5


supported (60) (80)
RS232 ☺
USB (B) ☺ ☺
ETHERNET ☺

SERIAL LINK

Serial communication requires a NULL-MODEM cable between analyzer COM1 and an available serial port on
the PC. Each analyzer having a serial port offers a D-SUB9 female connector. The serial port of the PC can either
be a legacy port, or a port provided through an e.g. Serial-USB converter.

If you are using a Serial-USB converter, make sure to identify and setup the converter to allow proper reception
and processing of data. See USB/DRIVER section for explanation.

SETUP OF ANALYZERS

Analyzers by default do not have communication enabled. You have to enable it by selecting communication
port (Serial), communication speed (Baud) and protocol used. Upon selecting and confirming these parameters,
analyzers will be ready to start communication.

Protocols that require handshake will start “introducing” themselves to the host PC by sending INIT packages.
The host must reply to the INIT package. Each INIT package is sent once, and analyzer software is allowing 3
seconds for the host PC to reply. Upon the third unsuccessful attempt analyzer software will disable sending
messages.

The host PC can wake up the analyzer by sending ENQ package. Analyzer will reply with an INIT package and
will expect a reply as described in the protocol.

Protocols (3.1) that do not require handshake will also send the INIT package but do not expect a reply.

USB LINK

Before connecting the analyzer to a PC with USB cable, a specific driver must be installed. The driver is available
from Erba Lachema’s web site or from http://www.ftdichip.com/Drivers/VCP.htm. Select the driver matching
your operating system. Download and install. Now you can connect the analyzer.

USB connection utilizes a standard USB A-B cable (not included with analyzers). The cable must be connected
to a free USB A socket on the PC and the USB B socket on the analyzer.

Upon connection, the pre-installed driver will recognize the analyzer’s built-in USB device as a Virtual Serial
Port.

12/27 2012.01
Elite Communication Protocols

SETTING UP THE DRIVER

(Windows)

When the computer has recognized the analyzer, it will enroll the (virtual) serial port as one of the COM ports
of the PC. Some applications require the serial port to be identified as a specific COM port. Please go to
Hardware setup, and check the COM port ID. Modify if necessary. (Refer to Windows HW configuration
procedures [My Computer, Properties, Hardware, Device Manager])

SETUP OF ANALYZERS

When using the USB port for communication, analyzer setup means selecting USB as communication port, and
choosing the required communication protocol. Communication speed is always set in Windows application /
hardware setup.

Protocols that require handshake will start “introducing” themselves to the host PC by sending INIT packages.
The host must reply to the INIT package. Each INIT package is sent once, and analyzer software is allowing 3
seconds for the host PC to reply. Upon the third unsuccessful attempt analyzer software will disable sending
messages.

The host PC can wake up the analyzer by sending ENQ package. Analyzer will reply with an INIT package and
will expect a reply as described in the protocol.

Protocols (3.1) that do not require handshake will also send the INIT package but do not expect a reply.

ETHERNET

Ethernet based communication is only available on ELite 5.

SETUP OF ANALYZERS

Follow User Manual instructions of ELite 5 to assign IP address and communication parameters to connect A5
to the HL7 server computer.

13/27 2012.01
Elite Communication Protocols

SERIAL PROTOCOL 1.0

Requires HANDSHAKE.

Protocols ELite ELite ELite


supported 3 3 5
(60) (80)
1.0 ☺ ☺

Receiver sends that it is ready to receive now.

<ENQ>

The analyzer sends acknowledge.

<ACK>

The analyzer sends INIT to initiate link (there is data to send):

<SOH>AI<STX>analyzer model name<HT>1.3<HT>20011005<HT>125027<ETX>30<EOT>

Receiver sends acknowledge:

<ACK><SPACE>A

The analyzer sends DATA package:

<SOH>BD<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

PID<HT>2<LF>NAME<HT>JOE SMITH<LF>MODE<HT>0<LF>WRN<HT>0<LF>

PM1<HT>12<LF>PM2<HT>204<LF>RM1<HT>51<LF>WM1<HT>23<LF>WM2<HT>57<LF>

WM3<HT>92<LF>PARN<HT>22<LF>P01<HT> 6.6<HT>0<LF>P02<HT>4.29<HT>0<LF>

P03<HT> 167<HT>0<LF> ... P21<HT> 8.2<HT>0<LF>P22<HT> 5.3<HT>0<LF>

<ETX>7C<EOT>

Receiver acknowledges DATA transmission, and requests for RBC package:

<ACK>RB

The analyzer sends RBC package:

<SOH>CR<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

PID<HT>2<LF>CHN<HT>256<LF>9<HT>16<HT>26<HT> ... 1<HT>0<ETX>F2<EOT>

Receiver acknowledges RBC transmission, and requests for WBC package:

<ACK>WC

14/27 2012.01
Elite Communication Protocols

The analyzer sends WBC package:

<SOH>DW<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

PID<HT>2<LF>CHN<HT>256<LF>0<HT>15<HT>84<HT> ... 5<HT>3<ETX>69<EOT>

Receiver acknowledges WBC transmission, and closes the link.

<ACK><SPACE>D

It is possible to request for PLT histogram, but it is not shown in this example.

15/27 2012.01
Elite Communication Protocols

SERIAL PROTOCOL 1.7

Requires HANDSHAKE.

Protocols ELite ELite ELite


supported 3 3 5
(60) (80)
1.7 ☺ ☺

Receiver sends that it is ready to receive now.

<ENQ>

The analyzer sends acknowledge.

<ACK>

The analyzer sends INIT next time to initiate link (there is data to send):

<SOH>AI<STX>analyzer model name <HT>2.22<HT>20011005<HT>135212<ETX>30<EOT>

Receiver sends acknowledge:

<ACK><SPACE>A

The analyzer sends DATA package:

<SOH>BD<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

SID<HT>2<LF>PID<HT>26<LF>NAME<HT>JOE SMITH<LF>MODE<HT>0<LF>WRN<HT>0<LF>

PM1<HT>12<LF>PM2<HT>204<LF>RM1<HT>51<LF>WM1<HT>23<LF>WM2<HT>57<LF>

WM3<HT>92<LF>PARN<HT>22<LF>P01<HT> 6.6<HT>0<LF>P02<HT>4.29<HT>0<LF>

P03<HT> 167<HT>0<LF> ... P21<HT> 8.2<HT>0<LF>P22<HT> 5.3<HT>0<LF>

<ETX>7C<EOT>

Receiver acknowledges DATA transmission, and requests for RBC package:

<ACK>RB

The analyzer sends RBC package:

<SOH>CR<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

SID<HT>2<LF>PID<HT>26<LF>CHN<HT>256<LF>9<HT>16<HT>26<HT> ...

1<HT>0<ETX>F2<EOT>

Receiver acknowledges RBC transmission, and requests for WBC package:

<ACK>WC

16/27 2012.01
Elite Communication Protocols

The analyzer sends WBC package:

<SOH>DW<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

SID<HT>2<LF>PID<HT>26<LF>CHN<HT>256<LF>0<HT>15<HT>84<HT> ...

5<HT>3<ETX>69<EOT>

Receiver acknowledges WBC transmission, and closes the link.

<ACK><SPACE>D

It is possible to request for PLT histogram, but it is not shown in this example.

17/27 2012.01
Elite Communication Protocols

SERIAL PROTOCOL 2.20, 2.23

Requires HANDSHAKE.

Protocols ELite ELite ELite


supported 3 3 5
(60) (80)
2.20, 2.23 ☺ ☺

This version utilizes upgraded header information:

<SOH>BD<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>

SID<HT>2<LF>PID<HT>26<LF>NAME<HT>JOE SMITH<LF>MODE<HT>0<LF>WRN<HT>0<LF>

PM1<HT>12<LF>PM2<HT>204<LF>RM1<HT>51<LF>WM1<HT>23<LF>WM2<HT>57<LF>

WM3<HT>92<LF>PARN<HT>22<LF>P01<HT> 6.6<HT>0<LF>P02<HT>4.29<HT>0<LF>

P03<HT> 167<HT>0<LF> ... P21<HT> 8.2<HT>0<LF>P22<HT> 5.3<HT>0<LF>


AGE<HT>24<LF><ETX>7C<EOT>

A parameter called AGE is included in the header info. This represents the age of the given patient (if selected
in service menu, and defined at sample info screen).

The interpretation of this value is:

If the age value is greater than 128, then it represents months in the following way:

MONTHS = AGE – 128 (months). If it is less than 128, then it represents years.

This (AGE) parameter has been removed in version 2.23

SERIAL PROTOCOL 3.0

Requires HANDSHAKE.

Protocols ELite ELite ELite


supported 3 3 5
(60) (80)
3.0 ☺ ☺

This version utilizes a new approach to record transmitting:

It sends the INIT package, where instrument and PC should establish the communication.

After connection is established, The analyzer will send an ‘X’ package with the XML file to give a description to
the binary data sent in the ‘F’ (FULL) package.

From then on, ‘F’ packages are sent, and receiver software must interpret the binary data using the descriptors
in the XML file.

18/27 2012.01
Elite Communication Protocols

SERIAL PROTOCOL 3.1

Does not require HANDSHAKE. Can be operated without acknowledge logic.

Protocols ELite ELite ELite


supported 3 3 5
(60) (80)
3.1 ☺ ☺ ☺

INTRODUCTION

The new 3.1 protocol was introduced to simplify the receiving, parsing and storing of ABJV5 data records. The
byte stream is a human readable ASCII character stream, with occasional control characters. Most
programming environments are able to handle this stream as a simple ASCII string or text. The stream is line-
oriented with special characters to separate fields. The protocol has a single format for transmitting a single
measurement record. If more records are sent, they are simply chained together one after the other.

CHARACTERS AND BASIC STRUCTURE

The byte stream uses the ASCII characters in the range 1..255 ( http://en.wikipedia.org/Ascii ), or 0x01..0xFF in
hexadecimal.

A record transmission consists of three parts: a small header, a big text body, and a small footer. A single
record is never longer than 8192 bytes.

A transmission always starts with the control character „Start of Header” (<SOH>, 1, 0x01).

The second character is a counter: it will contain a single uppercase English letter in the range „A” to „Z”,
incrementing with every record. The first record will contain „A”, the second will contain „B”, etc. If the
instrument sends many records without being turned off, the counter will overflow from „Z” to „A”.

The third character is an identifier: if the instrument is an ABJV5, it will be an uppercase „A”, and in case of the
ABJV it will be an uppercase „N”.

The fourth character is the control character „Start of Text” (<STX>, 2, 0x02).

The fifth and consecutive characters form the body of the transmission. The body may contain characters from
the printable range (32..126, 0x20..0xFF), and the control characters „Horizontal tab” (<HT> or <TAB>, 9, 0x09),
„Carriage return” (<CR>,13, 0x0D), and „Line feed” (<LF>, 10, 0x0A). The body contains several lines separated
by a two-byte sequence <CR><LF>. See below for the detailed description of the contents.

The body of the transmission is closed by the control character „End of Text” (<ETX>, 3, 0x03).

The footer consists of a two-character checksum in a two-digit hexadecimal form. The checksum is calculated
by summing up the values of all characters in the message header and body, including the beginning <SOT>
character and the last <ETX> character, adding 255 (hex: 0xFF) to it, and keeping only the last two
hexadecimal(!) digits.

The last character of a record is always the single control character „End of Transmission” (<EOT>, 4, 0x04).
There is no terminating „NULL” (<NUL>, 0, 0x00) character at the end. The next record can start right after the
<EOT> character.

19/27 2012.01
Elite Communication Protocols

DETAILS OF THE 3.1 PROTOCOL

The body of a transmission is line-oriented, separated by the two-byte „Carriage Return” „Line
Feed” (<CR> <LF>, 13 10, 0x0D 0x0A) sequence. A single line might contain one or more fields, separated by the
„Horizontal tab” (<HT>, 9, 0x09) character.

The following lines are usually composed of an identifier field and one or more value fields, all separated by the
<HT> character. The characters in bold appear in the transmission exactly as written, without any variance
between records. Control characters are marked with the < and > characters, for example <HT>. {Comments}
are marked with { and }, and are not included in the actual transmission. For a more detailed discussion on the
meanings of the various parameters and histograms, please refer to the instruments’ user manuals.

header1 {header1 to header8 are the lab header lines}


header2 {these lines are defined by the user in the instrument
settings}
header3 {any or all of these lines can be empty}
header4
header5
header6
header7
header8
Serial No.:<HT>serial {serial is the 6 digit serial number of the instrument}
RecNo:<HT>recno {recno is the internal record number, at most 6 digits}
Sample ID:<HT>sampleid {sampleid is at most 8 characters long}
Patient ID:<HT>patientid {patientid is at most 20 characters long}
Patient Name:<HT>patientname {patinetname is at most 32 characters long}
Mode:<HT>mode {mode is the species name like „Dog”, max 20 characters}
Doctor:<HT>doctor {doctor is at most 16characters long}
Age:<HT>value<HT>unit {value is a number of at most 3 digits, unit is either „years”
or „months”}
Birth(ymd):<HT>birthdate {birthdate is an 8 digit number, format: yyyymmdd}
Sex:<HT>gender {gender is „Male”, „Female”, „Neutered”, „Spayed” or a
single „-” character}
Test date(ymd):<HT>date {date is an 8 digit number, format: yyyymmdd}
Test time(hm):<HT>time {time is a 6 digit number, format: hhmmss}
Param<HT>Flags<HT>Value<HT>Unit<HT>[min-max] {this is a header line, always the same}
param<HT>flag<HT>value<HT>unit<HT>[min-max] { there are 24 similar lines
param is the parameter name, at most four characters long, possible values are (in sequence): WBC,
RBC, HGB, HCT, MCV, MCH, MCHC, PLT, PCT, MPV, PDWs, PDWc, RDWs, RDWc, LYM, MON, NEU, LY%, MO%,
NE%, EOS, EO%, BAS, BA%
flag is a single character indicator, can be „ ” (space), „+”, „-”, „E” and „*”(asterisk)
value is the measured parameter value, exactly 4 characters: number with a possible decimal dot,
padded with spaces on the left side, or 4 minus signs „----”, or 4 spaces „ ”
unit is at most 4 characters long, possible values are „10^9/l”, „10^3/ul”, „10^12/l”, „10^6/ul”, „fl”,
„%”, „g/l”, „g/dl”, „mmol/l”, „pg”, „fmol”, depending on the parameter
min and max are the lower and upper bounds of the normal range, exactly 4 characters, including a
possible decimal dot, padded with spaces on the left side}
Flags:<HT>flags {flags is a series of characters indicating errors, at most 32
characters long, upper or lowercase letters „a” to „z”}
WBC graph {always the same, indicates the beginning of the WBC
histogram}
Scale(fl):<HT>wbcscale {wbcscale is maximum 3 digit number, indicating the fl
value of the last channel, value is usually 400}

20/27 2012.01
Elite Communication Protocols

Channels:<HT>wbcchannels { wbcchannels is the number of channels (columns) in the


histogram, always 256 }
WMarker1:<HT>wm1 {wm1 is the first WBC discriminator channel (RBC/WBC) }
WMarker2:<HT>wm2 {wm2 is the second WBC discriminator channel
(LYM/MON) }
WMarker3:<HT>wm3 {wm3 is the third WBC discriminator channel (MON/NEU) }
Points:<HT>ch0<HT> ………<HT>ch255 {chxx is the histogram height at a given channel (range
0..255), there are always wbcchannels values here (usually 256) }
RBC graph {always the same, indicates the beginning of the RBC
histogram}
Scale(fl):<HT>rbcscale {rbcscale is maximum 3 digit number, indicating the fl
value of the last channel, value is usually 200}
Channels:<HT>rbcchannels { rbcchannels is the number of channels (columns) in the
histogram, always 256}
RMarker1:<HT>rm1 {rm1 is the RBC discriminator channel (PLT/RBC) }
Points:<HT>ch0<HT> ………<HT>ch255 {chxx is the histogram height at a given channel (range
0..255), there are always rbcchannels values here (usually 256) }
EOS graph {always the same, indicates the beginning of the EOS
histogram}
Scale(fl):<HT>eosscale {eosscale is maximum 3 digit number, indicating the fl
value of the last channel, value is usually 400}
Channels:<HT>eoschannels {eoschannels is the number of channels (columns) in the
histogram, always 256}
EMarker1:<HT>em1 {em1 is the EOS discriminator channel (WBC/EOS) }
Points:<HT>ch0<HT> ………<HT>ch255 {chxx is the histogram height at a given channel (range
0..255), there are always eoschannels values here (usually 256) }
PLT graph {always the same, indicates the beginning of the PLT
histogram}
Scale(fl):<HT>pltscale {pltscale is maximum 3 digit number, indicating the fl value
of the last channel, value is usually 50}
Channels:<HT>pltchannels {pltchannels is the number of channels (columns) in the
histogram, always 256}
PMarker1:<HT>pm1 {pm1 is the first PLT discriminator channel (PLT start) }
PMarker2:<HT>pm2 {pm2 is the second PLT discriminator channel (PLT/RBC) }
Points:<HT>ch0<HT>ch1<HT>………<HT>ch255 {chxx is the histogram height at a given channel (range
0..255), there are always pltchannels values here (usually 256) }

As mentioned above, after the last channel value in the PLT histogram the body of the record is closed with the
control character „End of Text” (<ETX>, 3, 0x03).

21/27 2012.01
Elite Communication Protocols

HL7 PROTOCOL (HL7V2.5)

Requires specific HL7 server.

Protocols ELite ELite ELite


supported 3 3 5
(60) (80)
HL7 ☺

ELite 5 is able to send measurement results to and receive so-called work lists from a remote computer. To
activate and use this feature, the ELite 5 needs to be connected to a HL7 capable server directly or through a
computer network.

ELITE 5 SENDING MEASUREMENT DATA TO THE SERVER

Setup

Go to Main / Settings / External Devices

The following data have to be provided:

- LIS enabled

- IP address of the HL7 server

- Communication port of the HL7 server

Upon setting and saving the above settings, ELite 5 is


ready to send measurement results to the server.

Usage

Sending data takes place at the end of each measurement automatically and can also be initiated by the user
through the database by clicking on the Manage records / Send to LIS button.

ELite 5 sends a specified data package adhering to HL7 standards. The message and its setup are described at
the end of this document.

22/27 2012.01
Elite Communication Protocols

ELITE 5 RECEIVING WORK LIST FROM THE SERVER

Setup

Go to Main / Settings / External devices

The following data need to be provided:

- Bidirectional LIS: ON / OFF

Upon setting and saving the above setting ELite 5 is ready to


receive work lists from the HL7 server.

Usage

Work list information is only relevant in Free List mode – only the sequence of the samples in the auto sampler
need to match the sequence of the work list.

When entering auto sampler menu, you need to select Free list mode.

A screen is displayed with sample information received as the work list.

Status of messages and the communication can be seen in the lower left corner.

Make sure you follow the sequence set in the work list when loading samples into the racks of the auto
sampler. After loading the samples, autoloader can be started with the Start button.

23/27 2012.01
Elite Communication Protocols

BIDIRECTIONAL EXAMPLE OF HL7 MESSAGES

Figure 1 shows an example of a HL7 message v. 2.5 to be sent to ELite 5 as a Work List Item.

MSH|$~\&|7EDIT$XYZ_ID||||20100427163520||ORM$O01|4534|P|2.5||||||WINDOWS-1250

PID|||344||Doe$John||19970527163718|F|||||||||||123465798

ORC|NW|5465

OBR||5465||XYZ_Sample_ID||20100527164606

Figure 1

The descriptions of the Message Header (MSH), the Patient ID (PID), the Common Order (ORC) and the Order
Observation Request (OBR) can be seen on the following images:

i.e.: MSH|$~\&|7EDIT$XYZ_ID||||20100427163520||ORM$O01|4534|P|2.5||||||WINDOWS-1250

1. ’|’ is the Field Separator


2. ’ $~\&’ is the Encoding Characters
3. ’ 7EDIT$XYZ_ID’ is the Sending Application. which contains the Namespace ID and the Universal ID
4. etc.

24/27 2012.01
Elite Communication Protocols

i.e.: PID|||344||Doe$John||19970527163718|F|||||||||||123465798

3. ’334’ is the first element (ID Number) of Patient Identifier List


5. ’Doe$John’ is the Family and the Given Name of Patient Name
7. ’19970527163718’ is the Date/Time of Birth
8. ‘F’ Administrative Sex (The value can be: ‘A’ - Ambiguous, ’F’ - Female, ’M’ – Male, ’N’ – Not applicable,
’O’ - Other, ’U’ - Unknown)
19. SSN Number - Patient

25/27 2012.01
Elite Communication Protocols

i.e.: ORC|NW|5465

This segment provides information for Work List. The Entity Identifier (5465) is used to identify the Work List.

i.e.: OBR||5465||XYZ_Sample_ID||20100527164606

2. ’5465’ The Entity Identifier has to be the same as the Entity Identifier of ORC segment.

4. ’XYZ_Sample_ID’ The Identifier of Universal Service Identifier is used for Sample ID.

After Analyzer processed the request a general acknowledge is sent back, which can be seen on Figure 2.

MSH|$~\&|||7EDIT$XYZ_ID ||20100427163520||ACK|4534|P|2.5

MSA|AA|4534

Figure 2

26/27 2012.01
Elite Communication Protocols

Figure 2 is a requested and acknowledged Work List Item. The whole list is built up on the Analyzer by receiving
the sequence of the Work List Items. The Work List Items with the same Common Order (ORC) segment belong
to the same Work List.

The analyzer will refuse the request (and will an AR (Application Reject) message), if the number of samples in
the Work List exceeds 100.

The first field of MSA segment in the acknowledged message is used to define whether Analyzer accepted the
Work List Item or not.

’AA’ – Application Acknowledgment,

’AR’ – Application Reject

***

27/27 2012.01

You might also like