HL70007 is an HL7-defined code table present since HL7 v2.1, and it carries the admission type — the reason category for an inpatient or outpatient encounter at the moment of registration. It sits behind PV1-4 Admission Type on every ADT message that creates or updates an encounter. The values are short single-character codes drawn from the IS data type — seven total in v2.8.1.
Purpose
HL70007 records the high-level category that explains why the encounter was created: was it an elective surgery, an emergency-department arrival, an urgent admit from a clinic, a routine scheduled admit, a labor and delivery admit, a newborn admit, or the result of an accident. Registration clerks and ADT feeds use it to drive bed-board categorization, billing rules, and reporting cohorts. It is not a clinical diagnosis and not the chief complaint — it is the administrative bucket the encounter was created under.
Because the table is HL7-defined, every conformant v2 receiver is expected to recognize the seven codes below without local extension. Sites that need richer admission semantics (for example, a separate "transfer-in" vs "direct admit" distinction) typically combine HL70007 with PV1-18 Patient Type or with a site-defined extension table rather than overloading PV1-4.
Where it's used
- PV1-4 Admission Type — the canonical home of HL70007, populated on every ADT^A01, ADT^A04, ADT^A08 and the rest of the ADT family.
- PV2 Visit Information segments in some profiles also carry the same code in supplementary fields.
- Downstream financial messages (DFT, BAR) frequently echo PV1-4 onto charge events.
Code list
| Code | Display | Comment/Description |
|---|---|---|
| A | Accident | Encounter created as the result of an accident — motor vehicle, workplace, fall, etc. Often triggers workers' compensation or auto-insurance billing flows. |
| C | Elective | Pre-scheduled non-urgent admission, typically for planned surgery or a planned procedure. |
| E | Emergency | Encounter created through the emergency department or as an emergency direct admit. |
| L | Labor and Delivery | Maternal admission for labor and delivery. |
| N | Newborn | Admission of a newborn, typically generated in the well-baby workflow shortly after the L&D admission of the mother. |
| R | Routine | Routine admission — a planned admit that is not elective surgery (for example, a planned medical inpatient stay). |
| U | Urgent | Admission that is not an emergency but cannot wait for an elective slot; typically same-day or next-day from a clinic referral. |
Code system OID
- OID:
2.16.840.1.113883.18.7 - Canonical URI:
http://terminology.hl7.org/CodeSystem/v2-0007
The OID resolves on the HL7 Terminology server and is the value Vorro emits in CWE.14 when a downstream profile demands OID-bound coded values for PV1-4.
HL7-defined vs user-defined
HL70007 is HL7-defined. The table number falls inside the HL7-reserved range (HL70001–HL70999), and the code set is normative — receivers must accept all seven values without local extension, and senders must not invent additional codes inside this table. Sites that need a richer set of admission categories typically populate a site-defined Patient Type field (PV1-18) alongside PV1-4 rather than adding local codes to HL70007.
Version differences
- v2.1 – v2.2 — Four values: A, C, E, R.
- v2.3 —
U(Urgent) added to distinguish urgent from emergency from elective. - v2.3.1 —
L(Labor and Delivery) andN(Newborn) added to support OB and well-baby workflows. - v2.4 – v2.8.1 — Set frozen at seven codes; no further additions.
- v2.9 — HL70007 itself is unchanged; PV1-4 may be transmitted as CWE in profiles that require OID-bound vocabulary.
Common mistakes
- Sending the display word in PV1-4 —
Emergencyinstead ofE. PV1-4 isIS(orCWEin modern profiles), and the code value is the single-character symbol. - Confusing
U(Urgent) withE(Emergency).Emeans the encounter came through the ED or was admitted as a true emergency;Umeans it could not wait for elective scheduling but did not arrive as an emergency. - Sending
N(Newborn) on the mother's admission. The mother isL; the baby isNon a separate ADT^A01. - Defaulting unknown admission type to
R(Routine) because the EHR demands a non-null value. PV1-4 is not strictly required in every profile; leaving it empty is better than guessing. - Extending HL70007 locally with
T(Transfer),OBS(Observation), or vendor-specific codes. HL70007 is HL7-defined; locally extended codes break conformance and FHIR mapping.
Examples
A minimal PV1 for an emergency admission:
PV1|1|I|2W^201^A^ST LUKES^^N|E|||1234^SMITH^JOHN^A^^^DR|||MED||||1||||V|10456^^^FIN|||||||||||||||||||||ST LUKES|||||202606250830
A scheduled elective surgery:
PV1|1|I|3E^312^B^ST LUKES^^N|C|||5678^JONES^MARY^B^^^DR|||SUR||||3||||V|10457^^^FIN
A newborn admit immediately following the mother's L&D admission:
PV1|1|I|NURS^N12^A^ST LUKES^^N|N|||9876^WONG^LI^C^^^DR|||PED
Same E value translated to a FHIR Encounter snippet:
{
"resourceType": "Encounter",
"id": "enc-10456",
"priority": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActPriority",
"code": "EM",
"display": "emergency"
}]
},
"extension": [{
"url": "http://example.org/StructureDefinition/v2-admission-type",
"valueCoding": {
"system": "http://terminology.hl7.org/CodeSystem/v2-0007",
"code": "E",
"display": "Emergency"
}
}]
}
Mapping failure example — unknown vendor code:
PV1|1|I|2W^201^A|OBS
OBS is not in HL70007. A conformant engine should route the message to a curation queue, preserve the original OBS in the audit log, and either remap to an approved code (commonly R for an observation stay treated as routine) or pass through with a warning rather than silently dropping the value.
FHIR mapping
There is no published v2-to-FHIR ConceptMap that maps HL70007 cleanly onto a single FHIR element, because v2 admission type conflates two FHIR concepts:
- Encounter.priority — covers Elective, Routine, Urgent, Emergency (mapped to ActPriority codes
EL,R,UR,EM). - Encounter.class plus extensions — covers Newborn and Labor and Delivery, which are not priorities but encounter categories.
| HL7 v2 (HL70007) | FHIR target |
|---|---|
| C Elective | Encounter.priority = EL |
| R Routine | Encounter.priority = R |
| U Urgent | Encounter.priority = UR |
| E Emergency | Encounter.priority = EM (Encounter.class typically EMER) |
| A Accident | Encounter.priority = UR + reasonCode extension |
| L Labor and Delivery | Encounter.class extension + serviceType |
| N Newborn | Encounter.class extension + Patient.birthDate alignment |
Because the mapping is lossy, the original HL70007 code should be preserved as an extension on Encounter so the v2 outbound channel can restore the distinction.
Engine considerations
- Single-character validation — PV1-4 is one character; engines should reject multi-character payloads outright rather than truncate.
- Case sensitivity — HL70007 codes are case-sensitive uppercase;
eis not a valid code. Normalize on ingest. - CWE upgrade path — In v2.7+ profiles PV1-4 may be transmitted as CWE rather than IS, allowing OID metadata in CWE.14 (
2.16.840.1.113883.18.7). Engines must handle both shapes. - L/N pairing — When an L admit arrives, the engine should expect a paired N admit for the newborn within hours and should not treat the N as an orphan if the mother's record is found.
- Round-trip preservation — When mapping to FHIR
Encounter.priority, store the original HL70007 code as an extension so the v2 outbound channel can restore A vs U vs E distinction.
How Vorro handles HL70007
Vorro validates PV1-4 against the seven HL70007 codes on ingest. Values that match are forwarded to all downstream channels untouched. Values that fail validation — including lowercase variants, vendor extensions, and accidental display strings — are routed to the terminology curation queue, where they either resolve to one of the seven canonical codes (and a remap rule is created) or pass through with a soft warning so downstream systems are not silently fed bad data.
On outbound, Vorro emits HL70007 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. When mapping to FHIR Encounter, Vorro splits the value across Encounter.priority and a v2-admission-type extension so the original code can be restored on the way back to HL7 v2.
Related pages
- PV1 segment — Patient Visit
- HL70004 code table — Patient Class
- HL70112 code table — Discharge Disposition
