---
title: SAIF.Framework.Common.Files API reference
summary: Index of all public types in this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common.Files
reference_type: package
---

# SAIF.Framework.Common.Files API reference

This page lists all public types exposed by `SAIF.Framework.Common.Files`. Each type links to its full API reference page.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [FileFormats](saif.common.files/FileFormats.md) | Enum | `SAIF.Common.Files` | Declares the four supported (plus one unimplemented) flat-file layout formats used to select a parsing/writing strategy. |
| [FileDelimiters](saif.common.files/FileDelimiters.md) | Static class | `SAIF.Common.Files` | Centralizes the comma and tab delimiter literals used by the CSV/TabDelimited format attributes. |
| [IFileConfiguration](saif.common.files/IFileConfiguration.md) | Interface | `SAIF.Common.Files` | The resolved runtime layout contract consumed by `FileReader<TRecord>`/`FileWriter<TRecord>`. |
| [IParser&lt;T&gt;](saif.common.files/IParser.md) | Interface | `SAIF.Common.Files` | The minimal shared parsing contract coupling the flat-file and EDI parsing subsystems. |
| [FileReader](saif.common.files.core/FileReader.md) | Static class | `SAIF.Common.Files.Core` | Reads a whole file into raw untyped `Record`/`TabDelimitedRecord` rows without a configuration. |
| [FileReader&lt;TRecord&gt;](saif.common.files.core/FileReaderOfT.md) | Static generic class | `SAIF.Common.Files.Core` | Attribute/configuration-driven typed flat-file reader. |
| [FileWriter&lt;TRecord&gt;](saif.common.files.core/FileWriterOfT.md) | Static generic class | `SAIF.Common.Files.Core` | Attribute/configuration-driven typed flat-file writer. |
| [Record](saif.common.files.core/Record.md) | Class | `SAIF.Common.Files.Core` | Raw-line record model bound directly for whole-line record types. |
| [TabDelimitedRecord](saif.common.files.core/TabDelimitedRecord.md) | Class | `SAIF.Common.Files.Core` | Tab-delimited row model that lazily splits its `Value` into `Field` items. |
| [Field](saif.common.files.core/Field.md) | Class | `SAIF.Common.Files.Core` | An individual delimited-field value and its ordinal position within a `TabDelimitedRecord`. |
| [IRecord](saif.common.files.core/IRecord.md) | Interface | `SAIF.Common.Files.Core` | Contract implemented by `Record`, satisfied by any type wanting raw-line binding. |
| [IDelimitedRecord](saif.common.files.core/IDelimitedRecord.md) | Interface | `SAIF.Common.Files.Core` | Contract implemented by `TabDelimitedRecord` for delimited row access via `GetChildValue`. |
| [IField](saif.common.files.core/IField.md) | Interface | `SAIF.Common.Files.Core` | Contract implemented by `Field`. |
| [FormatBase](saif.common.files.core.attributes/FormatBase.md) | Abstract attribute class | `SAIF.Common.Files.Core.Attributes` | Base attribute carrying format-level metadata for concrete format attributes. |
| [Csv](saif.common.files.core.attributes/Csv.md) | Attribute class | `SAIF.Common.Files.Core.Attributes` | Declares CSV format with comma delimiter and quoted-field handling. |
| [TabDelimited](saif.common.files.core.attributes/TabDelimited.md) | Attribute class | `SAIF.Common.Files.Core.Attributes` | Declares tab-delimited format. |
| [DelimitedBy](saif.common.files.core.attributes/DelimitedBy.md) | Attribute class | `SAIF.Common.Files.Core.Attributes` | Declares a custom-delimiter format with an explicit delimiter. |
| [FixedFormat](saif.common.files.core.attributes/FixedFormat.md) | Attribute class | `SAIF.Common.Files.Core.Attributes` | Declares fixed-width format driving position/length-based layout. |
| [DelimitedLayout](saif.common.files.core.attributes/DelimitedLayout.md) | Attribute class | `SAIF.Common.Files.Core.Attributes` | Maps a property to a 1-based delimited element ordinal. |
| [FixedLayout](saif.common.files.core.attributes/FixedLayout.md) | Attribute class | `SAIF.Common.Files.Core.Attributes` | Maps a property to a fixed-width position/length pair. |
| [FileConfiguration](saif.common.files.core.configurations/FileConfiguration.md) | Class | `SAIF.Common.Files.Core.Configurations` | Non-generic runtime layout model populated by attribute discovery. |
| [FileConfiguration&lt;T&gt;](saif.common.files.core.configurations/FileConfigurationOfT.md) | Generic class | `SAIF.Common.Files.Core.Configurations` | Code-first fluent alternative to attribute-based configuration. |
| [FileRecordLayout](saif.common.files.core.configurations/FileRecordLayout.md) | Class | `SAIF.Common.Files.Core.Configurations` | Per-property layout record consumed by the reader and writer. |
| [FileLayoutBuilder](saif.common.files.core.configurations/FileLayoutBuilder.md) | Class | `SAIF.Common.Files.Core.Configurations` | Fluent chained builder for configuring a single `FileRecordLayout`. |
| [IFileLayoutBuilder](saif.common.files.core.configurations/IFileLayoutBuilder.md) | Interface | `SAIF.Common.Files.Core.Configurations` | Contract for the fluent layout builder API. |
| [EdiManager](saif.common.files.edi/EdiManager.md) | Class | `SAIF.Common.Files.Edi` | The sanctioned facade entry point for reading/writing EDI interchange files via `File()`'s fluent builder. |
| [EdiFile](saif.common.files.edi/EdiFile.md) | Class | `SAIF.Common.Files.Edi` | The root domain object for a parsed/constructed EDI interchange; owns the flat segment list and lazily builds the functional-group hierarchy. |
| [EdiSegment](saif.common.files.edi/EdiSegment.md) | Class | `SAIF.Common.Files.Edi` | The untyped in-memory representation of one X12 segment, consumed by typed segment `Fill()`/`Parse()` methods. |
| [EdiElement](saif.common.files.edi/EdiElement.md) | Abstract class | `SAIF.Common.Files.Edi` | Shared base for `EdiSegment`, `EdiDataElement`, and `EdiCompositeDataElement`, carrying ordinal position, raw value, and element kind. |
| [EdiDataElement](saif.common.files.edi/EdiDataElement.md) | Class | `SAIF.Common.Files.Edi` | A simple (non-composite) X12 data element, serialized with a trailing asterisk delimiter. |
| [EdiCompositeDataElement](saif.common.files.edi/EdiCompositeDataElement.md) | Class | `SAIF.Common.Files.Edi` | A composite X12 data element containing colon-separated sub-elements. |
| [EdiRecordBase](saif.common.files.edi/EdiRecordBase.md) | Class | `SAIF.Common.Files.Edi` | Shared base supplying the three X12 delimiter characters and a sequential index generator to parsers/builders. |
| [SegmentGroup](saif.common.files.edi/SegmentGroup.md) | Class | `SAIF.Common.Files.Edi` | The base grouping unit produced by `EdiGroupParser.ParseSegmentGroup`, keyed by a control-number value. |
| [GroupContainer](saif.common.files.edi/GroupContainer.md) | Class | `SAIF.Common.Files.Edi` | Extends `SegmentGroup` with an explicit header/trailer pair and a member-only `Segments` collection. |
| [FunctionalGroup](saif.common.files.edi/FunctionalGroup.md) | Class | `SAIF.Common.Files.Edi` | Represents one X12 functional group (GS/GE), keyed by GS06. |
| [FunctionalGroupContainer](saif.common.files.edi/FunctionalGroupContainer.md) | Class | `SAIF.Common.Files.Edi` | The top-level collection type returned by `EdiFile.FunctionalGroups`. |
| [TransactionSet](saif.common.files.edi/TransactionSet.md) | Class | `SAIF.Common.Files.Edi` | Represents one X12 transaction set (ST/SE), keyed by ST02. |
| [TransactionSetContainer](saif.common.files.edi/TransactionSetContainer.md) | Class | `SAIF.Common.Files.Edi` | Collection type held by `FunctionalGroup.TransactionSets`. |
| [HierarchialTransaction](saif.common.files.edi/HierarchialTransaction.md) | Class | `SAIF.Common.Files.Edi` | Represents one BHT-rooted hierarchical transaction, nesting `HierarchialLevel` objects. |
| [HierarchialTransactionContainer](saif.common.files.edi/HierarchialTransactionContainer.md) | Class | `SAIF.Common.Files.Edi` | Collection type held by `TransactionSet.HierarchialTransactions`. |
| [HierarchialLevel](saif.common.files.edi/HierarchialLevel.md) | Class | `SAIF.Common.Files.Edi` | Represents one HL-rooted hierarchical level nested within a `HierarchialTransaction`. |
| [NameBuilder](saif.common.files.edi/NameBuilder.md) | Class | `SAIF.Common.Files.Edi` | Generates outbound EDI file names in a fixed timestamped pattern. |
| [Delimiters](saif.common.files.edi/Delimiters.md) | Static class | `SAIF.Common.Files.Edi` | Publicly-accessible constant duplicates of the three X12 delimiter characters. |
| [IEdiFile](saif.common.files.edi/IEdiFile.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `EdiFile`. |
| [IEdiSegment](saif.common.files.edi/IEdiSegment.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `EdiSegment`. |
| [IEdiElement](saif.common.files.edi/IEdiElement.md) | Interface | `SAIF.Common.Files.Edi` | Shared contract for every parsed EDI element kind. |
| [IEdiCompositeDataElement](saif.common.files.edi/IEdiCompositeDataElement.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `EdiCompositeDataElement`. |
| [IEdiDataElement](saif.common.files.edi/IEdiDataElement.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `EdiDataElement` (and `EdiCompositeDataElement`). |
| [IEdiEntity](saif.common.files.edi/IEdiEntity.md) | Interface | `SAIF.Common.Files.Edi` | Declared but not referenced by any live code in this library — a reserved/unused contract. |
| [ISegmentGroup](saif.common.files.edi/ISegmentGroup.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `SegmentGroup`. |
| [IFunctionalGroup](saif.common.files.edi/IFunctionalGroup.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `FunctionalGroup`. |
| [ITransactionSet](saif.common.files.edi/ITransactionSet.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `TransactionSet`. |
| [IHierarchialTransaction](saif.common.files.edi/IHierarchialTransaction.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `HierarchialTransaction`. |
| [IHierarchialLevel](saif.common.files.edi/IHierarchialLevel.md) | Interface | `SAIF.Common.Files.Edi` | Contract implemented by `HierarchialLevel`. |
| [ElementType](saif.common.files.edi/ElementType.md) | Enum | `SAIF.Common.Files.Edi` | Classifies an `EdiElement` as a segment, simple data element, or composite data element. |
| [Areas](saif.common.files.edi/Areas.md) | Enum | `SAIF.Common.Files.Edi` | Declared but not referenced by any live code in this library — reserved/unused. |
| [RequirementDesignator](saif.common.files.edi/RequirementDesignator.md) | Enum | `SAIF.Common.Files.Edi` | Declared but not referenced by any live code — reserved/unused. |
| [RelationalCondition](saif.common.files.edi/RelationalCondition.md) | Enum | `SAIF.Common.Files.Edi` | Declared but not referenced by any live code — reserved/unused. |
| [DataElementType](saif.common.files.edi/DataElementType.md) | Enum | `SAIF.Common.Files.Edi` | Declared but not referenced by any live code — reserved/unused. |
| [SegmentGroupType](saif.common.files.edi/SegmentGroupType.md) | Enum | `SAIF.Common.Files.Edi` | Declared but not referenced by any live code — reserved/unused. |
| [EdiFileBuilder](saif.common.files.edi.core.builders/EdiFileBuilder.md) | Class | `SAIF.Common.Files.Edi.Core.Builders` | Fluent builder returned by `EdiManager.File()` that stages a file path and delegates to `EdiFileReader`/`EdiFileWriter`. |
| [IEdiFileBuilder](saif.common.files.edi.core.builders/IEdiFileBuilder.md) | Interface | `SAIF.Common.Files.Edi.Core.Builders` | Contract implemented by `EdiFileBuilder` for the fluent path/read/write API. |
| [EdiRecordBuilder](saif.common.files.edi.core.builders/EdiRecordBuilder.md) | Static class | `SAIF.Common.Files.Edi.Core.Builders` | Sole serializer from ordered data elements to X12 text for segments, simple elements, and composite elements. |
| [SegmentBuilder](saif.common.files.edi.core.builders/SegmentBuilder.md) | Class | `SAIF.Common.Files.Edi.Core.Builders` | Assembles the ordered element collection for one X12 segment, enforcing identifying-element and composite-parent rules. |
| [ISegmentBuilder](saif.common.files.edi.core.builders/ISegmentBuilder.md) | Interface | `SAIF.Common.Files.Edi.Core.Builders` | Contract implemented by `SegmentBuilder` for element-add and build operations. |
| [IDataElementBuilder](saif.common.files.edi.core.builders/IDataElementBuilder.md) | Interface | `SAIF.Common.Files.Edi.Core.Builders` | Declared but unreferenced `Add`-only element-registration contract. |
| [EdiSegmentParser](saif.common.files.edi.core.parsers/EdiSegmentParser.md) | Class | `SAIF.Common.Files.Edi.Core.Parsers` | Splits a raw EDI interchange string into segment tokens and builds the ordered `IEdiSegment` list. |
| [EdiDataElementParser](saif.common.files.edi.core.parsers/EdiDataElementParser.md) | Class | `SAIF.Common.Files.Edi.Core.Parsers` | Splits a segment token into simple and composite data elements. |
| [EdiCompositeDataElementParser](saif.common.files.edi.core.parsers/EdiCompositeDataElementParser.md) | Class | `SAIF.Common.Files.Edi.Core.Parsers` | Splits a composite-element token into its child data elements. |
| [EdiGroupParser](saif.common.files.edi.core.parsers/EdiGroupParser.md) | Static class | `SAIF.Common.Files.Edi.Core.Parsers` | Converts a flat segment list into functional groups, transaction sets, and hierarchical transactions/levels. |
| [EdiFileReader](saif.common.files.edi.core.readers/EdiFileReader.md) | Class | `SAIF.Common.Files.Edi.Core.Readers` | Loads a physical EDI file, joins its lines, and parses it into a populated `EdiFile`. |
| [EdiFileWriter](saif.common.files.edi.core.writers/EdiFileWriter.md) | Class | `SAIF.Common.Files.Edi.Core.Writers` | Serializes an `IEdiFile`'s ordered segments to a single-line physical EDI file. |
| [DateMaker](saif.common/DateMaker.md) | Static class | `SAIF.Common` | Converts EDI date/time strings to/from `DateTime` for date-bearing segments. |
| [ISegmentData](saif.common.files.edi.segments/ISegmentData.md) | Interface | `SAIF.Common.Files.Edi.Segments` | The uniform contract (`SegmentId`, `Build()`, `Fill()`) implemented by all 43 typed X12 segment classes for symmetric object-to-segment mapping. |
| [SvSegmentBase](saif.common.files.edi.segments/SvSegmentBase.md) | Abstract class | `SAIF.Common.Files.Edi.Segments` | Shared base for SV1/SV2/SV3 service-line segments, building/filling the composite procedure-code element common to all three. |
| [CompositeProcedureCodeElement](saif.common.files.edi.segments/CompositeProcedureCodeElement.md) | Class | `SAIF.Common.Files.Edi.Segments` | The composite procedure-code value shared by SV1/SV2/SV3/SVC segments, with equality that excludes the description field. |
| [Ak1Segment](saif.common.files.edi.segments/Ak1Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | AK1 functional group response header, identifying the acknowledged functional group. |
| [Ak2Segment](saif.common.files.edi.segments/Ak2Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | AK2 transaction set response header, with the control number zero-padded to four digits. |
| [Ak9Segment](saif.common.files.edi.segments/Ak9Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | AK9 functional group response trailer summarizing accepted/received transaction set counts. |
| [AmtSegment](saif.common.files.edi.segments/AmtSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | AMT monetary amount segment carrying a qualified dollar amount. |
| [BhtSegment](saif.common.files.edi.segments/BhtSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | BHT beginning-of-hierarchical-transaction header with an original/reissue flag. |
| [BprSegment](saif.common.files.edi.segments/BprSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | BPR financial information segment carrying the 835 payment order and banking details. |
| [CasSegment](saif.common.files.edi.segments/CasSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | CAS claim adjustment segment carrying repeating reason-code/amount adjustment triplets. |
| [Cl1Segment](saif.common.files.edi.segments/Cl1Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | CL1 institutional claim code segment carrying the admission type. |
| [ClpSegment](saif.common.files.edi.segments/ClpSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | CLP claim-level data segment header for each claim in an 835 remittance. |
| [CtxSegment](saif.common.files.edi.segments/CtxSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | CTX context/adjustment segment with amounts scaled to cents. |
| [DmgSegment](saif.common.files.edi.segments/DmgSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | DMG demographic information segment (inbound-only) carrying birth date and gender. |
| [DtmSegment](saif.common.files.edi.segments/DtmSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | DTM date/time reference segment attaching a qualified date to a claim/loop. |
| [DtpSegment](saif.common.files.edi.segments/DtpSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | DTP date/time period segment with format-dependent date/range parsing. |
| [GeSegment](saif.common.files.edi.segments/GeSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | GE functional group trailer closing out a GS group. |
| [GsSegment](saif.common.files.edi.segments/GsSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | GS functional group header with a fixed responsible agency code and batch date/time. |
| [HiSegment](saif.common.files.edi.segments/HiSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | HI health care diagnosis code segment (inbound-only) carrying repeating diagnosis codes. |
| [HlSegment](saif.common.files.edi.segments/HlSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | HL hierarchical level segment establishing parent/child loop relationships. |
| [IeaSegment](saif.common.files.edi.segments/IeaSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | IEA interchange trailer with a fixed nine-digit control number. |
| [Ik3Segment](saif.common.files.edi.segments/Ik3Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | IK3 implementation acknowledgement segment-level error. |
| [Ik4Segment](saif.common.files.edi.segments/Ik4Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | IK4 implementation acknowledgement data-element error. |
| [Ik5Segment](saif.common.files.edi.segments/Ik5Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | IK5 transaction set response trailer with `Acknowledgement()`/`Reject()` factories. |
| [IsaSegment](saif.common.files.edi.segments/IsaSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | ISA interchange header with fixed qualifiers, padding, and acknowledgement request flag. |
| [LinSegment](saif.common.files.edi.segments/LinSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | LIN item identification segment carrying a coded item identifier. |
| [LqSegment](saif.common.files.edi.segments/LqSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | LQ form identification code segment carrying a coded remark reference. |
| [LxSegment](saif.common.files.edi.segments/LxSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | LX transaction set line number segment numbering a repeating group. |
| [N1Segment](saif.common.files.edi.segments/N1Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | N1 party identification segment naming a party within a loop. |
| [N3Segment](saif.common.files.edi.segments/N3Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | N3 party location segment carrying street address lines. |
| [N4Segment](saif.common.files.edi.segments/N4Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | N4 party geographic location segment splitting a postal code into zip and extension. |
| [Nm1Segment](saif.common.files.edi.segments/Nm1Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | NM1 individual/organizational name segment with person-vs-organization layout. |
| [PerSegment](saif.common.files.edi.segments/PerSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | PER administrative communications contact segment. |
| [PrvSegment](saif.common.files.edi.segments/PrvSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | PRV provider information segment carrying role and taxonomy codes. |
| [PwkSegment](saif.common.files.edi.segments/PwkSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | PWK paperwork segment describing supporting documentation. |
| [QtySegment](saif.common.files.edi.segments/QtySegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | QTY quantity segment carrying a qualified numeric quantity. |
| [RefSegment](saif.common.files.edi.segments/RefSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | REF reference identification segment carrying a qualified cross-reference identifier. |
| [SeSegment](saif.common.files.edi.segments/SeSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | SE transaction set trailer with a zero-padded control number. |
| [StcSegment](saif.common.files.edi.segments/StcSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | STC claim status segment used in 277 claim status transactions. |
| [StSegment](saif.common.files.edi.segments/StSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | ST transaction set header with a zero-padded control number. |
| [Sv1Segment](saif.common.files.edi.segments/Sv1Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | SV1 professional service line segment (inbound-only) with an emergency indicator. |
| [Sv2Segment](saif.common.files.edi.segments/Sv2Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | SV2 institutional service line segment (inbound-only). |
| [Sv3Segment](saif.common.files.edi.segments/Sv3Segment.md) | Class | `SAIF.Common.Files.Edi.Segments` | SV3 dental service line segment (inbound-only). |
| [SvcSegment](saif.common.files.edi.segments/SvcSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | SVC professional service adjudication segment with billed-vs-adjudicated suppression rules. |
| [TooSegment](saif.common.files.edi.segments/TooSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | TOO tooth surface/status segment for dental claims. |
| [TrnSegment](saif.common.files.edi.segments/TrnSegment.md) | Class | `SAIF.Common.Files.Edi.Segments` | TRN trace number segment correlating a transaction to its originating record. |

<!-- Every public type (class, interface, enum, delegate) must appear in this table. -->
<!-- Every type name must be a markdown link to its documentation page. -->
<!-- Do not leave any type unlinked. -->

## Sources
- Common\SAIF.Common.Files\SAIF.Framework.Common.Files.csproj
