Sei sulla pagina 1di 61

Konelab

LIMS and LAS


Interfaces
KONELAB
LIMS AND LAS
INTERFACES

Code: 895304
Manual version: L
Date: 12.5.2008

Any reference to the Konelab systems also refers to the T Series.

Information in this manual is subject to change without prior notice.

The CE mark attached on Konelab indicates the conformity with


the IVD (in vitro diagnostic medical devices) directive 98/79/EC.

The CE mark attached on Arena and Aquakem indicates the


conformity with the EMC (electromagnetic compatibility) directive
89/336/EC.

Thermo Fisher Scientific Oy Tel: +358 9 329 100


Ratastie 2, P.O.Box 100 Fax: +358 9 3291 0500
FI-01621 VANTAA www.thermo.com/konelab
I LIMS INTERFACE

1. HARDWARE INTERFACE ......................................................................................................... 1


1.1 HOW TO INSTALL AND CONFIGURE THE ASTM SOFTWARE................................................2
1.1.1 INSTALLATION .......................................................................................................................2
1.1.2 CONFIGURATION ...................................................................................................................3
1.1.2.1 CONFIGURATING SERIAL CONNECTION........................................................................4
1.1.2.2 CONFIGURATING TCP/IP CONNECTION..........................................................................4

2. KONELAB ONLINE (=KONE ONLINE) PROTOCOL................................................................ 7


2.1 BI-DIRECTIONAL MODE................................................................................................................7
2.1.1 COMMUNICATION RECORDS ..............................................................................................8
2.1.1.1 INITIALISATION RECORDS ..............................................................................................................8
2.1.1.2 PATIENT INFORMATION RECORD .................................................................................................9
2.1.1.3 SAMPLE INFORMATION RECORD ................................................................................................10
2.1.1.4 TEST ANALYSIS RECORD ..............................................................................................................10
2.1.1.5 RESULT RECORD .............................................................................................................................11
2.1.1.6 FINISHING RECORD.........................................................................................................................11
2.1.2 BI-DIRECTIONAL PROTOCOLS ..........................................................................................12
2.1.3 DATA VALIDITY CHECK.....................................................................................................17
2.1.3.1 CHECK SUM ......................................................................................................................................17
2.1.4 TIMING REQUIREMENTS ....................................................................................................17
2.2 EXAMPLES OF COMMUNICATION............................................................................................18
2.2.1 SAMPLE AND TEST DATA ENTRY ....................................................................................18
2.2.2 RECEIVING NEW READY RESULTS..................................................................................19
2.2.3 RECEIVING ALL READY RESULTS ...................................................................................20
2.2.4 RECEIVING RESULTS FOR A SPECIFIC SAMPLE ...........................................................20
2.2.5 SENDING TEST DATA FOR OLD SAMPLES .....................................................................21
2.2.6 ENQUIRING TESTS IN USE IN THE ANALYSER..............................................................22
2.3 ERROR HANDLING .......................................................................................................................23
2.3.1 ERROR RECORD....................................................................................................................23
2.3.2 RESULT ERROR CODES.......................................................................................................24
2.3.3 COMMUNICATION ERROR CODES ...................................................................................24
2.3.4 ON LINE ERROR CODES ......................................................................................................25
2.3.5 EXAMPLES OF ERROR HANDLING...................................................................................27
2.4 REQUESTING A CALCULATED TEST........................................................................................28
3. ASTM PROTOCOL................................................................................................................... 30
3.1 FEATURES ......................................................................................................................................30
3.2 ASTM IN KONELAB ..........................................................................................................................31
3.2.1 CLSI LIS2-A STRUCTURE OF MESSAGES ........................................................................31
3.2.1.1 Header record (level 0).........................................................................................................................31
3.2.1.2 Message terminator record (level 0).....................................................................................................32
3.2.1.3 Patient information record (level 1) .....................................................................................................32
3.2.1.4 Test order record (level 2)....................................................................................................................34
3.2.1.5 Result record (level 3)..........................................................................................................................36
3.2.1.6 Comment record (level 4) used with the Result Record .......................................................................37
3.2.1.7 Comment record (level 3) used with transmission related error conditions..........................................38
3.2.1.8 Request information record (level 1)....................................................................................................39
3.2.2 FIELD LENGTHS USED BY Konelab ...................................................................................40
3.2.3 EXAMPLES OF COMMUNICATION BETWEEN Konelab AND THE HOST
COMPUTER ............................................................................................................................................41

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 1
II LAS INTERFACE

4. KONELAB / LAS INTERFACE................................................................................................. 46


4.1 HARDWARE INTERFACE ............................................................................................................46
4.2 GENERAL DESCRIPTION.............................................................................................................46
4.2.1 MESSAGE RECORD FORMAT .............................................................................................46
4.2.2 CALCULATION OF CHECKSUM.........................................................................................47
4.2.3 SEQUENCE FOR INITIALISING THE COMMUNICATION INTERFACE .......................48
4.2.4 ANALYSER BOOT SEQUENCE ...........................................................................................48
4.2.5 KUSTI STATES AND ERROR RECOVERY.........................................................................49
4.3. COMMUNICATION RECORDS .....................................................................................................51
4.3.1 INITIALISATION RECORD ..................................................................................................51
4.3.2 ILLEGAL COMMAND RECORD ..........................................................................................51
4.3.3 ANALYSER STATUS QUERY RECORD .............................................................................51
4.3.4 ANALYSER STATUS RECORD............................................................................................52
4.3.5 ASPIRATE SAMPLE RECORD .............................................................................................52
4.3.6 SAMPLE DISPENSING COMPLETE RECORD ...................................................................53
4.3.7 REINITIALISE COMMUNICATION RECORD....................................................................53
4.4 COMMUNICATION EXAMPLES..................................................................................................54
4.4.1 INITIALISATION SEQUENCE ..............................................................................................54
4.4.2 SAMPLE ASPIRATION SEQUENCE FOR TWO SAMPLES ..............................................54
4.4.3 SAMPLE ASPIRATION FAILS, RECOVERY SUCCESSFUL 1..........................................55
4.4.4 SAMPLE ASPIRATION FAILS, RECOVERY SUCCESSFUL 2..........................................56
4.4.5 SAMPLE ASPIRATION FAILS, RECOVERY UNSUCCESSFUL .......................................57

Copyright
Copyright  2008 Thermo Fisher Scientific Inc. All rights reserved.

No liability for consequential damages


Thermo Fisher Scientific shall not be liable for any damages whatsoever arising out of use or inability
to use this product.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 2
1. HARDWARE INTERFACE
Any reference to the The Konelab LIMS hardware interface works through serial communication channel.
Konelab systems also
refers to the T Series.

Figure 1: The connectors for serial communication channels are at the back of the
Konelab workstation. The connectors are 9-pin male D-connectors.

The channel (COM1,COM2) as well as the LIMS protocol (Konelab Online or


ASTM) and communication parameters (baud rate, number of bits in character,
number of start and stop bits and the use of parity) to be used can be configured in
the Konelab LIMS Configuration window.

Main window
F8/F1
Configuration

Configuration
F7
LIMS /LAS
Configuration

LIMS/LAS Configuration

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 1
LIMS AND LAS INTERFACES

The cable should be The signals needed at the Konelab end of cable
made according to the
documentation of LIMS Pin 2 Receive Data
system in use. Pin 3 Transmit Data
Pin 5 Ground

This example describes An example of the cabling between Konelab and LIMS
the minimum cable
connections needed. Konelab and a PC (RS-232)
Some computer systems
may require some Konelab PC
additional signals
connected locally within Pin 2 RxD--------------------------- TxD
connector. Please refer Pin 3 TxD ----------------------------- RxD
to your LIMS
documentation for Pin 5 Gnd ----------------------------- Gnd
further information.

1.1 HOW TO INSTALL AND


CONFIGURE THE ASTM SOFTWARE

1.1.1 INSTALLATION
The ASTM software can be taken into use after the Konelab software is installed. If
Konelab application is running, close the application by selecting Management and
Exit. Select Start->Programs->Konelab Lims Selection and select ASTM serial or
ASTM TCP/IP from there. The ASTM configurations should be checked after
starting the Konelab application again, because the configuration file is updated in
start of the application.

If ASTM communication will use serial line, selection should be “ASTM serial”. If
TCP/IP communication is used, “ASTM TCP/IP” should be selected. TCP/IP
communication needs configuration described in the chapter 1.1.3 before it can be
used.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 2
LIMS AND LAS INTERFACES

1.1.2 CONFIGURATION
ASTM software has additional configurations as compared to Konelab Online
software. The configuration file is Konelab.ini and it is in folder C:\Konelab\Config.

The changes to the configuration are:

LimsProtocol = ASTM
- This is a new choice for protocol.

The ASTM software LimsAutomaticResultSending = YES


supports sending results - When YES the new results are automatically send to Laboratory computer.
on ready sample or on
ready request basis. The LimsThreadPriority = LOW
sending of results on - This enables the Lims thread to use lower priority and give other software
ready request basis will processes more time.
load the interface heavily
and it is recommended LimsInterruptible = NO
that sending results by - When YES the ASTM protocol allows the receiver to ask for interruption of
ready sample should be sending information.
used. This selection can
be done through the LimsHostQuery =YES
Konelab Configuration - When YES the Konelab software will automatically send a query for sample
function. information and requests when new sample is introduced into Konelab.

SentryWaitsLimsRequests = YES
- When YES the sample entry function waits for the response to a query when new
sample is introduced.

ASTMControlResultSending = NO
- When YES the new control sample analysis results are automatically send to
Laboratory computer.

ASTMStandardResultSending = NO
- When YES the new calibrator sample analysis results are automatically send to
Laboratory computer.

SampleIdSendingDelay = 0
- If value is not 0, Konelab will use this delay between successive sending of new
sample Id's. This can be used to ease the burden on Laboratory computer when
e.g. a full segment with 14 samples is introduced. The value is expressed in
milliseconds.

