Está en la página 1de 17

MANUAL DEL OPERADOR

CB350i

SECCIÓN 2: INFORMACIÓN ADICIONAL

CAPÍTULO 3
3. EXTENSIÓN DE SOFTWARE
Comunicación en serie Analizador <-> Computadora Pág.: 250
huésped
3.1. General Pág.: 250
3.2. Transmisión de pacientes al Analizador Pág.: 250
3.3. Recepción de resultados Pág.: 252
3.4. Cálculo de suma de verificación Pág.: 253
3.5. Diagrama de conexión del cable de interfaz Pág.: 253
3.6. Protocolo de comunicación variable Pág.: 254
3.7. Programas para tests con comunicación en serie Pág.: 265
3.7.1. Programa Comunica.exe Pág.: 265
3.7.2. Programa BTPLUS.exe Pág.: 265

Aviso Importante:
Cualquier modificación del Protocolo Serie Variable queda limitada a personal calificado
únicamente. Wiener Laboratorios SAIC garantiza el correcto rendimiento del protocolo serie interno.
El malfuncionamiento que provenga de modificaciones en los scripts del Protocolo Serie Variable
es responsabilidad del cliente.

ADVERTENCIA

Esta información refiere a la configuración del código de barras para la identificación de


tubos de muestra. La lectura de la etiqueta del código de barras en la muestra tiene la misma
progresión que el código de paciente.
Por ejemplo: Una vez que se ingresa un código de paciente de 15 caracteres, un código de 8
caracteres seguido de 7 espacios vacíos para alcanzar los 15 caracteres es enviado.
El código leído en la etiqueta de código de barras debe tener la misma secuencia 8 + 7 para
que sea correctamente detectado.

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

249
3. COMUNICACIÓN EN SERIE: ANALIZADOR <-> COMPUTADORA
HUÉSPED
3.1. GENERAL
El analizador permite la comunicación bi-direccional a través de una conexión serial RS
232C con cualquier computadora huésped.
La característica particular del diálogo es que siempre es la computadora huésped la que
inicia la comunicación, tanto para transmitir la lista de pacientes como para recibir los
resultados.
Para iniciar cualquier comunicación, la computadora huésped debe enviar el carácter STX
(0x02) al analizador y esperar el carácter ACK (0x06) como respuesta. A partir de ese
momento, la computadora huésped envía datos al analizador, y termina la comunicación al
enviar el carácter EOT (0x04).
Es importante recordar que toda comunicación es seguida por una respuesta del
analizador.
Tenga en cuenta que si el parámetro que se transmite es más corto que lo que requerido
por el protocolo de comunicación, entonces debe agregarse un espacio antes o después.
Por ejemplo: el análisis tiene una longitud de 4; por ende, para enviar el código GLY, uno
debe agregar un espacio para alcanzar la longitud de 4 caracteres.

3.2. TRANSMISIÓN DEL PACIENTE AL ANALIZADOR

Inicie comunicación con secuencia STX<->ACK.................


Envíe código de paciente…………………………………………. (15 caracteres)
Envíe tipo de lista para la introducción del paciente.................... ("T" para Rutina o "R" para STAT)
Envíe tipo de suero………………………………………………… ("S" para Suero o "U" para Orina)
Envíe si el paciente es un clon..................................................... ("Y" para Sí o "N" para No)
Transmita la posición del contenedor…………………………… ("00" desconocido)
Envíe el número de tests a ser ejecutados.................................. (de "01" a "99")
Envíe los códigos de tests a ser ejecutados................................ (4 caracteres)
Envíe suma de verificación………………………………………… (3 caracteres)
Envíe el carácter de fin de transmisión EOT................................
Espere la respuesta del analizador.............................................. (2 caracteres)

Si la comunicación es exitosa, entonces el analizador responde con el carácter "Y" seguido


de un byte, el cual identifica la posición donde se inserta el paciente. En caso de que la
comunicación no sea exitosa, el analizador responde con "N" seguido de un byte que
identifica el tipo de error. Los posibles errores generados por el analizador en respuesta a
la inserción inválida del paciente son los siguientes:

0x01 Error en la suma de verificación


0x02 Comando desconocido
0x03 Error en el campo de Rutina/STAT
0x04 Error en el campo de Suero/Orina
0x05 Error en el campo Clon Sí/No

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

250
0x06 Error en la posición del contenedor
0x07 Error en el campo Número de análisis
0x08 Número de test erróneo
0x09 Posición ya en ejecución
0x0A Imposible clonar
0x0B Código duplicado
0x0C Uno o más análisis no están presentes en el analizador
0x0D Uno o más análisis no están presentes en la bandeja actual
0x0E Demasiados análisis para el paciente
0x12 No hay pacientes para repetir
0x13 El campo de suero en el paciente a repetirse es diferente al que se
encuentra en memoria.
0x14 Paciente a repetirse, pero la lista está llena
0x15 Paciente a repetirse, pero la lista es diferente
0x16 La posición asignada ya está en uso
0x17 Paciente ya existente o analizado; no es un clon y pertenece a una
lista suplementaria (extra)
0x18 Paciente ya analizado, pero no hay repeticiones o clones activos

Por ejemplo: para enviar un paciente con código 000000000000001, tipo de suero y
análisis GLY, BUN y CHO a la lista de STAT, debe enviar la siguiente secuencia de
caracteres (excluyendo la secuencia inicial STX <-> ACK):

000000000000001RSN0003GLY BUN CHO 134<EOT>

Donde:

000000000000001............. Código de paciente


R........................................ Identifica la lista de STAT
S........................................ Identifica el tipo de paciente (en este caso: Suero)
N........................................ Identifica que el paciente no es un clon
00....................................... Posición desconocida (el analizador inserta el paciente en una
posición conveniente)
03....................................... Identifica el número de tests a ser ejecutados
GLY, BUN, CHO................. Códigos de test (observe el espacio luego de cada código para
alcanzar el límite de 4 caracteres)
134..................................... Identifica la suma de verificación
<EOT>............................... Este carácter finaliza la comunicación

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

251
3.3. RECEPCIÓN DE RESULTADOS
Hay tres comandos para la recepción de informes del analizador:

R........................................ Recepción del siguiente informe disponible


Recepción del último informe enviado (en caso de problemas con la
L........................................
recepción)
Recepción del primer informe disponible (en caso de que uno desee recibir
A........................................
nuevamente todos los informes)
Los comandos R, L y A requieren de una comunicación estándar o del procedimiento
STX<->ACK y el carácter EOT para finalizar la comunicación.
Como respuesta a uno de estos tres comandos, el analizador envía el informe requerido (si está
disponible) o el carácter NAK (0x15) si no hay informes para enviar. Debe tenerse en cuenta que
luego de ejecutar un test, los informes no están inmediatamente listos para la transmisión ya que
necesitan validación. Para lograr esto, vaya al menú Utilidades, RS232 y active la opción "Aceptar
Resultado para ser enviado". Esta operación debe realizarse siempre después de cada ejecución
de test o grupos de test.
Hay también una opción adicional para realizar la operación de validación automáticamente. Vaya a
la configuración del analizador (menú Utilidades, Configurar Analizador), luego vaya a Serie (quinto
desde la izquierda) y active la opción "Todos los resultados se enviarán automáticamente (sin
validación)" ubicada en la parte inferior de la página.
En el caso de una respuesta positiva al pedido de informe, el analizador transmite:

Código de paciente.………. 15 caracteres


Tipo de lista……………….. "T" para Rutina o "R" para STAT
Tipo de muestra.................. "S" para Suero o "U" para Orina
Cantidad de informes…… 3 caracteres

Para cada informe:


Código de análisis………… 4 caracteres
Resultado……………….….... 7 caracteres
Suma de verificación……… 3 caracteres
<EOT>

El siguiente es un ejemplo de una posible respuesta a los datos enviados en "Enviando un


paciente al analizador":

000000000000001RS003GLU 000.000BUN 0010.10CHO 00100.0245<EOT>

