Nodo HL7DFDLInput

Utilice un nodo HL7DFDLInput para recibir mensajes de clientes que conectan con el nodo de integración utilizando el protocolo MLLP a través de TCP/IP.

Finalidad

El nodo HL7DFDLInput escucha en un puerto y, cuando un socket de cliente se conecta al puerto, el socket de servidor crea una conexión para el cliente. Cuando se abre una conexión, se recibe un registro de datos y el final del registro se detecta por la presencia de un delimitador configurable. Si se produce un error al leer datos, por ejemplo si se sobrepasa el tiempo de espera de los datos o se cierra una conexión mientras se esperaba al registro completo, los datos se enviarán al terminal de anomalías (Failure). Si el terminal Anomalía no está conectado, se genera una excepción. Si la propiedad Mecanismo de reintento para el nodo no se establece en Anomalía, el nodo intenta volver a conectarse hasta que se recuperan los datos o hasta que se sobrepasa el número de intentos definido por la propiedad Umbral de reintentos.

El nodo HL7DFDLInput requiere que los mensajes utilicen el protocolo MLLP a través de TCP/IP. Si los bytes iniciales de MLLP no están presentes, el mensaje se envía al terminal Anomalía.

El nodo HL7DFDLInput maneja mensajes que están definidos en el dominio DFDL. El formato de mensaje HL7 en el modelo de mensaje DFDL se utiliza para analizar los mensajes. Si se produce un error de análisis, o si los campos de MSH no están presentes, el mensaje se pasa al terminal Anomalía. Para obtener información sobre los modelos de mensaje, consulte Modelos de mensaje en la documentación del producto IBM® Integration Bus.

Puede configurar el nodo HL7DFDLInput para que compruebe la existencia de duplicados. Cada mensaje HL7 entrante tiene un campo MessageControlID en el segmento de cabecera MSH, que identifica al registro. Si la propiedad Comprobar duplicados está seleccionada, todos los identificadores se almacenan en la cola de duplicados con el acuse de recibo (ACK) devuelto al remitente. El identificador de un mensaje entrante se compara con los identificadores guardados para determinar si es un duplicado. Cuando un duplicado se detecta, no se procesa, pero el mismo acuse de recibo que se ha enviado con el primer mensaje se devuelve al remitente. La cola de duplicados se especifica como una propiedad de nodo.

Los identificadores se almacenan en la cola de duplicados para el periodo definido por la propiedad Periodo de tiempo de duplicación. Una vez transcurrido este tiempo, los identificadores se suprimen y los mensajes con el mismo identificador ya no se tratan como duplicados. Debe establecer un tamaño para la cola de duplicados suficiente para contener el número máximo de identificadores de mensajes esperado en el periodo de tiempo establecido.

Si un mensaje entrante no es un duplicado, el mensaje se pasa al terminal de salida del nodo HL7DFDLInput para su proceso posterior. Si se detecta un duplicado, el nodo HL7DFDLInput devuelve el acuse de recibe al solicitante. Si el informe de duplicados está seleccionado y se detecta un duplicado, el mensaje se pasa al terminal de Anomalía.

Los mensajes se procesan bajo control transaccional. Si se retrotrae el flujo de mensajes, se eliminan los identificadores duplicados añadidos a la cola de identificadores duplicados. Esto permite asegurar que el mensaje se vuelve a someter si no se identifica como duplicado y se procesa como un mensaje nuevo.

Para obtener información sobre HL7, consulte Health Level Seven International.

El nodo HL7DFDLInput se representa en la bandeja Servicio sanitario de la paleta de nodos de flujos de mensajes, y se representa en el IBM Integration Toolkit con el siguiente icono:

Icono de nodo GenericHL7DFDLInput

Utilización de este nodo en un flujo de mensajes

Cuando se utiliza un nodo HL7DFDLInput en un flujo de mensajes, los mensajes pasados al terminal Out (de salida) contienen mensajes de HL7 con los bytes de MLLP iniciales y finales eliminados. El árbol de mensajes contiene cabeceras MQMD y MQRFH2 de modo que el mensaje se puede escribir directamente en una cola si es necesario. El cuerpo del mensaje contiene un mensaje HL7 en el dominio DFDL. El flujo de mensajes es responsable de devolver un acuse de recibo (ACK) al solicitante.

Si hay una anomalía en el nodo HL7DFDLInput, el mensaje se pasa al terminal Anomalía. LocalEnvironment.HL7 contiene los campos mostrados en la tabla de Entorno siguiente. Estos campos proporcionan información que se utiliza para crear un acuse de recibo negativo (NACK) o crear un mensaje de error.