ResultSendingDelay = 0
- If value is not 0, Konelab will use this delay between successive sending of new
sample results. This can be used to ease the burden on Laboratory computer. The
value is expressed in milliseconds.

In order to take ASTM protocol in use the configuration file should be edited
manually. Close the Konelab application by selecting MANAGEMENT and EXIT
from there. Wait for the Konelab application to shut down. Start Windows NT
Explorer by selecting Start-> Programs->Windows NT Explorer. Select the folder
C:\Konelab\Config and on the right side of Explorer display should be seen files
Konelab and UserText. Double click with mouse on Konelab file. Now the Notepad
program should open with the Konelab.ini file. Change the configuration manually
and after that save the modified file selecting File->Save. Now the Konelab software
can be started again with ASTM configurations.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 3
LIMS AND LAS INTERFACES

1.1.2.1 CONFIGURATING SERIAL CONNECTION

Serial Interface parameters:


- Serial interface Select the type, client or server. This parameter is seen
with KONE Online TCP/IP communication type.
- Serial port Select the serial port from the pull down menu.
Alternatives are from COM1 to COM4.

Note! If 7 data bits is - Baud rate Select the baud rate values between 110 and 9600.
selected special - Data bits The number of data bits can be 7 or 8.
characters above
ASCII 127 are not sent - Stop bits The number of stop bits can be 1 or 2.
correctly. - Parity Select the parity checking. It can be even or odd.
If checking is not wanted select NO.
- Ack timeout (sec) The maximum time the response is waited for.

1.1.2.2 CONFIGURATING TCP/IP CONNECTION

Socket Communication
Konelab’s socket communication is based on Windows Sockets and it uses TCP/IP
connection oriented sockets. This means that a connection is needed between the
two parts willing to communicate before any information transmission can occur.
When there is no more need to communicate the connection can be disconnected,
but is not needed until closing the session, clearing daily files or in an error
condition.

Konelab can act as client or server in socket communication. Running as client


means, that Konelab tries to establish a connection to a given port at the given IP-
address. Running as a server means, that Konelab creates a listening socket for given
port at given IP-address and is ready to accept any client connect requests. Note that
the communication needs a server at one end and a client at the other. Note also, that
Konelab server mode can serve only one connection at time and any attempts to
make more connections will probably lead to mall function.

The client/server operation of Konelab is defined with Konelab.ini configuration.


For client operation the C:\Konelab\Config\Konelab.ini should have KonelabService
value CLIENT and ASTMCommunication should have value SOCKET_CLIENT.
For server operation the C:\Konelab\Config\Konelab.ini should have
KonelabService value SERVER and ASTMCommunication should have value
SOCKET_SERVER. These changes can be made with Notepad. Note that the
Konelab application must not be running, when doing these changes.

In order to communicate through a network Konelab needs another Network


Interface Card (NIC). If communication is internal to the Konelab workstation, no
new NIC is needed, but the communication should use the loop back or local host
address of TCP/IP. For the additional NIC the 3Com 3C905C-TX is recommended.
If the workstation has Windows XP operating system also USB based network
connection box is worth considering. The installation of a new card should be let to
qualified service personnel in order to avoid any damage to the workstation.
Konelab should be connected to another computer with a correct type of cable.
Please ask qualified service personnel to deliver a correct type of cable.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 4
LIMS AND LAS INTERFACES

Communication protocol
Konelab uses ASTM protocol in socket communication. This means that the serial
channel is simply replaced with socket communication and all the interactions and
message structures are the same as when using a serial channel. Please refer to
chapter 3 for details in Konelab implementation of ASTM protocol.

Configuration
The new card should be configured to use the specific TCP/IP address that is
reserved for the communication and this should be done with Windows Control
Panel’s Network tool or ‘Network Connections’-folder. Besides this the setting of
routes is needed. If the address for the new card is 172.16.0.11 and the other end for
communication is 172.16.0.XXX, then the following should be done. In command
line window give the following commands:

Route ADD –P 193.94.136.0 MASK 255.255.255.0 193.94.136.60


Route ADD –P 172.16.0.0 MASK 255.255.255.0 172.16.0.11

These commands make permanent entries to route table, so Windows Sockets can
tell which card to use for communicating with certain IP-address. If the address of
the new card is not 172.16.0.11, the last command line should be changed to match
the address.
Main window
F8/F1
Configuration

Configuration
F7
LIMS/LAS
Configuration

LIMS/LAS
Configuration

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 5
LIMS AND LAS INTERFACES

Besides the card configuration, the connection parameters for socket communication
must be also set. The TCP/IP connection is selected by choosing value TCP/IP to
communication type.

Configuration setting for TCP/IP connection type

Socket communication type:


- Konelab software can be socket server or socket client

Konelab address:
- This is IP-address configured to new network card

Lims address:
- This is IP-address for LIS/LIMS system

Lims port:
- This defines communication port which is opened to ASTM communication

For successful use of communication both ends must use same port number and
matching IP addresses.

Connection management
Konelab tries to get connected whenever possible. In client mode Konelab tries to
create a connection once in every 20 milliseconds. In server mode Konelab is
waiting for a connection. After the connection is established, Konelab does not
disconnect until application is closed down, clear daily files is requested by user or
an unrecoverable error condition occurs in communication.

Clearing daily files also disconnects Konelab because the internal message queues
are cleared. Konelab then waits for a few seconds before accepting any new data
through LIS connection. This is to ensure that Konelab is internally in consistent
state before starting a new session. There is no error message to user when
disconnecting is done due to clear daily files.

If communication error occurs, Konelab disconnects and shows the user an error
message: 4403 Write error (LIMS), 4404 Read error (LIMS), 4406 Communication
timeout (LIMS) or 4407 Transmit error (LIMS). This indicates to the user about
problems in communication. Konelab tries, however, to connect immediately after
the disconnecting has occurred. The blue Online signal on Konelab screen indicates
a communication trial is going on, but does not indicate a successful communication.

Debugging sockets
The debug support for sockets is practically the same as with serial channel, but
setting C:\Konelab\Config\Konelab.ini DebugLevel to value 1 will provide a more
detailed information of data transmission through socket. This should help to detect
problems when creating the first implementation of communication. After the
connection seems to work the DebugLevel should be returned to value 9 in order to
keep the LSDEBUG.TXT file a bit smaller.

When debug is on and some fault has occurred, Konelab shows a yellow or red
Online signal on screen, when no transmission is active. This replaces the normal
gray background and is an indication to user that some fault has occurred. The
reason for the fault can be found from LSDEBUG.TXT with search to words ‘RED’
or ‘YELLOW’. Note that this works only when debugging is on.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 6
LIMS AND LAS INTERFACES

2. Konelab ONLINE (=KONE


Any reference to the ONLINE) PROTOCOL
Konelab systems also
refers to the T Series.

2.1 BI-DIRECTIONAL MODE


The analyser is always Konelab uses bi-directional data communication between the analyser and the
acting as co-operator external computer i.e. both an external computer and the analyser can communicate
and the computer is the with each other. For example, the external computer can send test requests to
host. Konelab and the analyser can send completed results to the computer.

Bi-directional mode consists of seven different functions:

) Function 1 is used when Patient data, Sample data and Test data is sent to
the analyser.

) Function 2 is used to send Sample and Test data only to the analyser.
Control and Calibrator sample data can also be sent to the analyser using this
function.

) Function 3 is used when a laboratory computer wishes to receive all newly


completed results which have not already been sent.

) Function 4 is used when a laboratory computer wishes to receive all


results completed that day.

) Function 5 is used when a laboratory computer wishes to receive all


results for a particular sample. Complete and incomplete tests are sent by the
analyser.

) Function 6 is used for request inquiry i.e. a laboratory computer wishes to


know which patient samples exist in the database of the analyser. The laboratory
computer can then send new requests.

) Function 7 is used when a laboratory computer wishes to know which tests


exist in the database of the analyser.

These functions are activated using the initialisation records. Refer to section 2.1.1.1.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 7
LIMS AND LAS INTERFACES

2.1.1 COMMUNICATION RECORDS


The following records are used when the analyser and the host computer
communicates with each other.

2.1.1.1 INITIALISATION RECORDS

Initialisation records are activating commands which the host computer sends to the
analyser when the communication begins.

INITIALISATION RECORD 1
This record is used when Patient data, Sample data and Test data is sent to the
analyser.

:I:PR1/C/

C = check sum, refer to section 2.1.3.1.

INITIALISATION RECORD 2
This record is used to send Sample and Test data only to the analyser. Control and
Calibrator sample data can also be sent to the analyser using this initialisation record.

:I:PR2/C/

INITIALISATION RECORD 3
This record is used when a laboratory computer wishes to receive all newly
completed results which have not already been sent.

:I:PR3/C/

INITIALISATION RECORD 4
This record is used when a laboratory computer wishes to receive all results
completed that day.

:I:PR4/C/

INITIALISATION RECORD 5
This record is used when a laboratory computer wishes to receive all results for a
particular sample. Complete and incomplete tests are sent by the analyser.

:I:PR5/C/

INITIALISATION RECORD 6
This record is used when a laboratory computer wishes to know which patient
samples exist on the database of the analyser. The laboratory computer can then send
new requests.

:I:PR6/C/

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 8
LIMS AND LAS INTERFACES

INITIALISATION RECORD 7
This record is used when a laboratory computer wishes to know which tests exist on
the database of the analyser.

:I:PR7/C/

2.1.1.2 PATIENT INFORMATION RECORD

:P:nn..n/ii..i/M or F/A or C/b..b/ss..s/n or o/C/

P - identifies the record to be a


Patient Information Record

nn..n - Patient Name (up to 24 characters)

ii..i - Patient Identification (up to 16 characters)

M - Male (M) or Female (F) Konelab ignores this; reference