Donde:
000000000000001........ Código de paciente
R.................................... Identifica la lista de STAT
S.................................... Identifica el tipo de paciente (en este caso: Suero)
003................................ Identifica la cantidad de informes
GLU................................ Primer código de test
000.000......................... Resultado de test GLU
BUN.............................. Segundo código de test

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

252
0010.10......................... Resultado de test BUN
CHO............................... Tercer código de test
00100.0......................... Resultado de test CHO
245................................ Identifica la suma de verificación
<EOT>.......................... Este carácter finaliza la comunicación

3.4. CÁLCULO DE SUMA DE VERIFICACIÓN

Este procedimiento calcula un código de control de acuerdo a los datos transmitidos o


recibidos. Se ejecuta una suma algebraica de los valores ASCII de todos los caracteres
enviados. Por ejemplo: el carácter "A" tiene un valor ASCII 65 - 0x41.
Consecuentemente, se ejecuta el módulo 256 del valor encontrado (balance de la división
del valor por 256). Ésta es la suma de verificación que se envía.

3.5. DIAGRAMA DEL CABLEADO DE INTERFAZ

ANALIZADOR

ANALIZADOR

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

253
3.6. PROTOCOLO DE COMUNICACIÓN VARIABLE

Introducción
El protocolo serie variable fue diseñado para proporcionar al usuario la posibilidad de
personalizar los datos transmitidos y recibidos del analizador.
El usuario puede transmitir o recibir además de los datos pre-establecidos (código de
paciente, código de análisis, resultados, etc.), sucesiones de texto simple o caracteres de
acuerdo a sus necesidades personales.
El usuario puede optar por enviar o recibir información numérica (por ej. Cantidad de test)
no en forma de bytes individuales sino en series numéricas pre-establecidas o viceversa.
Por ejemplo: el usuario puede optar por recibir algo así:
"Iniciar análisis de datos"
<Análisis de datos verdadero y típico>
"Finalizar análisis de datos"

Donde las frases "Iniciar análisis de datos" y "Finalizar análisis de datos" no refieren a
ningún dato pre-establecido por el analizador sino que sirven únicamente para monitorear
el proceso de comunicación (puede ser útil para insertar marcadores específicos en
aquellos programas que obtienen información de archivos de texto).
Es obvio que el protocolo de iniciación y finalización de comunicación, los comandos para
la petición de informes, y las respuestas del analizador en caso de errores o aciertos
permanecen idénticos a la comunicación en serie pre-establecida usual.
NOTA:
a) Si se omite una suma de verificación en una comunicación, entonces el analizador
no la controlará.
b) Los siguientes números han sido utilizados para representar los códigos de error
relevantes al envío de un paciente al analizador de acuerdo a los parámetros que
no forman parte de la comunicación en serie estándar:
0x0F Los datos (constantes) enviados a un TAG #Char, #String o #Stringn no entran en el
rango de valores posibles
0x10 Los datos (variables) enviados a un TAG #Char, #String o #Stringn no son válidos
0x11 Una variable de análisis se encuentra por fuera SET BEGIN/END relativo al análisis.

Notas sobre los Scripts (guiones)


Un script es un documento de texto. Cada uno de los comandos (órdenes) individuales
debe ubicarse en una línea diferente y estar completo. En otras palabras, una orden
individual no puede dividirse en líneas diferentes.

Stringn ‘Nombre’|$10 -> Línea válida


Stringn ‘Nombre'|$10 char ‘A’ -> Línea inválida

Stringn ‘Nombre’ -> Orden inválida


|$10

Se encuentra disponible dentro del programa un editor para la escritura, modificación,


guardado y compilado de uno o más scripts (función de configuración). En cualquier caso

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

254
es posible escribir un script con cualquier editor de texto (DOS o Windows), como el Bloc
de Notas de Windows o el EDITOR de DOS. No es posible importar documentos escritos
con UNIX ya que lo caracteres utilizados para pasar a la siguiente línea son diferentes de
aquellos utilizados por DOS o Windows.

¡PRECAUCIÓN!
Si quiere utilizar un script que está guardado en un disco removible (por ejemplo, un
disquete), es necesario copiarlo al disco rígido.

