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 HL70912: Participation

HL70912 is the HL7 v2 code table for participation — the role a person, organization, or device plays in relation to whatever the parent segment is describing (an encounter, an order, an observation, a procedure). It is carried in PRT-4 Participation on the PRT (Participation Information) segment that was added in HL7 v2.7. HL70912 is the newer of two overlapping provider-role tables in v2: HL70912 lives on PRT, and the older HL70443 lives on ROL. Sites that have migrated from ROL to PRT use HL70912; sites that still emit ROL stay on HL70443. Many sites emit both.

Purpose

HL70912 lets sending systems express who participated and how on any segment that supports PRT — encounters, orders, results, procedures, specimens. Unlike the older ROL/HL70443 pair, which was tied to encounter-style messages, PRT/HL70912 is reusable across the standard, so the same code (AT = Attending Provider) can describe the attending on an encounter, the attending on a procedure, and the attending on a discharge summary in a consistent way. Receivers use the code to drive care-team displays, route work to the right inbox, and populate FHIR Encounter.participant.type or PractitionerRole.code.

Where it's used

  • PRT-4 Participation — the canonical home of HL70912, added in v2.7 and present on most v2.7+ event messages.
  • PRT segments may appear under PID, PV1, ORC, OBR, OBX, and others — PRT-4 carries HL70912 in every case.
  • Note: ROL-3 on the older ROL segment uses HL70443, not HL70912. The two tables overlap but are not identical (HL70912 adds OP Operating Practitioner; HL70443 has FHCP Family Health Care Professional which HL70912 does not).

Code list

CodeDisplayComment/Description
APAdmitting ProviderProvider who admitted the patient. Equivalent to HL70443 AD.
ATAttending ProviderProvider with primary clinical responsibility. Shares the AT code with HL70443 — same meaning.
CPConsulting ProviderProvider consulted for a specific question or service. Shares the CP code with HL70443.
OPOperating PractitionerProvider performing a procedure or operation. New in HL70912; no HL70443 equivalent.
PPPrimary Care ProviderPatient's primary care provider, typically external. Shares the PP code with HL70443.
RPReferring ProviderProvider who referred the patient. Shares the RP code with HL70443.
RTReferred to ProviderProvider the patient was referred to. Shares the RT code with HL70443.

Code system OID

  • OID: 2.16.840.1.113883.18.404
  • Canonical URI: http://terminology.hl7.org/CodeSystem/v2-0912

The OID resolves on the HL7 Terminology server. PRT-4 is CWE from inception, so Vorro emits this OID in CWE.14 by default on outbound PRT segments.

HL7-defined vs user-defined

HL70912 is user-defined. The seven published codes above are the suggested set; sites are permitted to add local roles (assistant surgeon, anesthesiologist, scrub nurse, case manager) and many do. Receivers must accept site-local codes and surface unknowns for curation rather than NAK the PRT segment.

Version differences

  • Pre-v2.7 — HL70912 does not exist. Provider role lives on ROL-3 bound to HL70443.
  • v2.7 — PRT segment introduced; HL70912 published with seven codes (AP, AT, CP, OP, PP, RP, RT).
  • v2.7.1 – v2.8 — Set unchanged; usage spread across non-encounter segments (orders, observations).
  • v2.8.1 — Set frozen at seven codes; HL7 guidance recommends new implementations use PRT/HL70912 rather than ROL/HL70443, though both remain valid.

Common mistakes

  • Looking up AP (Admitting Provider) in HL70443 and rejecting the message when it is not found. AP is HL70912 only; the HL70443 equivalent is AD. Receivers must bind PRT-4 to HL70912 and ROL-3 to HL70443 separately.
  • Treating HL70912 as a strict superset of HL70443. It is not — FHCP (Family Health Care Professional) exists in HL70443 but not in HL70912.
  • Sending HL70443 codes on PRT-4. AD will not validate on PRT-4 because the field binds HL70912; the correct code is AP.
  • Mapping OP (Operating Practitioner) to FHIR Encounter.participant.type=ATND. OP belongs on the procedure performer (Procedure.performer.function), not on the encounter attender.
  • Failing to keep ROL and PRT aligned when both are emitted for the same encounter. A site that says AT on ROL and AP on PRT for the same provider has a data-quality problem; integration engines should reconcile rather than silently pick one.