New or Old: If the class is always 0
switch is N or n - the
analyser expects the A - Adult (A) or Child (C) Konelab ignores this; reference
patient to be new. If class is always 0
already present, an error
message is sent to the
bb..b - Age or Date of Birth (up to 8 characters)
computer. If the switch is
O or o and the patient
ss..s - Sender name (up to 24 characters)
does not exist in the
analyser, again an error
n or o - New (n) or Old (o) (1 character)
message is sent. If the
switch is omitted the
patient is accepted in C - check sum, refer to section
either case. 2.1.3.1.

The slash (/) must be entered into the string, since it is the field delimiter. This
means that the number of slashes in a record is always constant. Note that the slash is
a forbidden character inside a field.

For example, if no sender information and no age information is sent, the Data String
looks like:

:P:nn..n/ii..i/M/A///n or o/C/

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 9
LIMS AND LAS INTERFACES

2.1.1.3 SAMPLE INFORMATION RECORD

:S:ii..i/pn/pp/st/nn/dd..d/tt..t/rrr/n or o/C/

Sample Type: S - identifies the record to be a sample


If the type is @S, a information record
calibrator name (i.e.
S0...S19) is expected as the ii..i - sample identification (up to 16 characters)
id. If the identification is not
a calibrator name, an error pn - sample segment number (up to 2 characters)
message will be sent.
If the type is @C, a control pp - sample segment position (up to 3 characters)
name (i.e. C1...C19) is
expected as the id. If the st - sample type (up to 2 characters)
identification is not a
control name, an error nn - sample note data e.g. icteric (ic), (up to 2 characters)
message will be sent. haemolysed (HE), a user defined character
code, handled only as an information string
New or Old:
dd..d - collection date, a user defined character (up to 8 characters)
If the switch is N or n - the
code, handled only as an information string
analyser expects the sample
to be new. If already
present, an error message is tt..t - collection time, a user defined character (up to 5 characters)
sent to the computer. code, handled only as an information string
If the switch is O or o and
the sample does not exist in rrr - dilution ratio (format is 1 + rrr) (up to 3 characters)
the analyser, again an error
message is sent. If the switch n or o - new/old (1 character)
is omitted, the sample is
accepted in either case. C - check sum, refer to section 2.1.3.1.

2.1.1.4 TEST ANALYSIS RECORD


When ISE.Ca is :A:xx..x/!/yy..y/..../C/
requested through KONE
Online, there will be no
A - identifies the record to be the test analysis
visible pH correction
record
request although it is
measured.
! - STAT identifier for following request (1 character)

Use the same test xx..x - test identification (up to 8 characters)


identification as in test's yy..y,etc
parameters.
C - Check sum, refer to section 2.1.3.1.

The STAT identifier indicates that the following request must be performed urgently.
This is valid only for one request following the STAT identifier. If there is a STAT
profile to be sent, each test identification must have its separate STAT identifier. If
the '!' is omitted then the request is performed routinely,
i.e. :A:xx..x/yy..y/.../C/

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 10
LIMS AND LAS INTERFACES

2.1.1.5 RESULT RECORD

:R:ii..i/aa..a/rr..r/ddd/ee..e/aa..a/rr..r///.../C/

R - identifies the record to be a result type record

ii..i - sample identification, a shorter identification is (16 characters)


filled with blanks by the analyser

aa..a - analysis identification, a shorter identification (8 characters)


is filled with blanks by the analyser

rr..r - result, right justified, field is filled with blanks (6 characters)


SPECIAL NOTE:
by the analyser. A possible minus sign is leading
The most significant
digit is lost if the the most significant character. The 6 characters
result includes more might include a decimal point which position is
than 6 characters. defined by the parameter 'Number of decimals'
in the TEST DEFINITION window.

ddd - dilution ratio (format is 1+ddd), total dilution (up to 3


including both manual and automatic dilution characters)

ee..e - result error codes, refer to section 2.3.2. (up to 10


characters)

If the result was obtained without a dilution, the dilution field is skipped (/ remains).
If the result has no error, the error field is skipped, (/ remains).

2.1.1.6 FINISHING RECORD

Finishing record is used in data sending as the last record to indicate to receiver that
communication is over. The receiver must always acknowledge finishing record by
<ACK>.

Finishing record has always the same format:

:F:PR/C/

where C is the check sum. Refer to section 2.1.3.1 for the calculation of the check
sum.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 11
LIMS AND LAS INTERFACES

2.1.2 BI-DIRECTIONAL PROTOCOLS

PROTOCOL FOR SENDING PATIENT, SAMPLE AND TEST DATA


TO THE ANALYSER

LABORATORY COMPUTER ANALYSER

(Initialization record 1)(CR)(LF)

(ACK)

(Patient info record)(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Test analysis record)*(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Test analysis record)*(CR)(LF)

(ACK)