TIPO DE DATOS

Character: Identifica a un carácter individual, que puede presentarse como carácter imprimible
(encerrado entre comillas simples), como valor decimal ASCII (seguido al símbolo $) o
como valor hexadecimal ASCII (seguido a 0x).
Si por ejemplo queremos representar el carácter A (valor decimal 65 o valor hexadecimal
41), entonces podemos escribir 'A', $65 o 0x41.

String: Identifica una serie de caracteres imprimibles encerrados entre comillas simples, por
ejemplo: 'esto es una cadena'

Comment: Identifica una porción de texto (precedido por un carácter ;) que no se compila pero sirve
de nota para el programador.

Variables: Éstas son secuencias particulares de caracteres precedidas por el símbolo #, que son
usadas por el programa para guardar información interna (código de paciente, nombre
de análisis, etc.); véase la "TABLA 1 – TRANSMISIÓN/RECEPCIÓN".
También hay variables para usos directos, las cuales permiten la identificación de
cualquier carácter por debajo de ASCII 32 (espacio) para facilitar la escritura del script
(por ejemplo, uno puede usar la variable #EOT para identificar el carácter $4); véase la
"TABLA 2 – VARIABLES INTERNAS".

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

255
FUNCIONES DE SCRIPT

String: Identifica una cadena de longitud variable que finaliza con un carácter particular.

Sintaxis:
String <string>I<Terminator>

Donde
<String> Cadena transmisión/recepción
<Terminator> Carácter de finalización

Nota:
No es posible utilizar variables como parámetro <Terminator>

Ejemplo:
String ‘Hello Word’|$0
String ‘My String’|’@’
String #Variable1|0x10

Stringn: Identifica una cadena de longitud fija

Sintaxis:
Stringn <String>|<Longitud>

Donde
<String> Cadena transmisión/recepción
<Longitud> Longitud de la cadena

Nota:
Si la longitud de las cadenas de texto es menor a los datos, entonces se agregan una
serie de espacios a la derecha para alcanzar la longitud pre-establecida de los datos.
Si la cadena de texto es mayor a la longitud de los datos, entonces se corta el final de
la cadena para adaptarla a la longitud de los datos.

Si la longitud de los valores numéricos es menor a la longitud de los datos, entonces


se agregan una serie de caracteres '0' a la izquierda para alcanzar la dimensión pre-
establecida de los datos. Si la longitud de la cadena de valores numéricos es mayor a
la longitud de los datos, entonces se corta la cadena para igualar la longitud de los
datos.

No es posible utilizar variables como parámetro <Longitud>.

Ejemplo:
Stringn ‘Hello Word’|$40
Stringn #Variable1|0x10

Char: Identifica un carácter individual (o byte individual)

Sintaxis:
Char <Carácter>

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

256
Ejemplo:
Char ‘H’
Char $20
Char 0x10
Char #STX

Set: Identifica el inicio y el fin del grupo de comandos repetidos.

Sintaxis

Set Begin<Nombre del grupo>


Inicia el grupo repetitivo

Set End<Nombre del grupo>


Finaliza el grupo repetitivo

Nota:
Actualmente, el único SET presente es el ANALYSESDATA, el cual identifica el
análisis en la transmisión/recepción.
Solo una orden SET BEGIN y una orden SET END pueden estar presentes en un
script.
Un script siempre debe contener la orden SET.
La variable PATIENTNUMBERTEST debe estar presente antes de la orden SET.

ERRORES DE COMPILACIÓN
Uno o más errores por una escritura incorrecta de script o un error de sistema pueden
aparecer durante la compilación de un script. El compilador muestra el código de error, la
descripción del error y la línea donde se detectó tal error.
La tabla en la siguiente página muestra los códigos de error, descripción y posibles causas:

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

257
Código
Descripción Posibles causas
error
Se ha introducido un comando desconocido en los
1 Comando desconocido
comandos de script.
No se ha insertado una cadena como primer
2 Pedido de cadena
parámetro para String o Stringn.
Se ha insertado una cadena como parámetro
3 Pedido de número
<longitud> en un comando Stringn.
Se ha insertado un número decimal o hexadecimal
4 Formato de número inválido
inválido.
a) Se han insertado más de dos parámetros para
un comando String o Stringn.
5 Datos excesivos
b) Se ha insertado más de un parámetro para el
comando Char o Set.
6 Datos inválidos Se ha insertado una cadena para un comando Char.
7 Pedido de Terminator de String No se encuentra el carácter de finalización (') de una cadena.
a) Se han insertado menos de dos parámetros
para un comando String o Stringn.
8 Muy pocos datos
b) No se ha insertado parámetro para el
comando Char o Set.
La longitud de la cadena para el comando Stringn es
9 Longitud de cadena inválida
menor a 0 o mayor a 128.
a) Se ha insertado una cadena vacía para el
10 Cadena vacía comando String o Stringn.
b) Se ha insertado un carácter identificado como "
a) Se ha intentado transferir una variable inválida
en la lista de variables internas.
11 Variable desconocida
b) Se ha intentado utilizar una variable de
transmisión en el script de recepción o viceversa.
Error en el disco duro. Contáctese con el
12 Archivo dañado
Service/Ventas.
Error interno. Probablemente, programa dañado.
13 Archivo desconocido Reinstale el programa. Si el problema persiste,
contáctese con el Service/Ventas.
a) Texto SET BEGIN o SET END no escrito.
Identificador incorrecto en el b) Un valor diferente a ANALYSEDATA se ha
14
comando SET transferido como <nombre de grupo> para el
comando SET.
Error en el disco duro. Contáctese con el
15 Archivo de salida dañado
Service/Ventas.
Comando SET no se ha No se ha insertado el SET END en el script.
16
cerrado
17 Demasiados comandos SET Se han insertado más de un comando SET BEGIN.
No se ha encontrado el No se ha encontrado el comando SET BEGIN en el
18
comando SET script.
Un valor diferente a ANALYSEDATA se ha
Variable incorrecta para el
19 transferido como <nombre de grupo> para el
comando SET
comando SET.
Variable no encontrada La variable resaltada que requiere el script antes del
20
antes del comando SET comando SET BEGIN.
La variable debe ser de tipo La variable resaltada debe ser de tipo String, no
21
String Char.
22 Posición ya ocupada Se ha ingresado una posición ya ocupada en la bandeja.
El paciente ya existe pero Se ha ingresado un código ya existente (o ya
23
en listas diferentes ejecutado) en la bandeja, pero la lista es diferente.
Paciente ejecutado pero no Se ha ingresado un código ya procesado sin
24
hay repetición indicación de una repetición o de un clon.

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

