ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

ADR^A19 — Patient Query Response

The HIS's synchronous response to a QRY^A19: demographics, active visits, sometimes financial data. One or more PID occurrences if several patients match.

Purpose

ADR^A19 is the synchronous counterpart of QRY^A19 (Patient Query). The HIS returns:

  • MSA = acknowledgment of the query;
  • QAK = quality of the query (result count, status);
  • QRD = echo of the originating query;
  • one or more PID + PV1 occurrences matching the patients found.

Typical cases: an LIS pulls patient demographics at the start of a session (PID-3 MRN provided via QRY), a PACS queries the list of active stays, a national vigilance system requests identity data.

Segment structure

ADR_A19
  MSH                    Message Header (mandatory)
  [ SFT ]                Software Segment (optional)
  MSA                    Message Acknowledgment (mandatory)
  [ { ERR } ]            Error (optional, repeatable)
  [ { QAK } ]            Query Acknowledgment (optional, repeatable)
  QRD                    Original-Style Query Definition (mandatory)
  [ QRF ]                Original-Style Query Filter (optional)
  {                      Response loop (1..n)
    [ EVN ]              Event Type (optional)
    PID                  Patient Identification (mandatory)
    [ PD1 ]              Patient Additional Demographics
    [ { ROL } ]          Role (repeatable)
    [ { NK1 } ]          Next of Kin (repeatable)
    PV1                  Patient Visit (mandatory)
    [ PV2 ]              Patient Visit - Additional Info
    [ { DB1 } ]          Disability (repeatable)
    [ { OBX } ]          Observation (repeatable)
    [ { AL1 } ]          Allergy (repeatable)
    [ { DG1 } ]          Diagnosis (repeatable)
    [ DRG ]              Diagnosis Related Group
    [ { PR1 [ { ROL } ] } ] Procedure (repeatable)
    [ { GT1 } ]          Guarantor (repeatable)
    [ { IN1 [IN2] [IN3] } ] Insurance (repeatable)
    [ ACC ]              Accident
  }
  [ DSC ]                Continuation Pointer (optional)

MSA — QAK — QRD

  • MSA-1: AA if the query is processed, AE on application error.
  • QAK-2: query status — OK, NF (Not Found), AE, AR.
  • QAK-4: number of patients returned.
  • QRD: echo of the original query for traceability.

PID — PV1

If multiple patients match (for instance a surname-only search), the message contains a loop of PID/PV1 blocks. In practice, HIS implementations cap at 10–50 results to avoid unmanageable volumes.

Real-world example

Response to a QRY for MRN567890:

plaintext adr-a19-example.hl7
MSH|^~\&|HIS|HOSP01|EHR|CLINIC02|20260515160000||ADR^A19^ADR_A19|MSG00017001|P|2.5.1|||AL|NE
MSA|AA|QRY-2026-001|Query Ok
QAK|QUERY-A19-001|OK|Q01^Patient Query^HL70471|1|1|0
QRD|20260515160000|R|I|QRY-2026-001|||1^RD|MRN567890^^^HOSP^MR|DEM|||T
PID|1||MRN567890^^^HOSP^MR||DOE^JOHN^A^^MR.||19720515|M|||100 MAIN ST^^ANYTOWN^CA^90210^USA||(555)555-1234|||S||ACCT123456|123-45-6789
PV1|1|I|MED^205^B^HOSP01|EM|||DRSMITH^Smith^James^A^^DR.|||MED|||1|||DRSMITH^Smith^James^A^^DR.|ADM|||||||||||||||||||HOSP01|||||20260514102530

No-result case

If no patient matches the query:

  • QAK-2 = NF (Not Found);
  • QAK-4 = 0;
  • no PID/PV1 block.

Common errors

  • Missing QAK: the receiver cannot tell whether the query succeeded or failed.
  • PID/PV1 without preceding QRD: invalid structure for strict parsers.
  • More than 50 patients in the response: avoid in synchronous queries. Use DSC (continuation pointer) to paginate.

See also: QRY^A19 and FHIR Patient.