Noeud DICOMFindMove

Utilisez un noeud DICOMFindMove pour interroger un noeud SCP distant sur les patients, les études, les séries et les images, et pour déplacer les résultats d'une requête sur une entité d'application, comme un noeud DICOMInput.

Fonction

Le noeud DICOMFindMove est un noeud SCU (Service Class User) pour les classes de service Query et Retrieve. Le noeud possède deux fonctionnalités étroitement liées. La première consiste à interroger un noeud SCP (Service Class Provider) distant sur les patients, les études, les séries et les images par le biais d'une commande DICOM C-FIND. Les critères de recherche sont spécifiés dans un message XML qui est propagé vers le terminal d'entrée du noeud. Le résultat de la requête est propagé vers le terminal de sortie du noeud. La deuxième fonctionnalité du noeud DICOMFindMove consiste à déplacer les résultats d'une requête vers une entité d'application à l'aide d'une commande DICOM C-MOVE. La destination d'une commande move peut être un noeud DICOMInput configuré dans IBM® Integration Bus, un DICOM PACS (Picture Archiving Communications System) ou tout autre noeud DICOM SCP.

Le noeud DICOMFindMove 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 DICOMFindMove

Utilisation de ce noeud dans un flux de messages

Un exemple d'utilisation du noeud DICOMFindMove est présenté dans le modèle intégré Healthcare : Service Web vers DICOM dans la catégorie Healthcare de la vue Patterns Explorer.

Les fonctionnalités de requête et de déplacement sont combinées dans un noeud car elles sont étroitement liées dans DICOM. Une commande move est logiquement une commande find suivie d'une copie des résultats vers une destination désignée. Une fois les opérations move terminées, un message de résultat est propagé vers le terminal de sortie du noeud DICOMFindMove. Ce message inclut les détails de la réussite et de l'échec de la commande move. Il dénombre les transferts, les avertissements, les échecs, les informations d'erreur et une zone de statut. Si cette dernière contient une valeur autre que zéro, l'opération move ne s'est pas terminée avec succès.

La norme DICOM exige deux entités d'application pour être identifiée lors de la connexion. L'identification est réalisée par le biais d'un titre d'entité d'application (AET) qui est une chaîne de texte comportant jusqu'à 16 caractères. Le noeud DICOMFindMove doit être configuré avec son propre titre et le titre du noeud SCP auquel il se connecte. Le noeud DICOMFindMove ne se connecte que si le titre de l'entité d'application du noeud SCP correspond exactement à la valeur configurée dans le noeud DICOMFindMove. Si la connexion ne peut pas être établie, une erreur est générée. Pour copier les images DICOM sur une autre destination, le noeud SCP source pour la commande move doit être préconfiguré avec le nom d'hôte et le numéro de port de la destination cible.
Remarque : Le noeud DICOMFindMove ne conserve pas les connexions d'un transfert de message à un autre.
Schéma de message
Un schéma unique est utilisé pour décrire tous les messages XML DICOM qui sont envoyés et reçus par les noeuds DICOM. Toutefois, un seul type complexe parmi ceux qui sont définis dans le schéma est utilisé pour structurer chaque type de message. Le type complexe FindMove est utilisé pour définir les messages qui sont reçus sur le terminal d'entrée du noeud DICOMFindMove et le type complexe Results est utilisé pour définir les messages qui sont envoyés par le terminal de sortie du noeud DICOMFindMove.
Pour plus d'informations sur le schéma, voir Schéma de message DICOM.
Transactions DICOM
Le traitement du noeud DICOMFindMove s'exécute dans la transaction active pour l'unité d'exécution qui traite l'image DICOM. Si une erreur se produit, le noeud DICOMFindMove génère une erreur. Selon la logique de traitement des exceptions dans le flux de messages, l'erreur peut entraîner l'annulation de la transaction en cours.

Racines de requête

La norme DICOM définit deux types de requête désignées comme racines. Ces racines, patient et étude sont utilisés par le noeud DICOMFindMove pour identifier et extraire les données.

