ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

HL7 v2 — Health Level Seven Messaging

La norme dominante d'échange de données cliniques depuis 1989. Pipe-delimited, pragmatique, omniprésente dans les SIH dans le monde entier.

Qu'est-ce que HL7 v2 ?

HL7 v2 est un standard de messagerie applicative pour l'échange de données cliniques, administratives et financières en santé. Il décrit comment encoder un événement clinique — admission d'un patient, demande d'analyse, résultat de laboratoire, mouvement de facturation — sous la forme d'un message texte délimité par des caractères réservés (|, ^, ~, \, &), et comment l'acheminer entre deux applications (SIH, SIL, RIS, PACS, ERP hospitalier…) sur un protocole tiers (MLLP en TCP, sFTP, files JMS, HTTPS).

La force du standard tient à sa pragmatique : il a été conçu par et pour les intégrateurs cliniques au tournant des années 1990 — quand chaque système hospitalier parlait son propre dialecte — et a privilégié la souplesse syntaxique sur la rigueur sémantique. Résultat : presque tous les éditeurs majeurs (Epic, Cerner/Oracle Health, Allscripts, MEDITECH, Maincare, Dedalus…) parlent v2, mais chacun avec des extensions locales que les guides d'implémentation (IG) sectoriels viennent contraindre.

HL7 v2 reste, en 2026, la norme la plus déployée en clinique malgré l'essor de FHIR : l'écosystème logiciel compte des dizaines de milliards de messages échangés par jour à l'échelle mondiale, et un projet FHIR sur trois s'appuie en pratique sur des passerelles v2 ↔ FHIR pour les flux temps réel.

Anatomie d'un message HL7

Un message HL7 v2 est une suite de segments séparés par <CR> (0x0D). Chaque segment commence par un identifiant à trois lettres (MSH, PID, PV1, OBR, OBX…), suivi de ses champs séparés par |. Les champs eux-mêmes peuvent être décomposés en composants (^), sous-composants (&) et répétitions (~). Voici une trame d'admission patient minimaliste (message ADT^A01, version 2.5.1) :

plaintext adt-a01-example.hl7
MSH|^~\&|HIS|HOSP01|EHR|CLINIC02|20260514102530||ADT^A01^ADT_A01|MSG00001|P|2.5.1
EVN|A01|20260514102530|||DRJONES^Jones^Sarah
PID|1||MRN567890^^^HOSP^MR||DOE^JOHN^A^^MR.||19720515|M|||100 MAIN ST^^ANYTOWN^CA^90210^USA||(555)555-1234|||S||ACCT123456
PV1|1|I|ICU^101^A^HOSP01|EM|||DRSMITH^Smith^James^A^^DR.|||CAR|||1|||DRSMITH^Smith^James^A^^DR.|ADM|VIP|||||||||||||||||||HOSP01|||||20260514102530

