Noeud HL7DFDLInput

Utilisez un noeud HL7DFDLInput pour recevoir des messages émanant des clients qui se connectent au noeud d'intégration par le biais du protocole MLLP via TCP/IP.

Fonction

Le noeud HL7DFDLInput écoute sur un port et lorsqu'un socket client se connecte à ce port, le socket crée une connexion pour le client. Lorsqu'une connexion est ouverte, un enregistrement des données est reçu et la fin de l'enregistrement est détecté par la présence d'un délimiteur configurable. Si une erreur se produit lors de la lecture des données, par exemple en cas de délai d'attente des données ou de la fermeture d'une connexion lors de l'attente de l'enregistrement complet, les données sont envoyées au terminal Echec. Si le terminal Echec n'est pas connecté, une exception est émise. Si la propriété Méthode de relance du noeud n'est pas définie sur Echec, le noeud fait de nouvelles tentatives de reconnexion jusqu'à ce que les données soient extraites avec succès ou que le nombre de relances défini par la propriété Seuil de relance soit dépassé.

Le noeud HL7DFDLInput exige que les messages utilisent le protocole MLLP via TCP/IP. Si les octets MLLP de début ne sont pas présents, le message est envoyé au terminal Echec.

Le noeud HL7DFDLInput traite les messages définis dans le domaine DFDL. Le format du message HL7 dans le modèle de message DFDL est utilisé pour analyser les messages. Si une erreur d'analyse se produit ou si des zones MSH obligatoires ne sont pas présentes, le message est transmis au terminal Echec. Pour plus d'informations sur les modèles de messages, voir Modèles de message dans la documentation du produit IBM® Integration Bus.

Vous pouvez configurer le noeud HL7DFDLInput pour rechercher les doublons. Chaque message HL7 entrant comporte une zone MessageControlID dans le segment d'en-tête MSH qui identifie l'enregistrement. Si la propriété Vérifier les doublons est sélectionnée, tous les identificateurs sont stockés dans la file d'attente des doublons avec l'accusé de réception (ACK) renvoyé à l'expéditeur. L'identificateur d'un message entrant est vérifié par rapport aux identificateurs sauvegardés pour déterminer s'il s'agit d'un doublon. Lorsqu'un doublon est détecté, il n'est pas traité, mais le même accusé de réception envoyé avec le premier message est renvoyé à l'expéditeur. La file d'attente des doublons est spécifiée en tant que propriété de noeud.

Les identificateurs sont stockés dans la file d'attente des doublons pendant la durée définie par la propriété Période en double. Une fois cette durée écoulée, les identificateurs sont supprimés et les messages ayant le même identificateur ne sont plus traités en tant que doublons. Vous devez dimensionner la file d'attente des doublons de manière à ce qu'elle contienne le nombre maximal d'identificateurs de message attendu au cours de la période définie.

Si un message entrant n'est pas un doublon, le message est transmis au terminal Sortie du noeud HL7DFDLInput pour traitement ultérieur. Si un doublon est détecté, le noeud HL7DFDLInput renvoie l'accusé de réception (ACK) au demandeur. Si la génération de rapport en double est sélectionnée et qu'un doublon est détecté, le message est transmis au terminal Echec.

Les messages sont traités sous contrôle transactionnel. Si le flux de messages est annulé, les identificateurs en double qui ont été ajoutés à la file d'attente des identificateurs en double sont supprimés. Ainsi, si le message est soumis une deuxième fois, il n'est pas identifié en tant que doublon et il est traité en tant que nouveau message.

Pour plus d'informations sur HL7, voir Health Level Seven International.

Le noeud HL7DFDLInput est contenu dans le tiroir Healthcare de la palette de noeuds de flux de messages et il est représenté dans IBM Integration Toolkit par l'icône suivante :

Icône du noeud GenericHL7DFDLInput

Utilisation de ce noeud dans un flux de messages

Lorsqu'un noeud HL7DFDLInput est utilisé dans un flux de messages, les messages transmis au terminal Sortie contiennent des messages HL7 analysés où les octets MLLP de début et de fin ont été supprimés. L'arborescence de messages contient des en-têtes MQMD et MQRFH2 afin que le message puisse le cas échéant être écrit directement dans une file d'attente. Le corps du message contient un message HL7 dans le domaine DFDL. Le flux de messages a pour objet de renvoyer un accusé de réception (ACK) au demandeur.

Si un échec se produit sur le noeud HL7DFDLInput, le message est transmis au terminal Echec. LocalEnvironment.HL7 contient les zones qui apparaissent dans le tableau Environnement ci-dessous. Ces zones fournissent des informations servant à générer un accusé de réception négatif (NACK) ou à créer un message d'erreur.