La racine parent autorise les niveaux de requête ci-après.
  • La requête au niveau patient est utilisée pour interroger un noeud SCP sur les informations de patient. La requête au niveau patient comporte un ensemble d'attributs pouvant être utilisé dans la requête, comme le nom, le sexe et la date de naissance du patient.
  • La requête au niveau étude est utilisée pour interroger un noeud SCP sur les études relatives à un patient indiqué. La requête au niveau étude doit inclure l'attribut ID de patient et éventuellement d'autres attributs facultatifs pour affiner la recherche, comme la date de l'étude.
  • La requête au niveau séries est utilisée pour interroger un noeud SCP sur les séries dans une étude spécifique. Elle doit inclure l'UID d'étude et éventuellement d'autres attributs facultatifs pour affiner la recherche, comme la modalité.
  • La requête au niveau image est utilisée pour interroger un noeud SCP sur des images spécifiques dans une série. Elle doit inclure l'UID de la série.
La racine étude est similaire à la racine patient mais elle ne comporte pas de requête au niveau patient. Elle autorise les niveaux de requête suivants.
  • La requête au niveau étude est utilisée pour interroger un noeud SCP sur les études relatives à un patient indiqué. Aucun paramètre n'est obligatoire, mais il existe un grand ensemble d'attributs facultatifs qui incluent la date de l'étude, l'heure de l'étude, le nom du patient, l'ID du patient et le sexe du patient.
    Remarque : Cette requête au niveau étude peut être considérée comme étant une fusion des requêtes au niveau étude et patient à partir de la racine parent. Vous pouvez utiliser la requête au niveau étude pour rechercher toutes les études relatives à un patient selon un certain nombre de critères de recherche de base, comme le nom du patient et la date de l'étude. En utilisant la racine patient, il est nécessaire que deux requêtes distinctes doivent avoir le même résultat. La première requête est une requête au niveau patient permettant de rechercher un ID patient et la deuxième est une requête au niveau étude permettant de rechercher les études relatives à ce patient.
  • La requête au niveau séries est utilisée pour interroger un noeud SCP sur les séries dans une étude spécifique. Elle doit inclure l'UID d'étude et éventuellement d'autres attributs facultatifs pour affiner la recherche, comme la modalité.
  • Une requête au niveau image permet de demander des images spécifiques dans une série. Elle doit inclure l'UID de la série.

Pour chaque combinaison de racine et de niveau, le noeud DICOMFindMove définit les attributs de recherche pris en charge et un ensemble minimal d'attributs devant être renvoyés par le noeud SCP. Pour plus d'informations sur les attributs pris en charge, voir Racine de requête de patient et Racine de requête d'étude.

Les attributs renvoyés sont propagés par le noeud dans les messages de résultats provenant du terminal de sortie. Une requête peut renvoyer un grand nombre de résultats, mais ces derniers sont propagés sous la forme d'un message de résultats unique à partir du noeud DICOMFindMove. Les fournisseurs peuvent prendre en charge des attributs supplémentaires à utiliser comme critères de recherche dans le message de requête XML. Le noeud DICOMFindMove permet à ces attributs supplémentaires d'être configurés dans le message de requête XML, mais ils ne sont pas documentés par le noeud (étant propres au fournisseur). La norme DICOM exige que tous les attributs de recherche fournis soient également renvoyés en réponses. Pour plus d'informations sur le schéma des messages de requête et de réponse, voir Schéma de message DICOM.

Voici un exemple de message de requête de noeud DICOMFindMove qui inclut le titre d'entité d'application de la destination du transfert (MoveDestination) dans le message XML.
<DICOM:FindMove xmins:DICOM="http://com.ibm.healthcare/DICOM">
  <QueryRoot>STUDY</QueryRoot>
  <QueryLevel>STUDY</Querylevel>
  <MoveDestination>BROKERAE</MoveDestination>
  <OperationPriority>NORMAL</OperationPriority>
  <Match>
    <Attribute Tag="PatientName">FEROVIX</Attribute>
    <Attribute Tag="AccessionNumber">1210490</Attribute>
  </Match>
  <Return>
  </Return>
