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

HL7 Table HL70172: Veterans Military Status

HL70172 is a small HL7-defined code table that records a person's veterans military status — active duty, discharged, reserve status, etc. It is the value set behind PID-27 Veterans Military Status, populated primarily by U.S. Department of Veterans Affairs (VA) systems, military treatment facilities (MTFs), and civilian hospitals that bill the VA for veteran care. The table has six single-character codes in v2.8.1 and has been stable since v2.3.

Purpose

HL70172 records the patient's relationship to U.S. military service at the time of the encounter. It is used for:

  • Eligibility — VA and TRICARE benefits depend on military status. A (Active duty) routes billing to TRICARE; D (Discharged) routes to VA benefits where the patient is enrolled.
  • Clinical context — Veteran status flags screening protocols (PTSD, Agent Orange exposure, Gulf War syndrome, military sexual trauma) that civilian-only patients do not receive.
  • Reporting — Statutory reporting of veteran encounters to VA national datasets requires HL70172 on every patient record.

The field is not a statement of discharge character (honorable vs. dishonorable), service branch, or service-connected disability rating; those are separate VA-specific fields outside HL70172's scope.

Where it's used

  • PID-27 Veterans Military Status — the canonical home of HL70172, populated on ADT messages by VA, DoD, and VA-affiliated civilian systems.
  • NK1-23 Contact Person Veterans Military Status — next-of-kin military status (used by VA for dependent benefits workflows).

Code list

CodeDisplayComment/Description
AActive dutyCurrently on active duty in a U.S. military branch. Billing typically routes to TRICARE.
DDischargedSeparated from active duty; the most common value at VA hospitals.
IInactive ReserveMember of the Individual Ready Reserve or similar inactive reserve component.
NActive ReserveMember of an active reserve unit (drilling reservist, National Guard on Title 32).
SStatus unknownVeteran status is recorded as not known; used when the question was asked but no answer obtained.
VVietnam veteranA legacy code retained for backwards compatibility; modern VA systems prefer D plus a separate service-era flag.

The table is intentionally small. Sites that need finer detail (specific service branch, deployment locations, service-connected disability percentage) carry those values in separate VA-specific Z-segments or extension fields rather than extending HL70172.

Code system OID

  • OID: 2.16.840.1.113883.18.84
  • Canonical URI: http://terminology.hl7.org/CodeSystem/v2-0172

The OID resolves on the HL7 Terminology server and is the value Vorro emits in CWE.14 when downstream profiles demand OID-bound coded values.

HL7-defined vs user-defined

HL70172 is HL7-defined. The table number falls inside the HL7-reserved range and the six values are normative. Sites that need to encode service branch (Army, Navy, Marines, Air Force, Coast Guard, Space Force) or discharge character do so in separate fields — most commonly a custom Z-segment (ZMI, ZVE) or in a VA-specific MFE master-file payload — not by extending HL70172 with local codes.

Version differences

  • v2.1 – v2.2 — PID-27 not yet defined; military status was not carried on PID.
  • v2.3 — PID-27 Veterans Military Status added; HL70172 introduced with five codes (A, D, I, N, V).
  • v2.4S (Status unknown) added to support cases where the question was asked but unanswered.
  • v2.5 – v2.8 — Set frozen at six codes; data type carried as IS.
  • v2.7 onward — Field type optionally upgradable to CWE to allow OID metadata.
  • v2.8.1 — Stable; no changes from v2.8.

Common mistakes

  • Sending the display word — Active duty instead of A. PID-27 carries the single-character code.
  • Defaulting non-veterans to S (Status unknown). S means the question was asked and no answer was obtained; for civilians who were never asked the question, PID-27 should simply be empty.
  • Using V (Vietnam veteran) for any veteran. V is era-specific (Vietnam) and is a legacy carry-over; modern systems use D for a discharged veteran of any era and carry the era separately.
  • Conflating active reserve (N) with inactive reserve (I). The two carry different eligibility implications — N drilling reservists have TRICARE Reserve Select eligibility that I Individual Ready Reserve members generally do not.
  • Inventing local codes (R for retired, G for Guard, branch-specific letters) instead of using one of the six canonical values plus a Z-segment for the extra detail.

