NEWFree ROI Calculators — quantify what prior auth and siloed data are costing your organization.Prior Auth ROI Siloed Data ROI
HL7 v2Data Type7 min read

HL7 AD Data Type: Address (Legacy)

The AD (Address) data type is the original flat postal-address structure that shipped with HL7 v2.1 and was superseded by XAD in v2.3. It carries eight flat ST/ID components — street, other designation, city, state, postal code, country, address type, and other geographic designation — with no effective/expiration dates and no structured street sub-type. AD is retained in the v2.8.1 standard for backward compatibility and still appears in pre-v2.3 messages and a small number of custom Z-fields, but new messages should use XAD.

Purpose

AD exists to exchange a postal address in a single flat repetition. Unlike XAD it has no validity period, no county/census tract, and no structured Street Address sub-type, so a sender cannot distinguish a current home address from a prior one within the same field — repetitions are the only mechanism, and the address-type code in AD.7 is the only discriminator. Modern integrations encounter AD primarily when interfacing with legacy lab, ADT, or master-file systems that have never been upgraded past v2.2, or in custom Z-segments that froze their schema before XAD existed.

Component table

Source: HAPI HL7v2 v2.8.1 javadocs (AD). Lengths are no longer published as fixed maxima in v2.8.1 (). AD has 8 components.

CompNameSub-typeLengthRequiredDescription
AD.1Street AddressstOFlat street line (no SAD sub-structure).
AD.2Other DesignationstOApt / suite / unit / building / floor.
AD.3CitystOCity or locality.
AD.4State or ProvincestOState, province, or sub-national region.
AD.5Zip or Postal CodestOZIP or postal code, country-specific format.
AD.6CountryidO[HL70399] ISO 3166-1 alpha-3 country code.
AD.7Address TypeidO[HL70190] H home, M mailing, B billing, O office, etc.
AD.8Other Geographic DesignationstORegion, district, locality not fitting state/city.

Most-used components

  • AD.1 Street Address — flat street line; no dwelling/street-name split.
  • AD.3 City — locality.
  • AD.4 State or Province — USPS 2-letter for US senders; free text elsewhere.
  • AD.5 Zip or Postal Code — ZIP+4 or country-specific postal code.
  • AD.6 Country — ISO 3166-1 alpha-3 from HL70399.
  • AD.7 Address Type (HL70190) — H home, M mailing, B billing, O office.

Where it's used

AD is no longer the canonical address carrier in the v2.8.1 base standard — XAD has replaced it in every field that previously used AD. Legacy occurrences include:

  • Pre-v2.3 PID-11 Patient Address — flat AD repetitions.
  • Pre-v2.3 NK1-4 Next of Kin Address.
  • Pre-v2.3 GT1-5 Guarantor Address and IN1-19 Insured's Address.
  • Custom Z-segments that froze their schema at v2.2 (e.g. ZIN-7 Insured Address as AD).
  • Site-specific master-file extracts that retained AD for backward compatibility with downstream loaders.

Version differences

  • v2.1 / v2.2 — AD introduced with the eight flat components documented above. Used by every address-bearing field in the standard.
  • v2.3XAD introduced as the structured replacement. Every base-standard field that carried AD was migrated to XAD. AD is retained in the data-type catalogue but flagged as legacy.
  • v2.4 – v2.8.1 — AD structure unchanged. The standard continues to publish AD for backward compatibility but new fields never use it. In new messages, use XAD.

Common mistakes

  • Emitting AD on a v2.3+ field that expects XAD. Receivers parsing PID-11 as XAD will misalign components — AD.7 Address Type lands where XAD.7 expects it, but AD.8 collides with XAD.8 and there is no place for effective/expiration dates.
  • Treating AD.1 as if it were a SAD composite. AD.1 is plain ST; 123&Main&St will be received verbatim as a single string with literal & characters, not parsed into sub-components.
  • Local country abbreviations instead of ISO 3166 alpha-3. Sending US or United States in AD.6 breaks downstream systems expecting HL70399 (USA).
  • Free-text state names. US profiles expect the USPS 2-letter abbreviation in AD.4.
  • Assuming AD carries an effective period. It does not — there is no equivalent of XAD.13 / XAD.14. If you need address history, you need XAD.