(Patient info record)(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Test analysis record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

*A number of Test Analysis records may follow, which must be acknowledged by


(ACK)

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 12
LIMS AND LAS INTERFACES

PROTOCOL FOR SENDING SAMPLE AND TEST DATA TO THE


ANALYSER

LABORATORY COMPUTER ANALYSER

(Initialization record 2)(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Test analysis record)*(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Test analysis record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

* A number of Test Analysis records may follow, which must be acknowledged by


(ACK).

PROTOCOL FOR RECEIVING NEWLY COMPLETED RESULTS


FROM THE ANALYSER

LABORATORY COMPUTER ANALYSER

(Initialization record 3)(CR)(LF)

(ACK)

(Result record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

* A number of Result Records may follow, which must be acknowledged by


(ACK).

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 13
LIMS AND LAS INTERFACES

PROTOCOL FOR RECEIVING ALL COMPLETED RESULTS FROM


THE ANALYSER, I.E. RECOVERY WHEN THE ANALYSER OR
COMPUTER GOES DOWN

LABORATORY COMPUTER ANALYSER

(Initialization record 4)(CR)(LF)

(ACK)

(Result record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

* A number of Result Records may follow, which must be acknowledged by (ACK).

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 14
LIMS AND LAS INTERFACES

PROTOCOL FOR RECEIVING RESULTS ON A SPECIFIC


SAMPLE, I.E. STAT SAMPLE

LABORATORY COMPUTER ANALYSER

(Initialization record 5)(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Result record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

***

(Sample info record)(CR)(LF)

(ACK)

(Result record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

***
(Finishing record)(CR)(LF)

(ACK)

* A number of Result Records may follow, which must be acknowledged by


(ACK).

** A short delay (10 ms) must exist in these phases.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 15
LIMS AND LAS INTERFACES

PROTOCOL FOR SENDING REQUESTS FOR OLD SAMPLES

Sample info record is LABORATORY COMPUTER ANALYSER


identical to the record
used by the laboratory
computer to send sample (Initialization record 6)(CR)(LF)
info.
The part between '== 1 (ACK)
==' and '== 2 ==' is
repeated until all the ==1==
samples in the analyser's
database have been (Sample info record)*(CR)(LF)
processed, excluding
calibrators and controls. (ACK)

**
(Test analysis record)(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

==2==

(Finishing record)(CR)(LF)

(ACK)

* A number of Test Analysis Records may follow, which must be acknowledged by


(ACK).

** A short delay must exist in these phases.

PROTOCOL FOR ENQUIRING TESTS IN USE IN THE ANALYSER

Test analysis record is LABORATORY COMPUTER ANALYSER


identical to the record
used by the host to send
requests, except it never (Initialization record 7)(CR)(LF)
contains the STAT
identifier ('!'). (ACK)

(Test analysis record)*(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

* A number of Test Analysis Records may follow, which must be acknowledged by


(ACK).

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 16
LIMS AND LAS INTERFACES

2.1.3 DATA VALIDITY CHECK


The communication is full duplex and ASCII characters are used, but the user can
select the number of data bits, stop bits, parity and speed in the Configuration
window.

Each record begins with a colon ':' and ends with a check character 'C' followed by a
slash '/', carriage return and line feed.

Maximum record length is 132, including check sum.

2.1.3.1 CHECK SUM

The check sum is calculated from the colon to the last slash before the check sum
character.

The check sum is defined by the following formula (decimal system):

C = Σi (Ci - 32) mod64 + 32

where Ci = each character

EXAMPLE OF CALCULATING A CHECK SUM


String without check sum

The string begins with : I : P R 2 /


the : character and ASCII VALUE 58 73 58 80 82 50 47
includes all characters
up to, and including, SUBTRACT 32 26 41 26 48 50 18 15
the / character before TOTAL 26 67 93 141 191 209 224
the check sum
character. MODULUS 64 26 3 29 13 63 17 32
ADD 32 64
CHARACTER @

String with check sum and delimiter

: I : P R 2 / @ /

2.1.4 TIMING REQUIREMENTS


The host computer has max. 60 seconds time for answering by (ACK) or (NAK).
Otherwise the protocol has to be restarted.

The time the analyser needs for validation of a record depends on the situation and in
the worst case it may take few minutes. Recommended time out value is at least 3
minutes when waiting the response from the analyser.

When the host computer asks results from the analyser with certain intervals, the
recommended minimum time between consecutive asking is at least 5 minutes.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 17
LIMS AND LAS INTERFACES

2.2 EXAMPLES OF COMMUNICATION


This section gives brief examples of the protocol as it would be used in practice.
The examples are only intended to give an indication of the stages involved in each
operation, the data transmitted is arbitrary.

The direction in which the message is going.


means from the computer to the analyser

means from the analyser to the computer

2.2.1 SAMPLE AND TEST DATA ENTRY

WITH PATIENT DATA

LABORATORY COMPUTER ANALYSER

:I:PR1/?/

ACK

:P:SMITH JOHN/4///30/2/N/8/

ACK

:S:6///PL/HA/97-12-18/12:13/0/N/7/

ACK

:A:ISE/ALB/ALK.PH/ALT/DBIL/GGT/PROT/T/

ACK

:P:JONES SUSAN/23423///97-12-08/3/O/_/

ACK

:S:12/2/1/SE//97-12-07/09:45/0/O/)/

ACK

:A:!/ALB/!/ALK.PH/!/ALT/!/DBIL/!/GGT/@/

ACK

:F:PR/+/

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 18
LIMS AND LAS INTERFACES

WITHOUT PATIENT DATA

Sample number 12 has LABORATORY COMPUTER ANALYSER


been allocated to position
1 on segment 2, but sample
number 6 will be allocated :I:PR2/@/
to a position when the
sample is entered to the ACK
analyser. Also, the tests for
sample number 12 are to :S:6///PL/HA/97-12-18/12:13/0/N/7/
be performed as STAT
tests. ACK

:A:ISE/ALB/ALK.PH/ALT/DBIL/GGT/PROT/T/

ACK

:S:12/2/1/SE//97-12-07/09:45/0/O/)/

ACK

:A:!/ALB/!/ALK.PH/!/ALT/!/DBIL/!/GGT/@/

ACK

:F:PR/+/

ACK

2.2.2 RECEIVING NEW READY RESULTS

Results which had LABORATORY COMPUTER ANALYSER


been transmitted
previously will not be
sent again. :I:PR3/A/

ACK

:R:2/ K / 4.7///NA /136//102; 137/CL///002;/-/

ACK

:R:2 /ALB / 43.3///PROT / 48.4//102; 60/^/

ACK

:F:PR/+/

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 19
LIMS AND LAS INTERFACES

2.2.3 RECEIVING ALL READY RESULTS


The results for LABORATORY COMPUTER ANALYSER
sample 1 had been
transmitted
previously but were :I:PR4/B/
sent again along
with new results for ACK
samples 2 and 3.
:R:1/ LDH / 600/5.0//CREA /67///G/

ACK

:R:2 /K / 4.7///NA / 136//102; 137/CL ///002;/-/

ACK

:R3 /ALB / 43.3///PROT / 48.4//102; 60/^/

ACK

:F:PR/+/

ACK

2.2.4 RECEIVING RESULTS FOR A SPECIFIC


SAMPLE
The error message LABORATORY COMPUTER ANALYSER
against the ALB
test indicates that
the result is not :I:PR5/C/
ready.
ACK

:S:6/// PL/HA/97-12-18/12:13/0/N/7/

ACK

:R:6 /ALB ///001;/PROT / 4


8.4//102; 60.0/C/

ACK

:F:PR/+/
ACK

:F:PR/+/

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 20
LIMS AND LAS INTERFACES

2.2.5 SENDING TEST DATA FOR OLD


SAMPLES
LABORATORY COMPUTER ANALYSER

:I:PR6/D/

ACK

:S:6 / 1/ 19/PL/HA/97-12-19/14:55/ 0//D/

ACK

:A:GLUC/CREA/CA/ALB/CHOL/_/

ACK

:F:PR/+/

ACK

:S:12 / 1/20/SE/CO/97-12-13/11:35/ 0//N/


ACK

:A:CA/ALB/CHOL/;/

ACK

:F:PR/+/

ACK

:F:PR/+/

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 21
LIMS AND LAS INTERFACES

2.2.6 ENQUIRING TESTS IN USE IN THE


ANALYSER
LABORATORY COMPUTER ANALYSER

:I:PR7/E/

ACK

:A:ALT /ALB / ALP /AMYL / AST


/CA /CHOL /CL /CPK /CREA
/CRP / FE / GGT /F/

ACK

:A:GLUC /K /LDH /LI / MG /NA /P


/PH / TBIL/ TPROT / TRIGLY /UR
AC /J/

ACK

:F:PR/+/

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 22
LIMS AND LAS INTERFACES

2.3 ERROR HANDLING


In the event of an error in the data transmission, the analyser returns an error record
instead of ACK. This situation could arise for instance when the laboratory
computer sends a test analysis record for a test which does not exist in the analyser.

For example:

LABORATORY COMPUTER ANALYSER

(Initialization record 1)(CR)(LF)

(ACK)

(Patient info record)(CR)(LF)

(ACK)

(Sample info record)(CR)(LF)

(ACK)

(Test analysis record)(CR)(LF)


- error in this record
(Error record)(CR)(LF)

(ACK)

(Finishing record)(CR)(LF)

(ACK)

When the laboratory computer receives an error record, the analyser expects a
finishing record to be sent back to acknowledge the error situation. The analyser
acknowledges this by sending back an ACK. After this, the protocol begins again
with the laboratory computer starting the bidding with the initialisation record. All
data up to the ACK sent by the analyser prior to the error is saved in the analyser,
including also the requests at the beginning of an analysis record up to the wrong test
identification.

2.3.1 ERROR RECORD


:E:xx..x/C/

E - identifies the record to be an error record

xx..x - communication error code, refer to section 2.3.3 (up to 30 characters)

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 23
LIMS AND LAS INTERFACES

2.3.2 RESULT ERROR CODES


ERROR CODE EXPLANATION
001; result not ready, in this case result is skipped in result record

002; result rejected, result will never come, e.g. one ISE electrode
was disabled

003; screening test not measurable, condition due to screening test


rejection

004; result from pretreated sample

101;xx..x result over reference, xx..x is the limit

102;xx..x result under reference, xx..x is the limit

2.3.3 COMMUNICATION ERROR CODES


ERROR CODES EXPLANATION
001; format error, this error occurs when the laboratory computer
has three times sent a record which either has wrong check
sum or is too long (> 132 characters)
003; invalid initialisation record
004; invalid record identification
005; protocol error
101;x..xx invalid sender identification, x..xx means the invalid sender id
103;x..xx invalid sample identification, x..xx means the invalid sample
id
104;x..xx invalid sample plate position, x..xx means the invalid position
105;x..xx invalid analysis identification, x..xx means the invalid id
106;x..xx calibrator or control name does not exist, x..xx is the name
107;x..xx invalid sample type, x..xx is the type
- this error occurs when @C or @S is the sample type when
initialisation record 1 is used
108; number of samples / patient exceeded, max nbr is 10
201;x..xx sample segment position is reserved, x..xx is the sample
segment position
210;x..xx patient already exists, x..xx is the patient name
211;x..xx patient does not exist, x..xx is the patient name
220;x..xx sample already exists, x..xx is the sample id
221;x..xx sample does not exist, x..xx is the sample id

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 24
LIMS AND LAS INTERFACES

2.3.4 ON LINE ERROR CODES


The message 'Online' is given on the Main window during data transmission. If there
are errors on the transmission, error messages are given via the analyser.

32 WRONG DATA FROM AN OTHER PROCESS (LIMS)

) Internal software problem in the database. Restart the workstation.

401 SERIAL LINE PARAMETER ERROR (LIMS)

) Check the serial interface parameters in the Configuration window.

402 WRONG SERIAL PORT (LIMS)

) Check the serial interface parameters in the Configuration window.

403 WRITE ERROR (LIMS)


407 TRANSMISSION ERROR (LIMS)
409 MESSAGE BUFFER ERROR (LIMS)
External computer has received the data but transmission has been detected to be
incorrect.

)
E.g. electronic malfunction, software error,
Possible causes initialisation error or power failure.
Check the cable and cable connection. If the problem
persists, print the reports and call service.

404 READ ERROR (LIMS)


The analyser has received the data but transmission has been recognised to be
incorrect.

)
E.g. electronic malfunction, software error,
Possible causes initialisation error or power failure.
Check the cable and cable connection. If the problem
persists, print the reports and call service.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 25
LIMS AND LAS INTERFACES

405 SYNCRONIZATION ERROR (LIMS)


The analyser received a data record1 while it was expecting an ACK character or it
received ACK/NAK while expecting a data record.

)
E.g. faulty cable, electronic malfunction, software
Possible causes error.
Check the cable and cable connection. If the problem
persists, print the reports and call service.

1) A data record is a string of any characters beginning with ':' and ending with
(0D hex) or a string of any characters whose length exceeds the size of input buffer
(currently 132).

406 COMMUNICATION TIMEOUT (LIMS)


External computer did not answer in the allowed time.

)
E.g. faulty cable, electronic malfunction or wrong
Possible causes initialisation data.
Check the cable and cable connection. If the problem
persists, print the reports and call service.

408 ERROR WHEN DOING DATABASE OPERATION


(LIMS)

) Warning about internal software problem in the database. Analysis


continues. If the problem persists restart the workstation.

410 LIMS TYPE MISMATCH BETWEEN LIMS PROCESS


AND KONELAB.INI

) To continue using the Konelab program, first exit from it by selecting


F8/F3 in the Management window. Then select the correct LIMS process from
Start: Programs: lims selection. Finally, start the Konelab program again by
clicking the konelab –icon.

999 LIMS ERROR MESSAGE (%uu)


u MEANS THE ERROR NUMBER
- %u
- Software problem. Analysis continues.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 26
LIMS AND LAS INTERFACES

2.3.5 EXAMPLES OF ERROR HANDLING

INVALID CHECK SUM

The check sum in the LABORATORY COMPUTER ANALYSER


first message was
incorrect, so the
analyser requested the :I:PR2/?/
message to be sent
again. NAK

:I:PR2/@/

ACK

ERROR IN DATA TRANSMITTED

The analyser does not LABORATORY COMPUTER ANALYSER


recognise XXX as a valid
test id and so it sends
error message 105 which :I:PR2/@/
the computer
acknowledges. The ACK
computer would
probably now try to send :S:126///SE//97-12-18/12:13/0/N/O/
the other tests for
samples and inform the ACK
user of the problem.
:A:XXX/PROT/@/

:E:105;XXX /A/

ACK

:F:PR/+/

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 27
LIMS AND LAS INTERFACES

2.4 REQUESTING A CALCULATED


TEST
Calculated tests can be requested online. All needed test requests belonging to the
calculated test are generated automatically. The analyser is trying to use the latest
introduced samples. If it doesn't success in that it uses the older ones.

