Read from HL7 File

Le stage Read from HL7 File lit les données Health Level Seven (HL7) d'un fichier texte sous forme d'entrée d'un dataflow. HL7 est une norme de messagerie utilisée dans l'industrie des soins de santé pour échanger des données entre systèmes. Pour plus d'informations sur HL7, consultez l'adresse www.hl7.org.

Format de message HL7

Les données d'un message HL7 sont organisées de manière hiérarchique, comme suit :

  • message
    • segment
      • champ
        • composant
          • Sous-composant

Chaque ligne d'un message HL7 est un segment. Un segment est un regroupement logique de champs. Les trois premiers caractères d'un segment identifient le type de segment. Dans le message ci-dessus, il existe cinq segments : MSH (en-tête de message), PID (identification du patient), deux segments NK1 (proche parent) et IN1 (assurance).

Chaque segment se compose de champs. Un champ contient des informations liées à l'objectif du segment, telles que le nom de la compagnie d'assurance dans le segment IN1 (assurance). En général (mais pas systématiquement), les champs sont délimités par un caractère |.

Les champs peuvent être divisés en composants. Les composants sont généralement indiqués par un caractère ^. Dans l'exemple ci-dessus, le segment PID (identification du patient) contient un champ de nom du patient contenant LEVERKUHN^ADRIAN^C, divisé en trois parties : nom de famille (LEVERKUHN), prénom (ADRIAN), et initiale du deuxième prénom (C). Les composants peuvent être divisés en sous-composants. En règle générale, les sous-composants sont indiqués par un caractère &.

Voici un exemple de message HL7 :

MSH|^~\&||.|||199908180016||ADT^A04|ADT.1.1698593|P|2.7
PID|1||000395122||LEVERKUHN^ADRIAN^C||19880517180606|M|||6 66TH AVE NE^^WEIMAR^DL^98052||(157)983-3296|||S||12354768|87654321
NK1|1|TALLIS^THOMAS^C|GRANDFATHER|12914 SPEM ST^^ALIUM^IN^98052|(157)883-6176
NK1|2|WEBERN^ANTON|SON|12 STRASSE MUSIK^^VIENNA^AUS^11212|(123)456-7890
IN1|1|PRE2||LIFE PRUDENT BUYER|PO BOX 23523^WELLINGTON^ON^98111|||19601||||||||THOMAS^JAMES^M|F|||||||||||||||||||ZKA535529776
Remarque : Pour créer un fichier HL7 à l'aide de l'exemple de texte donné :
  1. Copiez et collez l'exemple de texte dans un nouveau document à l'aide d'un logiciel d'édition de texte, comme Notepad++.
  2. Apportez les modifications de contenu nécessaires.
  3. Configurez les paramètres pour afficher EOL (End of Line – fin de ligne) sur le texte. Dans Notepad++, accédez à Vue > Afficher les symboles > Afficher End of Line.
  4. Remplacez le format de conversion EOL (End of Line – fin de ligne) par CR (Carriage Return – retour chariot). Dans Notepad++, accédez à Édition > Conversion EOL > Ancien format Mac.
  5. Enregistrez le fichier HL7 après avoir apporté cette modification au format.

Onglet de propriétés du fichier

Nom du champ

Description

Server name

Indique si le fichier que vous sélectionnez comme entrée figure sur l'ordinateur exécutant Enterprise Designer ou sur le serveur Spectrum™ Technology Platform. Si vous sélectionnez un fichier sur l'ordinateur local, le nom du serveur sera Mon ordinateur. Si vous sélectionnez un fichier sur le serveur, le nom du serveur sera Spectrum™ Technology Platform.

Nom de fichier

Indique le chemin du fichier. Cliquez sur le bouton de sélection (...) pour trouver le fichier souhaité.

Remarque : Si le Spectrum™ Technology Platform est en cours d'exécution sur les systèmes Unix ou Linux, rappelez-vous que les noms de fichiers et les chemins sur ces plates-formes sont sensibles à la casse.

Version HL7

Version de la norme HL7 utilisée dans le fichier indiqué. Par exemple, « 2.7 » signifie que le fichier utilise la norme HL7 version 2.7. La version HL7 est indiquée par le 12ème champ du segment MSH.

