---
title: PerSegment
summary: API reference for PerSegment.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common.Files
reference_type: package
---

# PerSegment

`PerSegment` models the X12 PER administrative communications contact segment, used in 837 claim transactions to carry a contact name and a single communication number (e.g. phone, fax) for a party such as the billing provider or submitter.

## Purpose
- Represents the PER segment identity via `SegmentId` returning the literal `"PER"` ([BR-020](../../business-rules.md#br-020-first-element-is-the-segment-identifier)).
- Carries `ContactFunctionCode` classifying the contact's role, `Name` naming the contact, and `CommunicationNumberQualifier`/`CommunicationNumber` giving one contact method.

## Context
- Namespace: `SAIF.Common.Files.Edi.Segments`
- Assembly/package: `SAIF.Framework.Common.Files`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| SegmentId | `string SegmentId { get; }` | Returns the literal X12 segment identifier `"PER"`. |
| ContactFunctionCode | `string ContactFunctionCode { get; set; }` | Code classifying the contact's function/role (PER01), element 1. |
| Name | `string Name { get; set; }` | The contact's name (PER02), element 2. |
| CommunicationNumberQualifier | `string CommunicationNumberQualifier { get; set; }` | The qualifier for the communication number's type (PER03), element 3. |
| CommunicationNumber | `string CommunicationNumber { get; set; }` | The contact's communication number value (PER04), element 4. |
| Build | `IEdiSegment Build()` | Creates a `SegmentBuilder("PER")` and adds all four fields at elements 1-4, returning the built segment. |
| Fill | `void Fill(IEdiSegment segment)` | Reads elements 1-4 via `GetChildValue` into the four contact properties. |
| Parse | `static PerSegment Parse(IEdiSegment segment)` | Instantiates a new `PerSegment`, calls `Fill(segment)` on it, and returns it. |

## Sources
- Common\SAIF.Common.Files\Edi\Segments\PerSegment.cs