Examples

A PRT segment listing the attending provider on a result:

PRT|1|AD||AT^Attending Provider^HL70912|1234^SMITH^JOHN^A^^^MD^^NPI^L^^^NPI||20260612083000

PRT listing the operating practitioner on a procedure:

PRT|2|AD||OP^Operating Practitioner^HL70912|5678^GREEN^ALICE^B^^^MD^^NPI^L^^^NPI||20260612090000

Same AT value translated to a FHIR Encounter.participant snippet:

{
  "resourceType": "Encounter",
  "id": "enc-10456",
  "participant": [{
    "type": [{
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v2-0912",
        "code": "AT",
        "display": "Attending Provider"
      }]
    }],
    "individual": { "reference": "Practitioner/1234" }
  }]
}

OP (Operating Practitioner) on a procedure performer:

{
  "resourceType": "Procedure",
  "id": "proc-77",
  "performer": [{
    "function": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v2-0912",
        "code": "OP",
        "display": "Operating Practitioner"
      }]
    },
    "actor": { "reference": "Practitioner/5678" }
  }]
}

Mapping failure example — wrong table:

PRT|3|AD||AD^Admitting Provider^HL70912|1234^SMITH^JOHN^A^^^MD^^NPI^L^^^NPI||20260612083000

AD is the HL70443 code for Admitting. On PRT-4 the receiver should look up AD in HL70912, not find it (HL70912 uses AP), and surface the mismatch — either by curating an inbound mapping that rewrites ADAP for this source, or by NAK-with-warning depending on conformance posture.

FHIR mapping

The HL7 v2-to-FHIR Implementation Guide publishes ConceptMap-table-hl70912-to-practitioner-role. Most codes preserve their HL70912 value as a Coding on Encounter.participant.type or PractitionerRole.code; OP routes to Procedure.performer.function instead.

HL7 v2 (HL70912)FHIR target
APEncounter.participant.type — ADM (admitter)
ATEncounter.participant.type — ATND (attender)
CPEncounter.participant.type — CON (consultant)
OPProcedure.performer.function — PRF (performer)
PPPatient.generalPractitioner (out-of-encounter)
RPEncounter.participant.type — REF (referrer)
RT(typically Patient.generalPractitioner — outbound referral)

Engine considerations

  • Bind by field, not by code shape — ROL-3 binds HL70443; PRT-4 binds HL70912. Do not collapse the two tables into a single lookup.
  • Cross-table reconciliation — When both ROL and PRT are present for the same encounter, reconcile HL70443 and HL70912 against each other and flag disagreements.
  • OP routingOP belongs on the procedure performer, not the encounter attender. A naive engine that always maps PRT-4 to Encounter.participant.type will mis-place operating practitioners.
  • User-defined — never NAK — Preserve unknown codes and surface for curation.

How Vorro handles HL70912

Vorro accepts any value in PRT-4, normalizes case, and binds the lookup against HL70912 specifically (not HL70443). Codes that match the published set flow to FHIR per the IG ConceptMap, with OP routed to Procedure.performer.function and PP/RT routed to Patient.generalPractitioner rather than Encounter.participant. Unknown codes are preserved verbatim and surfaced for curation.

When the same source emits both ROL and PRT, Vorro reconciles HL70443 (ROL-3) and HL70912 (PRT-4) per provider and flags any mismatch — for example, ROL says AD but PRT says AP for the same provider on the same encounter is correct (both encode admitting), but ROL says AT and PRT says RP is a contradiction that surfaces for operator review.

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 HL70912: Participation | Vorro Academy | Vorro