Celldyn Emerald-Interface E22AL
Celldyn Emerald-Interface E22AL
© 2018
Abbott Laboratories
Diagnostics Division
Abbott Park, IL 60064
NOTES
Table of Contents
1. OBJECTIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. REVISION STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3. SCOPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
4. TERMINOLOGY AND ABBREVIATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
5. SPECIFICATIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
6. TRADEMARK STATEMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
7. GENERAL SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
7.0 Physical Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
7.0.1 RS232 Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
7.0.2 Ethernet connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.0.3 Data Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.0.4 Host Serial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.0.5 Host Net Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.0.6 Communication Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1 Generic Principles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1.1 Frame Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1.1.1 Frame Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1.1.2 Frame ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1.2 Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1.3 Machine Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1.4 Transmission Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1.4.1 XON/OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1.4.2 Handshaking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1.5 Connection with HOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1.5.1 Connection request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1.6 Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1.7 Format Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.2 Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.2.1 Result (Sample) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.2.1.1 Sending Result Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.2.1.2 Sending Result Request Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.2.1.3 Analysis Result Sending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2.1.4 Alarms List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2.1.5 WBC Interpretive Message. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.1.6 RBC Interpretive Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.1.7 PLT Interpretive Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.1.8 Lmne Matrix and Threshold Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.2.1.9 Result Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2.1.10 Error Handling in Handshake Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2.1.11 Next Tube Acknowledges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2.1.12 Emerald 22 AL Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2.2 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.2.2.1 Sending Calibration Report Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.2.2.2 Calibration Report Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.2.2.3 Calibration Result Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2.3 QC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2. REVISION STATUS
Document Control Number(s) Revision Date Section(s) Revised Pages Revised and Added
New Release August 2018 Initial release: all Initial release: all sections
9159915A sections new. new.
3. SCOPE
This document applies to the CELL-DYN Emerald 22 AL instrument. It specifies the messages and
behaviors of the initial version of the CELL-DYN Emerald 22 AL Host Computer Interface.
Term Description
OV Other Vial.
Symbol Comment
5. SPECIFICATIONS
The Host Interface for the CELL-DYN Emerald 22 AL System is a specific format designed to transfer data
to an external system. The system does not use the ASTM or CLIS (LIS-x) standards for communications
with a host system. The format is text-oriented and is compatible with CSV format used by various
Microsoft Office applications.
NOTE: The password 123 (SUPERVISOR) is necessary to access the COMMUNICATION menu.
6. TRADEMARK STATEMENTS
CELL-DYN and CELL-DYN Emerald are trademarks of Abbott Laboratories in various jurisdictions. All
other trademarks are property of their respective owners.
Table 3 lists the pins on the DB-9 connector (standard RS-232 9-pin assignments).
Table 3 — DB-9 Connector Pins
Pin Description
Figure 3 RJ 45 Label
7.1.1.2 Frame ID
Each frame sent by the host consists of the following elements:
[FRAME ID] [DATA SEGMENT]
[FRAME ID]
Composed of KEY WORD (and optional parameters) [CR].
SENDER
[DATA SEGMENT]
Optional according to the type of frame.
Field Characters
OPERATOR 10
USER 10
Field Characters
SID 16
PID 16
ID 20
7.1.4.1 XON/OFF
In order to control data flow transmission, you can use the CELL-DYN Emerald 22 AL system XON/XOFF
option.
If the flow is set at XON/XOFF, the CELL-DYN Emerald 22 AL transmission suspends when the Host
transmits an XOFF character (hex 13), and re-starts with an XON character (hex 11). CTS/RTS signals are
not used.
7.1.4.2 Handshaking
Also, you can use the Handshake option. If enabled, the host must reply with an appropriate frame to the
CELL-DYN Emerald 22 AL before an adjustable delay. Otherwise, an error message appears on screen as in
Table 8.
Table 8 — Handshake Error Messages
"HOST: SYNCHRO ERROR" The acknowledge message from the host is not the one expected.
"HOST: ACK ERROR" The host acknowledges the message with an error (NACK … receive).
The format revision is different between CELL-DYN Emerald 22 AL and the
host.
"HOST: TIME OUT" No response from the host before the delay.
Instrument Host
“EMD22AL;1;250207-000451;BILL”[CR]
Connection request
“CONNECT;250207-000451;5”[CR]
“ACK_CONNECT;5”[CR]
Acknowledge if
Or “NAK_CONNECT;5”[CR]
handshake is used
(SEND)
[FRAME_HEADER] = machine name; instrument number; serial number; user login [CR]
[FRAME_ID] = CONNECT; serial number; format version [CR]
(RECEIVE)
ACK_CONNECT; format version [CR] if host accepts the connection.
NACK_CONNECT; format version [CR] else if host refuses the connection.
NOTE: The format version is defined in Format Version; it is verified by CELL-DYN Emerald 22 AL if
handshaking is used.
Host Instrument
“CONNECT;5”[CR]
Connection request
“EMD22AL;1;310207-000451;BILL”[CR]
“ACK_CONNECT;;250207-000451;5”[CR]
(RECEIVE)
[FRAME_ID] = CONNECT; C2 format version [CR]
(SEND)
[FRAME_HEADER] = machine name; machine number; serial number; login user [CR]
ACK_CONNECT; serial number; format version [CR]
Instrument Host
“DISCONNECT;311215-000202”[CR]
Instrument Logout/
Switch OFF
(SEND)
[FRAME_ID] = DISCONNECT; serial number [CR]
No Handshake.
7.1.6 Unit
The parameters unit is specified by the line:
UNIT; u [CR]
1 USA = standard
2 S.I.
3 S.I. MOD
4 Other (Japanese)
If the UNIT line is missing, CELL-DYN Emerald 22 AL uses the USA unit (code 1).
CELL-DYN Emerald 22 AL sends the results in the current unit (same as the displayed and printed units).
Instrument Host
[FRAME HEADER]
Sending result requested RESULT_READY;2470[CR]
ACK_RESULT;OK[CR]
Result acknowledge
TIME;15:36:38 [CR]
MODE;NORMAL [CR]
UNIT; 1 [CR]
SEQ;352; reserved[CR]
SID;3 [CR]
PID;X28 [CR]
ID;DUPONT [CR]
TYPE;STANDARD [CR}
RTYPE;1 [CR] Rack type (0 for standard RACK, 1 for Sarstedt Rack)
RACK;2 [CR] Rack ID.
POS;5 [CR] Tube pos. in rack
BIRTH;14/09/1981 [CR]
SEX;1 [CR] (0 Unknown, 1 Male, 2 Female)
PRESC; ERNESTO [CR]
LOCAT;PARIS [CR]
DRAW DATE;0 [CR] (0 for UNKNOWN or 1 for TODAY or 2 for YESTERDAY)
DRAW TIME; 12:10:00 [CR] hh:mm:ss
PATIENT COMMENT; [CR]
INFO;;;[CR] Manual association (M or blank); rerun (R or blank);
OPERATOR ; M22AL.01 [CR] operator login when analysis request occurred [CR]
PREL;CT [CR] Sampling mode (CT for Close Tube, OV for Other Vial)
CYCLE;N [CR] Cycle option (N for Normal, A for Altitude)
WBC; 11.0;A;B; 2.0; 4.0; 11.0; 15.0 [CR]( Parameter; A; B; low panic ;low ; high ;high panic )
RBC; 6.00;A;B; 2.50; 4.00; 6.20; 7.00 [CR]
HGB;15.0;A;B; 8.5;11.0;18.8;20.0 [CR]
HCT;49.0;A;B;25.0;35.0;55.0;60.0 [CR]
PLT; 320;A;B; 70; 150; 400; 500 [CR]
LYM; 3.4;A;B; 0.8; 1.0; 5.0; 5.5 [CR]
MON;13.0;A;B; 1.0; 2.0;10.0;12.0 [CR]
x Nothing or alarm.
y Nothing or interpretive message.
4 Flag B Nothing
D : Higher than reportable limits (1)
0 0 none
0 1 low level
1 0 high level
//read fields
while (true)
{
ucVal = *pucSrc;
if ((ucVal == 0) || (ucVal == 'T'))
{break;} // end of frame
switch(ucVal)
{
case '\x0d': // ignore carriage return
case '\x0a': // ignore line feed
break;
// check overflow
if (pucDest > pucDestMatrix + (16 * 128))
{
memset(pucDestMatrix, 0, 16 * 128);// clear dest
pucDest = pucDestMatrix;
break;
}
3. Uncompress then draw a matrix using a TImage 128x128 pixels component (Delphi or BC++).
The origin TImage component is top, left (x=y=0).
The following code draws the two level lmne matrix into bitmap components. Color by population is not
managed in the example.
static u_char ucMask[] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
UnSqueezeMatrix( pucMat, bufferM1);// dest, src uncompress
UnSqueezeMatrix( pucMatL, bufferM2);// dest, src uncompress
for (i = 0; i <(16*128); i++)// 128 x 128 pixels
{
ucVal = *(pucMat+i);// LMNE MATRIX byte
ucValL = *(pucMatL+i);// LMNE SHADE MATRIX byte iX = (i%16)*8;
iY = i/16;
for (k=0; k<8; k++)// MSB to LSB
Thresholds
Matrix Origin
ALL (Axial Light Losses)
4. Matrix thresholds
The thresholds are on two lines after the token “THRES 5D LMNE MATRIX ;”.
They are preceded by their names and provide the X, Y coordinates segment of the matrix: the origin is
left, bottom, channels 0.
Table 19 — Matrix Thresholds
First Line
N1X 0 / 127 15
N1Y 0 / 127 20
N2X 0 / 127 23
N2Y 0 / 127 35
LnlX 0 / 127 28
LnlY 0 / 127 50
LmnX 0 / 127 26
LmnY 0 / 127 63
LneX 0 / 127 60
LneY 0 / 127 55
EosX 0 / 127 90
LmY 0 / 127 69
NmX 0 / 127 50
Second Line
BasoX1 0 / 127 25
BasoY1 0 / 127 50
BasoX2 0 / 127 33
BasoY2 0 / 127 52
BasoX3 0 / 127 29
BasoY3 0 / 127 68
BasoX4 0 / 127 22
BasoY4 0 / 127 65
NEL 0 / 127 2
NEH 0 / 127 2
MNL 0 / 127 2
MNH 0 / 127 2
MLL 0 / 127 2
MLR 0 / 127 3
LNL 0 / 127 2
LNH 0 / 127 2
MLH
Lmn x,y
MLL
LNH
LNL
Lmy
Origin
(0,0)
Figure 9 Matrix Thresholds
LMNE MATRIX;
Z164;40;Z1e;1;Z13;8;Z3b;9;c0;0;20;c0;0;40;Z9;……;cc;60;40;Za;5a;80;1;
;46;c;Zb;cc;2;13;1b;e0;Zb;b9;2;27;98;70;Zb;e5;…;20;Z5;1;0;3;a2;
;5c;0;20;Z3;20;Z5;6;41;8a;53;Zc;1;40;…;Z7;23;0;58;8;
;Z3;29;68;Z7;12;82;4c;60;4;0;11;40;4;e0;Z6;…;a4;21;8a;Z4;2;0;1;
;Zf;1f;c0;Ze;3;40;Z6c;4;Z2f;4;Z1f;4;Z1f;4;Z80;T
LMNE SHADE MATRIX;
Z183;1;Z13;8;Z3c;40;0;20;Zc;10;Z2;20;Zc;1;c0;…;70;Zb;60;2;49;c8;20;
;Zb;a1;Zf;6;8;50;6;Zc;c2;8;85;9;80;Z3;1;Za;4;…;10;10;Z8;18;88;60;
;10;Z3;40;80;1;Z6;1;40;Z4;8;Za;d1;c0;Z3;8;4;…;0;c;Z5;1a;3;50;
;Z2;81;0;20;2;Z4;2;Z2;24;80;Z6;20;Z4;2;Z2;…;Ze;10;80;Zd;8;48;Ze;8;
;20;Ze;4;88;Z1f;90;Zf;20;Ze;2c;80;Ze;10;…;40;Zdc;4;Z80;T
THRES 5D LMNE MATRIX;
N1Y;20;N1X;15;N2Y;35;N2X;23;EosX;100;LneY;55;LneX;60;LnlY;50;LnlX;28;RneX;105;NmX;46;LmY;69;
Lmn
Y;63;LmnX;26;ICY;105;
BasoY1;60;BasoX1;26;BasoY2;64;BasoX2;30;BasoY3;70;BasoX3;29;BasoY4;65;BasoX4;20;NHH;2;NHL;2;RL
L;
2;RLR;3;NLH;2;NLL;2;HLH;2;HLL;2;
Emerald Host
[FRAME HEADER]
Sending calibration report
Calibration report frame
NOTE: With Hand-shake mode, each Calibration result frame must be acknowledged before the timeout.
7.2.3 QC
Emerald Host
[HEADER FRAME]
Sending QC result request
RESULT_READY;1280[CR]
ACK_RESULT;OK[CR] QC Result
acknowledge
Emerald Host
ACK_RESULT_READY[CR]
[HEADER FRAME]
Precision result sending
Precision result frame
Precision result
ACK_RESULT;OK[CR]
acknowledge
Example:
EMD22AL; 1;314011-000162;TEST
STARTUP;07/11/2016;16:22:47;FAILED;0.000000;0.120000;0.100000;847.000000
7.3.1 Algorithmic
The used source code is available here below (C code).
It allows generating standard CRC-16. This algorithm is mainly used in embedded systems (like hard disk
controller). For best performance, compute is done from a seek table with 16 values.
Here is the CRC computation:
CRC = 0xFFFF
For each nibble :
Work on high weight nibble :
Index = byte EXCLUSIVE OR CRC
Index = Index AND 000F
CRC = Table(Index) EXCLUSIVE OR (CRC divided by 16)
Work on low weight nibble :
Index = byte divided by 16
Index = Index EXCLUSIVE OR CRC
Index = Index AND 000F
CRC = Table(Index) EXCLUSIVE OR (CRC divided by 16)
return(usAcc1);
}
^ : EXCLUSIVE OR
>> : logical right shift.
& : logical and.
7.4.1 Principles
A LIS may connect in HOST (either NET or RS), in order to send patient files to a CELL-DYN Emerald 22
AL. Each send is checked by the CELL-DYN Emerald 22 AL (CRC based) and acknowledged by such. If
errors occur, they are sent back to the LIS for processing.
A LIS may transmit patient files using the "ADD_NEW_ORDER" command then processed by the CELL-
DYN Emerald 22 AL, as defined below:
ADD_NEW_ORDER,KEY,RTYPE,RACK,POS,Stat,SID,PID,ID,BIRTH,SEX,TYPE,TEST,PRESC,LOCAT,PRELD,
PRELTIME,RUN,MATCH,Pat.COMMENT,CRC[CR]
The ADD_NEW_ORDER command is ASCII-based and must be carriage-return terminated.
Below the parameters to be supplied:
KEY: File number. E22AL will not take this value into account,
since it assigns a new file number for the received order. Remains at 0.
RTYPE: Rack Type number, must be : {undef, 1, .., 10 }.
For the moment only type 0 and 1 are available.
RACK: Rack number, must be : {undef, 1, .., 10 }
POS: Position number for the sample inside a rack, must be: {undef, 1, .., 5 }
Stat: Order Status. E22AL will not take this value into account since a
received order is considered to be done. Remains at 'T' for TODO.
SID: Order SID, 16 chars max, mandatory
PID: Order PID, 16 chars max.
NOTE: Only SID and CRC fields have to be provided for the order to apply, as long as commas are
provided even in case of blank fields.
Below, an example of an order supplied to a CELL-DYN Emerald 22 AL. This order concerns a sample
laid inside the second slot of the first rack of type 3. The patient was born in 1990 and the sample was
achieved by doc. House in the state of Oregon.
ADD_NEW_ORDER,0,3,1,2,T,TEST SID 1,TEST PID 1,TEST
ID,01/01/1990,1,STANDARD,1,HOUSE,OREGON,2,00:00:00,,,comment,6410\R
CRC computing:
unsigned short calc_crc(unsigned char *pucData, long lSize)
{
unsigned short usAcc1 = 0xFFFF;