258
TABLA 1 - TRANSMISIÓN

Las siguientes variables se utilizan para la transmisión de un informe desde el analizador a


la computadora huésped:
Variable Uso Tipo de datos válidos
PATIENTCODE Código de paciente String
PATIENTNAME Nombre del paciente String
PATIENTSURNAME Apellido del paciente String
PATIENTGROUP Grupo (1) String Character
PATIENTLISTTYPE Lista (2) String Character
PATIENTTYPE Tipo de método (3) String Character
PATIENTNOTE Nota descriptiva String
PATIENTNUMBERTEST Cantidad de resultados String Character
CHECKSUM Suma de verificación String Character
ANALYSESCODE Código de análisis String
ANALYSENAME Nombre de análisis String
ANALYSESTYPE Tipo de análisis (4) String Character
ANALYSESCONCENTRATION1 1era concentración String
ANALYSESCONCENTRATION2 2da concentración String
ANALYSESFLAGS1 Flag 1er resultado String
ANALYSESFLAGS2 Flag 2do resultado String
ANALYSESMINVALUE Valor mínimo String
ANALYSESMAXVALUE Valor máximo String
ANALYSESUM1 1era unidad de medida String
ANALYSESUM2 2da unidad de medida String
ANALYSESUMFACTOR Factor de la unidad String
ANALYSES2RESULT ¿Existe el 2do resultado? (5) String Character
ANALYSESSERUMTYPE Tipo de método (3) String Character
ANALYSESURINE24H Orina 24/hs. String
(1)
Representa Hombre, Mujer o Niño (seleccione una opción):
'M': Hombre
'F': Mujer
'C': Niño
(2)
Representa Rutina o STAT (seleccione una opción):
‘R’: Rutina
‘S’: STAT
La transmisión de un paciente desde el archivo siempre se identifica como Rutina.
(3)
Representa Suero u Orina (seleccione una opción):
‘S’: Suero
‘U’: Orina
(4)
Representa Química Clínica, Módulo ISE o Análisis Relacionado (seleccione una opción):
‘C’: Química Clínica
‘I’ : Módulo ISE
‘R’: Análisis relacionado
(5)
Representa si el 2do resultado existe o no (seleccione una opción):
‘Y’: El 2do resultado existe
‘N’: El 2do resultado no existe