The following requirements for requesting calculated tests


online must be fulfilled:

If requirements are 1) Tests


not fulfilled the error
message '105: A All tests including into the calculated test and the calculated test itself
Analysing error' is must be defined in use.
appearing.
All tests including into the calculated test and the calculated test itself
B must have the online name.

This concerns also external tests belonging to the calculated test.

To define a calculated test refer to Konelab Reference manual, chapter 4.1.4.

2) Samples
First introduce samples with the right sample types, after that give the test request for
the calculated test.

The right sample type here means the sample type belonging to the calculated test
request.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 28
LIMS AND LAS INTERFACES

An example of requesting a calculated (patient) test (=CC)


and a calculated (sample) test (=LDL) via LIMS:
When a calculated :I:PR1/?/
(patient) test has been
requested there must :P:Patient1///////3/
be a PR1-record or the
patient must have been :S:Sample1///S//////4/
introduced in the
Patient entry window :S:Sample2///U//////7/
in the user interface.
:A:CC/J/

:F:PR/+/

:I:PR2/@/

:S:Sample3///S//////6/

:A:LDL/@/

:F:PR/+/

Reporting
Reporting gives result of calculated (patient) test according to a patient. In addition
the external test is reported according to a patient. Results of tests including into the
calculated test are reported separately according to samples.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 29
LIMS AND LAS INTERFACES

3. ASTM PROTOCOL
The ASTM Laboratory Information Management System interface is based on the
Any reference to the following standards: CLSI LIS2-A "Standard Specification for Transferring
Konelab systems also Information Between Clinical Instruments and Computer Systems" and CLSI LIS1-A
refers to the T Series. "Standard Specification for Low-Level Protocol to Transfer Messages Between
Clinical Laboratory Instruments and Computer Systems”.

CLSI LIS1-A was formerly defined by ASTM in standard 1381-95 and CLSI LIS2-A
was formerly defined by ASTM in standard 1394-91.

3.1 FEATURES
The physical transmission layer is implemented according to CLSI LIS1. The cable
connector is a 9-pin male connector instead of the standard 25-pin male connector.

The physical transmission layer using TCP/IP connection is described in the section
1.1.3.

The logical layer contains selected portions of CLSI LIS2. The detailed record
structure is described in section 3.2.1 ASTM in Konelab: CLSI LIS2-A Structure of
messages.

The main features are:


- automatic request for sample information when new sample is introduced to the
instrument (configurable ON/OFF)

- automatic sending of results either on ready sample or ready request basis


(configurable reporting basis and ON/OFF)

- automatic sending of control sample results (configurable ON/OFF)

- automatic sending of calibrator sample results (configurable ON/OFF)

- response to sample information requests from Laboratory computer

- response to control sample information requests from Laboratory computer

- response to sample information received from Laboratory computer

- cancelling of requests through ASTM by Laboratory computer

- error situation management

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 30
LIMS AND LAS INTERFACES

3.2 ASTM in Konelab

3.2.1 CLSI LIS2-A STRUCTURE OF MESSAGES


Following sections show the ASTM records used by Konelab. The tables in sections
include field name and number, next two fields has the information about the fields
usage by the host or the instrument, and a comment on use of the field. If the field is
optional the mark at usage information is between brackets. Host can send all fields,
but only the ones with mark are processed. The maximum length of record is 247
characters without control characters and checksum.

3.2.1.1 Header record (level 0)

Field Name No Host Instr. Comment


Record type 1 X X Always H. Starts every message. Note: no
ID delimiter between the first and the second
field
Delimiter 2 X X Field, repeat, component and escape
definition delimiters
Message 3 - -
control ID
Access 4 - -
password
Sender name 5 - X Instrument type 60/30/20
or ID - X ^instrument ID
- X ^software version
Sender street 6 - -
address
Reserved 7 - -
field
Sender 8 - -
telephone
number
Characteristic 9 - -
s of sender
Receiver ID 10 - -
Comment or 11 - -
special
instructions
Processing 12 X X P –production
ID X X T –training
X X D –debugging
X X Q –QC
Version No. 13 - -
Date and time 14 - (X) Form YYYYMMDDHHMMSS. Only in
of message debug mode

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 31
LIMS AND LAS INTERFACES

3.2.1.2 Message terminator record (level 0)

Field Name No Host Instr. Comment


Record type ID 1 X X Always L. Ends every message.
Sequence 2 X X Always 1. One terminator per message.
number
Termination 3 (X) (X) N or missing –normal termination
code X X T –sender aborted
X X R –receiver requested abort
X X E –unknown error
- X Q –error in last request for information
- X I –no information available from last
query
- X F –last request for information processed

3.2.1.3 Patient information record (level 1)

Field Name No Host Instr. Comment


Record type ID 1 X X Always P.
Sequence 2 X X Running number within Message. Starts
number with 1.
Practice 3 (X) (X) If no code is given, this gets the value of
assigned patient Patient name.
ID
Laboratory 4 - -
assigned patient
ID
Patient ID No. 5 - -
3
Patient name 6 (X) (X) Last name
NOTE! If patient - - ^First name
information is used - - ^middle name or initial
the patient name - - ^suffix
field is required. - - ^title
Only one text field. The whole name
should be given there. Optional if no
patient relates to sample.
Mothers 7 - -
Use of patient sex maiden name
field requires Date of birth 8 (X) (X) Form YYYYMMDD.
similar reference
classes to be Patient sex 9 (X) -
defined in Konelab. Patient race- 10 - -
See the Konelab
ethnic origin
Reference Manual
Patient address 11 - -
chapter 4.8 for
Reference Class Reserved field 12 - -
definition. An
example is seen in Patient 13 - -
this manual, in telephone
chapter 3.2.3 number
Attending 14 - -
physician ID
Special field 1 15 - -
Special field 2 16 - -
Patient height 17 - -

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 32
LIMS AND LAS INTERFACES

Patient weight 18 - -
Patient’s known 19 - -
or suspected
diagnosis
Patient active 20 - -
medications
Patient’s diet 21 - -
Practice field 1 22 - -
Practice field 2 23 - -
Admission or 24 - -
discharge dates
Admission 25 - -
status
Sender 26 (X) (X)
Native of 27 - -
alternative
diagnostic code
and classifiers
Alternative 28 - -
diagnostic code
and
classification
Patient religion 29 - -
Marital status 30 - -
Isolation status 31 - -
Language 32 - -
Hospital 33 - -
service
Hospital 34 - -
institution
Dosage 35 - -
category

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 33
LIMS AND LAS INTERFACES

3.2.1.4 Test order record (level 2)

Field Name No Host Instr. Comment


Record type ID 1 X X Always O.
Sequence number 2 X X Running number within Patient
information. Starts with 1.
Specimen ID 3 (X) (X) SpecimenID^ManualDilution^Segment^
Position
Optional if no sample in order.
If ManualDilution, Segment and Position
information is omitted, the value of 0 will
be used for each. Segment value 0 with
position value 0 refer to a virtual
collection and can be used safely, when
no actual position is known.
Instrument 4 - -
specimen ID
Universal test ID 5 - - Universal test ID
- - ^universal test name
- - ^universal test ID type
X X ^manufacturer defined test code
- X ^auto-dilution factor
Multiple tests can be ordered separated
by repeat delimiter.
Priority 6 (X) (X) S –stat REQ_PRIOR_STAT
If even one test is (X) (X) A –asap REQ_PRIOR_ASAP
requested as stat the (X) (X) R –routine REQ_PRIOR_NORMAL
priority of test order - - C –callback
record is set to stat (S) - - P –preoperative
when results are Optional if no sample or sample is
reported by samples. calibrator or control.
When results are Requested/ordere 7 - -
reported by requests d date and time
the right test priority is Specimen 8 (X) (X) Form YYYYMMDDHHMMSS
always seen. collection date
and time
Collection end 9 - -
time
Collection volume 10 - -
Collector ID 11 - -
Action code 12 X X C –cancel
X - A –add test requests to existing specimen
X - N –new test requests + new specimen
- X P –pending specimen
- - L –reserved
- X X –specimen or test in process
X X Q –QC specimen
Multiple action codes can be given
separated by repeat delimiter. For
example X\Q.
Danger code 13 - -
Relevant clinical 14 (X) (X)
information
Date/time 15 - -
specimen received
Specimen 16 X X Type

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 34
LIMS AND LAS INTERFACES

descriptor (type - - ^Source


and source) Type is coded as: 1 –Serum, 2 –Plasma,
3 –Urine, 4 –CSF, 5 –Other
Ordering 17 - -
physician
Physicians 18 - -
telephone number
User field No.1 19 - -
User field No.2 20 - -
Laboratory field 21 - -
No.1
Laboratory field 22 - -
No.2
Date/time results 23 - -
reported or last
modified
Instrument charge 24 - -
to computer
system
Instrument section 25 (X) (X) Optional if no sample.
ID
Report types 26 X - O –order
- - C –correction to previously transmitted
- X results
X X P –preliminary results
X X F –final results
- X X –requests cancelled
- X I –in instrument pending
- X Y –no order for test (response to query)
X X Z –no record of this patient (response to
query)
Q –response to query (info)
Multiple report types can be given
separated by repeat delimiter. For
example Y\Z.
Reserved field 27 - -
Location or ward 28 - -
of specimen
collection
Nosocomial 29 - -
infection flag
Specimen service 30 - -
Specimen 31 - -
institution

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 35
LIMS AND LAS INTERFACES

3.2.1.5 Result record (level 3)

Field Name No Host Instr. Comment


