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

# ClpSegment

`ClpSegment` models the X12 CLP claim-level data segment, the header line for each individual claim within an 835 remittance advice transaction. It carries the claim submitter identifier, adjudication status, charged and paid amounts, and the payer/filing classification for the claim, with the optional patient-responsibility amount and claim-frequency type written only when actually populated ([BR-059](../../business-rules.md#br-059-optional-segment-elements-written-only-when-populated)).

## Purpose
- Represents the CLP segment identity via `SegmentId` returning the literal `"CLP"` ([BR-020](../../business-rules.md#br-020-first-element-is-the-segment-identifier)).
- Carries `ClaimSubmitterId`, `ClaimStatusCode`, `ChargedAmount`, and `PaymentAmount` — the core identity and adjudication result for a single claim.
- Carries `ClaimFilingCode`, `BillId`, and `FacilityCode` describing the payer classification and facility context of the claim.
- Writes `PatientResponsibilityAmount` (CLP05) only when it has a value, and `FrequencyTypeCode` (CLP09) only when it is non-empty ([BR-059](../../business-rules.md#br-059-optional-segment-elements-written-only-when-populated)).

## 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 `"CLP"`. |
| ClaimSubmitterId | `string ClaimSubmitterId { get; set; }` | The claim submitter's identifier for the claim (CLP01), element 1. |
| ClaimStatusCode | `string ClaimStatusCode { get; set; }` | The adjudication status code of the claim (CLP02), element 2. |
| ChargedAmount | `decimal ChargedAmount { get; set; }` | The total amount charged for the claim (CLP03), element 3. |
| PaymentAmount | `decimal PaymentAmount { get; set; }` | The total amount paid for the claim (CLP04), element 4. |
| PatientResponsibilityAmount | `decimal? PatientResponsibilityAmount { get; set; }` | The patient's financial responsibility amount for the claim (CLP05), element 5, written only when populated ([BR-059](../../business-rules.md#br-059-optional-segment-elements-written-only-when-populated)). |
| ClaimFilingCode | `string ClaimFilingCode { get; set; }` | The claim filing indicator code identifying the payer type (CLP06), element 6. |
| BillId | `long BillId { get; set; }` | The payer's internal claim/bill identifier (CLP07), element 7. |
| FacilityCode | `string FacilityCode { get; set; }` | The facility type code for the claim (CLP08), element 8. |
| FrequencyTypeCode | `string FrequencyTypeCode { get; set; }` | The claim frequency type code (CLP09), element 9, written only when non-empty ([BR-059](../../business-rules.md#br-059-optional-segment-elements-written-only-when-populated)). |
| Build | `IEdiSegment Build()` | Creates a `SegmentBuilder("CLP")`, adds elements 1-4, 6-8 unconditionally, adds `PatientResponsibilityAmount` at element 5 only if it has a value, and adds `FrequencyTypeCode` at element 9 only if non-empty, returning the built segment. |
| Fill | `void Fill(IEdiSegment segment)` | Reads elements 1-9 via `GetChildValue`, converting `ChargedAmount`, `PaymentAmount`, and `PatientResponsibilityAmount` to `decimal` and `BillId` to `long`. |
| Parse | `static ClpSegment Parse(IEdiSegment segment)` | Instantiates a new `ClpSegment`, calls `Fill(segment)` on it, and returns it. |

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