• Si solo se busca el resultado final, siempre refiérase a variables pertenecientes al 2do resultado.
• Si no hay un 2do resultado, entonces las variables tendrán los mismos valores que el 1er resultado.

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

259
TABLA 1 - RECEPCIÓN

Las siguientes variables se utilizan para la recepción de un paciente por el analizador:


Variable Uso Tipo de datos
válidos
PATIENTCODE Código de paciente String
PATIENTNAME Nombre del paciente String
PATIENTSURNAME Apellido del paciente String
PATIENTLISTTYPE Lista (1) String Character
PATIENTGROUP Grupo (2) String Character
PATIENTTYPE Tipo de método (3) String Character
PATIENTURINE24H Orina 24/hs. String
PATIENTNOTE Nota descriptiva String
PATIENTISCONTROL Si el paciente es un control (4) String Character
PATIENTCONTROLKNOK Si es un control conocido (5) String Character
PATIENTCONTROLLEVEL Nivel de control (6) String Character
PATIENTCLONE Si es un clon (7) String Character
PATIENTCUPPOSITION Posición del frasco (contenedor) String Character
PATIENTNUMBERTEST Número de test String Character
CHECKSUM Suma de verificación String Character
ANALYSESCODE Código de análisis String
(1)
Representa Rutina o STAT (seleccione una opción):
$0 : Rutina
$1 : STAT
‘0’ : Rutina
‘1’ : STAT
‘R’ : Rutina
‘S’ : STAT
‘ROUTINE’ : Rutina
'STAT' : STAT
(2)
Representa Hombre, Mujer o Niño (seleccione una opción):
$0 : Hombre
$1 : Mujer
$2 : Niño
‘0’ : Hombre
‘1’ : Mujer
‘2’ : Niño
'M' : Hombre
'F' : Mujer
‘C’ : Niño
‘MAN’ : Hombre
‘FEMALE’ : Mujer
‘CHILD’ : Niño
(3)
Representa Suero u Orina (seleccione una opción):
$0 : SUERO
$1 : ORINA
‘0’ : SUERO
‘1’ : ORINA
‘S’ : SUERO
‘U’ : ORINA
‘SERUM’ : SUERO
‘URINE’ : ORINA

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

260
(4)
Representa un Control o una Muestra (seleccione una opción):

$0 : Muestra
$1 : Control
‘0’ : Muestra
‘1’ : Control
‘N’ : Muestra
‘Y’ : Control
‘S’ : Muestra
‘C’ : Control
‘NO’ : Muestra
‘YES’ : Control
‘SAMPLE’ : Muestra
'CONTROL' : Control
(5)
Representa un Control conocido o desconocido (seleccione una opción):

$0 : Desconocido
$1 : Conocido
‘0’ : Desconocido
‘1’ : Conocido
‘N’ : Desconocido
‘Y’ : Conocido
‘U’ : Desconocido
'K' : Conocido
‘NO’ : Desconocido
‘YES’ : Conocido
‘UNKNOW’ : Desconocido
‘KNOW’ : Conocido
(6)
Representa el nivel de control (seleccione una opción):
$1 : Nivel 1
$2 : Nivel 2
$3 : Nivel 3
‘1’ : Nivel 1
‘2’ : Nivel 2
‘3’ : Nivel 3
‘L’ : Nivel 1
‘N’ : Nivel 2
‘A’ : Nivel 3
‘LOW’ : Nivel 1
'NORMAL' : Nivel 2
‘ABNORMAL’ : Nivel 3
(7)
Representa si es un clon (seleccione una opción):
$0 : Normal
$1 : Clon
‘0’ : Normal
‘1’ : Clon
‘N’ : Normal
‘Y’ : Clon
‘NOCLONE’ : Normal
‘CLONE’ : Clon

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