Encodage des caractères

L'encodage du fichier texte. Sélectionnez l'un des éléments suivants :

CP1252
Cet encodage est également connu sous le nom de jeu de caractères Windows-1252 ou simplement Windows. Il s'agit d'un super ensemble d'ISO-8859-1, qui utilise la plage de codes 128-159 pour afficher des caractères supplémentaires non inclus dans le jeu de caractères ISO-8859-1.
UTF-8
Prend en charge tous les caractères Unicode et est rétrocompatible avec le format ASCII. Pour plus d'informations sur UTF, reportez-vous à unicode.org/faq/utf_bom.html.
UTF-16
Prend en charge tous les caractères Unicode, mais n'est pas rétrocompatible avec le format ASCII. Pour plus d'informations sur UTF, reportez-vous à unicode.org/faq/utf_bom.html.
US-ASCII
L'encodage des caractères en fonction de l'ordre alphabétique anglais.
UTF-16BE
Encodage UTF-16 avec sérialisation d'octets gros-boutiste (octet le plus significatif en premier).
UTF-16LE
Encodage UTF-16 avec sérialisation d'octets petit-boutiste (octet le moins significatif en premier).
ISO-8859-1
Chiffrement de caractères ASCII utilisé habituellement pour les langues européennes occidentales. Également désigné par l'acronyme Latin-1.
ISO-8859-3
Chiffrement de caractères ASCII utilisé habituellement pour les langues européennes méridionales. Également connu sous le nom Latin-3.
ISO-8859-9
Chiffrement de caractères ASCII utilisé habituellement pour la langue turque. Également connu sous le nom Latin-5.
CP850
Une page de code ASCII utilisée pour écrire les langues européennes occidentales.
CP500
Une page de code EBCDIC utilisée pour écrire les langues européennes occidentales.
Shift_JIS
Un encodage de caractères pour la langue japonaise.
MS932
Extension Microsoft de Shift_JIS permettant d'inclure les caractères spéciaux NEC, la sélection NEC des extensions IBM et les extensions IBM.
CP1047
Une page de code EBCDIC avec le jeu de caractères Latin-1 complet.

Validate

Ces options déterminent si le fichier est contrôlé pour s'assurer qu'il est conforme à la norme HL7 2.7. Si un message du fichier échoue à la validation, il est traité comme un enregistrement non conforme et les options d'enregistrement non conforme spécifiées pour le job (dans Enterprise Designer sous Édition > Options de job) ou pour le système (dans Management Console) prennent effet.

Champs requis
Cochez cette case pour vous assurer que chaque segment, champ, composant et sous-composant contient les éléments requis par la norme HL7 2.7.
Longueur
Cochez cette case pour vous assurer que chaque élément répond aux exigences minimales et maximales de longueur pour l'élément, tel que défini dans la norme HL7 2.7.

Ignorer les éléments imprévus

Sélectionnez ces options si vous souhaitez autoriser les messages à contenir des segments, des champs, des composants et des sous-composants ne figurant pas à l'emplacement prévu. Les emplacements prévus sont définis dans la norme HL7 ou, dans le cas de types de message personnalisés, dans l'outil HL7 Schema Management d'Enterprise Designer.

Par exemple, notez le schéma de message personnalisé suivant :

MSH
[PID]
{ZSS}
PV1
NK1
{[DG1]}

Et les données suivantes :

MSH|^~\&|Pharm|GenHosp|CIS|GenHosp|198807050000||RAS^O17|RAS1234|P|2.7
ZSS|100|abc
PID|1234||PATID1234^5^M11^ADT1^MR^GOOD HEALTH HOSPITAL~123456789^^^USSSA^SS|
PV1||O|O/R||||0148^ADDISON,JAMES|0148^ADDISON,JAMES
NK1|Son|John

Dans ce cas, le segment PID est imprévu, car il figure avant le segment ZSS.

Les messages contenant des éléments figurant à des emplacements imprévus sont traités comme des enregistrements non conformes et les options d'enregistrement non conforme spécifiées pour le job (dans Enterprise Designer, sous Édition > Options de job) ou pour le système (dans Management Console) prennent effet.

