Schedule a demo
Segment

Provider data

Identifies a provider involved in a referral, carrying the provider role (referring, referred-to, or consulting), provider name, address, and identifiers. It is specifically designed for inter-enterprise referral scenarios where PV1 alone is insufficient to fully identify external providers. Multiple PRD segments appear in REF and RRI messages, one for each provider role involved in the referral.

14fields
1required
v2.9HL7 version
prd.py
from zato.hl7v2.v2_9 import PRD
from zato.hl7v2.v2_9 import CWE, XPN, PLN

prd = PRD()
prd.provider_role = CWE(
    identifier='RP',
    text='Referring Provider',
    name_of_coding_system='HL70286'
)
prd.provider_name = XPN(
    family_name='Johnson',
    given_name='Sarah'
)

Build PRD segments in Python

How to construct and work with real-world PRD segments.

1

Referring physician with name, address, and phone

Identifies a referring provider with role, full name, office address, and telephone for a wellness referral

from zato.hl7v2.v2_9 import PRD
from zato.hl7v2.v2_9 import CWE, XAD, XPN

prd = PRD()
prd.provider_role = CWE(
    identifier='RP',
    text='Referring Provider',
    name_of_coding_system='HL70286'
)
prd.provider_name = XPN(
    family_name='JOHNSON',
    given_name='SARAH'
)
prd.provider_address = XAD(
    street_address='120 Wellness Ave',
    city='Portland',
    state_or_province='OR',
    zip_or_postal_code='97201'
)
2

Consulting dietitian with location and identifiers

Records a consulting dietitian with provider location and NPI identifier for a nutrition counseling referral

from zato.hl7v2.v2_9 import PRD
from zato.hl7v2.v2_9 import CWE, PL, PLN, XPN

prd = PRD()
prd.provider_role = CWE(
    identifier='CP',
    text='Consulting Provider',
    name_of_coding_system='HL70286'
)
prd.provider_name = XPN(
    family_name='MARTINEZ',
    given_name='ELENA'
)
prd.provider_location = PL(
    point_of_care='NUTR',
    room='205'
)
prd.provider_identifiers = PLN(
    id_number='1234567890',
    type_of_id_number='NPI'
)
3

Wellness coordinator with role dates and preferred contact

Defines a wellness coordinator with effective start and end dates and a preferred contact method for ongoing program coordination

from zato.hl7v2.v2_9 import PRD
from zato.hl7v2.v2_9 import CWE, XPN

prd = PRD()
prd.provider_role = CWE(
    identifier='RT',
    text='Referred-to Provider',
    name_of_coding_system='HL70286'
)
prd.provider_name = XPN(
    family_name='THOMPSON',
    given_name='DAVID'
)
prd.preferred_method_of_contact = CWE(
    identifier='TEL',
    text='Telephone',
    name_of_coding_system='HL70185'
)
prd.effective_start_date_of_provider_role = '20240601'
prd.effective_end_date_of_provider_role = '20251231'

Learn by building

Step-by-step guides for working with HL7 v2 in Zato.

Frequently asked questions

PRD contains provider data including name, role, identifiers, and contact information. It identifies wellness coaches, nutritionists, and preventive care providers in referral messages.

Use HL70286 table values for provider roles like RP, CP, or RT:

prd.provider_role = CWE(
    identifier='RP',
    text='Referring Provider',
    name_of_coding_system='HL70286'
)

Use NPI (National Provider Identifier) as the primary identifier. Additional identifiers like state license numbers can also be included.

PRD identifies the provider while CTD contains additional contact details. Both segments work together to provide complete provider information for wellness referrals.

Zato connects to any system that speaks HL7v2 over MLLP or FHIR over REST. This includes Epic, Cerner, Meditech, Allscripts, and other EHR platforms.

Yes, Zato has built-in MLLP support for sending and receiving HL7v2 messages. MLLP channels handle the framing protocol automatically.

Zato supports HL7 v2.9, which is backward compatible with earlier versions including v2.3, v2.5, and v2.7. Standard segments and datatypes are available as typed Python classes.

Yes. Zato handles both HL7v2 and FHIR natively, so you can parse v2 messages and build FHIR resources with IG-specific extensions in the same service. Typed Python classes are available for both protocols, including extensions from US Core, UK Core, Da Vinci, and other Implementation Guides.

PRD field reference

Complete list of fields in the PRD segment, HL7 v2.9.

#Python nameDatatypeUsageRepeatableTable
1provider_roleCWERequiredYesHL70286
2provider_nameXPNOptionalYes-
3provider_addressXADOptionalYes-
4provider_locationPLOptionalNo-
5provider_communication_informationXTNOptionalYes-
6preferred_method_of_contactCWEOptionalNoHL70185
7provider_identifiersPLNOptionalYesHL70338
8effective_start_date_of_provider_roleDTMOptionalNo-
9effective_end_date_of_provider_roleDTMOptionalYes-
10provider_organization_name_and_identifierXONOptionalNo-
11provider_organization_addressXADOptionalYes-
12provider_organization_location_informationPLOptionalYes-
13provider_organization_communication_informationXTNOptionalYes-
14provider_organization_method_of_contactCWEOptionalNoHL70185

Ready to build integrations?

Get started with Zato and connect your systems in minutes.

Open source In Python