Record type 1 X X Always R.
ID
Sequence 2 X X Running number within Test order.
number Starts with 1.
Universal test 3 - - Universal test ID
ID - - ^universal test name
- - ^universal test ID type
X X ^manufacturer defined test code
(X) X ^dilution factor used in calculation
Data or 4 X (X) If result status is X (cancelled) or result
measurement is UNSTABLE, no result is given.
value The range of result will be [99999.9 …
0.00000] and [-0.00000 … -99999.9]. If
actual result exceeds these values, the
nearest value will be shown.
Units 5 X X
Reference 6 Components:
ranges - X Low
- X ^High
- - ^Description
Result 7 - X L/H –below/above normal
abnormal flags - X LL/HH –below/above panic normal
- X </> -below/above absolute low/high (off
the scale of instrument)
- X/- N/A –normal/abnormal
- - U/D –significant change up/down (delta)
- - B/W –better/worse (used when direction
is not relevant)
Nature of 8 - -
abnormality
testing
Result status 9 - - C –correction
- X P –preliminary
X X F –final
- X X –cancelled,
- X I –pending
- - S –partial
- - M –MIC level
- X R –reported
- - N –contains necessary information to run
a new order
- X Q –response to query
- - V –verified
- - S –result from pretreated sample
Multiple status flags can be given
separated by repeat delimiter. For
example F\Q.
REQ_ASKED ~ I, REQ_FIXABLE ~ I
REQ_FIXED ~ I ,
REQ_CALCULATED ~ P,
REQ_MEASURED ~ P,
REQ_XXX_ACC ~ F, REQ_XXX_REJ
~X

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 36
LIMS AND LAS INTERFACES

Date of change 10 - -
in instrument
normative
values or units
Operator 11 - (X) User login name if User levels have been
identification set on
Date/time test 12 - -
started
Date/time test 13 (X) (X) Form YYYYMMDDHHMMSS. No
completed value if test is not completed.
Instrument 14 - X Instrument ID is defined in konelab.ini in
identification parameter AnalyzerName.

3.2.1.6 Comment record (level 4) used with the Result


Record

Field Name No Host Instr. Comment


Record type ID 1 - X Always C. Used to transfer instrument
flags after Result record.
Sequence 2 - X Always 1, because of the use.
Number
Comment 3 - - P –practice
source - - L –computer system
- X I –clinical instrument system
Comment text 4 - X Error condition identified with a number
and a text in English
1 Init abs.
2 Bichr. net abs.
3 Linearity
4 Unstable
5 Instr, error
6 Addl. meas. error
7 Sample blank error
8 Dil. limit low
9 Dil. limit high
10 Test limit low
11 Test limit high
12 Antigen limit high
13 Out of limit
14 QC
15 Calc. error
16 Outlier
17 Cut curve
18 Bias corr. limit
19 Antigen limit low
20 AE meas error
21 Blank resp. low
22 Blank resp. high
23 Blank init abs. low
24 Blank init abs. High
25 Critical limit low
26 Critical limit high
27 Instrument abs. Limit
28 Not measurable
Multiple flags can be given separated
with repeat delimiter.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 37
LIMS AND LAS INTERFACES

Comment type 5 - - G –generic/free text document


- - T –test name comment
- - P –positive test comment
- - N –negative test comment
- X I –instrument flag(s) comment

3.2.1.7 Comment record (level 3) used with transmission


related error conditions

Field Name No Host Instr. Comment


Record type ID 1 - X Always C. Used to transfer instrument
flags after Result record.
Sequence 2 - X Always 1, because of the use.
Number
Comment 3 - - P –practice
source - - L –computer system
- X I –clinical instrument system
Comment text 4 - X Error condition identified by 'E' followed
by a number
E3 - wrong initialising character in
record
E4 - wrong termination code or
request code in record
E5 - records found in wrong order
E104 - invalid sample plate position
sample position already
reserved in analyzer by another
sample or calibrator or control.
The new sample was wrongly
positioned by LIS. Use position
0^0 for any sample when the
position is defined at a later
moment with sample insertion
into the Konelab.
E105 - problems with analysis request,
request could not be created
E108 - maximum number of samples/
patient exceeded
E201 sample segment position is
reserved
E210 - problems with updating patient
information
E211 - patient information could not be
found
E220 - sample already exists
E221 - problems with sample
information
Comment type 5 - X G –generic/free text document
- - T –test name comment
- - P –positive test comment
- - N –negative test comment
- - I –instrument flag(s) comment

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 38
LIMS AND LAS INTERFACES

3.2.1.8 Request information record (level 1)

Field Name No Host Instr. Comment


Record type ID 1 X X Always Q. Used by Instrument to ask
external test results or orders to new
samples, and by host for requesting
results and orders that are in
instrument’s database.
Sequence 2 X X Always 1. Only one request may be
number outstanding at a time.
Starting range 3 (X) (X) patient ID or ALL
ID number (X) (X) ^ sample ID or ALL
(X) (X) ^segment
(X) (X) ^position
Patient ID and sample ID are text fields,
so field is not used as range. Multiple
patients or samples can be requested
separated by repeat delimiter.
Ending range 4 - -
ID number
Universal test 5 - - Universal test ID
ID - - ^universal test name
- - ^universal test ID type
(X) (X) ^manufacturer defined test code
- - ^auto-dilution factor
Multiple tests can be requested separated
by repeat delimiter.
Nature of 6 - - S –specimen collect date
request time (X) (X) R result test date
limits According to standard R is taken as
default, so it is optional.
Beginning 7 (X) (X) Form YYYYMMDDHHMMSS
request results
date and time
Ending request 8 (X) (X) Form YYYYMMDDHHMMSS
results date and
time
Requesting 9 - -
physician name
Requesting 10 - -
physician
telephone
number
User field No.1 11 - -
User field No.2 12 - -
Request 13 - - C –correction
information X X P –preliminary
status codes X X F –final
X X X –cancelled
X X I –pending
- - S –unfinalized results
- - M –MIC level,
X X R –previously transmitted
- - A –cancel last request criteria

X X N –requesting new or edited results only,


O –requesting test orders only (no

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 39
LIMS AND LAS INTERFACES

X X results)
D –requesting demographics only
- - Note: not repeated.

3.2.2 FIELD LENGTHS USED BY Konelab


Field Length in characters
Instrument type 3
instrument ID 2
software version 16
Date and time of message 14
Laboratory assigned patient ID 16
Patient name 24
Date of birth 8
Patient sex 10
Hospital institution 24
Specimen ID 16
Instrument specimen ID Segment , Position integers max 6
characters
Universal test ID 30
Specimen collection date and time 14
Relevant clinical information 30
Instrument section ID 2
Data or measurement value 8
Units 10
Reference ranges Low 6, High 6
Date/time test completed 14
Beginning request results date and 14
time
Ending request results date and time 14

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 40
LIMS AND LAS INTERFACES

3.2.3 EXAMPLES OF COMMUNICATION


BETWEEN Konelab AND THE HOST
COMPUTER
Examples of transmissions between Konelab and the host computer, when Konelab
is configured to use automatic sample ID sending and automatic result sending. The
control characters are presented between '<>'. For example <enq> means an ASCII
character ENQ which hexadecimal value is 05. These examples give only an
overview, the actual communication may vary.

The debugging of communication can be started by selecting Debug ON in the


Maintenance window before starting communication. lsdebug.txt in the folder
C:\KONELAB\TMP includes the LIS-communication messages sent between
Konelab and LIS.

1) New sample is introduced to Konelab. Example of the


communication sequence:
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502105431<cr><etx>96<cr><lf>
Host: <ack>
Konelab:<stx>2Q|1|^TestSample^^||^^^ALL^||||||||O<cr><etx>50<cr><lf>
Host: <ack>
Konelab:<stx>3L|1|N<cr><etx>06<cr><lf>
Host: <ack>
Konelab:<enq>

Note the reference class


Adult. This must have 2) The host computer responds:
a perfect match with
Host: <enq>
one of the reference
Konelab:<ack>
classes defined in
Host: <stx>1H|\^&|||60^Host^5.0|||||||P||20010502105446<cr><etx>09<cr><lf>
Konelab
Konelab:<ack>
Host: <stx>2P|1|112233-4455|||TestPatient|||Adult|||||||||||||||||||||||||<cr><etx>59<cr><lf>
Konelab:<ack>
Host: <stx>3O|1|TestSample||^^^Ca|R||||||X||||1|||||||||1|Q\O<cr><etx>93<cr><lf>
Konelab:<ack>
Host: <stx>4L|1|F<cr><etx>FF<cr><lf>
Konelab:<ack>
Host: <eot>

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 41
LIMS AND LAS INTERFACES

3) Konelab has analysed the sample and sends the results


Note the reference
class limit and name
to host computer.
presentation in R- Konelab:<enq>
record Host: <ack>
(Min^Max^Name) Konelab:<stx>:1H|\^&|||60^1^5.0|||||||P||20010502105626<cr><etx>9C<cr><lf>
and the 'L'-flag for Host: <ack>
value 2.3 in range Konelab:<stx>:2P|1|112233-
from 2.2 to 2.7. 4455|||TestPatient|||Adult|||||||||||||||||||||||||<cr><etx>59<cr><lf>
Host: <ack>
Konelab:<stx>:3O|1|TestSample^0.0^1^1||^^^ALL^|R||||||X||||1|||||||||1|F<cr><etx>8E<c
r><lf>
Host: <ack>
Konelab:<stx>:4R|1|^^^Ca^0.0|2.3|mmol/l|2.2^2.7^Adult|L||F||||20010502105628|1<c
r><etx>02<cr><lf>
Host: <ack>
Konelab:<stx>:5L|1|N<cr><etx>08<cr><lf>
Host: <ack>
Konelab:<eot>

4) New sample is introduced to Konelab. Konelab send


request for information of the sample:
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502124646<cr><etx>9F<cr><lf>
Host: <ack>
Konelab:<stx>2Q|1|^S1234^^||^^^ALL^||||||||O<cr><etx>6B<cr><lf>
Host: <ack>
Konelab:<stx>3L|1|N<cr><etx>06<cr><lf>
Host: <ack>
Konelab:<eot>

5) The host computer responds:


