Reference·X12 837P·PER
X12 837P Reference

X12 837P PER Segment Guide: Fields, Format, and Testing Gotchas

Jul 28, 2026 · 5 min read

A claim can be perfectly billed and still stall at the payer because nobody can reach the submitter to ask a follow-up question. PER is the segment that prevents that — a name, a phone number, maybe an email — and it's small enough that test suites routinely skip it or hardcode one contact for every claim in the file.

Quick answer

PER (Administrative Communications Contact) is an optional segment in an X12 837P claim that identifies a person or department the payer can contact about the claim, along with one or more ways to reach them. It commonly appears at the billing provider level, pairing a contact function code with a name and up to two communication number qualifier/value pairs.

The elements that actually matter in practice

PER01 →
Contact Function Code — identifies the role this contact plays — see the dedicated page below
PER02 →
Name — the person or department name tied to that role — see the dedicated page below
PER03 →
Communication Number Qualifier — identifies what kind of number or address follows — see the dedicated page below
PER04 →
Communication Number — the actual phone, fax, or email value — see the dedicated page below

Example

Synthetic example Generated by Synthibase
PER*IC*BILLING DEPT*TE*3035550142*EM*BILLING@SYNTHACLINIC.TEST

A synthetic PER segment naming BILLING DEPT as the information contact (IC), reachable by telephone (TE) at 303-555-0142 or by email (EM) at a fictitious test address.

Where this trips people up

Because PER is optional and doesn't affect whether a claim adjudicates, a lot of test data generators either omit it entirely or stamp the exact same contact block onto every claim in a batch. That works fine until a downstream system assumes PER is always present and throws a null-reference error on the one claim in production where the submitter left it off, or until a report that groups claims by billing contact shows every single claim funneling through one placeholder name because the test data never varied it.

What is X12 837P? Complete Format and Field Guide
How to Build a Trading Partner Onboarding Process for Healthcare EDI
Generate realistic PER contact data automatically
Synthibase generates synthetic 837P claims with varied, realistic PER segments across contact roles and communication methods, so your parsing and reporting logic gets tested against more than one hardcoded contact.
Start free trial →
This page is written independently by Synthibase for testing and informational purposes. It is not an official publication of HL7 International or X12/Washington Publishing Company, and is not a substitute for reviewing the official standard or your trading partner's companion guide. See our Terms of Service for full legal terms.