Par défaut, toutes les options Ignorer les éléments imprévus sont activées pour permettre le traitement d'autant d'enregistrements que possible.

Segments
Cochez cette case pour que les messages puissent contenir des segments non définis dans la norme HL7 2.7. Des segments imprévus sont ignorés et d'autres segments du message sont traités.
Champs
Cochez cette case pour que les segments puissent contenir des champs non définis dans la norme HL7 2.7. Les fichiers imprévus sont ignorés et les autres champs du segment sont traités.
Composants
Cochez cette case pour que les champs puissent contenir des composants non définis dans la norme HL7 2.7. Les composants imprévus sont ignorés et les autres composants du champ sont traités.
Sous-composants
Cochez cette case pour que les composants puissent contenir des sous-composants non définis dans la norme HL7 2.7. Les sous-composants imprévus dans le composant sont ignorés et les autres sous-composants sont traités.

Onglet Champs

L'onglet Champs s'affiche dans les segments, les champs, les composants et les sous-composants. Utilisez l'onglet Champs pour sélectionner les données à lire dans le dataflow.

Les groupes de segments, qui sont des collections de segments utilisés ensemble pour contenir une catégorie de données, sont affichés à l'aide d'un système de numérotation qui indique l'emplacement du groupe dans le schéma de message. À chaque groupe de segments est attribué un libellé « Group_n », où « n » est un numéro qui correspond à l'emplacement du groupe dans le schéma de message. Pour illustrer le fonctionnement du système de numérotation, prenez l'exemple suivant :



Cet exemple affiche la liste de champs du message RAS^017. Ce message comprend deux groupes de segments : RAS_017_Group_1 et RAS_017_Group_2. Le groupe de segments « Group_1 » fait référence au premier groupe de segments du schéma RAS^017, tandis que le deuxième groupe, « Group_2 », fait référence au deuxième groupe répertorié dans le schéma RAS^017.

Pour déterminer le groupe de segments représenté par « Group_1 » et « Group_2 », recherchez la description du message RAS^017 dans le document Norme HL7 Version 2.7. Vous pouvez télécharger une copie de ce document depuis www.hl7.org.

Dans la description du message, recherchez le premier groupe, qui, dans le cas de RAS^017, est le groupe PATIENT. Le deuxième groupe du schéma est le groupe ORDER.

Les groupes de segments nichés sous un groupe de segments porte un numéro supplémentaire ajouté à leur numéro de groupe. Par exemple, Group_21 représente le premier groupe niché sous le deuxième groupe. D'autres sous-groupes portent des numéros supplémentaires qui leur sont ajoutés, comme Group_221, qui, pour le message RAS^017, représente le groupe de segments ORDER_DETAIL_SUPPLEMENT. Voici un exemple de groupes nichés :



Les contrôles de l'onglet Champs sont décrits dans le tableau suivant.

Tableau 1. Onglet Champs

Nom de l'option

Description

Régénérer

Cliquez sur ce bouton pour renseigner l'onglet Champs avec une liste de tous les segments, champs, composants et sous-composants pour le type de message contenu dans le fichier d'entrée. Tous les éléments du type de message sont affichés en fonction du schéma HL7, que le fichier d'entrée contienne tous les éléments ou non. Par exemple, si le fichier contient un message RAS, le schéma du type de message RAS entier sera affiché que le fichier contienne ou non les données de tous les segments, champs, composants et sous-composants.

Si vous avez défini des éléments personnalisés à l'aide de l'outil HL7 Schema Management d'Enterprise Designer, ces éléments sont également répertoriés.

Développer tout

Développe tous les éléments dans l'onglet Champs pour afficher tous les segments, champs, composants et sous-composants des types de messages contenus dans le fichier.

Réduire tout

Ferme tous les nœuds dans la vue pour que seuls les segments soient affichés. Utilisez cette option pour afficher aisément les segments des types de messages dans le fichier. Vous pouvez ensuite développer des segments individuels pour afficher les champs, les composants et les sous-composants dans un segment.

Sélectionner tout

Cochez cette case pour créer des champs de dataflow pour tous les segments, champs, composants et sous-composants pour tous les types de messages inclus dans le fichier.