Examples

Minimal value

123 Main St^^Anytown^CA^94000

Fully populated AD with all eight components

123 Main St^Apt 4B^Anytown^CA^94105-1234^USA^H^San Francisco County

123 Main St street, Apt 4B other designation, Anytown city, CA state, 94105-1234 ZIP+4, USA country, H home address type, San Francisco County other geographic designation.

Legacy sender still emitting AD on a custom Z-field

ZIN|1|MEMBER123||123 Main St^Apt 4B^Anytown^CA^94105^USA^H

A pre-v2.3 insured-info Z-segment that never migrated to XAD. The parser must know ZIN-4 is AD, not XAD.

In-context excerpt — pre-v2.3 PID-11

PID|1||MR884412^^^MERCY^MR||Smith^John^Q||19720508|F|||123 Main St^Apt 4B^Anytown^CA^94105^USA^H

Identical to a single-repetition XAD on the wire, but the schema for the field is AD — there are no components beyond AD.8.

Common pitfall — AD sent on a v2.8.1 PID-11

PID|1||MR884412^^^MERCY^MR||Smith^John^Q||19720508|F|||123 Main St^Apt 4B^Anytown^CA^94105^USA^H^Other Geo

If the receiver parses PID-11 as XAD (correct for v2.8.1), Other Geo lands in XAD.8 fine, but there is no XAD.13 / XAD.14, and any downstream "current vs. historical" logic that expects effective dates silently sees nulls.

FHIR mapping

There is no v2-to-FHIR Implementation Guide ConceptMap published specifically for AD — the IG covers XAD instead. AD maps to FHIR Address using the same component-to-element correspondence as XAD for components .1 through .8.

AD componentFHIR element
AD.1 Street Address + AD.2 Other DesignationAddress.line (multiple entries, one per line)
AD.3 CityAddress.city
AD.4 State or ProvinceAddress.state
AD.5 Zip or Postal CodeAddress.postalCode
AD.6 CountryAddress.country
AD.7 Address TypeAddress.use (home/work/temp/old) and Address.type (postal/physical/both)
AD.8 Other Geographic DesignationAddress.district (best-fit)

Engine considerations

  • Schema detection. Engines must know whether a given field is typed AD or XAD based on the message version and segment field definition. Parsing AD as XAD or vice-versa works for the first eight components but breaks the moment XAD.9+ is populated.
  • No effective dates. AD cannot carry validity periods. If a downstream system needs current-vs-historical filtering, upgrade the field to XAD or store the period out-of-band.
  • No SAD sub-structure. AD.1 is plain ST. Engines that present a structured "dwelling number / street name / street type" UI for XAD should fall back to a single-line input for AD.
  • Legacy-handling guidance. Inbound AD should be lifted into the engine's canonical address model as if it were a single-repetition XAD with only .1–.8 populated; outbound serialization must respect the wire schema and emit AD (not XAD) when the receiver's profile is pre-v2.3.
  • HAPI accessor. HAPI v2.8.1 exposes AD as ca.uhn.hl7v2.model.v281.datatype.AD; it is still generated for backward compatibility but rarely referenced by base-standard segment getters.

How Vorro parses and produces AD

Vorro's HL7 parser treats AD as a degenerate single-repetition variant of its canonical PostalAddress model: components .1 through .8 populate the same fields they would on XAD, with effective/expiration dates left null and the structured SAD sub-type collapsed to a flat street string. The parser detects AD by consulting the segment-field schema for the message version, not by inspecting the value on the wire, so an AD-typed field that happens to contain extra ^ separators is rejected rather than silently re-typed.

On outbound, Vorro emits XAD by default. AD is only produced when a downstream profile explicitly declares the field as AD (typically a pre-v2.3 receiver or a custom Z-segment), in which case the engine drops XAD.9–XAD.14 and emits only the eight AD components. Country is always emitted as ISO 3166-1 alpha-3 and state as USPS 2-letter for US addresses, matching the XAD conventions.

Sources

← Back to HL7 v2 Guide

Ready to Integrate This Into Your Workflow?

Talk to a Vorro expert about implementing HL7 v2 in your specific environment.

Browse HL7 v2 Guides
HL7 AD Data Type: Address (Legacy) | Vorro Academy | Vorro