The PLN (Practitioner License or Other ID Number) data type was introduced in HL7 v2.3 to carry a single credential belonging to a clinician — a state license, a DEA registration, an NPI, a board certification number, or any other professional identifier — together with the metadata needed to interpret it: what kind of credential it is, where it was issued, and when it expires. PLN is the canonical data type behind PRA-5 Practitioner Identifier Numbers and STF-12, the two fields where a master practitioner directory accumulates the credentials a clinician carries across their career.
Purpose
A practitioner accumulates many identifiers over a career: one or more state medical or nursing licenses, a federal NPI, a DEA number for controlled-substance prescribing, board certifications, hospital privileging numbers, and external registries. PLN exists to transmit each of these as a self-describing unit — the value plus its type code plus the qualifying state or jurisdiction plus an expiration date — so downstream credentialing systems can reconcile, expire, and revalidate them automatically rather than treating every credential as an opaque string.
Component table
Source: HAPI HL7v2 v2.8.1 javadocs (PLN).
| Comp | Name | Sub-type | Length | Required | Description |
|---|---|---|---|---|---|
| PLN.1 | ID Number | st | — | R | The credential value itself — license number, NPI, DEA registration, board certificate number. |
| PLN.2 | Type of ID Number | is | — | R | Coded credential type from HL7 table [HL70338] — e.g. DEA, MDL (MD state license), RN (RN state license), NPI. |
| PLN.3 | State / Other Qualifying Information | st | — | O | Issuing jurisdiction or other qualifier (state code for a state license, board name for a certification). |
| PLN.4 | Expiration Date | dt | — | O | Date the credential expires and must be renewed. |
Most-used components
- PLN.1 ID Number — the credential value indexed by downstream credentialing systems.
- PLN.2 Type of ID Number — names the kind of credential; without it, "1234567890" cannot be distinguished as an NPI vs. a DEA vs. a license.
- PLN.3 State / Other Qualifying Information — required in practice for state licenses because the same number can exist independently in multiple states.
- PLN.4 Expiration Date — the trigger for credential-renewal workflows.
Where it's used
- PRA-5 Practitioner Identifier Numbers — repeats once per credential the practitioner holds (NPI + DEA + per-state licenses).
- STF-12 Practitioner Identifier — staff-directory credential field on the master Staff segment.
- Modern v2.7+ profiles also surface PLN-style credential data on PRT participation segments via embedded identifier fields.
Version differences
- HL7 v2.3 — PLN introduced as a four-component data type to support the new PRA Practitioner Detail segment and the STF Staff Identification segment.
- HL7 v2.4 / v2.5 — table [HL70338] expanded to include additional credential codes (NPI was promoted as the U.S. national identifier).
- HL7 v2.6 / v2.7 — component count unchanged; semantics of PLN.3 clarified to permit non-state qualifiers (specialty board names, federal agency codes).
- HL7 v2.8 / v2.8.1 — no structural change; HAPI v2.8.1 javadoc reflects the same four-component layout as v2.3 with broader code-table coverage.
Common mistakes
- Omitting PLN.2 Type of ID Number — receivers cannot tell whether the value is an NPI, DEA, or state license and credentialing logic falls back to guessing.
- Stuffing the credential type into PLN.1 (e.g.
NPI:1234567890) — PLN.1 carries the bare value; the type belongs in PLN.2 as a code from HL70338. - Sending a state license without PLN.3 —
MD-12345^MDLis ambiguous because California, Texas, and New York all issue MDL numbers in overlapping ranges; the state code is what scopes it. - Free-text in PLN.2 (
"Medical License") instead of a HL70338 code likeMDL— engines validating against the table reject the value. - Omitting PLN.4 Expiration Date on a state license — credentialing systems cannot drive renewal alerts and rely on out-of-band tracking.
Examples
Minimal NPI (value + type, no jurisdiction since NPI is federal):
1234567890^NPI
NPI with expiration date:
1234567890^NPI^^20281231
California medical license with expiration:
MD-12345^MDL^CA^20260601
DEA registration:
BX1234567^DEA^^20270930
In context — PRA-5 Practitioner Identifier Numbers carrying three credentials (~ repetition separator):
MSH|^~&|HRIS|MERCY^2.16.840.1.113883.19.5^ISO|EHR|MERCY|20260610105500||MFN^M02^MFN_M02|MSG00210|P|2.8.1
STF|1|999001^^^MERCY&2.16.840.1.113883.19.5&ISO^PRN|SMITH^JANE^Q^^DR^MD|P|F|19720508|A
PRA||MERCY^2.16.840.1.113883.19.5^ISO|MD^Doctor of Medicine^HL70360|||1234567890^NPI^^20281231~BX1234567^DEA^^20270930~MD-12345^MDL^CA^20260601
Common pitfall — type code stuffed into the value:
PRA||MERCY|MD|||NPI1234567890
Downstream credentialing reads the full string NPI1234567890 as the identifier and cannot match it against the NPI registry because the actual NPI is 1234567890 and NPI belongs in PLN.2.
FHIR mapping
The v2-to-FHIR IG publishes a PLN ConceptMap at ConceptMap-datatype-pln-to-identifier. PLN is mapped to a FHIR Identifier with its type populated from HL70338.
| PLN component | FHIR element | Notes |
|---|---|---|
| PLN.1 | Identifier.value | Raw credential value. |
| PLN.2 | Identifier.type.coding | HL70338 code mapped to the FHIR v2-0338 ValueSet. |
| PLN.3 | Identifier.system (jurisdictional) or extension | State licenses resolve to urn:oid:2.16.840.1.113883.4.3.<state-fips> or equivalent. |
| PLN.4 | Identifier.period.end | Expiration date. |
For practitioners these Identifier instances populate Practitioner.identifier on the FHIR Practitioner resource produced from the surrounding STF/PRA mapping.
Engine considerations
- PLN.2 is the routing key for credential semantics — engines that ingest PRA-5 must split the repetitions and group by PLN.2 so NPI, DEA, and license values land in their respective registries.
- State qualifier in PLN.3 is free-text — most engines normalize to USPS two-letter codes (
CA,NY,TX) on inbound, but tolerate full state names for legacy senders. - Expiration handling: PLN.4 is a DT (date), not a DTM (timestamp) — engines that store credentials as DTM must default the time-of-day to a documented value (typically end-of-day local time) to avoid off-by-one expiration alerts.
- HAPI HL7v2 v2.8.1 generates
ca.uhn.hl7v2.model.v281.datatype.PLNwith four typed accessors (getIDNumber,getTypeOfIDNumber,getStateOtherQualifyingInformation,getExpirationDate).
How Vorro parses and produces PLN
Vorro decomposes every PLN into (value, type-code, jurisdiction, expiration) and indexes each repetition by PLN.2 against a curated credential registry. NPI values are validated against the Luhn-mod-10 algorithm on ingest, DEA numbers against the DEA checksum, and state licenses against per-state format rules — invalid credentials are routed to a review queue rather than silently dropped.
On outbound, Vorro emits one PLN repetition per credential carried in the master practitioner record, always populates PLN.2 from the HL70338-aligned credential type, and supplies PLN.3 with a USPS state code for state licenses (or a normalized board/agency code for non-state credentials). Expired credentials are emitted with PLN.4 in the past so downstream systems can flag them.
Related pages
- CX data type — Extended Composite ID with Check Digit
- PRA segment — Practitioner Detail
- STF segment — Staff Identification