Note that the sample Host: <enq>
has been manually Konelab:<ack>
diluted with dilution Host: <stx>1H|\^&|||60^Host^5.0|||||||P||20010502124702<cr><etx>12<cr><lf>
1 + 3.0! Konelab:<ack>
Host: <stx>2P|1|123456-789A|||LastName
FirstName|||Adult|||||||||||||||||||||||||<cr><etx>C2<cr><lf>
Konelab:<ack>
Host: <stx>3O|1|S1234^3.0||^^^Ca|R||||||X||||1|||||||||1|Q\O<cr><etx>9D<cr><lf>
Konelab:<ack>
Host: <stx>4L|1|F<cr><etx>FF<cr><lf>
Konelab:<ack>
Host: <eot>

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 42
LIMS AND LAS INTERFACES

Note the reference 6) Analysing the sample is completed. Konelab sends the
class 'HH'-flag in R- results:
record.
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502124833<cr><etx>9D<cr><lf>
Host: <ack>
Konelab:<stx>2P|1|123456-789A|||LastName
FirstName|||Adult|||||||||||||||||||||||||<cr><etx>C2<cr><lf>
Host: <ack>
Konelab:<stx>3O|1|S1234^3.0^1^2||^^^ALL^|R||||||X||||1|||||||||1|F<cr><etx>AD<cr><lf
>
Host: <ack>
Konelab:<stx>4R|1|^^^Ca^3.0|9.2|mmol/l|2.2^2.7^Adult|HH||F||||20010502124835|1
<cr><etx>50<cr><lf>
Host: <ack>
Konelab:<stx>5L|1|N<cr><etx>08<cr><lf>
Host: <ack>
Konelab:<eot>

7) New sample is introduced to Konelab. Communication


sequence:
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502125526<cr><etx>9D<cr><lf>
Host: <ack>
Konelab:<stx>2Q|1|^ICU Sample^^||^^^ALL^||||||||O<cr><etx>B1<cr><lf>
Host: <ack>
Konelab:<stx>3L|1|N<cr><etx>06<cr><lf>
Host: <ack>
Konelab:<eot>

8) The host computer responds. Communication


sequence:
Host: <enq>
Konelab:<ack>
Host: <stx>1H|\^&|||60^Host^5.0|||||||P||20010502125551<cr><etx>15<cr><lf>
Konelab:<ack>
Host: <stx>2P|1|223311-9876|||ICU Patient||||||||||||||||||||||||||||<cr><etx>CC<cr><lf>
Konelab:<ack>
Host: <stx>3O|1|ICU Sample||^^^ISE.Na|R||||||X||||1|||||||||1|Q\O<cr><etx>0E<cr><lf>
Konelab:<ack>
Host: <stx>4L|1|F<cr><etx>FF<cr><lf>
Konelab:<ack>
Host: <eot>

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 43
LIMS AND LAS INTERFACES

9) Konelab has analysed the sample and sends the results


to host computer.
Note the result value of Konelab:<enq>
9999999.9, which Host: <ack>
represents the maximum Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502125610<cr><etx>97<cr><lf>
value for result. This is Host: <ack>
due to calculation error Konelab:<stx>2P|1|223311-9876||ICU Patient||||||||||||||||||||||||||||<cr><etx>50<cr><lf>
causing the value to Host: <ack>
reach the maximum Konelab:<stx>3O|1|ICU
internal presentation. Sample^0.0^1^4||^^^ALL^|R||||||X||||1|||||||||1|F<cr><etx>F2<cr><lf>
Please check always the Host: <ack>
existence of C-record Konelab:<stx>4R|1|^^^ISE.Na^0.0|9999999.9|mmol/l|^^|>||F||||20010502125556|1<c
after a R-record for r><etx>50<cr><lf>
error conditions. Note Host: <ack>
also the '>'-flag in R- Konelab:<stx>5C|1|I|11 Test limit high\15 Calc. error|I<cr><etx>29<cr><lf>
record. This is due to the Host: <ack>
result exceeding the test Konelab:<stx>6L|1|N<cr><etx>09<cr><lf>
maximum limit. Host: <ack>
Konelab:<eot>

10) New sample is introduced to Konelab. Communication


sequence:
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502125238<cr><etx>9D<cr><lf>
Host: <ack>
Konelab:<stx>2Q|1|^SomeSample^^||^^^ALL^||||||||O<cr><etx>44<cr><lf>
Host: <ack>
Konelab:<stx>3L|1|N<cr><etx>06<cr><lf>
Host: <ack>
Konelab:<eot>

11) The host computer responds. Communication


sequence:
Host: <enq>
Konelab:<ack>
Host: <stx>1H|\^&|||60^Host^5.0|||||||P||20010502125239<cr><etx>0B<cr><lf>
Konelab:<ack>
Host: <stx>2P|1|221121-6655|||SomePatient||||||||||||||||||||||||||||<cr><etx>54<cr><lf>
Konelab:<ack>
Host: <stx>3O|1|SomeSample||^^^TestTest|R||||||X||||1|||||||||1|Q\O<cr><etx>23<cr><lf>
Konelab:<ack>
Host: <stx>4L|1|F<cr><etx>FF<cr><lf>
Konelab:<ack>
Host: <eot>

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 44
LIMS AND LAS INTERFACES

12) The request 'TestTest' is invalid, because Konelab's


test repertoire does not contain any test with OnlineName
'TestTest'. Error condition sequence:
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||P||20010502125240<cr><ext>96<cr><lf>
Host: <ack>
Konelab:<stx>2P|1|221121-6655|||SomePatient||||||||||||||||||||||||||||<cr><ext>54<cr><lf>
Host: <ack>
Konelab:<stx>3O|1|SomeSample||^^^TestTest^0.0|R||||||C||||1|||||||||1|X<cr><ext>6A<cr
><lf>
Host: <ack>
Konelab:<stx>4C|1|I|E105|G<cr><ext>13<cr><lf>
Host: <ack>
Konelab:<stx>5L|1|Q<cr><ext>0B<cr><lf>
Host: <ack>
Konelab:<eot>

13) Sending of control sample analysis results is enabled


and Konelab performs Ca analysis on control sample
Nortrol. Communication sequence:
Konelab:<enq>
Host: <ack>
Konelab:<stx>1H|\^&|||60^1^5.0|||||||Q||20010502130025<cr><etx>94<cr><lf>
Host: <ack>
Konelab:<stx>2P|1||||||||||||||||||||||||||||||||<cr><etx>BF<cr><lf>
Host: <ack>
Konelab:<stx>3O|1|Nortrol||^^^Ca^0.0|R||||||Q||||1|||||||||1|<cr><etx>C4<cr><lf>
Host: <ack>
Konelab:<stx>4R|1|^^^Ca^0.0|2.3|mmol/l|^^|N||F||||20010502130024|0<cr><etx>D4
<cr><lf>
Host: <ack>
Konelab:<stx>5L|1|N<cr><etx>08<cr><lf>
Host: <ack>
Konelab:<eot>

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 45
LIMS AND LAS INTERFACES

4. KONELAB / LAS INTERFACE


Any reference to the
The communication interface between Konelab analyser and a Laboratory
Konelab systems also
Automation System (LAS) is described in the following sections.
refers to the T Series.

4.1 HARDWARE INTERFACE


Communication between the analyser and LAS is performed using standard three-
wire RS 232- interface. Maximum cable length is 15 meters and the cable should be
shielded. The pins used in 9-pin male D-connector on analyser side are:

Signal Pin
RxD (received data) 2
TxD (transmitted data) 3
GND (ground) 5

Communication parameters are 9600 baud, 8 bit, 1 start bit, 1 stop bit, no parity. No
hardware or software flow control is used.

4.2 GENERAL DESCRIPTION


You can set debug on
When debug log is on, all messages between analyser and LAS are recorded to the
by F8/F1 function in
log file C:\Konelab\tmp\ksdebug.txt.
the Konelab
program’s
Management
window. With the
same button it is also
4.2.1 MESSAGE RECORD FORMAT
set off. The following abbreviations are used in this document for some special
communication characters.

STX 0x02
ETX 0x03
ACK 0x06
NACK 0x15

Start of transmission (STX) character is used at the beginning of communication


record and End of transmission (ETX) character is used at the end of communication
record.

Each communication record contains checksum. After communication record has


been received, an acknowledgement is always sent by the analyser or LAS. The
analyser or LAS sends positive acknowledgement character (ACK), if the checksum
in message is correct and negative acknowledgement character (NACK), if the
checksum in message is incorrect. Analyser waits for ACK or NACK up to 1 second.
If the analyser receives NACK, it tries to re-send the record max two times.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 46
LIMS AND LAS INTERFACES

Each communication record contains also field for message length. Message length
doesn’t include STX and ETX characters.

The general format of a message record is:

Byte Field Comment


1 STX
2 Message length
3 Message id
4-n Message data Optional
n+1 Checksum
n+2 ETX

4.2.2 CALCULATION OF CHECKSUM


The calculation of checksum does not include the STX-character, the checksum itself
or the ETX-character. The calculation starts with zeroing the checksum. Every
character of the message is added to the checksum (modulo 256) excluding the above
mentioned characters and the result is an 8-bit checksum. For example the characters
in normal Analyser Status record are 0x02 0x04 0x04 0x00 0x08 0x03, where 0x02
is the STX-character, 0x04 is the length of message, 0x04 is message id, 0x00 is the
status, 0x08 is the checksum and 0x03 is the ETX-character.

The example for calculation of the checksum in C language:

unsigned char CalculateChecksum( unsigned char * pString, int iNumOfChars )


{
unsigned char ucChecksum;
unsigned char ucTemp;
int iIndex;

ucChecksum = 0;
for (iIndex = 0; iIndex < iNumOfChars; iIndex++)
{
ucTemp = pString[iIndex];
ucChecksum = ucChecksum + ucTemp;
}
return ucChecksum;
}

When calling CalculateChecksum function, pointer pString should point to the


