You are on page 1of 27

HEMIX 5-60

Communication Protocols

Auteur
[Date de publication]
HEMIX 5-60 Communication Protocols................................................. 1

1. General Description of protocols ...................................................... 5


1.1. FORMAT OF PACKAGES SENT BY THE ANALYZER ........................................................... 6
1.2. FORMAT OF ACKNOWLEDGE OF THE RECEIVER ............................................................ 6
1.3. DETAILED DESCRIPTION OF PACKAGES ......................................................................... 7
1.3.1. INIT package ....................................................................................................... 7
1.3.2. DATA package..................................................................................................... 7
1.3.3. RBC, WBC and PLT package ................................................................................. 8
1.3.4. XML record descriptor package ........................................................................... 9
1.3.5. FULL record package ......................................................................................... 10

2. Setting up the Communication Link ................................................ 11


2.1.1. Setting up the Driver......................................................................................... 11
2.1.2. Setup of Analyzers ............................................................................................ 11
2.2. ETHERNET .................................................................................................................. 11
2.2.1. Setup of Analyzers ............................................................................................ 11
2.3. INTRODUCTION .......................................................................................................... 11
2.4. CHARACTERS AND BASIC STRUCTURE ......................................................................... 12
2.5. DETAILS OF THE 3.1 PROTOCOL .................................................................................. 12
2.6. SAMPLE TRANSMISSION FOR HEMIX5-60.................................................................... 14
2.7. SFRI SERIAL PROTOCOL 3.1 EXTENSION FOR IMAGE SENDING .................................... 15

3. HL7 Protocol (HL7v2.5) ....................................................................... 17


3.1. HEMIX 5-60 SENDING MEASUREMENT DATA TO THE SERVER ..................................... 17
3.2. HEMIX5-60 RECEIVING WORK LIST FROM THE SERVER................................................ 22
3.3. BIDIRECTIONAL EXAMPLE OF HL7 MESSAGES ............................................................. 23

Page | 3
1. General Description of protocols

Software running on SFRI hematology analyzers is able to make serial connection link to a receiver device
(computer) by connecting to the serial port of the instrument (HEMIX 5-60 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.
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

Page | 5
<NAK> 21
<SPACE> 32

1.1. 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).

1.2. 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.
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).

NOTE: Protocol 3.1 when used on HEMIX 5-60, expects an acknowledgement


message. Please use the “ACK” message (composed of the following ASCII codes:
65; 67; 75). Without this acknowledge message, communication from HEMIX 5-60
will stop, sample transmission is NOT repeated.

6 | Page
1.3. 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.

1.3.1. 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

1.3.2. 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
WRN<HT>0<LF> warning bits 1 (32-bit hexadecimal)
PM1<HT>12<LF> PLT lower marker 2
PM2<HT>204<LF> PLT upper marker 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 2
PARN<HT>22<LF> number of parameters to send
P01<HT> 6.6<HT>0<LF> first parameter ID 3, value and flag 4
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.

7/27
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
2
The markers are given in histogram channel between 0 and 255, where 0 means that the marker
could not be found.
3
The parameter IDs in The analyzer are: P01: WBC (10 9 /l); P02: RBC (10 12 /l); P03: HGB (g/l); P04: HCT
(%); P05: MCV (fl); P06: MCH (pg); P07: MCHC (g/l); P08: PLT (10 9 /l); P09: PCT (%); P10: MPV (fl); P11:
PDWsd (fl); P12: PDWcv (%); P13: RDWsd (fl); P14: RDWcv (%); P15: LYM (10 9 /l); P16: MID (10 9 /l);
P17: GRA (10 9 /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!

1.3.3. 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

8 | Page
1<HT> value of 255th histogram channel
0 value of the last histogram channel

1.3.4. 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.

1.3.4.1. 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"/>
<DB_VERSION value="2.22"/>

9/27
</DB_Struct_DAT>

1.3.4.2. EXPLANATION OF A FIELD:

Field name="RecNo" Starting tag of field descriptor


type="WORD" Name of field (can be used as reference in PC application)
length="1" Type descriptor of field
… 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.

1.3.5. 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.

10 | Page
2. 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.

2.1.1. 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])

2.1.2. 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.

2.2. ETHERNET
Ethernet based communication is only available on HEMIX 5-60.

2.2.1. SETUP OF ANALYZERS

Follow User Manual instructions of HEMIX 5-60 to assign IP address and communication parameters
to connect HEMIX 5-60 to the HL7 server computer Serial Protocol 3.1
Requires minimal HANDSHAKE.