</DICOM:FindMove>
Voici un exemple de message de résultats renvoyé au noeud DICOMFindMove. Pour le détail des étiquettes DICOM, voir : DICOM Tags.
<DICOM:Results xmins:DICOM="http://com.ibm.healthcare/DICOM">
  <DICOM>
    <Attribute Tag="00080005"VR="CS">ISO_IR 100</Attribute>
    <Attribute Tag="00080016"VR="UI">1.2.840.10008.5.1.4.1.1.2</Attribute>
    <Attribute Tag="00080018"VR="UI">1.3.12.2.1107.5.1.4.54203.30000004093016410718700003864</Attribute>
    <Attribute Tag="00080052"VR="CS">IMAGE</Attribute>
    <Attribute Tag="00080054"VR="AE">PACS</Attribute>
    <Attribute Tag="00080056"VR="CS">ONLINE</Attribute>
    <Attribute Tag="0020000D"VR="UI">1.3.12.2.1107.5.1.4.54203.30000004093013443132800000021</Attribute>
    <Attribute Tag="0020000E"VR="UI">1.3.12.2.1107.5.1.4.54203.30000004093016410718700003676</Attribute>
    <Attribute Tag="00200013"VR="IS">188</Attribute>
    <Attribute Tag="00880130"VR="SH"/>
    <Attribute Tag="00880140"VR="UI"/>
    <MoveResults>
      <Completed>1</Completed>
      <Failed>0</Failed>
      <Warnings>0</Warnings>
      <Status>0</Status>
      <ErrorID>0</ErrorID>
      <ErrorComment/>
    </MoveResults>
    </DICOM>
</DICOM:Results>

Entrées du journal d'activité

Le tableau suivant décrit en détail les entrées du journal qui sont écrites par le noeud DICOMFindMove, les noms suivants étant utilisés dans les exemples :
  • BROKERAE est le nom de l'entité d'application émettrice.
  • REMOTEAE1 est le nom de l'entité d'application distante à laquelle les requêtes sont envoyées.
  • REMOTEAE2 est le nom de l'entité d'application vers laquelle les images DICOM sont copiées.
  • hostname:11112 est le nom d'hôte et le numéro de port de l'entité d'application distante à laquelle les requêtes sont envoyées.
Condition Description Type Exemple Recommandations
Démarrage de l'extraction de la requête Une requête DICOM est en cours de préparation en vue de son envoi à une entité d'application distante.
Remarque : Une commande de requête DICOM est appelée dans DICOM sous la forme d'une commande C-FIND.
Information BIP12068 Starting DICOM C-FIND operation (BROKERAE, REMOTEAE1, hostname:11112) Aucune action n'est nécessaire
Fin de l'extraction de la requête La requête DICOM (commande C-FIND) a abouti et des résultats sont prêts à être traités. Les messages de résultats sont convertis en XML et propagés ensuite vers le flux de messages qui les contient. Information BIP12068 Finished DICOM C-FIND operation (BROKERAE, REMOTEAE1, hostname:11112) Aucune action n'est nécessaire
Echec de l'extraction de la requête La requête DICOM a échoué (commande C-FIND). Une erreur est générée par le noeud DICOMFindMove. Erreur BIP12070 Failed DICOM C-FIND operation (BROKERAE, REMOTEAE1, hostname:11112) Vérifiez la connectivité du réseau entre le noeud d'intégration et le noeud SCP distant.

Assurez-vous que le message de requête est correct en fonction de la racine étude et du niveau étude.

Vérifiez que le message de requête contient les zones clés requises pour la racine étude et le niveau étude indiqués.

Vérifiez que les noms d'entité d'application et les numéros de port correspondent également au noeud SCP distant.

Vérifiez que ce dernier est en ligne et prêt à accepter les connexions et les transferts de données.

Pour plus d'informations sur l'erreur, consultez le détail de l'exception.

Démarrage de la commande Move Une image DICOM est copiée vers une entité d'application de destination.
Remarque : Cette opération est connue dans DICOM sous la forme d'une commande C-MOVE.
Information BIP12068 Starting DICOM C-Move operation(BROKERAE, REMOTEAE1, REMOTEAE2, 1, 5)