Zone Description
FlowMilestoneReached Indique l'action effectuée lorsque l'erreur se produit.
SendNACK Envoie en réponse un accusé de réception négatif (NACK).
EndConnection YES : ferme la connexion.

NO : Ne ferme pas la connexion.

HL7RC Code retour HL7.
ErrorCondition Texte d'erreur à inclure dans l'accusé de réception négatif (NACK).
Si la zone SendNACK est définie sur YES, un accusé de réception négatif est renvoyé au demandeur. La zone SendNACK est définie sur NO si l'une des conditions suivantes se produit :
  • Le message entrant ne contient pas les délimiteurs MLLP corrects. Le système considère alors que le protocole MLLP n'est pas pris en charge.
  • Le message est un doublon et l'accusé de réception négatif (NACK) a été renvoyé par le noeud HL7DFDLInput.

Si EndConnection est défini sur YES, la connexion doit être fermée. Cette action se produit lorsque le message entrant ne contient pas les délimiteurs MLLP corrects. Le système considère alors que le protocole MLLP n'est pas pris en charge.

Les zones HL7RC (code retour HL7) et ErrorCondition sont disponibles pour fournir des informations dans l'accusé de réception négatif (NACK) renvoyé au demandeur.

Le tableau Erreur suivant indique les codes d'erreur qui peuvent être générés.
Flow Milestone Reached Code retour Texte d'erreur
DETECTDUPLICATE AR Error checking duplicates
PARSE AE Un message d'erreur d'analyse DFDL apparaît. Il résume le problème.
BUILDACK AR Error while building ACK message.