2.3. Introduction
The new 3.1 protocol was introduced to simplify the receiving, parsing and storing of instrument 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.

11/27
2.4. 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 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.

NOTE: Protocol 3.1 when used on HEMIX 5-60, expects an acknowledgement


message. Please use the “ACK” message (composed of the following ASCII codes:
65; 67; 75). Without this acknowledge message, communication from HEMIX 5-60
will STOP, sample transmission is NOT repeated 3 times as it is with other analyzers
and protocols.

2.5. 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}

12 | Page
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 used profile/mode name (Blank, Human, Male,
Female, Dog, Profile1, Profile2, etc.).
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 several similar lines according to the number


of the calculated parameters. Param is the parameter name, at
most four characters long, possible values are : 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 an indicator, can be „ ” (space), „+”„++”, „-”, „--”,
„E”, „!”,„*”(asterisk) and „**”
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 7 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, 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}
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) }

13/27
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).

2.6. Sample transmission for HEMIX5-60

<SOH>BA<STX>
Serial No.: ABC123
RecNo: 5845
Sample ID: 0
Patient ID: 1
Patient Name:
Mode: Human
Doctor:
Birth(ymd): 19990101
Sex: Male
Test date(ymd): 20100322
Test time(hm): 140800
Param Flags Value Unit [min-max]
WBC 11.49 10^3/uL [3.00-15.00]
LYM 1.63 10^3/uL [1.00-3.70]
NEU + 7.86 10^3/uL [1.50-7.00]
MON ++ 1.78 10^3/uL [0.00-0.70]
EOS 0.02 10^3/uL [0.00-0.50]
BAS + 0.20 10^3/uL [0.00-0.15]
LY% - 14.2 % [21.0-50.0]
NE% 68.4 % [37.0-72.0]
MO% + 15.5 % [0.0-14.0]
EO% 0.2 % [0.0-6.0]
BA% + 1.7 % [0.0-1.0]
RBC 3.78 10^6/uL [3.50-5.50]

14 | Page
HGB - 6.1 mmol/L [7.5-10.8]
HCT 28.9 % [26.0-50.0]
MCV - 76.5 fL [86.0-110.0]
MCH 1.6 fmol [1.6-2.4]
MCHC 21.2 mmol/L [18.6-21.7]
RDWc 14.4 % [0.0-16.0]
RDWs 54.5 fL [0.0-0.0]
PLT 182 10^3/uL [50-400]
MPV 10.5 fL [9.0-13.0]
Warnings: L
<ETX>02<EOT>

2.7. SFRI serial protocol 3.1 extension for IMAGE


sending
The SFRI Serial Protocol 3.1 has been extended for image sending. The protocol is capable to send
histogram and scattergram images. Only HEMIX 5-60 software utilize this new feature of the protocol;
the following example demonstrate the four image data:

DiffImage<HT> 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

15/27
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

