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

# Ik4Segment

`Ik4Segment` models the X12 IK4 implementation acknowledgement data-element error, used within a 999 functional acknowledgement to report an error on a specific data element within an erroring segment (paired with the enclosing `Ik3Segment`), identifying the element's position and the specific syntax error code.

## Purpose
- Represents the IK4 segment identity via `SegmentId` returning the literal `"IK4"` ([BR-020](../../business-rules.md#br-020-first-element-is-the-segment-identifier)).
- Carries `ElementDataCode`, `ElementDataPosition`, `ElementDataLoopCode`, and `ElementDataSyntaxCode` describing the erroring data element within its enclosing segment.

## 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 `"IK4"`. |
| ElementDataCode | `string ElementDataCode { get; set; }` | Code classifying the erroring data element's positional reference (IK401), element 1. |
| ElementDataPosition | `string ElementDataPosition { get; set; }` | The position within the erroring segment where the error occurred (IK402), element 2. |
| ElementDataLoopCode | `string ElementDataLoopCode { get; set; }` | The loop identifier associated with the erroring data element (IK403), element 3. |
| ElementDataSyntaxCode | `string ElementDataSyntaxCode { get; set; }` | The specific syntax error code for the data element (IK404), element 4. |
| Build | `IEdiSegment Build()` | Creates a `SegmentBuilder("IK4")` 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 error-detail properties. |
| Parse | `static Ik4Segment Parse(IEdiSegment segment)` | Instantiates a new `Ik4Segment`, calls `Fill(segment)` on it, and returns it. |

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