261
TABLA 2 – VARIABLES INTERNAS

Variables Decimal Hexadecimal


NUL $00 0x01
SOH $01 0x02
STX $02 0x03
ETX $03 0x04
EOT $04 0x05
ENQ $05 0x06
ACK $06 0x07
BEL $07 0x08
BS $08 0x09
TAB $09 0x0A
LF $10 0x0B
VF $11 0x0C
FF $12 0x0D
CR $13 0x0E
SO $14 0x0F
SI $15 0x10
DLE $16 0x11
DC1 $17 0x12
DC2 $18 0x13
DC3 $19 0x14
DC4 $20 0x15
NAK $21 0x16
SYN $22 0x17
ETB $23 0x18
CAN $24 0x19
EM $25 0x1A
SUB $26 0x1B
ESC $27 0x1C
FS $28 0x1D
GS $29 0x1E
RS $30 0x1F
US $31 0x20

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

262
EJEMPLOS DE SCRIPTS

Los ejemplos que se describen a continuación son la transformación en script de la rutina


estándar de recepción del paciente por el analizador.

Stringn #PatientCode|$15
Char #PatientListType
Char #PatientType
Char #PatientClone
Stringn #PatientCupPosition|$2
Stringn #PatientNumberTest|$2

Set #BeginAnalysesData
Stringn #AnalysesCode|$4
Set #EndAnalysesData

Stringn #CheckSum|$3

A continuación se muestran los detalles de los scripts anteriores:

Stringn #PatientCode|$15
Código de paciente de longitud fija de 15 caracteres

Char #PatientListType
Tipo de lista (Rutina/STAT) como carácter individual

Char #PatientType
Tipo de suero (Suero/Orina) como carácter individual

Char #PatientClone
Identifica si el paciente es o no un clon (carácter individual)

Stringn #PatientCupPosition|$2
Posición del contenedor de suero (cadena de longitud fija de 2 caracteres)

Stringn #PatientNumberTest|$2
Cantidad de tests a ejecutarse (cadena de longitud fija de 2 caracteres)

Set #BeginAnalysesData
Inicio de los códigos de análisis

Stringn #AnalysesCode|$4
Código de análisis de longitud fija de 4 caracteres. Debe ingresarse para cada tipo de test así
como para la cantidad indicada en #PatientNumberTest.

Set #EndAnalysesData
Finalización de los códigos de análisis

Stringn #CheckSum|$3
Suma de verificación (transferida como una cadena de longitud fija de 3 caracteres)

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

263
Los siguientes ejemplos son la transformación en script de la rutina estándar para la
transmisión de un informe desde el analizador a la computadora huésped:

Stringn #PatientCode|$15
Char #PatientType
Stringn #PatientNumberTest|$3

Set #BeginAnalysesData
Stringn #AnalysesCode|$04
Stringn #AnalysesConcentration2|$7
Set #EndAnalysesData

Stringn #CheckSum|$3

Los detalles de los scripts anteriores son:

Stringn #PatientCode|$15
Código de paciente de longitud fija de 15 caracteres

Char #PatientType
Tipo de suero (Suero/Orina) como carácter individual

Stringn #PatientNumberTest|$3
Cantidad de resultados a ser enviados (cadena de longitud fija de 3 caracteres)

Set #BeginAnalysesData
Inicio de zona repetida para la cantidad de resultados a ser enviados (véase
#PatientNumberTest)

Stringn #AnalysesCode|$04
Código de análisis de longitud fija de 4 caracteres.

Stringn #AnalysesConcentration2|$7
Concentración referida al código de análisis como en #AnalysesCode (una cadena de longitud
fija de 7 caracteres)

