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

# IsaSegment

`IsaSegment` models the X12 ISA interchange header, the fixed-format outermost envelope segment that opens every EDI interchange. `Build()` fixes several elements to constant values required by the X12 standard — `"00"` authorization/security qualifiers, ten-space authorization/security fields, `"ZZ"` interchange-id qualifiers, and 15-character right-padded sender/receiver ids — while formatting the batch date/time and control number, and encoding the acknowledgement-request flag as `"1"`/`"0"` ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding), [BR-039](../../business-rules.md#br-039-isa-acknowledgement-request-flag)).

## Purpose
- Represents the ISA segment identity via `SegmentId` returning the literal `"ISA"` ([BR-020](../../business-rules.md#br-020-first-element-is-the-segment-identifier)).
- Fixes ISA01/ISA03 to `"00"`, ISA02/ISA04 to ten blank spaces, and ISA05/ISA07 to `"ZZ"` on `Build()`, and right-pads `SenderId`/`ReceiverId` to 15 characters at ISA06/ISA08 ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding)).
- Formats `BatchDate` as `yyMMdd`/`HHmm` at ISA09/ISA10, and emits `ControlNumber` as a fixed nine-digit string at ISA13 via `ToString("D9")` ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding)).
- Encodes `AcknowledgementRequest` as `"1"`/`"0"` at ISA14 on `Build()`, and on `Fill()` sets it to true only when the parsed value is exactly `"1"` ([BR-039](../../business-rules.md#br-039-isa-acknowledgement-request-flag)).

## 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 `"ISA"`. |
| SenderId | `string SenderId { get; set; }` | The interchange sender's identifier, right-padded to 15 characters at ISA06 on `Build()` ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding)). |
| ReceiverId | `string ReceiverId { get; set; }` | The interchange receiver's identifier, right-padded to 15 characters at ISA08 on `Build()` ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding)). |
| BatchDate | `DateTime BatchDate { get; set; }` | The interchange date/time, formatted as `yyMMdd`/`HHmm` at ISA09/ISA10 on `Build()` and combined via `DateMaker` on `Fill()`. |
| RepetitionSeparator | `string RepetitionSeparator { get; set; }` | The repetition separator character (ISA11), element 11. |
| ControlVersionNumber | `string ControlVersionNumber { get; set; }` | The interchange control version number (ISA12), element 12. |
| ControlNumber | `long ControlNumber { get; set; }` | The interchange control number, emitted as a fixed nine-digit string at ISA13 via `ToString("D9")` on `Build()`, matching the paired `IeaSegment.ControlNumber` ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding), [BR-043](../../business-rules.md#br-043-iea-control-number-emitted-as-nine-digits)). |
| AcknowledgementRequest | `bool AcknowledgementRequest { get; set; }` | Whether a functional acknowledgement is requested, encoded as `"1"`/`"0"` at ISA14 on `Build()` and read back true only for `"1"` on `Fill()` ([BR-039](../../business-rules.md#br-039-isa-acknowledgement-request-flag)). |
| UsageIndicator | `string UsageIndicator { get; set; }` | The production/test usage indicator code (ISA15), element 15. |
| ComponentElementDelimiter | `string ComponentElementDelimiter { get; set; }` | The component element separator character (ISA16), element 16. |
| Build | `IEdiSegment Build()` | Creates a `SegmentBuilder("ISA")` and writes all 16 ISA elements, fixing ISA01-ISA05/ISA07 to constant values, padding sender/receiver ids, formatting the date/time and control number, and encoding `AcknowledgementRequest`, returning the built segment ([BR-038](../../business-rules.md#br-038-isa-header-fixed-qualifiers-and-padding), [BR-039](../../business-rules.md#br-039-isa-acknowledgement-request-flag)). |
| Fill | `void Fill(IEdiSegment segment)` | Reads `SenderId`/`ReceiverId` from elements 6/8, combines elements 9-10 via `DateMaker.MakeDateTime` into `BatchDate`, reads elements 11-13/15-16, converts element 13 to `long` for `ControlNumber`, and sets `AcknowledgementRequest` to `(element 14 == "1")` ([BR-039](../../business-rules.md#br-039-isa-acknowledgement-request-flag)). |
| Parse | `static IsaSegment Parse(IEdiSegment segment)` | Instantiates a new `IsaSegment`, calls `Fill(segment)` on it, and returns it. |

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