Selectra Communiation
Selectra Communiation
TABLE OF CONTENTS
1 Introduction ........................................................................................... 3
1.1 Purpose ..........................................................................................................................................3
1.2 Scope .............................................................................................................................................3
1.3 Definitions, acronyms and abbreviations .......................................................................................3
1.4 References .....................................................................................................................................3
1.5 Overview ........................................................................................................................................3
2 Hardware interfaces.............................................................................. 4
2.1 Serial port interface ........................................................................................................................4
2.2 Network interface ...........................................................................................................................4
4 Messages............................................................................................... 6
4.1 General...........................................................................................................................................6
4.2 Record format ................................................................................................................................6
5 Messages to host.................................................................................. 8
5.1 Header (H)......................................................................................................................................8
5.2 Patient information record (P) ......................................................................................................10
5.3 Test order record (O) ...................................................................................................................11
5.4 Result record (R) ..........................................................................................................................14
5.5 Comment record (C) ....................................................................................................................17
5.6 Message Terminator Record (L) ..................................................................................................19
5.7 Request information record (Q)....................................................................................................20
5.8 Manufacturer Information Record (M) ..........................................................................................21
5.8.1 Cuvette Blank information (B).......................................................................................21
5.8.2 Error History..................................................................................................................22
5.8.3 Reagent installation (I)..................................................................................................23
5.8.4 Extended version information .......................................................................................24
Appendix A Flags....................................................................................... 25
Appendix D Examples................................................................................ 28
D.1 Analyser messages .........................................................................................................................28
D.2 Host messages ................................................................................................................................29
1 Introduction
1.1 Purpose
This document defines the interface between a Laboratory Information System (LIS) and an analyser.
The analyser can be a XL, E, Junior, Pro-and EL series analyser. The LIS is in this document referred
to as ‘Host’.
1.2 Scope
The scope of this document is limited to defining the external interface of the PC at the analyser side.
Definition Description
Request buffer The list of samples and tests that have been ordered at the analyser. The samples
are not yet loaded onto the analyser. A request can be modified.
Result buffer The list of samples and tests that are measured or currently being measured.
1.4 References
[1] CLSI. Standard Specification for Low-Level Protocol to Transfer Messages Between Clinical
Laboratory Instruments and Computer Systems. CLSI document LIS1-A [ISBN 1-56238-489-9].
CLSI, 940 West Valley Road, Suite 1400, Wayne, Pennsylvania 19087-1898 USA, 2003.
[2] CLSI. Standard Specification for Transferring Information Between Clinical Instruments and
Computer Systems. CLSI document LIS2-A [ISBN 1-56238-490-2]. CLSI, 940 West Valley Road,
Suite 1400, Wayne, Pennsylvania 19087-1898 USA, 2003.)
1.5 Overview
Chapter 2 defines the low-level interface between PC and Host.
Chapter 3 defines the format of the low-level frames transmitted between PC and Host.
Chapter 4 defines the general format of the high-level messages transmitted between PC and Host.
Chapter 5 defines the format of the individual messages that can be transmitted between PC and
Host.
2 Hardware interfaces
• The only pins really used are TX and RX, the usage of the rest (marked *) depends on the settings
of the COM-port of the analyser-PC.
• The default setting for communication will be 9600 baud, 8 databits, no parity, 1 stopbit (8-N-1).
Warning:
The XON-XOFF protocol (which can be set by Windows) must NOT be used, because this can
interfere with the protocol.
Configuration of TCP/IP network adapter on the analyser is outside the scope of this document, refer
to the analyser manual.
For host communication the analyser allows setting host IP address and port number to define the
host socket. The analyser will connect to host socket after reset or as soon as communication is
enabled in system settings.
The connection will remain active as long as the PC application is running on the analyser. If for some
reason the TCP/IP connection is lost (e.g., because host system was restarted), then the analyser will
continuously try to reconnect.
3 Data handling
3.1 General
The properties for the message sending and receiving are defined in CLSI standard LIS1-A (See [1]),
Section 6 Data Link Layer. The analyser software implements the standard and this section is only
intended to provide a short summary. For detailed information on error handling, time-out behavior and
contention, please refer to the standard.
The LIS1-A standard defines a line-bidding protocol that will define the receiver and sender for
communication. A system ready to send information will transmit an <ENQ> character. The receiver
will reply with <ACK> if it is ready to receive or <NAK> when it is busy. Refer to the state diagram in
Annex A1 of the standard [1].
After sender and receiver have been determined, the sender will transmit frames. Each frame starts
with an <STX> character and ends with <ETB> or <ETX> character, a checksum and <CR> <LF>.
The content of a frame is the message that is to be sent (see chapter 4).
The receiver will acknowledge the frame with <ACK> or <EOT>, or it may indicate an error by
responding with <NAK>. The <EOT> character indicates that the receiver has information to send and
requests that the line is returned to idle state. The sender may honor the <EOT> by responding with
<EOT> or it may ignore the <EOT> and send the next frame.
After the sender has transmitted an <EOT> character, the line is returned into idle state.
The total size of a frame shall not exceed 64,000 bytes. Messages longer than 64,000 bytes are split
into multiple frames. A frame can contain only a single message.
The Frame number must start with the ASCII character ‘1’ for the first frame that is transmitted after
the <ENQ> character.
4 Messages
4.1 General
This section describes the format of messages between the analyser and the host. These messages
are formatted according to the LIS2-A standard (See [2]).
Each message consists of one or more records, each record is terminated with a carriage return
character (ASCII 13). The following example shows the flow of control of a message from a sender to
a receiver. The characters below ASCII 32 are written in the notation: STX (ASCII 2). The complete
ASCII code chart is provided in Appendix C, for more examples, refer to Appendix D.
E
Sender: NQ
A
Receiver: CK
S C
Sender: TX1H|\^&|||SELE||||1.0|||P|LIS2-A|20060126163201 RQ|1|^12936-
A||ALL||||||||OCRL|1|FCRETX23CRLF
A
Receiver: CK
Sender: EOT
A host may transmit more fields and records than are specified in this document. The analyser shall
ignore those fields and records.
If the analyser receives a message that does not contain the required fields, it will ignore the message.
The analyser does not verify the correct sequential numbering of records from the host. However, the
record sequence number and record type fields are required fields by standard LIS2-A and are
included in the message. (In contrast, the frame number as defined in Chapter 3 (LIS1-A) must be
sequentially numbered and is checked by the analyser. Incorrect frame numbering will lead to rejection
of the frame.)
All records are formatted with delimiters. For the host protocol, the following delimiters are used:
The following escape sequences are recognized and transmitted by the analyser:
In cases where fields are limited to a maximum (e.g., sample_ID, patient name), this maximum applies
to the number of characters without replacing imbedded field delimiters by their escape sequence.
Example: Sample ID “15\a” is transmitted as “15&R&a”; but the number of characters for maximum
limit is 4.
Except for the record-ID, the text fields are case-sensitive. This means that the analyser performs all
text comparisons sensitive the the case of the text field. For instance a request containing a character
‘s’ in the priority field, will not be interpreted as ‘S’ (STAT) and a test request ‘Asat’ will not match with
a test called ‘ASAT’ on the analyser.
5 Messages to host
This section describes the messages that are sent from the analyser to the host. For host
implementation, the minimally required fields are marked ‘yes’, unmarked fields are optional.
The numbering of the fields is indentical to the numbering used in the CLSI LIS2A standard [2].
Device ID
The field device_id is used to identify the analyser and can be used as extra security that the tests are
performed on the correct analyser. It can be up to 20 characters long.
7.1.10 Received ID
if a device_id is defined in the analyser application, and a device_id is present in the received
message, then the message will be ignored if the device_id in the received message is not equal to
the device_id in the analyser application. A field may contain more components, these will be ignored.
Note that if the device_id in the message or the device_id in the analyser application is empty, this rule
does not apply.
H|\^&|||SELXL^2.1.0||||1.0|HOST||P|LIS2-A|20060120153902
When transmitted by the analyser, this field can contain any of the defined sample types or the fixed
texts BLANK, CALIBRATOR or CONTROL.
Limitations:
The sample ID in the order record is used to identify the sample request on the analyser, cancelling
the order means that the sample request – including patient information – is deleted from the analyser.
If the analyser is active when the request is received and the sample is already loaded on the
analyser, the requested test is automatically started. This behaviour is intended for reflex tests
transmitted from host.
If a request (identified with a sample ID) has a name, birth date or other demographic information that
conflicts with a request on the analyser, the request will be rejected by the analyser.
General
By default the analyser sends the results to the host as soon as they become available. This means
that the analyser will send multiple result messages for a single sample (1 for each test result). It also
means that if there is a tests that requires operator attention (the test has an *INFO*), then this test will
not hold back sending of results. The field Report Type (9.1.26) is used to indicate if the sample has
still has active tests that are being measured, or if it is the last test for the sample.
Alternatively, the option Collate Results may be set in the analyser, in which case the analyser will not
send the test results for a sample, until all tests for that sample are completed. It will then send all
results in a single message.
In case the test measurement is performed with a repeat value > 1 (The test must have been
requested at the analyser console, since the host request does not support specifying a repeat value),
each individual measurement is reported to the host. The host can identify these results as different
measurement by inspecting the value of the measurement date/time field (Field 10.1.13).
If the instrument receives a comment record following the test order record, the text from the comment
record will be placed in the sample comment record. If multiple comment records are received, only
the last comment record will be copied into the sample comment record, thereby overwriting any
previously received comments.
The instrument will store only the first 100 characters of the received comment text.
C|<sequence number>|I|M01^<abs_result>^<abs_units>|G
<abs_result> Calculated absorbance value based on raw measurements.
<abs_units> Relevant absorbance units (Abs, dAbs, dAbs/m)
C|<sequence number>|I|M02^<seconds>^<raw_result>^<used>|G
seconds Time at which measurement was performed. This is a floating point value.
raw_result floating point value specifying the raw absorbance measurement by the
analyser
used 0 or 1: 1 indicates the point is used by the analyser to calculate the
concentration; 0 indicates the measurement was not used.
The field Comment Text is repeated for every raw measurement point.
In case a ‘test repeat’ is set in the test parameters, the raw measurements are sent for each repeat.
With a test repeat of 3, this means that 6 comment records will be appended for each result.
Raw results from the ISE are reported in the format as they are received from the ISE unit. Currently
the ISE units reports only final results. Only an M01 field will be transmitted.
Example:
C|1|I|M01^0.276^dAbs/m|G
C|2|I|M02^24.5^0.2313^0\M02^51^0.2320^0\M02^77.5^0.7123^0\[additional values
skipped for brevity]|G
When Termination Code (13.1.3) received from host is Q or I then this is taken to mean that the host
has no information on the sample ID in the last request. Depending on implementation, a message
may be shown on screen.
Whenever the analyser encounters a new sample ID for which it can not find a request in the request
buffer, it sends a ‘request information record’ to the host system, requesting to send test orders and
demographics. The analyser will never cancel an outstanding request.
When the analyser receives a request it will always respond by sending all results for the requested
sample ID as they are at that time. These results may be Final (F) or in analyser pending (I).
The cuvette blank information is sent by the analyser when the operator presses Ctrl+F1 in the Blank
Rotor menu. The blank results of the selected filter (and for XL-series: analyser half) are sent to the
host.
If the host requests blank information by sending an M|1|B, then all blank information, for all cuvettes
and all wavelengths is transmitted to the host.
The error history is only transmitted to the host after the host has requested the error history. The host
performs an error history request by sending an M|1|H record.
Reagent Installation information is sent automatically from the analyser to the host whenever the
reagent configuration on the analyser changes. Alternatively the host can request reagent installation
information by sending a M|1|I record.
The location of reagents used for normal operation of the analyser (e.g., HCL and NEEDLE RINSE)
and shared reagents (e.g., SHARED BUFFER) are not reported to the host.
Reagents are reported ordered by position of the reagents on the rotor.
Example:
The following message indicates 2 tests are installed on the analyser; “+Cocaine 150” and “LSD”.
Reagent 1 for “+Cocaine 150” is on position 1; Reagent 3 on position 2. For LSD reagent 1 is located
on rotor position 5 and reagent 3 is located on position 6. “+Cocaine 150” has executed a total of 290
tests; while “LSD” has been used for 165 tests.
H|\^&|||JUNIOR^2.1.0||||1.0|||P|LIS2-A|20060120162301CR
M|1|I|1^+C15^+Cocaine 150^1^^^290\2^+C15^+Cocaine 150^3^^^290\
5^LSD^LSD^1^^^165\6^LSD^LSD^3^^^165CR
C
L|1|F R
The extended version information is only transmitted to the host after the host has performed a request
by sending an M|1|V record.
Extended version information can be used to request version information for all parts used in the
analyser.
Appendix A Flags
When there are irregularities during the measurement of a test, the analyser will flag the result with a single
character describing the nature of the irregularity. There may be multiple flags added to a result. The flags
may appear in random order.
The analyser will transmit these flags to the host in the result record field 10.1.7.2 as described in section
5.4.
Appendix B Units
The next table shows all the possible units.
Character codes used for the special characters ‰ (Per mille sign; Latin-1 137) and µ (micro sign; Latin-1
181) depend on the codepage that is currently active in the PC application on the analyser. The transmitted
code may differ based on the language that is used for the user interface.
Appendix D Examples
The following shows the flow of control of a message from a sender to a received. In this case the sender is
the analyser performing a query request at the host (See example 4)
E
Sender: NQ
Receiver: ACK
S C
Sender: TX1H|\^&|||SELE||||1.0|||P|LIS2-A|20060126163201 RQ|1|^12936-
C C E C L
A||ALL||||||||O RL|1|F R TX23 R F
Receiver: ACK
E
Sender: OT
For readability the encapsulation of messages has been removed from the following examples.
For the second result (+C15), the analyser sends the following message to the host:
H|\^&|||SELE||||1.0|||P|LIS2-A|20060126162503CR
P|1||||Lindsey Blake||19650917|FCR
O|1|12934-A|||R|||||||||||Dr. Carnegy|||||||||FCR
R|1|^^^+C15^+Cocaine 150|0.321|dAbs/m|0.231|^+||F||||20060126162459
|^3T797^20070601CR
C
L|1|F R
H|\^&|||SELJR||||1.0|||P|LIS2-A|20060126162409CR
P|1||||Lindsey Blake||19650917|FCR
O|1|12934-A|||R|||||||||||Dr. Carnegy|||||||||FCR
R|1|^^^GLUC^Glucose|8.1|mmol/l|^4.0^6.9|H^N||F||||20060126162405CR
R|2|^^^+C15^+Cocaine 150|0.321|dAbs/m|0.231|^+||F||||20060126162459CR
|^3T797^20070601CR
C
L|1|F R
H|\^&|||SELXL||||1.0|||P|LIS2-A|20060126163201CR
Q|1|^12936-A||ALL||||||||OCR
L|1|FCR
Example 1.4 Analyser result message for calibration of Valproic Acid assay
H|\^&|||SELE||||1.0|||P|LIS2-A|20060127081927CR
P|1|||||||CR
O|1||VPA Calibrator||R||||||||||||||||||||FCR
R|1|^^^VPA^Valproic Acid|0.2258|dAbs/m||||F||||20060127081456CR
R|2|^^^VPA^Valproic Acid|0.2524|dAbs/m||||F||||20060127081550CR
R|3|^^^VPA^Valproic Acid|0.2837|dAbs/m||||F||||20060127081644CR
R|4|^^^VPA^Valproic Acid|0.3084|dAbs/m||||F||||20060127081738CR
R|5|^^^VPA^Valproic Acid|0.3631|dAbs/m||||F||||20060127081832CR
R|6|^^^VPA^Valproic Acid|0.3892|dAbs/m||||F||||20060127081926CR
L|1|FCR
H|\^&|||LABLIS|||||||P|LIS2-A|20060126155702CR
P|1||||First SampleCR
O|1|12940||^^^GLUC\^^^CHOL|RCR
P|2||||Stat SampleCR
O|1|12941||^^^GLUC|SCR
O|2|12941||^^^CHOL|RCR
P|3||||ASAP SampleCR
O|1|12942||^^^GLUC|ACR
L|1|FCR
Note: The second sample request (Sample ID 12941), contains two order records: One test to be performed
immediately (STAT), and one test to be performed as routine (normal). Since the priority in the analyser is
set at sample level, the priority in the second test request will overwrite the priority in the first test request. All
tests will be executed at normal priority, not STAT.
H|\^&|28319|PWD|HostSystem|||319 555-456||SELE||P|LIS2-A|20060126170103CR
P|1|12936|12936||John Dibbly||19710702|M||||MNYCR
O|1|12936-A||^^^CREA|R|20060126150557|||||N|||||Dr. Carnegy|||||||||QCR
L|1|FCR
A response from a host is not required, the query will time-out on the analyser after a few seconds.