Utilice un nodo GenericHL7Output para preparar un mensaje para la aplicación de destino.
Es recomendable utiliza el nodo HL7DFDLOutput para aplicaciones nuevas y actualizadas siempre que sea posible, ya que modelo de mensaje DFDL tiene los beneficios siguientes.
Para obtener más información sobre el nodo HL7DFDLOutput, consulte Nodo HL7DFDLOutput.
El nodo GenericHL7Output recibe un mensaje de HL7 en el dominio MRM y abre conexiones para una aplicación de destino que está a la escucha en un puerto TCP/IP. Cuando se establece la conexión, el mensaje de HL7 se envía con un fin de registro establecido en el delimitador de propiedad Bytes MLLP finales delimitador, cuyo valor predeterminado es 1C0D. Si los datos no se han enviado correctamente dentro del límite de tiempo especificado por la propiedad Se ha excedido el tiempo de espera al enviar registro de datos (segundos) del nodo, el mensaje se pasa al terminal de anomalías.
Una vez enviado satisfactoriamente el mensaje, el nodo GenericHL7Output espera un acuse de recibo (ACK) de la aplicación de destino. Un acuse de recibo de HL7 se despoja de bytes MLLP, se analiza y se comprueba su código de retorno. Si se produce un error en el nodo GenericHL7Output, el mensaje se pasa al terminal de reintento de registro o al terminal de anomalías.
Si la entrega es satisfactoria y se devuelve un código AR en el acuse de recibo, el mensaje se pasa al terminal de reintento de registro si no se ha superado el límite de reintentos.
Si el mensaje se entrega y se devuelve un código AE en el acuse de recibo, o si no se recibe ningún acuse de recibo válido, el mensaje se pasa al terminal de anomalías.
Si el mensaje no se entrega, se presupone que el destino no está disponible, el mensaje se pasa al terminal de reintento de registro si no se ha superado el límite de reintentos.
Si el terminal de reintento de registro no está conectado, o si la vía de acceso finaliza con éxito, se vuelve a intentar la entrega. Si el terminal de reintento de registro está conectado y se genera una excepción en sentido descendente, el mensaje no se reintenta y se pasa al terminal de anomalías.
Si el terminal Anomalía no está conectado, se genera una excepción.
Para obtener información sobre HL7, consulte Health Level Seven International.
El nodo GenericHL7Output se representa en la bandeja Servicio sanitario de la paleta de nodos de flujos de mensajes, y se representa en el WebSphere Message Broker Toolkit con el siguiente icono:
Un ejemplo de cómo utilizar el nodo GenericHL7Output se muestra en el patrón incorporado Healthcare: HL7 a HL7, en la categoría Servicio sanitario de la vista Explorador de patrones.
Cuando un nodo GenericHL7Output se utiliza en un flujo de mensajes, el nodo espera encontrar un mensaje en el árbol MRM que se ha analizado contra el mensaje HL7 del conjunto de mensajes de HL7v25P. Si no está seguro de que los mensajes pasados al nodo GenericHL7Output sean correctos, puede establecer la propiedad Validar para forzar el análisis antes de que comience el proceso. Si el mensaje se envía satisfactoriamente al destino configurado y se devuelve un acuse de recibo de proceso satisfactorio desde el destino, el acuse de recibo se pasa al terminal de salida del nodo.
Si desea que intente volver a enviar el mensaje después de una anomalía, debe establecer el valor de la propiedad Límite de reintentos en el número de veces que desea que el nodo intente enviar el mensaje. Si también desea registrar cada reintento, debe seleccionar la propiedad Registrar reintento. Cuando la propiedad Registro de reintento está seleccionada, el mensaje se pasa al terminal de registro de reintento para cada intento. El entorno retiene los valores que puede utilizar en el mensaje de registro, consulte la tabla de Entorno siguiente.
Si conecta el terminal de registro de reintento, finaliza satisfactoriamente la hebra de flujo de mensajes y se producen más reintentos. Si se generan excepciones no capturadas en esta hebra, los reintentos no continuarán.
Si se pasa un mensaje al terminal de anomalías, el flujo de mensajes actúa según los procedimientos de manejo de errores. El terminal de anomalías debe estar conectado de forma que el error se registre y los datos se guarden, se lance una excepción o ambas cosas. Si el terminal de anomalía no está conectado, el error origina una anomalía silenciosa, no se genera ninguna excepción y no se registran sucesos en el registro de sucesos. Para conocer los códigos de error y más información que puede utilizar en el manejo de los errores, consulte la tabla de errores siguiente.
Si se ha producido una anomalía en el nodo GenericHL7Output, 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 donde se ha producido el error |
Retry | Indica si esta acción se puede volver a intentar |
ErrorCondition | Proporciona una descripción textual del error |
Attempt | Si el error se produce en un bucle de reintento, esta variable contiene el texto siguiente: Intento <i> de <n> |
RetryCount | Indica el reintento actual |
RetryLimit | Indica el número de reintentos permitido |
La tabla de errores siguiente indica los códigos de error que se pueden dar.
Error | Terminal | Retry | Código | Texto de error |
---|---|---|---|---|
El nodo no ha podido analizar el mensaje entrante utilizando el conjunto de mensajes de HL7v25P y el formato de mensaje de HL7. | Anomalía | No | BADHL7 MESSAGE | El mensaje de HL7 de entrada no se puede analizar. |
El nodo no ha podido enviar el mensaje al destino configurado. | Registro de reintento | Sí | SENDHL7 | Error de TCP/IP. El mensaje de HL7 no se ha enviado. |
El nodo no ha podido analizar el acuse de recibo. | Anomalía | No | ACKPARSE ERROR | Error MSH mientras se analizaba el mensaje de acuse de recibo. |
Se ha recibido el acuse de recibo pero no hay ningún código de acuse de recibo presente. | Anomalía | No | ACKERROR | Error de análisis o validación de MSA: MSA 1. El código de acuse de recibo es nulo. El acuse de recibo contenía el mensaje de error siguiente: mensaje_error |
El acuse de recibo se ha recibido pero no hay ningún ID de control de mensaje presente. | Anomalía | No | ACKERROR | Error de análisis o validación de MSA: MSA 2. MessageControlID es nulo. El acuse de recibo ha enviado el mensaje de error siguiente: mensaje_error |
No se ha recibido ningún acuse de recibo en el periodo de tiempo de espera. | Anomalía | No | TIMEOUT | El nodo no ha podido recibir el mensaje de acuse de recibo dentro del tiempo de espera especificado. |
El nodo no ha podido recibir el acuse de recibo. | Anomalía | No | RECEIVE ACK | Error de TCPIP. El nodo no ha podido recibir el mensaje de acuse de recibo. |
El nodo ha intentado entregar el mensaje, pero el nodo ha alcanzado el límite de reintentos configurado. | Anomalía | No | SENDHL7 TOOMANY REPEATS | El nodo no ha podido recibir el mensaje de acuse de recibo. |
El nodo ha recibido acuses de recibo AR pero el nodo ha alcanzado el límite de reintentos configurados. | Anomalía | No | ACKAR TOOMANY REPEATS | El nodo ha intentado volver a enviar el mensaje y no puede entregarlo satisfactoriamente. |
Cuando haya añadido una instancia del nodo GenericHL7Output 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.
Terminal | Descripción |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje de HL7 para que lo procese el nodo. |
Anomalía | El terminal de salida al que se dirige el mensaje si el nodo no puede enviar satisfactoriamente el mensaje y no puede recibir un acuse de recibo de proceso satisfactorio. |
Out (de salida) | El terminal de salida al que se direcciona un acuse de recibo si un mensaje se ha enviado satisfactoriamente al destino y se recibe un acuse de recibo de proceso satisfactorio. Se producen excepciones en el nodo o debido a que se encuentra un mensaje duplicado. |
Registro de reintento | El terminal de salida al que se dirige el mensaje si el nodo no puede enviar satisfactoriamente el mensaje o no puede recibir un acuse de recibo de proceso satisfactorio y no se sobrepasa el número de reintentos. |
Las tablas siguientes describen las propiedades del 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 archivador de intermediario (BAR) para desplegarlo).
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | GenericHL7Output | 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. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Detalles de conexión | Sí | Sí | localhost:2222 | La conexión TCP/IP para la aplicación de destino en el formato nombre_host:puerto |
Se ha excedido el tiempo de espera al enviar registro de datos (segundos) | Sí | Sí | 60 | El tiempo, en segundos, que espera el nodo cuando intenta enviar datos o recibir un acuse de recibo. |
Bytes MLLP iniciales | Sí | Sí | 0B | El byte MLLP inicial que se añade a los registros de HL7 salientes y se elimina de los acuses de recibo entrantes. |
Límite de reintentos | Sí | Sí | 5 | El número máximo de veces que el nodo intenta proporcionar un mensaje de HL7 a la aplicación de destino. |
Registro de reintento | Sí | Sí | Seleccionado | Especifica si cada intento de entregar un mensaje se pasa al terminal de reintento de registro para permitir el registro cronológico. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Delimitador | No | No | Delimitador personalizado | Esta propiedad no se puede editar. |
Bytes MLLP finales | Sí | Sí | 1C0D | Los bytes MLLP finales que se utilizan como un delimitador de registros de HL7. Estos bytes MLLP finales los añade el nodo TCPIPClientOutput. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Delimitador | No | No | Delimitador personalizado | Esta propiedad no se puede editar. |
Bytes MLLP finales (acuse de recibo) | Sí | No | 1C0D | El delimitador de HL7 utilizado para detectar el final de los acuses de recibo entrantes. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Validar | No | Sí | Ninguno | Esta propiedad determina el nivel de validación del mensaje de
HL7 entrante en el dominio MRM. Los valores válidos son:
|