Campo Descripción
FlowMilestoneReached Indica la acción que se toma cuando se produce el error.
SendNACK Enviar un acuse de recibo negativo (NACK) de respuesta.
EndConnection YES: Cerrar la conexión.

NO: No cerrar la conexión.

HL7RC Código de retorno de HL7.
ErrorCondition Texto de error para incluir en el NACK.
Si el campo SendNACK se establece en YES, se devuelve un NACK al solicitante. El campo SendNACK se establece en NO si se produce una de las condiciones siguientes:
  • El mensaje entrante no contenía los delimitadores MLLP correctos, por lo tanto, se presupone que el protocolo MLLP no está soportado.
  • El mensaje es un duplicado y el nodo HL7DFDLInput ha devuelto el NACK.

Si EndConnection se establece en YES, la conexión debe cerrarse. Esta acción se produce cuando el mensaje de entrada no contiene los delimitadores MLLP correctos y se supone por lo tanto que el protocolo MLLP no está soportado.

Los campos HL7RC (Código de retorno de HL7) y ErrorCondition están disponibles para proporcionar información en el NACK que se devuelve al solicitante.

La tabla de errores siguiente indica los códigos de error que se pueden dar.
Objetivo de flujo alcanzado Código de retorno Texto del error
DETECTDUPLICATE AR Error de comprobación de duplicados
PARSE AE Se muestra un mensaje de error de análisis DFDL. El mensaje resume el problema.
BUILDACK AR Error al crear mensaje de acuse de recibo.

(Este error se produce cuando se devuelve un acuse de recibo porque se trata de un mensaje duplicado).

SENDACK AR Error al crear mensaje de acuse de recibo

(Este error se produce cuando se devuelve un acuse de recibo porque se trata de un mensaje duplicado).

DUPLICATEERROR AR Anomalía durante la detección de duplicados. La cola de duplicados está llena.

Anomalía durante la detección de duplicados. El proceso del mensaje ha fallado.

SAVINGDUPDATA AR Error al guardar datos duplicados
DUPLICATE RECORD AR Registro duplicado detectado

El nodo HL7DFDLInput es transaccional. Cuando el flujo de mensajes en el que se utiliza, finaliza satisfactoriamente, todos los mensajes escritos en la transacción se comprometen. Si el mensaje finaliza con una excepción que no se ha detectado, todos los mensajes escritos bajo la transacción se retrotraen, incluido el mensaje. Esta acción incluye el mensaje a la cola que guarda los ID para la detección de duplicados. Debe determinar qué mensajes desea que se retrotraigan en estas circunstancias y asegurarse de que otros mensajes, por ejemplo mensajes de error, no se graban bajo la transacción.

Configuración del nodo HL7DFDLInput

Cuando haya añadido una instancia del nodo HL7DFDLInput a un flujo de mensajes, podrá configurarlo.

Todas las propiedades obligatorias para las que debe especificar un valor (propiedades que no tienen un valor predeterminado definido) están marcadas con un asterisco.

Terminales y propiedades

Los terminales del nodo HL7DFDLInput se describen en la tabla siguiente.
Terminal Descripción
Failure (Anomalía) El terminal de salida al que se direcciona un mensaje si se produce un error.
Out (de salida) El terminal de salida al que se direcciona el mensaje si se recupera satisfactoriamente de un recurso externo.
Catch (de captación) El terminal de salida al que se direcciona un mensaje si se genera una excepción en sentido descendente y después este nodo la capta. Las excepciones se detectan sólo si este terminal está conectado.

Las tablas siguientes describen las propiedades de nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo BAR para desplegarlo).

En la siguiente tabla se describen las propiedades de descripción del nodo HL7DFDLInput.
Propiedad O C Valor predeterminado Descripción
Nombre de nodo No HL7DFDLInput El nombre del nodo.
Descripción corta No No   Una descripción breve del nodo.
Descripción larga No No   Texto que describe el propósito del nodo en el flujo de mensajes.
En la siguiente tabla se describen las propiedades de proceso HL7 del nodo HL7DFDLInput.
Propiedad O C Valor predeterminado Descripción
Comprobar duplicados No No Seleccionado Determina si se detectan mensajes duplicados, según lo determinado por el identificador de mensaje exclusivo en la cabecera MSH de HL7.
Si se detecta un duplicado, se lleva a cabo la acción siguiente:
  • Si se recibe el mensaje dentro del periodo de espera, el mensaje no se procesa pero se devuelve al remitente el mismo acuse de recibo enviado para el mensaje original.
  • Una vez transcurrido el tiempo de espera, los mensajes duplicados se procesan como de costumbre.