16 | Page
MeyvGfLQeoMf+BjwYyGYacrjzh8M8tIQCXzRZTme4XNK/VoeciJDHK03xo+FqDFNydz9m4ERy7Po0K+ty
3mRteSYcZ7vC9HLkiX05q8RWYAR7OfcUt+bj5WoxVt584dp+kHee2x750vCiMRVy4+I1sAYfe8DPmZwXh
Q3/NhzNT+jd55Yi2kf8wp/LGRbjASX+SI/E+VcIZubfcK2fPLq03lvjnm6pRcKCy8V0U+Ozyv5Ij/jx3fA14iu98
QexLws/fghamtHfMXQsgTnWN/PwThbqxbvZfR64gy2Lxv/Yvj3pfHd/KU0Rr/mM2ycxUDmF+JppijFEZ/e
NX6/CH46jUT57Mv6QszMVqXa+iIppSFmbauQfV7rPCHe5vFSzUT6xFcBES2XlaDFrixf2vziQL/3ZXK30PUi
EbPxakl6ofYLtzyvHv/XrnA1X4jZuL2Er4jT59q4Nr8HLFlb+oZLD1/zjj2Kc5i6fPgF0PoiGPHCaFliwGWEeJ3H
y/ieT/T2NVcQrl4u4ikeKTX/Ke5bg30t/itk8zqXE2IbbpNAJLpMxN7H4yjfyPyjwPI3X0aIVxla3pmQs9bwc4
woz5PllPzeJ8TpPKYIFl/WB1HctyDzCyHqPKoaE2km1ChWEnUUY9+f9X4GHzBiDSFm5Zby/iO+/i+5s/mlN
dmf5Qgh/stwpUB8JaHCWqnNyWJZvhDiD0MVAiFCeD0CjOZG65jP50Z5QoicWxTjhRgJM/PBj37Jx37Gj5
lSTIjTGKqGSIgwjEHUR240ZovI/EKInKGq8SIsCbZEtA6Trdl7PSFO5Ta1QIhRm4mU/aU8IcQYblVYi9CNktD
1EhDiPoaqi8UaCbfmQ99anxvNFUJ8hlQlxME89gKIPumFEO9yuxIldiHmReoU4mD0AhDiYPQCEOJY/ve//
wPoJEUgbjXLGgAAAABJRU5ErkJggg==
BasoImage<HT> iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUE
AALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAA......QGMKABo7VAD/+I9w+FNOJVoRwN8gydCYAoDGFAC0
9e+//wGlW2IS0WRbdAAAAABJRU5ErkJggg==
RBCImage<HT> iVBORw0KGgoAAAANSUh…./y+xuW/62tzotAMt9tCIA6e9b/plZhX377b+aJgCPvfssy
wD89t/e/D9m9m0///obn/T80JZtg+oAAAAASUVORK5CYII=
PLTImage<HT> iVBORw0KGgoAAAANSU……AwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMA
GAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDB
BACCCQAEGyoAP97e7gPa6D4Af4

A png based image data starts whit a keyword (DiffImage, BasoImage, RBCImage, PLTImage) then
following a TAB character and finishes whit a newline character. The Diff observation is complete, Baso,
Rbc and Plt segments are not complete in this example due excess space requirements.
The data are derived from png file by Base64 encoding. Pictures can be retrieved via Base64 decoding.

3. HL7 Protocol (HL7v2.5)

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

3.1. HEMIX 5-60 sending measurement data to the


server
Setup
Go to Main / Settings / External Devices

The following data have to be provided:

- Ethernet (HL7 2.5) enabled (serial sending will be inactivated)

- IP address of the HL7 server

17/27
- Communication port of the HL7 server

The following options are optional:

- Bidirectional LIS - check to be able to receive worklists from HL7 server

- Send images - check to send scattergrams and histograms

- Automatic LIS – check to send measurement results automatically after finish a measure

Upon setting and saving the above settings, HEMIX 5-60 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.
The following is an example of a HL7 message v. 2.5 of HEMIX 5-60:

Message
MSH|$~\&|HEMIX 5-60$ XYZ_ID||||20091202095847||ORU$R01|AS_378_A5|P|2.5|28461
PID|||123465798||Doe$John||19970527163700|F
NTE|0||D
NTE|1||GL
NTE|2||Leukocytosis?, Basophilia?
OBR|1||1234$LAB|88304
OBX|1|TX|WBC||50,86|$10^3|3-15||||P
OBX|2|TX|RBC||0|$10^6|3,5-5,5||||P
OBX|3|TX|PLT||0|$10^3|50-400||||P
OBX|4|TX|HGB||0|$g/l|120-174||||P
OBX|5|TX|LYM||0|$10^3|1-3,7||||P
OBX|6|TX|MON||0|$10^3|0-0,7||||P
OBX|7|TX|NEU||0|$10^3|1,5-7||||P
OBX|8|TX|EO||0|$10^3|0-0,5||||P
OBX|9|TX|BAS||0|$10^3|0-0,15||||P
OBX|10|TX|LYM%||0|$%|21-50||||P
OBX|11|TX|MON%||0|$%|0-14||||P
OBX|12|TX|NEU%||0|$%|37-72||||P
OBX|13|TX|EO%||0|$%|0-6||||P
OBX|14|TX|BAS%||0|$%|0-1||||P
OBX|15|TX|HCT||0|$%|26-50||||P
OBX|16|TX|MCV||0|$fl|86-110||||P
OBX|17|TX|MCH||0|$pg|25-38||||P
OBX|18|TX|MCHC||0|$g/l|300-350||||P
OBX|19|TX|RDWsd||0|$fl|0-0||||P
OBX|20|TX|RDWcv||0|$%|0-16||||P
OBX|21|TX|PDWsd||0|$fl|0-0||||P
OBX|22|TX|PDWcv||0|$%|0-0||||P

