Outil gratuit
Analyseur HL7 — visualiseur de messages HL7 v2 en ligne
Collez un message HL7 v2 pour afficher chaque segment, champ, répétition et composant avec sa position (PID-3, OBX-5) et le nom du champ selon HL7 v2.5.1. L’analyseur lit les délimiteurs dans le segment MSH, décode les séquences d’échappement, résume le type de message et la version, puis exporte le résultat en JSON.
Analyser un message HL7 v2
Tout s’exécute dans votre navigateur. Le message n’est ni envoyé, ni journalisé, ni conservé, et il est effacé dès que vous quittez ou rechargez la page. Utilisez de préférence des données fictives ou désidentifiées.
Collez un seul message. Les segments peuvent être séparés par CR, LF ou CRLF.
Collez un message ou chargez un exemple pour afficher ses segments et ses champs.
Comment lire un message HL7 v2
Un message HL7 v2 est du texte brut. Chaque ligne est un segment, identifié par ses trois premiers caractères : MSH pour l’en-tête du message, PID pour l’identification du patient, PV1 pour la venue, OBR et OBX pour les demandes et les résultats. La norme termine chaque segment par un retour chariot (CR) ; fichiers, e-mails et visionneuses de logs le remplacent souvent par un saut de ligne (LF), c’est pourquoi cet analyseur accepte les deux.
Dans un segment, les champs sont séparés par la barre verticale et numérotés à partir de 1 : PID-5 est donc le cinquième champ après le nom du segment, le nom du patient. Le segment MSH fait exception. Son premier champ, MSH-1, est le séparateur de champs lui-même, et MSH-2 contient les caractères d’encodage, en général ^~\&. Avec ce décompte, MSH-9 donne le type de message et l’événement déclencheur, MSH-10 l’identifiant de contrôle et MSH-12 la version.
Les caractères d’encodage définissent les niveaux inférieurs. L’accent circonflexe (^) sépare les composants : DOE^JANE donne un nom de famille puis un prénom. Le tilde (~) sépare les répétitions, ce qui permet à PID-3 de porter plusieurs identifiants patient. L’esperluette (&) découpe un composant en sous-composants, et la barre oblique inverse (\) ouvre une séquence d’échappement comme \T\, qui représente une esperluette littérale dans un texte.
Quand une interface rejette un message, lisez d’abord MSH-9 et MSH-12, puis comparez le champ cité dans l’erreur avec la spécification d’interface du partenaire. Les positions des champs restent rétrocompatibles d’une version 2.x à l’autre, car les nouveaux champs sont ajoutés en fin de segment, mais l’optionalité, les longueurs et les tables de codes varient selon la version et l’établissement.
Pour aller plus loin
Foire aux questions
Mon message HL7 est-il envoyé ou conservé ?
Non. L’analyseur est du JavaScript exécuté dans l’onglet de votre navigateur. Le message n’est ni envoyé à un serveur, ni journalisé, ni enregistré, et il disparaît lorsque vous fermez ou rechargez la page. La saisie et les résultats sont aussi marqués pour être exclus des enregistrements de session facultatifs. Privilégiez malgré tout des messages fictifs ou désidentifiés.
Quelles versions de HL7 l’analyseur prend-il en charge ?
Tout message HL7 v2.x qui respecte la syntaxe standard des délimiteurs, y compris des délimiteurs personnalisés déclarés dans MSH-1 et MSH-2. Les noms de champs suivent HL7 v2.5.1 pour les segments courants comme MSH, PID, PV1, ORC, OBR et OBX ; ils restent en anglais, comme dans la norme. HL7 v3, les documents CDA et les ressources FHIR utilisent XML ou JSON et ne sont pas analysés ici.
Peut-on convertir un message HL7 en JSON ?
Oui. Après l’analyse, choisissez « Copier en JSON ». La sortie liste chaque segment avec ses champs non vides, le nom du champ lorsqu’il est connu, la valeur décodée et les répétitions sous forme de tableaux de composants. C’est une structure lisible pour le débogage et les tests, pas un format normalisé HL7 ou FHIR.
Besoin de créer ou de corriger une interface HL7 ?
Un accompagnement est possible sur les interfaces HL7 v2 et FHIR : mapping des messages, canaux Mirth Connect, acquittements et gestion des erreurs.