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.

QRY^A19 — Patient Query

L'ancêtre HL7 v2 du GET /Patient/123 FHIR : une requête synchrone pour récupérer la démographie complète d'un patient — toujours en service sur la grande majorité des SIH.

Objet du message

QRY^A19 demande au SIH : « Donne-moi tout ce que tu sais sur le patient MRN567890 ». La réponse est un ADR^A19 (Acknowledgment Response, structure A19) qui porte un ou plusieurs PID + PV1. C'est le canal HL7 v2 classique pour :

  • vérifier l'identité d'un patient avant de soumettre des résultats ;
  • récupérer la démographie complète pour pré-remplir un formulaire EHR ;
  • réconcilier des identifiants entre systèmes lors d'une fusion ou d'une migration.

Note : depuis v2.5, HL7 recommande QBP^Q22/RSP^K22 (Find Candidates) pour cette logique, plus rigoureuse. QRY^A19 reste largement utilisé pour la rétro-compatibilité.

Structure segmentaire

QRY_A19
  MSH                    Message Header (mandatoire)
  QRD                    Query Definition (mandatoire) — porte les paramètres
  [ QRF ]                Query Filter — bornes temporelles, source

MSH — Message Header

  • MSH-9 : QRY^A19^QRY_A19.
  • MSH-11 : P en production.

QRD — Query Definition

Segment central :

  • QRD-1 : date/heure de la requête.
  • QRD-2 : format de réponse demandé (table 0106 : R=Record-oriented, D=Display, T=Tabular).
  • QRD-3 : priorité (I=Immediate, D=Deferred).
  • QRD-4 : identifiant de la requête (clé pour corréler la réponse).
  • QRD-7 : nombre/type d'unités attendus en réponse.
  • QRD-8 : identifiants patient cibles (CX, répétable : MRN, SSN, INS-NIR).
  • QRD-9 : nature de l'information demandée (table 0048 : DEM=Demographics, OTH=Other).

QRF — Query Filter

Optionnel mais courant pour borner :

  • QRF-1 : où chercher (système, application).
  • QRF-3 : date début.
  • QRF-4 : date fin.

Réponse ADR^A19 / RSP^K11

Le SIH répond avec un message ADR^A19 :

  • MSH (avec MSH-9 = ADR^A19^ADR_A19) ;
  • MSA (acquittement de la requête — AA si trouvé, AE si erreur, AR si refus) ;
  • QRD + QRF répétés (les paramètres de la requête, pour corrélation) ;
  • EVN (typage A19 de l'événement) ;
  • 0..n blocs (PID + PD1 + NK1 + PV1 + PV2 + DB1 + OBX + AL1 + DG1 + …) — un par patient match.

Si plusieurs patients matchent les critères, le SIH peut retourner plusieurs PID (typique en cas d'homonyme).

Exemple réel

Requête démographique sur MRN567890 entre janvier et mai 2026 :

plaintext qry-a19-example.hl7
MSH|^~\&|EHR|CLINIC02|HIS|HOSP01|20260515094500||QRY^A19^QRY_A19|MSG00005001|P|2.5.1|||AL|NE
QRD|20260515094500|R|I|Q001|||1^RD&Records&HL70394|MRN567890^^^HOSP^MR|DEM^Demographics^HL70048
QRF|HIS||20260101|20260515

Réponse ADR^A19 du SIH :

plaintext adr-a19-example.hl7
MSH|^~\&|HIS|HOSP01|EHR|CLINIC02|20260515094501||ADR^A19^ADR_A19|MSG00005002|P|2.5.1|||AL|NE
MSA|AA|MSG00005001
QRD|20260515094500|R|I|Q001|||1^RD&Records&HL70394|MRN567890^^^HOSP^MR|DEM^Demographics^HL70048
QRF|HIS||20260101|20260515
EVN|A19|20260515094501
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

Erreurs fréquentes

  • QRD-8 sans type d'identifiant : MRN567890 seul est ambigu. Toujours typer en CX : MRN567890^^^HOSP^MR.
  • QRD-4 réutilisé : chaque requête doit avoir un identifiant unique pour corréler la réponse avec la requête.
  • Pas de timeout côté client : une QRY synchrone qui ne reçoit pas de réponse en 30s bloque indéfiniment.
  • Migration vers FHIR sans plan : QRY^A19 est très en service ; planifier la coexistence avec FHIR REST avant de désactiver.
  • Plusieurs réponses non gérées : en cas d'homonyme, le client doit pouvoir afficher la liste, pas planter sur le 1er PID.

Équivalent FHIR

En FHIR R5, l'équivalent de QRY^A19 est :

GET [base]/Patient?identifier=urn:oid:1.2.34|MRN567890&_include=Patient:general-practitioner

avec une réponse Bundle type=searchset. Les bénéfices : pagination native, filtres standardisés, parsers JSON disponibles partout. Voir FHIR Patient.