Le segment MSH (Message Header) est mandatoire et toujours en première position. Il porte :

  • MSH-1 — séparateur de champs (| conventionnel).
  • MSH-2 — caractères d'encodage (^~\&).
  • MSH-3 / MSH-4 — application et facility émettrices.
  • MSH-5 / MSH-6 — application et facility réceptrices.
  • MSH-7 — date et heure d'émission (CCYYMMDDHHMMSS).
  • MSH-9 — type de message (ici ADT^A01^ADT_A01).
  • MSH-10 — identifiant de message unique (l'équivalent de l'UNH d'EDIFACT).
  • MSH-11 — environnement (P=Production, T=Test, D=Debug).
  • MSH-12 — version du standard (2.5.1).

Les segments suivants dépendent du type de message. Pour un ADT : EVN (Event Type), PID (Patient Identification), PV1 (Patient Visit), et éventuellement NK1 (Next of Kin), GT1 (Guarantor), IN1/IN2 (Insurance), AL1 (Allergy), DG1 (Diagnosis).

Versions

HL7 International publie la branche v2 depuis 1989. Les versions co-existent en production : un même intégrateur reçoit fréquemment du v2.3.1 d'un partenaire et du v2.5.1 d'un autre.

VersionAnnéeStatutNotes
v2.11990HistoriquePremière version largement diffusée.
v2.21994HistoriqueÉlargit la couverture des messages cliniques.
v2.31997HistoriqueRéférence des premières intégrations Epic / Cerner.
v2.3.11999Encore dominant en productionLe plus déployé au monde : ~40 % des installations actives.
v2.42000StablePrécurseur de la rigueur des Conformance Profiles.
v2.52003StableNormée ISO/HL7 27931.
v2.5.12007Référence FR / USVersion recommandée par l'ASIP Santé (FR) et la HITSP (US).
v2.62007StableIntroduction des messages génétiques.
v2.72011StableExtension imagerie et pharmacie.
v2.82014StableDernière refonte structurelle majeure.
v2.8.22018Dernière release v2.xMaintenue ANSI/HL7. Aucune v2.9 prévue : la priorité est sur FHIR.

Familles de messages

HL7 v2 organise ses messages en grandes familles, identifiées par le code en trois lettres porté par MSH-9 et son trigger event :

TypeFamilleDescription
ADTAdmission, Discharge, TransferMouvements administratifs des patients (A01 = admission, A03 = sortie, A08 = mise à jour).
ORMOrder MessageDemande d'examen, de médicament, de soin (v2.3.1–v2.5.1).
OMG / OML / OMI…Order — séparé par domaineRemplacement d'ORM en v2.5+ par domaine : OML (laboratoire), OMI (imagerie), OMG (général).
ORUObservation Result UnsolicitedRetour de résultat (lab, radiologie, signes vitaux).
SIUScheduling Information UnsolicitedPrise de rendez-vous, planning.
DFTDetailed Financial TransactionMouvements financiers (facturation, charges).
MDMMedical Document ManagementDiffusion de documents cliniques (CR opératoire, lettre de sortie).
MFNMaster Files NotificationMise à jour des référentiels (catalogue actes, dictionnaires).
QRY / RSPQuery / ResponseInterrogation synchrone sur référentiel.
ACKAcknowledgmentAcquittement applicatif (équivalent CONTRL en EDIFACT).

Cas d'usage

  • Identitovigilance (ADT) — chaque mouvement d'un patient (admission, transfert, sortie, mise à jour démographique) génère un message ADT diffusé du SIH vers tous les SI consommateurs (DPI clinique, PACS, laboratoire, pharmacie).
  • Cycle de commande de laboratoire (OML/ORU) — le clinicien prescrit une analyse : un OML est envoyé du DPI vers le SIL ; le résultat revient en ORU dès validation biologique.
  • Imagerie médicale (OMI/ORU) — la demande part en OMI vers le RIS, le compte-rendu rédigé revient en ORU. Les pixels eux-mêmes circulent en DICOM hors HL7.
  • Pharmacie hospitalière — prescriptions et administrations médicamenteuses transitent via OMP / RDS / RDE selon le moment du cycle.
  • Facturation hospitalière (DFT) — chaque acte ou consommable génère un flux DFT vers le module facturation de l'ERP hospitalier.

Comparaison avec EDIFACT

HL7 v2 et EDIFACT partagent l'idée d'une syntaxe à segments délimitée par des caractères réservés, mais s'opposent sur leur philosophie :

CritèreHL7 v2.xEDIFACT
DomaineSanté cliniqueCommerce et logistique
Délimiteurs| ^ ~ \ &+ : ' ?
Identifiant messageMSH (toujours premier)UNH / UNT (sandwich)
VersionningPar message (MSH-12)Par directory (D.96A, D.01B…)
AcquittementACK (applicatif)CONTRL (syntaxique)
Équivalent santé en EDIFACTMEDRPT (rapport médical), MEDPRE (prescription) : marginalement utilisés

À noter : EDIFACT a publié des messages santé (MEDRPT, MEDPRE, MEDRUC) en parallèle de HL7 dans les années 1990, mais sans jamais s'imposer face à HL7 v2 sur ce périmètre. Les flux santé transfrontaliers européens (PEPPOL santé, projet eHDSI) basculent désormais vers FHIR plutôt que vers EDIFACT.

Pour aller plus loin

Pages détaillées des messages HL7 v2 sur ediverse :

Standards apparentés sur ediverse :

Spécifications officielles à consulter :