Examples

A PID for a discharged veteran:

PID|1||V10456^^^VA^MR||SMITH^JOHN^A||19620412|M|||100 OAK ST^^TAMPA^FL^33612||(813)555-1212||EN|M|CHR|V10456|123-45-6789|USA||||||D

An active-duty service member admitted at a civilian hospital:

PID|1||T77881^^^DoD^MR||JONES^MARY||19880815|F|||||||EN|S|||T77881|||USA||||||A

A v2.7+ CWE-typed PID-27 with OID metadata:

PID|1||V10456^^^VA^MR||SMITH^JOHN||19620412|M||||||||M|||V10456|||USA||||||D^Discharged^HL70172^^^^2.8.1^^^^2.16.840.1.113883.18.84

FHIR representation as a Patient.extension (US VA convention):

{
  "resourceType": "Patient",
  "id": "V10456",
  "extension": [{
    "url": "http://va.gov/fhir/StructureDefinition/patient-military-status",
    "valueCodeableConcept": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v2-0172",
        "code": "D",
        "display": "Discharged"
      }]
    }
  }]
}

Mapping failure example — civilian patient marked S:

PID|1||C99001^^^MRN^MR||CIVILIAN^ANN||19900101|F|||||||EN|S|||C99001|||USA||||||S

The patient has no military background and the question was never asked. A conformant engine should flag the S as a likely default-fill error from the source EHR and route to curation for review rather than passing S through to downstream VA reporting where it will be miscounted.

FHIR mapping

There is no canonical FHIR ValueSet for veterans military status; HL70172 has no published v2-to-FHIR ConceptMap. The conventional FHIR carrier is a Patient.extension — U.S. VA profiles use a patient-military-status extension URL, and the underlying coding preserves the HL70172 code system verbatim:

HL7 v2 (HL70172)FHIR carrier
APatient.extension[patient-military-status].valueCodeableConcept (code=A)
DPatient.extension[patient-military-status].valueCodeableConcept (code=D)
IPatient.extension[patient-military-status].valueCodeableConcept (code=I)
NPatient.extension[patient-military-status].valueCodeableConcept (code=N)
SPatient.extension[patient-military-status].valueCodeableConcept (code=S)
VPatient.extension[patient-military-status].valueCodeableConcept (code=V)

Because the mapping is one-to-one and the code system is preserved, FHIR-to-v2 round-tripping is lossless.

Engine considerations

  • Single-character validation — PID-27 is one character; engines should reject multi-character payloads outright rather than truncate.
  • Case sensitivity — HL70172 codes are case-sensitive uppercase; d is not valid. Normalize on ingest.
  • Default-fill detection — Source EHRs sometimes default civilians to S (Status unknown). Engines should flag PID-27 = S paired with no other military-context fields (no VA MRN, no TRICARE coverage) as a likely default-fill error.
  • Legacy V handling — When ingesting V (Vietnam veteran), engines should preserve V but also surface the patient's age — Vietnam-era veterans are typically 70+ in 2026; a 30-year-old marked V is suspicious.
  • CWE upgrade path — In v2.7+ profiles PID-27 may be transmitted as CWE rather than IS, with CWE.14 = 2.16.840.1.113883.18.84. Engines must handle both shapes.

How Vorro handles HL70172

Vorro validates PID-27 against the six HL70172 codes on ingest. Recognized codes pass through to downstream channels untouched. Values that fail validation — lowercase variants, vendor extensions, or display strings — are routed to the terminology curation queue. Suspicious-but-valid combinations (civilian source with PID-27 = S, or young patient with V) are flagged with a soft warning so downstream VA reporting does not silently absorb default-fill noise.

On outbound, Vorro emits HL70172 as IS for v2.5 and earlier profiles and as CWE with CWE.14 populated for v2.7+ destinations that advertise OID-bound coded values. For FHIR outbound channels Vorro emits a Patient.extension[patient-military-status] containing the original HL70172 code, preserving round-trip fidelity.

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 Table HL70172: Veterans Military Status | Vorro Academy | Vorro