‘Message length’ - field and iNumOfChars variable should contain value Message
length - 1.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 47
LIMS AND LAS INTERFACES

4.2.3 SEQUENCE FOR INITIALISING THE


COMMUNICATION INTERFACE
When the communication between analyser and LAS is restarted, the initialisation
sequence described in this chapter has to be performed. Communication is restarted
every time, when LAS has sent Reinitialise communication record or a fatal
communication error occurs.

Analyser starts the initialisation sequence by sending Initialisation record. Analyser


sends Initialisation record every 5 seconds as long as LAS responses by sending
ACK.

After that LAS sends Analyser status query record to the analyser. Analyser waits
for this record up to 10 seconds. If the record is received in time, analyser responses
with ACK and sends Analyser status record to LAS. LAS sends ACK to the analyser
to finish the initialisation sequence.

4.2.4 ANALYSER BOOT SEQUENCE


When analyser has been booted and it is ready to aspirate a sample, it starts listening
the communication line. LAS can check the connection by sending a status query or
it can directly start a sample aspiration sequence. If the analyser is down or booting,
it will not acknowledge the message and LAS can then start the initialisation
sequence.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 48
LIMS AND LAS INTERFACES

4.2.5 KUSTI STATES AND ERROR RECOVERY

Dispensing Status record status LAS status


complete status
0 ok 0 ok Free to move tubes and retry aspirate
1 no free sample.
sample
position
2 duplicate
sample id
3 timeout
5 short sample
or clot in
sample
4 fatal error Not allowed to move sample tubes.
Re-check status with status query.
2 out of Not allowed to move sample tubes.
order Konelab requires operator actions
before it will retry aspirate sample.
6 not in use 3 not in use Allowed to move sample tubes.
Konelab requires operator actions
before it will retry aspirate sample.
7 busy 1 busy Not allowed to move sample tubes.
Wait for a couple of seconds and check
status again.

When ‘busy’ response is received from Konelab either as response to status query or
to aspirate sample –command, Konelab is either initializing or recovering from an
error situation. This is a temporary state and LAS should start polling with status
query (or aspirate sample –command) until status value other than ‘busy’ is received.
Typically this will take 10-20 seconds and shouldn’t take more than a minute. Until
then sample tubes must not be moved as KUSTI dispenser may be extended at the
LAS position. If status value ‘ready’ is received, the recovery was successful and
another aspirate sample –command may be sent. If the recovery was unsuccessful,
status ‘out of order’ or ‘not in use’ is returned.

Konelab does not automatically try to recover from states ‘out of order’ or ‘not in
use’.

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 49
LIMS AND LAS INTERFACES

The diagram below explains the possible states and transitions of the Konelab LAS
interface and when LAS is allowed to move sample tubes.

1. Analyser is ready for sample aspiration


LAS status : moving allowed
analyzer status: ok

ASPIRATE SAMPLE DISPENSING


SAMPLE COMPLETE
RECORD RECORD,
sended status=0,1,2,3 or 5
received

2. Analyser is busy
LAS status : moving not allowed
analyzer status: ok

ANALYSER STATUS SAMPLE DISPENSING SAMPLE DISPENSING


RECORD, COMPLETE COMPLETE
status=0 (ok) RECORD, RECORD,
received status=4 or 7 status=6 (not in use)
received received

ANALYSER STATUS
3. Fatal error when aspiration RECORD,
LAS status : moving not allowed status=1(busy)
analyzer status: unknown received

ANALYSER STATUS ANALYSER STATUS ANALYSER STATUS ANALYSER STATUS


RECORD, RECORD, RECORD, RECORD,
status=0 (ok) status=2 (fatal error) status=3 (not in use) status=0 (ok)
received received received received

4. Analyser has fatal error situation 5. Analyser not inuse


LAS status : moving not allowed LAS status : moving allowed
analyzer status: not ok analyzer status: not ok

State Status response Aspirate response


1 0 (ready) starts dispensing
2 1 (busy) protocol error
3 1 (busy) 7 (busy)
4 2 (out of order) 4 (fatal error)
5 3 (not in use) 6 ( not in use)

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 50
LIMS AND LAS INTERFACES

Note! All the fields


in the records, that
4.3 COMMUNICATION RECORDS
are not used, should
be set to 0x00.
4.3.1 INITIALISATION RECORD
This record in sent by analyser to inform LAS, that analyser is ready to start the
communication.

Byte Field Comment


1 STX
2 Message length
3 Message id (0x01)
4 Checksum
5 ETX

4.3.2 ILLEGAL COMMAND RECORD


This record in sent by analyser or LAS to inform that data of the received message
has not been valid.

Byte Field Comment


1 STX
2 Message length
3 Message id (0x02)
4 Error type 0x00 = message id not valid
0x01 = unexpected record
0x02 = invalid message data
5 Error info1 Message id in received
message
6 Error info2 0x00 = no additional
information
0x01 = invalid sample id
7 Checksum
8 ETX

4.3.3 ANALYSER STATUS QUERY RECORD


This record in sent by LAS to ask the status of the analyser. LAS can send this record
at any time after the initialisation sequence has been successfully performed.
Byte Field Comment
1 STX
2 Message length
3 Message id (0x03)
4 Checksum
5 ETX

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 51
LIMS AND LAS INTERFACES

4.3.4 ANALYSER STATUS RECORD


This record in sent by the analyser as a response to Analyser status query record.

Byte Field Comment


1 STX
2 Message length
3 Message id (0x04)
4 Status 0x00 = analyser is ready for
sample aspiration
0x01 = analyser is busy (i.e.
initialising or dispensing
sample). Sample tubes may not
be moved.
0x02 = analyser has fatal error
situation and sample aspiration
can’t be performed. Sample
tubes may not be moved.
0x03 = analyser is not in use and
sample aspiration can’t be
performed. Sample tubes may be
moved.
5 Checksum
6 ETX

4.3.5 ASPIRATE SAMPLE RECORD


This record in sent by LAS to inform that there’s a sample to be aspirated.

Byte Field Comment


1 STX
2 Message length
3 Message id (0x05)
4 Sample tube type 0x00 (Not used at the moment)
5 Sample ID length
6–n Sample ID Maximum length of sample ID is
16 characters
n+1 Checksum
n+2 ETX

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 52
LIMS AND LAS INTERFACES

4.3.6 SAMPLE DISPENSING COMPLETE


RECORD
This record in sent by the analyser to inform the LAS, that sample dispensing is
completed. If Status- field in the message is not 0, the sample dispensing hasn’t been
performed successfully.

Byte Field Comment


1 STX
2 Message length
3 Message id (0x06)
4 Status 0x00 = OK
0x01 = No empty sample
positions in the sample disk for
sample dispensing
0x02 = Duplicate sample id
0x03 = Timeout in sample
dispensing
0x04 = Analyser couldn’t
perform operation due to a fatal
error situation. Sample tubes
may not be moved.
0x05 = Not enough sample
found in sample tube or clot
detected in sample tube
0x06 = Analyser not in use and
sample aspiration can’t be
performed. Sample tubes may be
moved.
0x07 = Analyser is busy and
sample aspiration can’t be
performed. Sample tubes may
not be moved.
5 Sample ID length
6–n Sample ID Maximum length of sample ID is
16 characters
n+1 Checksum
n+2 ETX

4.3.7 REINITIALISE COMMUNICATION


RECORD
This record in sent by the LAS to reinitialise the communication.
Byte Field Comment
1 STX
2 Message length
3 Message id (0x07)
4 Checksum
5 ETX

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 53
LIMS AND LAS INTERFACES

4.4 COMMUNICATION EXAMPLES

4.4.1 INITIALISATION SEQUENCE

LAS ANALYSER

Initialisation record

5 s timeout

Initialisation record

ACK
Max 10 s
Status query record
ACK

Status Record

ACK

4.4.2 SAMPLE ASPIRATION SEQUENCE FOR


TWO SAMPLES

LAS ANALYSER

Aspirate sample record


ACK

Sample dispensing complete record

ACK

Aspirate sample record


ACK

Sample dispensing complete record

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 54
LIMS AND LAS INTERFACES

4.4.3 SAMPLE ASPIRATION FAILS, RECOVERY


SUCCESSFUL 1
LAS ANALYSER

Aspirate sample record


ACK

sample dispensing complete


record
status = FATAL ERROR

ACK
wait 10 s
Status query record
ACK

status record
status = BUSY

ACK

wait 10 s
Status query record
ACK

status record
status = BUSY

ACK

wait 10 s
Status query record
ACK

status record
status = READY

ACK

Aspirate sample record


ACK

sample dispensing complete


record
status = OK

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 55
LIMS AND LAS INTERFACES

4.4.4 SAMPLE ASPIRATION FAILS, RECOVERY


SUCCESSFUL 2
LAS ANALYSER

Aspirate sample record


ACK

sample dispensing complete


record
status = FATAL ERROR

ACK
wait 10 s
Aspirate sample record
ACK

sample dispensing complete


record
status = BUSY

ACK

wait 10 s
Aspirate sample record
ACK

sample dispensing complete


record
status = BUSY

ACK

wait 10 s
Aspirate sample record
ACK

sample dispensing complete


record
status = OK

ACK

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 56
LIMS AND LAS INTERFACES

4.4.5 SAMPLE ASPIRATION FAILS, RECOVERY


UNSUCCESSFUL
LAS ANALYSER

Aspirate sample record


ACK

Sample dispensing complete


record
Status = FATAL ERROR

ACK
wait 10 s
Status query record
ACK

Status record
Status = BUSY

ACK

wait 10 s
Status query record
ACK

Status record
Status = BUSY

ACK

wait 10 s
Status query record
ACK

Status record
Status = NOT IN USE or
Status = OUT OF ORDER

ACK

Error message to operator,


cannot recover automatically

09/05/2008
Konelab
LIMS and LAS Interfaces 895304 57

Potrebbero piacerti anche