Informar de duplicados No Seleccionado Determina si los mensajes duplicados que llegan dentro del tiempo especificado generan un mensaje de notificación de error.
Periodo de tiempo duplicado No 86400 Define (en segundos) durante cuanto tiempo se conservan los mensajes de identificador antes de que caduquen. Una vez transcurrido este tiempo, los duplicados no se reconocen y se procesan como de costumbre. El valor predeterminado (86400) es igual a 24 horas.

Esta propiedad es obligatoria si se selecciona Comprobar duplicados.

Cola de identificadores duplicados No No   Define la cola que contiene la lista de ID duplicados actuales contra los que se comprueban los mensajes de entrada.

Esta propiedad es obligatoria si se selecciona Comprobar duplicados.

Bytes MLLP iniciales No 0B Define el byte inicial que forma parte del protocolo MLLP y que se elimina antes de analizar y procesar el mensaje.
Acuse de recibo de duplicados No Seleccionado Determina si se envían mensajes de acuse de recibo cuando se detectan mensajes duplicados.
Utilizar modelo genérico No No Seleccionado Determina la estructura del árbol de mensajes que se envía desde el nodo.
  • Si no se selecciona está opción, la estructura del árbol la determina el contenido del campo MSH.9.MessageType del mensaje entrante. El árbol contiene un elemento de nivel superior correspondiente al tipo de mensaje, por ejemplo, ADT_A01, y este elemento contiene un elemento hijo para cada segmento HL7; por ejemplo, MSH, EVN, PID, PV1.
    ADT_A01
      MSH
      EVN
      PID
      PV1
  • Si se selecciona esta opción, el árbol contiene un elemento de nivel superior HL7, que contiene un elemento hijo MSH y un elemento hijo para cada segmento HL7, denominado anyHL7Segment. Cada instancia de anyHL7Segment contiene un elemento hijo que tiene el nombre del segmento HL7, por ejemplo, EVN, PID, PV1.
    HL7  MSH
      anyHL7Segment
        EVN
      anyHL7Segment
        PID
      anyHL7Segment
        PV1
En la siguiente tabla se describen las propiedades básicas del nodo HL7DFDLInput.
Propiedad O C Valor predeterminado Descripción
Detalles de conexión 1111 La conexión TCP/IP para la aplicación de origen en el formato nombre_host:puerto
Se ha excedido el tiempo de espera de registro de datos (segundos) 60 El tiempo que va a estar a la escucha un nodo en una conexión a la espera de más datos después de la llegada del primer byte de datos. Puede especificar cualquier cantidad de tiempo en segundos. El valor predeterminado es 60 segundos. Cuando se excede el tiempo especificado, todos los datos disponibles se envían al terminal de anomalías (Failure).
En la siguiente tabla se describen las propiedades de detección de registros del nodo HL7DFDLInput.
Propiedad O C Valor predeterminado Descripción
Delimitador No Delimitador personalizado Esta propiedad no se puede editar.
Bytes MLLP finales 1C0D Los bytes MLLP finales que se utilizan como un delimitador de registros de HL7. Estos bytes MLLP finales los elimina el nodo HL7DFDLInput.
En la siguiente tabla se describen las propiedades de Reintento del nodo HL7DFDLInput.
Propiedad O C Valor predeterminado Descripción
Mecanismo de reintento No Intervalo de reintento corto (segundos) Cómo maneja el nodo una anomalía del flujo. Las opciones válidas son:
  • Anomalía
  • Intervalo de reintento corto (segundos)
  • Reintento corto y largo
Intervalo de reintento corto (segundos) 0 El intervalo, en segundos, entre cada reintento si Umbral de reintentos no es cero.
Umbral de reintentos 0 El número de veces que debe reintentarse la transacción de flujos cuando Mecanismo de reintento es Intervalo de reintento corto (segundos).
Intervalo de reintento largo (segundos) 300 El intervalo entre reintentos si Mecanismo de reintento es Reintento corto y largo y se ha agotado el umbral de reintentos.
En la siguiente tabla se describen las propiedades de análisis del nodo HL7DFDLInput.
Propiedad O C Valor predeterminado Descripción
Validar Ninguna Esta propiedad controla si tiene lugar la validación. Los valores válidos son:
  • Ninguna
  • Contenido y valor
  • Valor
Temporización del análisis No A petición Esta propiedad controla cuándo se analiza un mensaje de entrada. Los valores válidos son:
  • A petición
  • Inmediato
  • Completo

Si desea ver una descripción completa de esta propiedad, consulte Análisis a petición.

ID de juego de caracteres codificado del mensaje No 1208 El ID del juego de caracteres codificado utilizado para interpretar los datos que se leen.
Copyright IBM Corporation 2011, 2015Copyright IBM Corporation 2011, 2015.

        
        Última actualización
        
        Última actualización : 2015-06-19 10:55:22


Tema de referenciaTema de referencia | Versión 4.0.0.0 | ha05110