où :

1 est l'index de l'image DICOM en cours.

5 est le nombre total d'images DICOM à déplacer.

Aucune action n'est nécessaire
Fin de la commande Move Une commande DICOM C-MOVE a abouti.
Remarque : Si la destination de la commande C-MOVE est un noeud d'intégration, cette entrée de journal d'activité ne garantit pas que les images DICOM ont été traitées.
Information BIP12068 Finished DICOM C-Move operation(BROKERAE, REMOTEAE1, REMOTEAE2, 1, 5)

où :

1 est l'index de l'image DICOM en cours.

5 est le nombre total d'images DICOM à déplacer.

Aucune action n'est nécessaire
Echec de la commande Move Une commande DICOM Move (command C-MOVE) a échoué. Une erreur est générée par le noeud DICOMFindMove. Erreur BIP12070 Warnings or failures reported from DICOM C-MOVE operation (BROKERAE,REMOTEAE1,REMOTEAE2,hostname:11112) Vérifiez la connectivité du réseau entre le noeud d'intégration et le noeud SCP distant.

Assurez-vous que la destination de la commande Move est valide et configurée sur le noeud SCP distant.

Vérifiez que les données déplacées peuvent être acceptées par le noeud SCP de destination de la commande Move.

Assurez-vous que le message de requête est correct en fonction de la racine étude et du niveau étude.

Vérifiez que le message de requête contient les zones clés requises pour la racine étude et le niveau étude indiqués.

Vérifiez que les noms d'entité d'application et les numéros de port correspondent également au noeud SCP distant.

Vérifiez que ce dernier est en ligne et prêt à accepter les connexions et les transferts de données.

Pour plus d'informations sur l'erreur, consultez le détail de l'exception.

Configuration du noeud DICOMFindMove

Après avoir ajouté une instance d'un noeud DICOMFindMove à 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 DICOMFindMove sont décrits dans le tableau ci-après.
Terminal Description
Entrée Terminal d'entrée qui accepte un message pour traitement par le noeud.
Sortie Terminal de sortie vers lequel un message de résultats est acheminé si une requête aboutit.
Pas de correspondance Terminal de sortie vers lequel un message de résultats est acheminé si une requête aboutit mais qu'aucun résultat n'est renvoyé. Le message propagé à partir de ce terminal est un message de résultats standard mais qui ne contient pas d'éléments de résultats DICOM.

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 DICOMFindMove sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Nom du noeud Oui Non DICOMFindMove 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 De base du noeud DICOMFindMove 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 localhost:2222 Nom d'hôte et port du noeud SCP de l'entité d'application auquel se connecte le noeud.
Titre de l'entité d'application Oui Oui BROKERAE Nom de ce noeud final SCU DICOM. Chaîne de texte comportant jusqu'à 16 caractères qui permet d'identifier les entités d'application lorsqu'elles se connectent.
Titre de l'entité d'application à distance Oui Oui REMOTEAE Nom du noeud final SCP DICOM auquel le noeud se connecte et envoie des requêtes.
Les propriétés Avancées du noeud DICOMFindMove sont décrites dans le tableau ci-dessous.
Propriété O C Portée par défaut Description
Annuler après ce nombre de réponses Non Oui 99 Le noeud ne reçoit plus de résultats une fois que ce nombre de messages de réponse a été reçu. Ce paramètre empêche les requêtes de grande taille de monopoliser le noeud SCP.
Délai d'attente de la connexion (secondes) Oui Oui 60 Durée pendant laquelle le noeud attend l'établissement d'une connexion au noeud SCP.
Offrir uniquement une syntaxe de transfert little endian VR implicite Non Oui Non sélectionné Indique si le noeud doit se connecter au noeud SCP en utilisant le paramètre par défaut DICOM uniquement une syntaxe de transfert little endian VR implicite.
Priorité d'opération Oui Oui NORMAL Priorité pour le transfert de l'image vers le noeud SCP. Il n'est pas obligatoire que l'application de réception agisse sur cette priorité.
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 | ha05030