Phoresis Extended Eng Rel. 5
Phoresis Extended Eng Rel. 5
Phoresis Extended Eng Rel. 5
EXTENDED PROTOCOL
RS-232C & FILE-TRANSFER (NETWORK)
Host 5.X.X
November 2006
INTERFACING PHORESIS TO A HOST COMPUTER
INTRODUCTION
This manual provides all the information to interface a Capillarys system or Phoresis
scanner to a host computer or LIS (Laboratory Information System) through a RS232C
serial link or via file transfer (network).
It describes the communication protocols and message formats used by Phoresis in
receiving and transmitting data.
Contents
2
RS-232C SERIAL LINK
The RS-232C serial link consists of message exchange between Capillarys/Phoresis and the host computer.
Through these messages, it is possible to import either the entire worklist in one time (Worklist or Total
mode) or patient by patient (Query or Partial mode) according to the present patient ID numbers (entered
through the keyboard or scanned with the tube barcode reader) in the Phoresis worklist and to export after
running the samples the corresponding patient results.
The operator has to click on the Host icon on the main screen, and then select either Import worklist or Import
(ID query) according to the setting to import the patient data or Export results to transmit the sample results
and thus for the selected analysis program and current date.
All messages start with a STX character (ASCII 02h) and end with an ETX character (ASCII 03h).
The last patient to download to Phoresis in Worklist mode after a MSG3 request and the last
patient analysis results uploaded (MSG5) to the Host end with EOT character (ASCII 04h)
instead of ETX in order to indicate to the receiver that there are no more patients to transmit.
3
IMPORTING A WORKLIST IN WORKLIST MODE FROM
THE HOST
The Worklist or Total mode allows the operator to download the patient demography of all the patients or a
group of patients by indicating the start and end sample numbers (e.g. 1 to 50 or 51 to 51 when it is an
emergency patient) and thus for the selected analysis program and current date.
The operator has to click on the Host icon, select Import worklist, enter the start and end sample numbers
and confirm with OK as shown on the following screen before starting downloading the patient data.
Communication protocol:
Notes:
• Phoresis sends a MSG1 to the Host and waits for a MSG2, then waits for the MSG3.
• When Phoresis has received correctly a MSG3 from the Host, it answers with a MSG2 (ACK) and thus
for all the patients downloaded. In case of wrong reception, Phoresis answers with the MSG4 (NACK)
and consequently the Host retransmits the MSG3 for a max of 3 times then goes to the next patient.
• When the Host does not have anymore samples to download to Phoresis, the last character of MSG3
becomes EOT (ASCII 04h) instead of the ETX (ASCII 03h) character transmitted after each of the
previous samples.
• When the operator does not know the number of samples to download, he has to enter 9999 as the last
sample number.
4
IMPORTING A WORKLIST IN QUERY MODE FROM THE
HOST (QUERY BY PATIENT ID)
The Query or Partial mode allows the operator to download the patient data of the selected analysis
program and current date after entry of the patient ID numbers first in the worklist.
The patient ID numbers can be entered either from the keyboard or a barcode reader from Worklist by single
sheet or Worklist by table menu. Once the patient ID numbers have been entered, the operator has to click
on the Host icon, select Partial request enter the start and end sample numbers and confirm with OK as
shown on the following screen before starting downloading the corresponding patient data.
Note:
To enter the patient ID numbers with a barcode reader, select Worklist by single sheet and uncheck all the
fields except ID number from Options menu. To verify all the worklist fields once the samples have been
downloaded, select Worklist by table and View all.
Communication protocol:
Notes:
• Phoresis sends a MSG6 to the Host and waits for a MSG2, then waits for the MSG3.
• When Phoresis has received correctly a MSG3 from the Host, it answers with a MSG2 (ACK), and thus
for all the patients downloaded. In case of wrong reception, Phoresis answers with the MSG4 (NACK)
and consequently the Host retransmits the MSG3 for a max of 3 times then goes to the next patient.
When the Host does not have anymore sample to download to Phoresis, the last character of
MSG3 becomes EOT (ASCII 04h) instead of the ETX (ASCII 03h) character transmitted at the
end of each previous samples.
• The Sample number (position in the Worklist) is not used in Query reception since it is given by
Phoresis. The Host should return 0000 for this field, if a different value is transmitted, Phoresis
will ignore it.
5
EXPORTING THE RESULTS TO THE HOST
This procedure allows the operator to upload the whole patient results of the selected analysis program for
the current date to the Host once the samples have been run and edited.
The operator has to click on the Host icon, select Export results then Phoresis asks for the start and end
sample numbers to export as shown on the following screen:
Communication protocol:
Notes:
• Phoresis starts the transmission sending MSG5 (first patient) then waits for MSG2 (ACK) from the Host,
then continues with the next MSG5 (next patient) and waits again for MSG2, and thus up to the last
sample selected by the operator.
• If Host answers a MSG4 (NACK), Phoresis retransmits the previous patient results and waits again for
the MSG2 (ACK) for max. 3 times then goes to the next patient results.
When Phoresis does not have anymore samples to transmit to the Host, the last character of
MSG5 becomes EOT (ASCII 04h) instead of the ETX (ASCII 03h) character transmitted at the
end of each previous sample.
• Every record as a fixed length
6
• MESSAGE 1 DESCRIPTION (MSG1)
7
MESSAGE 5 DESCRIPTION (MSG5)
8
49 Fraction 9 conc. value 458 5 Not fixed with a decimal separator “.” (2Eh)
50 Fraction 10 conc. value 463 5 Not fixed with a decimal separator “.” (2Eh)
51 Peak 1 name 468 10 Alphanum. charact., aligned left and spaces
52 Peak 2 name 478 10 Alphanum. charact., aligned left and spaces
53 Peak 3 name 488 10 Alphanum. charact., aligned left and spaces
54 Peak 4 name 498 10 Alphanum. charact., aligned left and spaces
55 Peak 1 % value 508 5 Not fixed with a decimal separator “.” (2Eh)
56 Peak 2 % value 513 5 Not fixed with a decimal separator “.” (2Eh)
57 Peak 3 % value 518 5 Not fixed with a decimal separator “.” (2Eh)
58 Peak 4 % value 523 5 Not fixed with a decimal separator “.” (2Eh)
59 Peak 1 conc. value 528 5 Not fixed with a decimal separator “.” (2Eh)
60 Peak 2 conc. value 533 5 Not fixed with a decimal separator “.” (2Eh)
61 Peak 3 conc. value 538 5 Not fixed with a decimal separator “.” (2Eh)
62 Peak 4 conc. value 543 5 Not fixed with a decimal separator “.” (2Eh)
63 Pathological Flag 548 1 0 = Normal , 1 = Pathological
64 Ratio 1 (e.g. A/G for the proteins) 549 5 Not fixed with a decimal separator “.” (2Eh)
65 Ratio 2 554 5 Not fixed with a decimal separator “.” (2Eh)
66 Comment 559 230 Alphanum. charact., aligned left and spaces
67 Reference pattern flag 789 1 0 = Normal pattern , 1 = Reference pattern
68 QC sample flag 790 1 0 = Normal sample , 1 = QC sample
Optional fields -- --
69 Curve
82 Programmable fields + the attached card comment
124 Extended comment
69/82/124/125 ETX or EOT 791/XXX 1 ASCII 03h or 04h for the last sample
TOTAL 18 bytes
Optional fields for the curve
69 Number of dots of the curve 791 4 Aligned right e.g. 0300
70 Curve scale flag 795 1 A = Automatic scale, M = Manual scale
71 Curve scale factor 796 4 Aligned right with zero (from 0100 to 1000)
72 Start Peak 1 Coord. (peak position) 800 4 Aligned right e.g. 0127
73 End Peak 1 Coord. (peak position) 804 4 Aligned right e.g. 0127
74 Start Peak 2 Coord. (peak position) 808 4 Aligned right e.g. 0127
75 End Peak 2 Coord. (peak position) 812 4 Aligned right e.g. 0127
76 Start Peak 3 Coord. (peak position) 816 4 Aligned right e.g. 0127
77 End Peak 3 Coord. (peak position) 820 4 Aligned right e.g. 0127
78 Start Peak 4 Coord. (peak position) 824 4 Aligned right e.g. 0127
79 End Peak 4 Coord. (peak position) 828 4 Aligned right e.g. 0127
9
80 Curve dots 832 Max4800 XYYY format, see after
81 Separator “|” (pipe) 2032 1 ASCII 7Ch
"A" = Automatic, the scale is determined by the max. (Y) Amplitude value of the curve (curve full scale).
"M" = Manual, the scale is multiplied by a percentage factor of the max. value.
• The curve consists today of 300 dots, so it means that it has a total length of 1200 characters, and
the whole optional fields for the curve has a total length of 1242 bytes. In the future, the number of
dots of the curve could be increased from 300 up to 1200 dots (4800 characters).
10
The content configuration of the 40 programmable fields can be done only by modification of the host.ini file
(into the Host folder).
[PROTOCOLLO]
MODO=RS232
TIPO=Phoresis Extended
LETTERA=S
RX_MODE=WORKLIST
REALTIME=0
RECALL_MODE=1
[PHORESIS]
CURVA=0
COMMENTO_ESTESO=0
OPTIONAL_FIELDS=0
CRC_CHECK=0
IMAGE_IF=0
AUTOSEQUENCE=0
NUMERIC_ID=0
FILE_CARD=0
FORCE_SEQUENCE=0
OPZ_FIELD1=DO_MAX
OPZ_FIELD2=NR_CAPILLARY
OPZ_FIELD3=RACK_NR
OPZ_FIELD4=ANALYSIS_TIME
OPZ_FIELD5=MIGRATION_TIME
OPZ_FIELD6=DELAY_TIME
...
...
The additional instructions to transmit the programmable fields (corresponding to Capillarys here) are in bold
characters.
124 Extended comment -- max3000 Alphanum. charact. With max 3000 charact.
This optional field has a variable length from 0 to 3000 characters. All CR+LF (ASCII 0Dh+0Ah) entered in
the extended comment will be converted in RS characters (ASCII 1Eh).
11
FILE-TRANSFER (NETWORK)
The connection via File Transfer happens through read/write of files in a folder shared in network between
Phoresis and the Host.
Two files, of configurable path and name, one containing the Worklist data and the other one, the result data
are in ASCII format with a structure of record, will be read therefore from a common text editor.
This file containing the patient demography of all the samples to scan is generated by the Host.
The record has a fixed length.
The operator has 2 options to download the worklist of the selected analysis program for the current date:
Worklist (Total) mode or Query (Partial) mode
The Worklist or Total mode allows the operator to download the patient demography of all the patients or a
group of patients to run on the system by indicating the start and end sample numbers (e.g. 1 to 50 or 51 to
51 when it is an emergency patient) and thus for the selected analysis program and current date.
The operator has to click on the Host icon, select Import worklist, enter the start and end sample numbers
and confirm with OK as shown on the following screen before starting downloading the patient data.
12
IMPORTING THE WORKLIST BY
QUERY (PARTIAL) MODE
The Query or Partial mode allows the operator to download the patient data after entry of the patient ID
numbers first in the Worklist. The patient ID numbers can be entered either from the keyboard or a barcode
reader from Worklist by single sheet or Worklist by table menu.
Once the patient ID numbers have been entered, the operator has to click on the Host icon, select Import (ID
query), enter the start and end sample numbers and confirm with OK as shown on the following screen
before important the corresponding patient data.
Note:
To enter the patient ID numbers with a barcode reader, select Worklist by single sheet and uncheck all the
fields except ID number from Options menu.
To verify all the worklist fields once the samples have been downloaded, select Worklist by table and View all.
RECORD DESCRIPTION
13
EXPORTING THE RESULTS TO THE HOST
(RESULT FILE FROM PHORESIS)
This file is generated by Phoresis after selection of the patients to export by the operator.
It contains all the numerical results and demographic patient data.
It consists of a sequential ASCII record with a fixed length when the optional fields are not selected or a
variable length when they are selected.
The procedure allows the operator to upload the whole patient results of the selected analysis program for
the current date to the Host once the samples have been run and edited.
The operator has to click on the Host icon, select Export results, enter the start and end sample numbers to
upload and confirm with OK as shown on the following screen:
RECORD DESCRIPTION
14
34 Fraction 5 % value 387 5 Not fixed with a decimal separator “.” (2Eh)
35 Fraction 6 % value 392 5 Not fixed with a decimal separator “.” (2Eh)
36 Fraction 7 % value 397 5 Not fixed with a decimal separator “.” (2Eh)
37 Fraction 8 % value 402 5 Not fixed with a decimal separator “.” (2Eh)
38 Fraction 9 % value 407 5 Not fixed with a decimal separator “.” (2Eh)
39 Fraction 10 % value 412 5 Not fixed with a decimal separator “.” (2Eh)
40 Fraction 1 conc. value 417 5 Not fixed with a decimal separator “.” (2Eh)
41 Fraction 2 conc. value 422 5 Not fixed with a decimal separator “.” (2Eh)
42 Fraction 3 conc. value 427 5 Not fixed with a decimal separator “.” (2Eh)
43 Fraction 4 conc. value 432 5 Not fixed with a decimal separator “.” (2Eh)
44 Fraction 5 conc. value 437 5 Not fixed with a decimal separator “.” (2Eh)
45 Fraction 6 conc. value 442 5 Not fixed with a decimal separator “.” (2Eh)
46 Fraction 7 conc. value 447 5 Not fixed with a decimal separator “.” (2Eh)
47 Fraction 8 conc. value 452 5 Not fixed with a decimal separator “.” (2Eh)
48 Fraction 9 conc. value 457 5 Not fixed with a decimal separator “.” (2Eh)
49 Fraction 10 con. value 462 5 Not fixed with a decimal separator “.” (2Eh)
50 Area 1 name 467 10 Alphanum. charact. aligned left and spaces
51 Area 2 name 477 10 Alphanum. charact. aligned left and spaces
52 Area 3 name 487 10 Alphanum. charact. aligned left and spaces
53 Area 4 name 497 10 Alphanum. charact. aligned left and spaces
54 Area 1 value % 507 5 Not fixed with a decimal separator “.” (2Eh)
55 Area 2 value % 512 5 Not fixed with a decimal separator “.” (2Eh)
56 Area 3 value % 517 5 Not fixed with a decimal separator “.” (2Eh)
57 Area 4 value % 522 5 Not fixed with a decimal separator “.” (2Eh)
58 Area 1 conc. value 527 5 Not fixed with a decimal separator “.” (2Eh)
59 Area 2 conc. value 532 5 Not fixed with a decimal separator “.” (2Eh)
60 Area 3 conc. value 537 5 Not fixed with a decimal separator “.” (2Eh)
61 Area 4 conc. value 542 5 Not fixed with a decimal separator “.” (2Eh)
62 Pathological Flag 547 1 0 = Normal , 1 = Pathological
63 Ratio 1(e.g. A/G for the proteins) 548 5 Not fixed with a decimal separator “.” (2Eh)
64 Ratio 2 553 5 Not fixed with a decimal separator “.” (2Eh)
65 Comment 558 230 Alphanum. charact. aligned left and spaces
66 Reference pattern flag 788 1 0 = Normal pattern , 1 = reference pattern
67 QC sample flag 789 1 0 = Normal sample , 1 = QC sample
Optional fields --- ---
68 Curve
81 Programmable fields + the attached card comment
123 Extended comment
68/81/123/124 CR + LF 790/XXX 2 ASCII 0Dh or 0Ah
15
• Curve scale Flag (No. 69)
"A" = Automatic, the scale is determined by the max. (Y) Amplitude value of the curve (curve full scale).
"M" = Manual, the scale is multiplied by a percentage factor of the max. value.
A set of dots for the curve coded under the following format: XYYY.
X representing the type of dot:
YYY (hexadecimal value) indicating the Y amplitude of the dot (right aligned, min. =000, max. =FFF).
• The curve consists today of 300 dots, so it means that it has a total length of 1200 characters, and
the whole optional fields for the curve has a total length of 1242 bytes. In the future, the number of
dots of the curve could be increased from 300 up to 1200 dots (4800 characters).
The content configuration of the 40 programmable fields can be done only by modification of the host.ini file
(into the Host folder).
[PROTOCOLLO]
MODO=RS232
16
TIPO=Phoresis Extended
LETTERA=S
RX_MODE=WORKLIST
REALTIME=0
RECALL_MODE=1
[PHORESIS]
CURVA=0
COMMENTO_ESTESO=0
OPTIONAL_FIELDS=0
CRC_CHECK=0
IMAGE_IF=0
AUTOSEQUENCE=0
NUMERIC_ID=0
FILE_CARD=0
FORCE_SEQUENCE=0
OPZ_FIELD1=DO_MAX
OPZ_FIELD2=NR_CAPILLARY
OPZ_FIELD3=RACK_NR
OPZ_FIELD4=ANALYSIS_TIME
OPZ_FIELD5=MIGRATION_TIME
OPZ_FIELD6=DELAY_TIME
The additional instructions to transmit the programmable fields (Corresponding to Capillarys here) are in bold
characters.
123 Extended comment -- max3000 Alphanum. charact. With max 3000 charact.
This field has a variable length from 0 to 3000 characters. All CR+LF (ASCII 0Dh+0Ah) entered in the
extended comment will be converted in RS character (ASCII 1Eh)
17
SETTING THE PARAMETERS
From the main menu, click on Host icon, select successively Parameters and Host parameters,
Enter the password 4644 or free then the system displays the following screen:
• Check File-transfer (Network), select the network path, enter the Worklist and result file names,
confirm with OK, and then restart Phoresis for the changes to be effective.
Or
• Check RS232, select the COM port, set the baud rate, data bit, parity, stop bit and delays, confirm
with OK then restart Phoresis for the changes to be effective.
Note:
When clicking in the Protocol type window, the system proposes 4 more possibilities: Preference, Phoresis,
Phoresis FTP and ASTM.
The Preference and the Phoresis protocols are not described in this manual because they do not give the
possibility to use all the capabilities of Phoresis such as the capability to use the date of birth, the laboratory
code, the sample collection date, the 5 additional free fields and the operator ID for the Worklist and the
capability to transmit the monoclonal peaks and the extended comment to the host.
The Phoresis FTP and ASTM protocols are not described.
18
Phoresis Extended protocol type using the RS232
method.
19
Phoresis Extended Protocol type using the Files
transfer method (Network)
20
SETTING THE OPTION
21
APPENDIX 1
Analysis program codes
Code Analysis program name
A -----
B -----
C B1B2
D B1B2 +
E PROTEIN(E) 5
F IMMUNOTYPING 6
G -----
H HYDRAGEL LDL/HDL CHOL Direct
I HYDRAGEL ISO-LDH
J PROTEIN(E) 6
K HR
L HYDRAGEL LIPO + Lp(a)
M HYDRAGEL ISO-PAL
N CDT
O HYDRAGEL CSF
P HYDRAGEL PROTEINURIE
Q HYDRAGEL ISO-CK
R HYDRAGEL HR1
S HYDRAGEL PROTEIN(E)
T HYDRAGEL HEMOGLOBIN(E)
U HYDRAGEL HR2
V HEMOGLOBIN(E)
W HYDRAGEL URINE PROFIL(E)
X Test Pattern
Y PROTEIN(E) TOTAL
Z HYDRAGEL IF/BENCE JONCES
0 URINE
1 HYDRAGEL CSF ISOFOCUSING
2 NEONATAL Hb
3 IMMONUTYPING URINE
4 HYDRAGEL LIPOPROTEIN(E)
5 -----
6 -----
7 -----
8 -----
9 -----
22
APPENDIX 2
The output is compatible V 24 and RS 232C from one asymmetric 9 pin male connector (db9 connector or
COM port) located at the back of the PC.
Note:
23
APPENDIX 3
CRC CALCULATION (in C language)
The CRC is calculated from the following table_CRC_16 which is a table of 256 uint (unsigned integer)
{
0x0000, 0xC1C0, 0x81C1, 0x4001, 0x01C3, 0xC003, 0x8002, 0x41C2,
0x01C6, 0xC006, 0x8007, 0x41C7, 0x0005, 0xC1C5, 0x81C4, 0x4004,
0x01CC, 0xC00C, 0x800D, 0x41CD, 0x000F, 0xC1CF, 0x81CE, 0x400E,
0x000A, 0xC1CA, 0x81CB, 0x400B, 0x01C9, 0xC009, 0x8008, 0x41C8,
0x01D8, 0xC018, 0x8019, 0x41D9, 0x001B, 0xC1DB, 0x81DA, 0x401A,
0x001E, 0xC1DE, 0x81DF, 0x401F, 0x01DD, 0xC01D, 0x801C, 0x41DC,
0x0014, 0xC1D4, 0x81D5, 0x4015, 0x01D7, 0xC017, 0x8016, 0x41D6,
0x01D2, 0xC012, 0x8013, 0x41D3, 0x0011, 0xC1D1, 0x81D0, 0x4010,
0x01F0, 0xC030, 0x8031, 0x41F1, 0x0033, 0xC1F3, 0x81F2, 0x4032,
0x0036, 0xC1F6, 0x81F7, 0x4037, 0x01F5, 0xC035, 0x8034, 0x41F4,
0x003C, 0xC1FC, 0x81FD, 0x403D, 0x01FF, 0xC03F, 0x803E, 0x41FE,
0x01FA, 0xC03A, 0x803B, 0x41FB, 0x0039, 0xC1F9, 0x81F8, 0x4038,
0x0028, 0xC1E8, 0x81E9, 0x4029, 0x01EB, 0xC02B, 0x802A, 0x41EA,
0x01EE, 0xC02E, 0x802F, 0x41EF, 0x002D, 0xC1ED, 0x81EC, 0x402C,
0x01E4, 0xC024, 0x8025, 0x41E5, 0x0027, 0xC1E7, 0x81E6, 0x4026,
0x0022, 0xC1E2, 0x81E3, 0x4023, 0x01E1, 0xC021, 0x8020, 0x41E0,
0x01A0, 0xC060, 0x8061, 0x41A1, 0x0063, 0xC1A3, 0x81A2, 0x4062,
0x0066, 0xC1A6, 0x81A7, 0x4067, 0x01A5, 0xC065, 0x8064, 0x41A4,
0x006C, 0xC1AC, 0x81AD, 0x406D, 0x01AF, 0xC06F, 0x806E, 0x41AE,
0x01AA, 0xC06A, 0x806B, 0x41AB, 0x0069, 0xC1A9, 0x81A8, 0x4068,
0x0078, 0xC1B8, 0x81B9, 0x4079, 0x01BB, 0xC07B, 0x807A, 0x41BA,
0x01BE, 0xC07E, 0x807F, 0x41BF, 0x007D, 0xC1BD, 0x81BC, 0x407C,
0x01B4, 0xC074, 0x8075, 0x41B5, 0x0077, 0xC1B7, 0x81B6, 0x4076,
0x0072, 0xC1B2, 0x81B3, 0x4073, 0x01B1, 0xC071, 0x8070, 0x41B0,
0x0050, 0xC190, 0x8191, 0x4051, 0x0193, 0xC053, 0x8052, 0x4192,
0x0196, 0xC056, 0x8057, 0x4197, 0x0055, 0xC195, 0x8194, 0x4054,
0x019C, 0xC05C, 0x805D, 0x419D, 0x005F, 0xC19F, 0x819E, 0x405E,
0x005A, 0xC19A, 0x819B, 0x405B, 0x0199, 0xC059, 0x8058, 0x4198,
0x0188, 0xC048, 0x8049, 0x4189, 0x004B, 0xC18B, 0x818A, 0x404A,
0x004E, 0xC18E, 0x818F, 0x404F, 0x018D, 0xC04D, 0x804C, 0x418C,
0x0044, 0xC184, 0x8185, 0x4045, 0x0187, 0xC047, 0x8046, 0x4186,
0x0182, 0xC042, 0x8043, 0x4183, 0x0041, 0xC181, 0x8180, 0x4040,
};
CRC=0;
for (Loop=0;Loop<NbBytes;Loop++)
CRC=( ( CRC << 8 ) ^ Table_CRC_16[ (CRC >> 8 ) ^ Buffer[Loop] ] ); return(CRC);
}
24