Set #EndAnalysesData
Finalización de zona repetida para la cantidad de resultados a ser enviados

Stringn #CheckSum|$3
Suma de verificación (transferida como una cadena de longitud fija de 3 caracteres)

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

264
3.7. PROGRAMAS PARA TESTS CON COMUNICACIÓN EN SERIE
3.7.1. Programa COMUNICA.EXE:
Es un simple programa de comunicación para enviar caracteres de orden (mandato) al analizador y
recibir cualquier respuesta.
En el inicio, la única entrada al programa es el número del puerto de comunicación (de 1 a 4).
Se muestra una pantalla azul dividida en dos secciones. En la sección superior, se muestran los caracteres
provenientes del analizador; en la sección inferior, se muestran los caracteres enviados al analizador.
Las únicas teclas especiales que se utilizan son F1 para limpiar la pantalla y F10 para salir del programa.
Los caracteres especiales (con valores menores a 32) se muestran en notación ASCII junto a sus
valores. Por ejemplo, el carácter EOT, valor 4, se muestra como EOT (4).
Para enviar un carácter especial (con valores menores a 32 o mayores a 124), es necesario
mantener presionada la tecla ALT y escribir el valor del carácter a ser enviado utilizando las teclas
numéricas. Por ejemplo, para enviar EOT es necesario mantener la tecla ALT e ingresar el valor 4 a
través de la tecla numérica y luego soltar la tecla ALT.

3.7.2. Programa BTPLUS.EXE:


Es un simple programa de comunicación que simula ser la computadora huésped. En el inicio, es
necesario identificar el número del puerto de comunicación (de 1 a 4) y el procedimiento deseado
(Transmisión o Recepción).
Si se selecciona Transmisión, el programa pregunta por el código de paciente (de 1 a 15 caracteres),
el número de test (de 1 a 9) y el código de análisis relevante para cada test (por ejemplo: BUN).
Se recomienda utilizar los mismos códigos de análisis que tiene memorizados el analizador en la
bandeja actual (en uso); de otra manera, ocurrirá un error en la fase de transmisión.
Luego el programa ejecuta un procedimiento de inicialización de comunicación con el analizador,
envía los datos del paciente y aguarda el resultado de la transmisión.
Al final, la pantalla muestra el resultado de la operación o el número de posición de la bandeja
donde se ha insertado el paciente o la explicación del código de error enviado por el instrumento
(por ejemplo: Código de Paciente Duplicado).
Si se selecciona el procedimiento Recepción, entonces el programa inicia la comunicación con el
analizador, pregunta por datos del próximo informe a ser enviado en serie y muestra datos de
informes relevantes descargados.
Si no hay informes a ser recibidos, se muestra un mensaje correspondiente.
Cada vez que el programa aguarda una respuesta del analizador, en caso de haber problemas, es
posible abortar la operación actual simplemente con presionar la tecla Esc (Escape).
NOTA:
Ambos programas deben residir en la computadora, la cual se conecta en forma serial al
analizador a través del cable correspondiente que se indica en el Manual del Operador.
La computadora debe ser compatible con IBM y debe estar equipada con un sistema
operativo DOS: Windows 95, Windows 98, o Windows 2000. No soporta sistemas operativos
tales como MAC, UNIX, Windows ME o XP.
Debido a que los programas operan en un ambiente DOS, en caso de utilizarse un sistema
operativo Windows, es necesario abrir un intérprete de comandos DOS (la línea de comando
de MS-DOS se encuentra en el menú Programas, Accesorios y se accede a través del botón
Inicio en la parte inferior izquierda de la pantalla).
Ambos programas utilizan puerto de serie con la siguiente configuración:

Baud-Rate………………… 9600
Stop-Bits........................... 1
Paridad……………………….. Ninguna
Hand-Shake……………….. Hardware

AVISO IMPORTANTE: Ambos programas se encuentran en el disco de instalación en la


carpeta Utility (Utilidades).

CB350i – Manual del Operador Sección 2 – Información Adicional Capítulo 3

265

También podría gustarte