ELite 3 - Serial Communication Protocols
ELite 3 - Serial Communication Protocols
1/27 2012.01
Elite Communication Protocols
CONTENTS
USB Link............................................................................................................................................................. 12
ETHERNET.......................................................................................................................................................... 13
Introduction ...................................................................................................................................................... 19
2/27 2012.01
Elite Communication Protocols
3/27 2012.01
Elite Communication Protocols
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.
- INIT package: Device identification, software version, current date and time.
- DATA package: Sample and patient information, measured parameters, and markers.
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
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>
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).
<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.
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).
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
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>:
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
...
Remarks:
1
Position and meaning of the warning flags:
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 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.
...
th
1<HT> value of 255 histogram channel
8/27 2012.01
Elite Communication Protocols
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.
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
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
10/27 2012.01
Elite Communication Protocols
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
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
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
(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
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
Requires HANDSHAKE.
<ENQ>
<ACK>
<ACK><SPACE>A
<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>
<ETX>7C<EOT>
<ACK>RB
<SOH>CR<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>
<ACK>WC
14/27 2012.01
Elite Communication Protocols
<SOH>DW<STX>SNO<HT>152<LF>DATE<HT>19980715<LF>TIME<HT>114500<LF>
<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
Requires HANDSHAKE.
<ENQ>
<ACK>
The analyzer sends INIT next time to initiate link (there is data to send):
<ACK><SPACE>A
<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>
<ETX>7C<EOT>
<ACK>RB
<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>
<ACK>WC
16/27 2012.01
Elite Communication Protocols
<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>
<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
Requires HANDSHAKE.
<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>
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).
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.
Requires HANDSHAKE.
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
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.
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
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.
20/27 2012.01
Elite Communication Protocols
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
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.
Setup
- LIS enabled
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
Setup
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.
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
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
24/27 2012.01
Elite Communication Protocols
i.e.: PID|||344||Doe$John||19970527163718|F|||||||||||123465798
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.
***
27/27 2012.01