Parser HL7 v2
Décodez un message HL7 v2.x pipe-delimited segment par segment, 100 % côté client. Type, version, encoding chars, table champ par champ.
Collez un message HL7 v2 (segment MSH en premier) pour l'analyser.
Comment ça marche
HL7 v2 (v2.5.1 et antérieures) sérialise les messages sous forme de
segments délimités par retour-chariot. Chaque segment commence par un
identifiant à 3 caractères (MSH, PID,
EVN…) suivi des champs séparés par |.
Le parser suit deux étapes :
- Lecture du segment MSH : le 4e caractère donne le séparateur de champs (MSH-1), les 4 suivants donnent les composantes / répétitions / échappement / sous-composantes (MSH-2). Ces caractères sont vérifiés uniques.
- Tokenisation des segments suivants à l'aide des
séparateurs lus dans le MSH. Chaque champ est décomposé en
répétitions, composantes et sous-composantes, en préservant l'ordre
positionnel exact pour que
PID-5.1.1reste accessible.
Encoding characters
Les 5 caractères d'encodage spécifiés à la section 2.5 du chapitre 2 de la norme HL7 v2 doivent tous être uniques :
|— séparateur de champs (MSH-1).^— séparateur de composantes.~— séparateur de répétitions.\— caractère d'échappement (pour\F\,\S\,\R\,\E\,\T\).&— séparateur de sous-composantes.
Un message qui dévie de ces valeurs par défaut (par exemple un encodage
$%&\#) reste valide tant que les 5 caractères restent
uniques ; le parser lit la définition réelle dans MSH-1 et MSH-2.
Message types reconnus
Le parser ne contraint pas le type : il extrait le type et le
trigger event depuis MSH-9 (code^triggerEvent^messageStructure)
et la version depuis MSH-12. Les types les plus courants sont :
- ADT — Admit / Discharge / Transfer (admissions, transferts, sorties).
- ORM / OMG / OMD / OMP — Orders (laboratoire, imagerie, pharmacie).
- ORU — Observations / résultats.
- SIU — Scheduling Information Unsolicited (rendez-vous).
- BAR — Add / Change Billing Account.
- MFN — Master File Notification.
Limites
-
Le parser ne valide pas le contenu des segments hors
MSH.
PID-3, par exemple, peut contenir n'importe quoi du point de vue de cet outil. -
Les séquences d'échappement (
\F\,\S\, etc.) sont conservées verbatim — vous voyez le caractère échappé exactement comme il a été envoyé. -
L'outil ne gère pas la pile MLLP (préambule
\x0B/ trailer\x1C\x0D) : copiez le contenu textuel entre les délimiteurs MLLP. -
Les groupements de segments (par exemple
PID/{ NK1 }dans ADT_A01) ne sont pas reconstruits — la liste reste plate.
Confidentialité
Documentation associée
- HL7 v2.x — la vue d'ensemble du standard, son histoire et son écosystème.
- Spécification officielle : HL7 v2.5.1 product brief.
- FHIR R5 — le successeur RESTful de HL7 v2, en JSON / XML.