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.

ORU^R03 — Unsolicited Display-Oriented Result Message

Variante d'ORU : au lieu de résultats atomiques OBX numériques, R03 porte des résultats déjà formatés pour affichage humain — typiquement un compte-rendu narratif riche (FT, TX), avec mise en page.

Objet du message

R03 est conçu pour les flux où le résultat est déjà rédigé sous forme de texte affichable : un compte-rendu d'anatomopathologie, une conclusion radiologique. La grande différence avec R01 est sémantique : R01 porte les valeurs atomiques (Hb=14,2, etc.) et leur interprétation, R03 porte la mise en page humaine — souvent sans atomes numériques exploitables.

Sur le terrain, R03 est de moins en moins utilisé : la tendance va vers R01 + présentation côté client (CDA, DocumentReference FHIR), pour permettre la réutilisation des données numériques.

Structure segmentaire

ORU_R03
  MSH                    Message Header (mandatoire)
  [ SFT ]                Software Segment (optionnel, R5+)
  { PID                  Patient Identification (mandatoire)
    [ PD1 ]              Patient Additional Demographics
    [ { NTE } ]          Notes and Comments
    [ { NK1 } ]
    [ { PV1
        [ PV2 ] } ]
  }
  {
    [ { ORC } ]          Common Order (souvent absent pour R03)
    OBR                  Observation Request (mandatoire)
    { [ NTE ] }
    {
      OBX                Observation/Result (mandatoire)
      { [ NTE ] }
    }
    [ { CTI } ]          Clinical Trial Identification
  }
  [ DSC ]                Continuation Pointer

MSH — Message Header

  • MSH-9 : ORU^R03^ORU_R03.
  • MSH-12 : 2.5.1.

PID — Patient Identification

Identique à PID dans ORU^R01. Critique : PID-3 doit matcher l'identité connue par le récepteur, sinon le compte-rendu est orphelin.

ORC / OBR — Common Order / Observation Request

  • OBR-3 / OBR-2 : identifiants Filler / Placer de la prescription d'origine. Pour R03 c'est souvent une demande externe à laquelle on rattache un compte-rendu.
  • OBR-4 : code du test exécuté (LOINC ou table locale).
  • OBR-22 : date/heure du résultat (résultats final).
  • OBR-25 : statut du résultat (F=Final, P=Preliminary, C=Corrected, X=Cancelled).

OBX — Observation/Result

En R03, l'OBX porte du contenu mise en forme :

  • OBX-2 : type de valeur. Typique en R03 : FT (Formatted Text) ou TX (Text Data). Plus rare en R03 : NM (Numeric) ou SN (Structured Numeric).
  • OBX-3 : code de l'observation (compte-rendu, conclusion).
  • OBX-5 : contenu — texte avec séquences d'échappement HL7 (\.br\ pour break, \.sp\ pour space).
  • OBX-11 : statut de l'observation (F=Final, P=Preliminary, C=Correction).
  • OBX-14 : date/heure d'observation.

Exemple réel

Compte-rendu de NFS en mode display-oriented (texte formaté), résultats déjà interprétés et présentables :

plaintext oru-r03-example.hl7
MSH|^~\&|LAB|HOSP01|EHR|CLINIC02|20260515091500||ORU^R03^ORU_R03|MSG00002001|P|2.5.1|||AL|NE
PID|1||MRN567890^^^HOSP^MR||DOE^JOHN^A||19720515|M
PV1|1|I|ICU^101^A^HOSP01
ORC|RE|ORD789^HIS|FIL101^LAB||CM
OBR|1|ORD789^HIS|FIL101^LAB|CBC^Complete Blood Count^L|||20260515084500|||||||20260515084500|BLOOD&^&|DRSMITH^Smith^James|||||CR|RPT-2026-05-15-001|||20260515091000|||F
OBX|1|FT|CR^Compte-rendu^L||\.br\NUMERATION FORMULE SANGUINE\.br\\.br\Globules rouges : 4,8 T/L (N: 4,3-5,7)\.br\Hémoglobine : 14,2 g/dL (N: 13-17)\.br\Hématocrite : 42% (N: 40-50)\.br\Plaquettes : 230 G/L (N: 150-400)\.br\\.br\Globules blancs : 7,4 G/L (N: 4-10)\.br\.br\Polynucléaires neutrophiles : 60%\.br\Lymphocytes : 30%\.br\\.br\CONCLUSION : Hémogramme normal.|||N|||F|||20260515091000

Acquittement (ACK)

plaintext ack-r03-example.hl7
MSH|^~\&|EHR|CLINIC02|LAB|HOSP01|20260515091501||ACK^R03^ACK|ACK00002001|P|2.5.1
MSA|AA|MSG00002001

Erreurs fréquentes

  • OBX-2 = NM en R03 : incohérent. R03 = display-oriented, donc FT/TX. Pour numérique atomique, utiliser R01.
  • Séquences d'échappement HL7 oubliées : un retour ligne dans OBX-5 doit être \.br\ et non un \r\n littéral (sinon le parser rompt).
  • Mélanger R01 et R03 : le récepteur s'attend à une variante ; envoyer un R03 quand le destinataire attend R01 casse la chaîne d'intégration.
  • Encoding non déclaré : en MSH-18, déclarer UNICODE UTF-8 pour éviter les pertes sur les caractères accentués (français, allemand).

Événements ORU liés

CodeTrigger eventDescription
R01Unsolicited Observation MessageRésultats atomiques — le plus courant.
R03Display-Oriented Result, UnsolicitedRésultats formatés pour affichage humain — cette page.
R30Unsolicited Point-of-Care ObservationRésultats issus de dispositifs au lit du patient.
R31Unsolicited New Point-of-Care ObservationVariante de R30 (nouveauté v2.5).
R32Unsolicited Pre-Ordered Point-of-Care ObservationPOC pré-ordonnée.