18 | Page
OBX|23|TX|MPV||0|$fl|9-13||||P
OBX|24|TX|PCT||0|$%|0,13-0,43||||P
OBX|25|TX|PLCR||27.02|$%|0-0||||P
OBX|26|TX|PLCC||54|$10^3/uL|0-0||||P

OBX|25|ED|Diff||$$$$iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IAr
s4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgA
ABdwnLpRPAAABwt…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||||||
P
OBX|26|ED|Baso||$$$$iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IA
rs4c6QAAAARnQU1BAACxjwv8YQ…… ||||||P
OBX|27|ED|Rbc||$$$$iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IAr
s4c6QAAAARnQU1BAACxjwv8YQUAAA…… ||||||P
OBX|28|ED|Plt||$$$$iVBORw0K…… ||||||P
Description

19/27
The descriptions of the Message Header (MSH), the Observation Request (OBR), the Patient
Identification (PID), the notes and comments (NTE)* and the Order Observation Result (OBX) segments
can be seen on the following images:
(The NTE segments are available only in HEMIX 5-60 EU.)
Message header:

i.e.: MSH|$~\&|HEMIX 5-60$XYZ_ID||||20091202095847||ORU$R01|AS_378_A5|P|2.5|28461


1. ’|’ is the Field Separator
2. ’ $~\&’ is the Encoding Characters
3. ’HEMIX 5-60$XYZ_ID’ is the ‘Sending Application’, which contains the Namespace ID and the
Universal ID
4. ‘20091202095847’ is the timestamp of the sending
5. ‘ORU$R01’ is the message type
6. ‘AS_378_A5’ is the Sample ID (Message Control ID)
7. ‘P’ is the Processing ID
8. ‘2.5’ is the HL7 protocol version (Version ID)
9. ‘28461’ is the Result ID (Sequence number)

Patient identification:

20 | Page
i.e.: PID|||123465798||Doe$John||19970527163700|F
1. ‘123465798’ - SSN or patient identifier
2. ‘Doe$John’ - Patient name
3. ‘19970527163700’ - Patient BOD
4. ‘F’ - Patient gender
i.e:
NTE|0||D
NTE|1||GL
NTE|2||Leukocytosis?, Basophilia?
1. ‘2’ - The note ID
2. ‘Leukocytosis?, Basophilia?’ - The value of the note

The note with “0” ID contains the measurement related warning flags.
The note with “1” ID contains the measurement related morphologic flags.
The note with “2” ID contains the measurement related diagnostic flags.

Observation result:

i.e.: OBR|1||1234$LAB|88304

21/27
i.e.: OBX|1|TX|WBC||50,86|$10^3|3-15||||P

The last 4 OBX are the Scattergrams and histograms of the observation. The Diff observation is
complete, Baso, Rbc and Plt segments are not complete in this example due excess space
requirements.
The data are derived from png file by Base64 encoding. Pictures can be retrieved via Base64 decoding.

3.2. HEMIX5-60 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 HEMIX 5-60 is ready to receive work lists on port 6600 from
the HL7 server. At the first time, the operating system asks the user to allow the communication
through the firewall.

Usage
Work list information is only relevant in Free List mode.
When entering auto sampler menu, you need to select the Remote Worklist mode.
A screen is displayed with sample information in a worklist received from the server.
Status of messages and the communication can be seen in the lower left corner.
Load the samples into the racks of the autoloader then the measurements can be started with the
Start button. (not required to keep the same sequence as the records are in the worklist)

22 | Page
3.3. Bidirectional example of HL7 Messages
Send worklist item to HEMIX 5-60
Figure 1 shows an example of a HL7 message v. 2.5 to be sent to HEMIX 5-60 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.

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

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


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

24 | Page
5. SSN Number - Patient

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

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

2. ’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

25/27
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

Delete worklist item from HEMIX 5-60


Figure 3 shows an example of a HL7 message v. 2.5 to be sent to as an order to delete 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|CA|5465
OBR||8899||XYZ_Sample_ID||20100527164606

Figure 3
The value of the Common Order segment’s Order Control entity must be set to ‘CA’ to delete a Work
List Item. The HEMIX 5-60 US software will delete the Work List Item based on the Observation Request
segment’s Placer Order Number (8899). The Placer Order Number is a unique identifier so this message
will delete only one item from the List. After Analyzer processed the request a general acknowledge is
sent back, which can be seen on Figure 2. The Work List will be deleted when all its items are deleted.

***

26 | Page

You might also like