Use um nó do GenericHL7Input para receber mensagens de clientes que se conectam ao broker usando o protocolo MLLP over TCP/IP.
Recomenda-se que o nó HL7DFDLInput seja usado para aplicativos novos e atualizados, se possível, pois o Modelo de Mensagem DFDL apresenta os benefícios a seguir.
Para obter informações adicionais sobre o nó HL7DFDLInput, consulte Nó HL7DFDLInput.
O nó do GenericHL7Input atende a uma porta e quando um soquete do cliente conecta-se à porta, o soquete do servidor cria uma conexão para o cliente. Quando uma conexão é aberta, um registro de dados é recebido e o fim do registro é detectado pela presença de um delimitador configurável. Se ocorrer um erro ao ler dados, por exemplo, um tempo limite que aguarda para dados ou o encerramento de uma conexão ao esperar pelo registro completo, os dados são enviados ao terminal Falha. Se o terminal Falha não é conectado, uma exceção é lançada. Se a propriedade Mecanismo de nova tentativa para o nó não é configurado como Falha, o nó tenta novamente até que os dados sejam recuperados com sucesso ou até que o número de novas tentativas definido pela propriedade Limite de nova tentativa seja excedido.
O nó do GenericHL7Input requer mensagens que usam protocolo MLLP over TCP/IP. Se os bytes MLLP à esquerda não estiverem presentes, a mensagem será enviada ao terminal Falha.
O nó do GenericHL7Input manipula mensagens que são definidas no domínio MRM. O formato da mensagem do HL7 no conjunto de mensagens do Conjunto de mensagens HL7v25P é usado para analisar as mensagens. Se ocorrer um erro de análise ou se os campos obrigatórios MSH não estiverem presentes, a mensagem será passada para o terminal Falha. Para obter informações sobre conjuntos de mensagens, consulte Visão Geral de Conjuntos de Mensagens na documentação do WebSphere Message Broker .
É possível configurar o nó do GenericHL7Input para verificar duplicados. Cada mensagem recebida do HL7 possui um campo MessageControlID no segmento do cabeçalho MSH, que identifica o registro. Se a propriedade Verificar duplicatas estiver selecionada, todos os identificadores serão armazenados na fila de duplicatas com a confirmação (ACK) que foi retornada para o emissor. O identificador de uma mensagem recebida é verificado em relação aos identificadores salvos para determinar se é uma duplicata. Quando uma duplicata é detectada, ela não é processada, mas a mesma confirmação que foi enviada com a primeira mensagem é retornada ao emissor. A fila de duplicatas é especificada como uma propriedade do nó.
Identificadores são armazenados na fila de duplicatas para a duração definida pela propriedade Período de tempo de duplicata. Após esta duração ser decorrida, os identificadores são excluídos e as mensagens com o mesmo identificador não são mais tratadas como duplicatas. Você deve dimensionar a fila de duplicatas para que contenha o número máximo de identificadores de mensagens esperados no período de tempo configurado.
Se uma mensagem recebida não for uma duplicata, a mensagem será passada para o terminal Externo do nó do GenericHL7Input para processamento adicional. Se uma duplicata for detectada, o nó do GenericHL7Input retornará a ACK ao solicitante. Se o relatório de duplicatas for selecionado e uma duplicata for detectada, a mensagem será passada ao terminal Falha.
As mensagens são processadas sob controle transacional. Se o fluxo de mensagens for retrocedido, os identificadores de duplicata que foram incluídos na fila de identificador de duplicata serão removidos. Isso assegura que se a mensagem for reenviada, ela não será identificada como uma duplicata e processada como uma nova mensagem.
Se ocorrer um erro ao ler dados, incluindo um tempo limite que aguarda os dados ou o encerramento de uma conexão ao aguardar o registro completo, os dados serão enviados ao terminal Falha. Se o terminal Falha não é conectado, uma exceção é lançada. Se a propriedade Mecanismo de nova tentativa para o nó não é configurado como Falha, o nó tenta novamente até que os dados sejam recuperados com sucesso ou até que o número de novas tentativas definido pela propriedade Limite de nova tentativa seja excedido.
Para obter informações sobre o HL7, consulte Sete Nível de Funcionamento Internacional.
O nó do GenericHL7Input está contido na gaveta Assistência Médica da paleta de nó do fluxo de mensagens e será representado no WebSphere Message Broker Toolkit pelo ícone a seguir:
Quando um nó do GenericHL7Input é usado em um fluxo de mensagens, as mensagens passadas ao terminal Externo contêm mensagens analisadas do HL7 com bytes MLLP à esquerda e à direita removidos. A árvore de mensagens contém cabeçalhos MQMD e MQRFH2 para que a mensagem possa ser gravada diretamente em uma fila, se necessário. O corpo da mensagem contém uma mensagem do HL7 no domínio MRM. O fluxo de mensagens é responsável por retornar uma confirmação (ACK) ao solicitante.
O nó do GenericHL7Input é transacional. Quando um fluxo de mensagens no qual ele é usado é encerrado com sucesso, todas as mensagens gravadas na transação são confirmadas, incluindo a mensagem para a fila que salva IDs para detecção duplicada.
Se houver uma falha no nó do GenericHL7Input, a mensagem será passada para o terminal Falha. LocalEnvironment.HL7 contém os campos mostrados na tabela Ambiente a seguir. Esses campos dão informações que são usadas para construir uma confirmação negativa (NACK) ou criar uma mensagem de erro.
Campo | Descrição |
---|---|
FlowMilestoneReached | Indica a ação que está sendo tomada quando ocorre o erro. |
SendNACK | Envie uma resposta de confirmação negativa (NACK). |
EndConnection | SIM: Feche a conexão. NÃO: Não feche a conexão. |
HL7RC | Código de retorno do HL7. |
ErrorCondition | Texto de erro a incluir na NACK. |
Se a EndConnection for configurada como SIM, a conexão deverá ser fechada. Esta ação ocorre quando a mensagem recebida não continha os delimitadores MLLP corretos e é, portanto, presumido que o protocolo MLLP não seja suportado.
Os campos HL7RC (Código de retorno do HL7) e ErrorCondition estão disponíveis para fornecer informações na NACK que é retornada ao solicitante.
Marco do Fluxo Atingido | Código de Retorno | Texto de erro |
---|---|---|
DETECTDUPLICATE | AR | Erro ao verificar duplicatas |
PARSE | AE | Erro de análise ou validação de MSH da mensagem de entrada |
BUILDACK | AR | Erro ao construir a mensagem ACK. (Este erro ocorre quando uma ACK é retornada, pois é uma mensagem duplicada). |
SENDACK | AR | Erro ao construir a mensagem ACK (Este erro ocorre quando uma ACK é retornada, pois é uma mensagem duplicada). |
DUPLICATEERROR | AR | Falha durante a detecção de duplicata.
A fila de duplicatas está cheia. Falha durante a detecção de duplicata. O processamento de mensagens falhou. |
SAVINGDUPDATA | AR | Erro ao salvar dados de duplicata |
DUPLICATE RECORD | AR | Registro duplicado detectado |
O nó do GenericHL7Input é transacional. Quando o fluxo de mensagens no qual ele é usado é encerrado com sucesso, todas as mensagens gravadas na transação são confirmadas. Se a mensagem for encerrada com uma exceção que não é capturada, todas as mensagens gravadas na transação serão retrocedidas, incluindo a mensagem. Esta ação inclui a mensagem na fila que salva IDs para detecção duplicada. Você deve determinar quais mensagens deseja que sejam retrocedidas nestas circunstâncias e assegurar que outras mensagens, por exemplo, mensagens de erro, não sejam gravadas na transação.
Quando tiver incluído uma instância de um nó do GenericHL7Input em um fluxo de mensagens, será possível configurá-lo.
Todas as propriedades obrigatórias para as quais é necessário inserir um valor (propriedades que não possuem um valor-padrão definido) são marcadas com um asterisco.
Terminal | Descrição |
---|---|
Falha | O terminal de saída ao qual uma mensagem é encaminhada se ocorrer um erro. |
Saída | O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito de um recurso externo. |
Capturar | O terminal de saída para o qual a mensagem será roteada se for emitida uma exceção downstream e capturada por este nó. As exceções serão capturadas somente se o terminal estiver anexado. |
As tabelas a seguir descrevem as propriedades do nó. A coluna titulada M indica se a propriedade é obrigatória (marcada com um asterisco se você dever inserir um valor quando nenhum padrão estiver definido); a coluna titulada C indica se a propriedade é configurável (é possível alterar o valor ao incluir o fluxo de mensagens no arquivo de archive do broker (BAR) para implementá-lo).
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Nome de Nó | Sim | Não | GenericHL7Input | O nome do nó. |
Descrição Breve | Não | Não | Uma breve descrição do nó. | |
Descrição detalhada | Não | Não | Texto que descreve a finalidade do nó no fluxo de mensagens. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Verificar duplicatas | Sim | Não | Selecionada | Determina se as mensagens duplicadas são detectadas, conforme determinado pelo identificador de mensagem exclusivo no cabeçalho do HL7 MSH. Se uma duplicata for detectada, a ação a seguir será tomada:
|
Relatar duplicatas | Sim | Sim | Selecionada | Determina se as mensagens duplicadas que chegam no tempo especificado geram uma mensagem de notificação de erro. |
Período de tempo duplicado | Não | Sim | 86400 | Define (em segundos) por quanto tempo as mensagens do identificador são mantidas antes de expirar. Após este período de tempo, as duplicatas não são reconhecidas e são processadas como sempre. O padrão (86400) é igual a 24 horas. Esta propriedade é obrigatória se Verificar duplicatas estiver selecionada. |
Fila de identificadores de duplicata | Não | Não | Define a fila que retém a lista de IDs duplicados atuais em relação à qual as mensagens recebidas são verificadas. Esta propriedade é obrigatória se Verificar duplicatas estiver selecionada. |
|
Bytes MLLP à esquerda | Sim | Não | 0B | Define o byte à esquerda, que é parte do protocolo MLLP e qual é removido antes de a mensagem ser analisada e processada. |
Enviar confirmações | Sim | Sim | Selecionada | Determina se as mensagens de confirmação são enviadas quando as mensagens duplicadas são detectadas. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Detalhes da Conexão | Sim | Sim | 1111 | A conexão de TCP/IP para o aplicativo de origem no formato hostname:port |
Tempo limite que aguarda pelo registro de dados (segundos) | Sim | Sim | 60 | A duração de tempo que o nó atende uma conexão para mais dados após o primeiro byte de dados ter chegado. É possível especificar qualquer período de tempo em segundos. O padrão é de 60 segundos. Quando o tempo especificado é excedido, todos os dados disponíveis são enviados ao terminal Falha. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Delimitador | Sim | Não | Delimitador customizado | Esta propriedade não é editável. |
Bytes MLLP à direita | Sim | Sim | 1C0D | Os bytes MLLP à direita que são usados como um delimitador de registro do HL7. Esses bytes MLLP à direita são removidos pelo nó do GenericHL7Input. |
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Tentar mecanismo novamente | Sim | Não | Intervalo de Repetição curto (segundos) | Como o nó manipula uma falha de fluxo. As opções válidas são:
|
Intervalo de Repetição curto (segundos) | Sim | Sim | 0 | O intervalo, em segundos, entre cada repetição, se Limite de Repetição não for zero. |
Tentar limite novamente | Sim | Sim | 0 | O número de vezes para tentar novamente a transação do fluxo quando o Mecanismo de nova tentativa tem Intervalo de nova tentativa curto (segundos). |
Intervalo de Repetição longo (segundos) | Sim | Sim | 300 | O intervalo entre as novas tentativas se o Mecanismo de Nova Tentativa for Nova Tentativa Curta e Longa e o limite de novas tentativas tiver sido exaurido. |