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

# ISegmentGroup

`ISegmentGroup` is the contract implemented by `SegmentGroup` (and, transitively, `GroupContainer` and its descendants); it extends `IList<IEdiSegment>` with the group-identity members (`Index`, `Key`, `SegmentGroupId`, `Level`) needed to describe one occurrence of a repeating segment group.

## Purpose
- Declares the group-identity surface — ordinal `Index`, control-number `Key` ([BR-034](../../business-rules.md#br-034-group-keys-derived-from-control-number-elements)), the delimiting `SegmentGroupId`, and nesting `Level` — that any grouping type produced by `EdiGroupParser` must expose.

## Context
- Namespace: `SAIF.Common.Files.Edi`
- Assembly/package: `SAIF.Framework.Common.Files`
- Extends: `IList<IEdiSegment>` (framework-standard collection contract)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Index | `int Index { get; set; }` | The sequential ordinal assigned to this group instance among its sibling groups. |
| Key | `string Key { get; set; }` | The control-number value that uniquely identifies this group occurrence ([BR-034](../../business-rules.md#br-034-group-keys-derived-from-control-number-elements)). |
| SegmentGroupId | `string SegmentGroupId { get; set; }` | The segment tag that this group was delimited by during parsing. |
| Level | `int Level { get; set; }` | The nesting depth of this group. |

## Constraints and usage notes
- `IList<IEdiSegment>` is a .NET Framework collection contract, not a local library interface, so its members are not documented as an "Inherited public members" section per this library's documentation conventions.

## Sources
- Common\SAIF.Common.Files\Edi\ISegmentGroup.cs