(Cette erreur se produit lorsqu'un accusé de réception est renvoyé lorsque le message est un doublon).

SENDACK AR Error while building ACK message

(Cette erreur se produit lorsqu'un accusé de réception est renvoyé lorsque le message est un doublon).

DUPLICATEERROR AR Failure during duplicate detection. Duplicate queue is full.

Failure during duplicate detection. Message processing failed.

SAVINGDUPDATA AR Error while saving duplicate data
DUPLICATE RECORD AR Duplicate record detected

Le noeud HL7DFDLInput est transactionnel. Lorsque le flux de messages dans lequel il est utilisé se termine avec succès, tous les messages écrits sous la transaction sont validés. Si le message se termine avec une exception qui n'est pas interceptée, tous les messages écrits sous la transaction sont annulés, y compris le message. Cette action inclut le message dans la file d'attente qui sauvegarde les ID en vue de la détection des doublons. Vous devez identifier les messages à annuler dans ces cas de figure et vous assurer que les autres messages, comme les messages d'erreur, ne sont pas écrits sous la transaction.

Configuration du noeud HL7DFDLInput

Après avoir ajouté une instance d'un noeud HL7DFDLInput à un flux de messages, vous pouvez la configurer

Toutes les propriétés obligatoires pour lesquelles vous devez entrer une valeur (celles qui ne comportent pas de valeur par défaut) sont marquées par un astérisque.

Terminaux et propriétés

Les terminaux de noeuds HL7DFDLInput sont décrits dans le tableau ci-après.
Terminal Description
Echec Terminal de sortie vers lequel un message est acheminé si une erreur se produit.
Sortie Terminal de sortie vers lequel le message est acheminé s'il est extrait avec succès d'une ressource externe.
Interception Terminal de sortie vers lequel est acheminé le message si une exception est envoyée en aval et interceptée par ce noeud. Les exceptions sont interceptées si ce terminal est relié.

Les tableaux suivants décrivent les propriétés du noeud. La colonne ayant l'en-tête O indique si la propriété est obligatoire (marquée d'un astérisque si vous devez obligatoirement entrer une valeur si aucune valeur par défaut n'est définie). La colonne ayant l'en-tête C indique si la propriété est configurable (vous pouvez modifier la valeur lors de l'ajout du flux de messages au fichier BAR à des fins de déploiement).

Les propriétés Description du noeud HL7DFDLInput sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Nom du noeud Oui Non HL7DFDLInput Nom du noeud.
Description abrégée Non Non   Courte description du noeud.
Description détaillée Non Non   Texte qui décrit à quoi sert le noeud dans le flux de messages.
Les propriétés Traitement HL7 du noeud HL7DFDLInput sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Vérifier les doublons Non Non Non sélectionné Détermine si des messages en double sont détectés, comme indiqué par l'identificateur de message unique dans l'en-tête MSH HL7.
Si un doublon est détecté, l'action suivante est effectuée :
  • Si le message est reçu dans le délai imparti, le message n'est pas traité par le même accusé de réception que celui envoyé pour le message original renvoyé à l'émetteur.
  • Une fois que le délai a expiré, les messages en double sont traités comme d'habitude.
Signaler les doublons Non Oui Non sélectionné Détermine si des messages en double qui arrivent dans le délai indiqué génèrent un message de notification d'erreur.
Période en double Non Oui 86400 Définit (en secondes) la durée pendant laquelle les messages d'identificateur sont conservés avant leur expiration. Au-delà de cette période, les doubles ne sont pas reconnus et ils sont traités comme d'habitude. La valeur par défaut (86400) est égale à 24 heures.

Cette propriété est obligatoire si l'option Vérifier les doublons est sélectionnée.

File d'attente des identificateurs en double Non Non   Définit la file d'attente qui contient la liste des ID en double en cours par rapport à laquelle sont vérifiés les messages entrants.

Cette propriété est obligatoire si l'option Vérifier les doublons est sélectionnée.

Octets MLLP de début Oui Non 0B Définit l'octet de début qui fait partie du protocole MLLP et qui est supprimé avant que le message soit analysé et traité.
Reconnaître les doublons Non Oui Non sélectionné Détermine si des messages d'accusé de réception sont envoyés lorsque des messages en double sont détectés.
Utiliser le modèle générique Non Non Non sélectionné Détermine la structure de l'arborescence de messages qui est envoyée par le noeud.
  • Si cette option est désélectionnée, la structure de l'arborescence est déterminée par le contenu de la zone MSH.9.MessageType dans le message entrant. L'arborescence contient un élément de niveau supérieur qui correspond au type de message, par exemple ADT_A01, et cet élément contient un élément enfant pour chaque segment HL7, par exemple MSH, EVN, PID, PV1.
    ADT_A01
      MSH
      EVN
      PID
      PV1
  • Si cette option est sélectionnée, l'arborescence contient un élément de niveau supérieur HL7 qui contient un élément enfant MSH et un élément enfant pour chaque segment HL7, appelé anyHL7Segment. Chaque instance de anyHL7Segment contient un élément enfant qui a le nom du segment HL7, par exemple EVN, PID, PV1.
    HL7
      MSH
      anyHL7Segment
        EVN
      anyHL7Segment
        PID
      anyHL7Segment
        PV1
Les propriétés De base du noeud HL7DFDLInput sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Caractéristiques de la connexion Oui Oui 1111 Connexion TCP/IP pour l'application source, au format nomhôte:port
Délai d'attente des données (secondes) Oui Oui 60 Durée pendant laquelle le noeud écoute sur une connexion afin d'obtenir plus de données après l'arrivée du premier octet de données. Vous pouvez spécifier n'importe quelle durée en secondes. La valeur par défaut est 60 secondes. Lorsque ce délai est dépassé, toutes les données disponibles sont envoyées au terminal Echec.
Les propriétés Détection d'enregistrement du noeud HL7DFDLInput sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Délimiteur Oui Non Délimiteur personnalisé Cette propriété n'est pas modifiable.
Octets MLLP de fin Oui Oui 1C0D Octets MLLP de fin utilisés comme délimiteur d'enregistrement HL7. Ils sont supprimés par le noeud HL7DFDLInput.
Les propriétés Relance du noeud HL7DFDLInput sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Méthode de relance Oui Non Intervalle de relance abrégée (secondes) Indique comment le noeud traite un échec du flux. Les options valides sont :
  • Echec
  • Intervalle de relance abrégée (secondes)
  • Relance abrégée et longue
Intervalle de relance abrégée (secondes) Oui Oui 0 Intervalle, en secondes, entre chaque relance si l'option Seuil de relance a une valeur différente de zéro.
Seuil de relance Oui Oui 0 Nombre de fois où la transaction de flux est relancée lorsque la Méthode de relance est Intervalle de relance abrégée (secondes).
Intervalle de relance longue (secondes) Oui Oui 300 Intervalle entre les relances si la Méthode de relance est Relance abrégée et longue et si le seuil est dépassé.
Les propriétés d'analyse syntaxique pour le noeud HL7DFDLInput sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Valider Oui Oui Aucune Cette propriété détermine si la validation est effectuée. Les valeurs valides sont :
  • Aucune
  • Contenu et valeur
  • Valeur
Heure d'analyse Oui Non A la demande Cette propriété contrôle à quel moment un message d'entrée est analysé. Les valeurs valides sont :
  • A la demande
  • Immédiat
  • Complet

Pour une description complète de cette propriété, voir Analyse à la demande.

ID du jeu de caractères codés du message Oui Non 1208 ID du jeu de caractères codés utilisé pour interpréter les données lues.
Copyright IBM Corporation 2011, 2015Copyright IBM Corporation 2011, 2015.

        
        Dernière mise à jour
        
        Dernière mise à jour : 2015-06-19 10:58:25


Rubrique RéférenceRubrique Référence | Version 4.0.0.0 | ha05110