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

# SAIF.Domain API reference

This page lists all public types exposed by `SAIF.Domain` and `SAIF.Services.Claims.Ebilling`*. Each type links to its full API reference page.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [DomainBase\<TItem\>](SAIF.Domain/DomainBase.md) | Abstract class | `SAIF.Domain` | Root abstraction holding the single NHibernate data entity a domain wrapper presents behaviour around. |
| [DomainQueryBase\<TItem, TQueryProvider\>](SAIF.Domain/DomainQueryBase.md) | Abstract class | `SAIF.Domain` | Extends `DomainBase` to add a SAIF.Data query-provider collaborator for read-oriented domain wrappers. |
| [DomainRepositoryBase\<TItem\>](SAIF.Domain/DomainRepositoryBase.md) | Abstract class | `SAIF.Domain` | Extends `DomainBase` to add an `IRepositoryFactory` collaborator for wrappers that persist or delete entities. |
| [BillAssignment](SAIF.Domain.Claims.Ebilling/BillAssignment.md) | Class | `SAIF.Domain.Claims.Ebilling` | Assigns bill responsibility for a batch of e-bills (OP-DOM-01), recording audit notes for pended errors. |
| [EdiBuildSegments](SAIF.Domain.Claims.Ebilling/EdiBuildSegments.md) | Internal | `SAIF.Domain.Claims.Ebilling` | Internal EDI segment factory used by the outbound builders; excluded from the public surface below. |
| [EobBuilder](SAIF.Domain.Claims.Ebilling/EobBuilder.md) | Class | `SAIF.Domain.Claims.Ebilling` | Generates EOB records for a batch's bills from Guidewire payment extracts (OP-DOM-12). |
| [File277CaBuilder](SAIF.Domain.Claims.Ebilling/File277CaBuilder.md) | Static class | `SAIF.Domain.Claims.Ebilling` | Builds the outbound 277 claim-acknowledgement response file for a set of e-bills (OP-DOM-11). |
| [File835Builder](SAIF.Domain.Claims.Ebilling/File835Builder.md) | Static class | `SAIF.Domain.Claims.Ebilling` | Renders the outbound 835 remittance-advice EDI file for an e-billing batch (OP-DOM-12). |
| [File837AckBuilder](SAIF.Domain.Claims.Ebilling/File837AckBuilder.md) | Static class | `SAIF.Domain.Claims.Ebilling` | Renders a 999-style functional acknowledgement EDI file for a processed 837 batch (OP-DOM-12). |
| [File837Extractor](SAIF.Domain.Claims.Ebilling/File837Extractor.md) | Static class | `SAIF.Domain.Claims.Ebilling` | Parses an inbound 837 EDI file into e-bill entities through a segment state machine (OP-DOM-10). |
| [GenerateCbpBills](SAIF.Domain.Claims.Ebilling/GenerateCbpBills.md) | Static class | `SAIF.Domain.Claims.Ebilling` | Builds the internal CBP representation of an indexed e-bill and marks it CbpSetup (OP-DOM-06). |
| [ServiceCodeManager](SAIF.Domain.Claims.Ebilling/ServiceCodeManager.md) | Class (sealed) | `SAIF.Domain.Claims.Ebilling` | Resolves a raw service-code string to a CBP service code and type code (OP-DOM-08). |
| [BillServiceIndexer](SAIF.Domain.Claims.Ebilling.Indexing/BillServiceIndexer.md) | Static class | `SAIF.Domain.Claims.Ebilling.Indexing` | Resolves the rendering-provider location for each bill service (OP-DOM-05). |
| [IProviderIndexer](SAIF.Domain.Claims.Ebilling.Indexing/IProviderIndexer.md) | Interface | `SAIF.Domain.Claims.Ebilling.Indexing` | Contract implemented by `ProviderIndexer` and `ProviderIndexerV2`. |
| [IProviderMatcher](SAIF.Domain.Claims.Ebilling.Indexing/IProviderMatcher.md) | Interface | `SAIF.Domain.Claims.Ebilling.Indexing` | Contract implemented by `ProviderMatcher` to run ordered match rules and return the unique match. |
| [IProviderMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/IProviderMatchRule.md) | Interface | `SAIF.Domain.Claims.Ebilling.Indexing` | Contract implemented by every individual address-matching strategy. |
| [PatientIndexer](SAIF.Domain.Claims.Ebilling.Indexing/PatientIndexer.md) | Static class | `SAIF.Domain.Claims.Ebilling.Indexing` | Matches an e-billing patient to a WCIS claim in ClaimCenter and validates claim state (OP-DOM-02). |
| [PaymentAndFacilityMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/PaymentAndFacilityMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule for billers with both payment and facility addresses. |
| [PaymentOnlyMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/PaymentOnlyMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule for billers with only a payment address. |
| [PhysicalAndFacilityMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/PhysicalAndFacilityMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule for billers with both physical and facility addresses. |
| [PhysicalAndPaymentMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/PhysicalAndPaymentMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule for billers with both physical and payment addresses. |
| [PhysicalOnlyMatchPhysicalWithPayment](SAIF.Domain.Claims.Ebilling.Indexing/PhysicalOnlyMatchPhysicalWithPayment.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule for billers with only a physical address matched against a two-address provider location. |
| [PhysicalOnlyMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/PhysicalOnlyMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule used when a biller's physical address alone should identify a unique provider location. |
| [PhysicalPaymentAndFacilityMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/PhysicalPaymentAndFacilityMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule for billers with all three address roles, composing the other rules as a fallback chain. |
| [ProviderIndexer](SAIF.Domain.Claims.Ebilling.Indexing/ProviderIndexer.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Original (v1) `IProviderIndexer` implementation matching by tax ID and address (OP-DOM-03). |
| [ProviderIndexerV2](SAIF.Domain.Claims.Ebilling.Indexing/ProviderIndexerV2.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Current (v2) `IProviderIndexer` implementation using an ordered rule set (OP-DOM-04). |
| [ProviderMatchBase](SAIF.Domain.Claims.Ebilling.Indexing/ProviderMatchBase.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Shared base class every V2 provider-matching rule extends. |
| [ProviderMatcher](SAIF.Domain.Claims.Ebilling.Indexing/ProviderMatcher.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Evaluates an ordered list of `IProviderMatchRule` implementations and returns the first unique match. |
| [ProviderMatchParameters](SAIF.Domain.Claims.Ebilling.Indexing/ProviderMatchParameters.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Data holder pairing an `EbillProvider` with a set of `ProviderAddress` candidates. |
| [ThreeAddressNoFacilityMatchesMatchRule](SAIF.Domain.Claims.Ebilling.Indexing/ThreeAddressNoFacilityMatchesMatchRule.md) | Class | `SAIF.Domain.Claims.Ebilling.Indexing` | Match rule handling the case where the facility address has no matching candidate. |
| [ServiceLocationCodeManager](SAIF.Services.Claims.Ebilling/ServiceLocationCodeManager.md) | Class (sealed) | `SAIF.Services.Claims.Ebilling` | Derives the CBP service-location code for a bill from its CBP bill-type code. |
| [BillRegenerator](SAIF.Domain.Claims.Bills/BillRegenerator.md) | Static class | `SAIF.Domain.Claims.Bills` | Clones a rejected or corrected `CbpBill` into a new bill for reprocessing (OP-DOM-16). |
| [EobExtensions](SAIF.Domain.Claims.Bills/EobExtensions.md) | Static class | `SAIF.Domain.Claims.Bills` | Renders an `ExplanationOfBenefits` contract into the legacy EOB print/distribution XML document. |
| [Audit](SAIF.Domain.Model.Claims.Bills.Audits/Audit.md) | Class | `SAIF.Domain.Model.Claims.Bills.Audits` | Wraps a bill's `CbpAudit` entity and implements audit-adjustment behaviour (OP-DOM-14). |
| [AuditedService](SAIF.Domain.Model.Claims.Bills.Audits/AuditedService.md) | Class | `SAIF.Domain.Model.Claims.Bills.Audits` | Wraps a single audited service line and resolves EOB/bill-audit presentation data. |
| [EobGenerator](SAIF.Domain.Model.Claims.Bills.Audits/EobGenerator.md) | Static class | `SAIF.Domain.Model.Claims.Bills.Audits` | Builds the `ExplanationOfBenefits` contract for a single bill from `Bill`, `Audit`, and `Claim` data. |
| [AuditNote](SAIF.Domain.Model.Claims.Bills.Notes/AuditNote.md) | Class | `SAIF.Domain.Model.Claims.Bills.Notes` | Wraps a `CbpNote` entity and routes new notes to the claim or bill by category code (OP-DOM-15). |
| [AuditNoteArguments](SAIF.Domain.Model.Claims.Bills.Notes/AuditNoteArguments.md) | Class | `SAIF.Domain.Model.Claims.Bills.Notes` | Input parameter object for `AuditNote`'s create and modify operations. |
| [Bill](SAIF.Domain.Model.Claims.Bills/Bill.md) | Class | `SAIF.Domain.Model.Claims.Bills` | Central domain wrapper for a `CbpBill` entity; audit-queue routing and status transitions (OP-DOM-13). |
| [BillProcedure](SAIF.Domain.Model.Claims.Bills/BillProcedure.md) | Class | `SAIF.Domain.Model.Claims.Bills` | Wraps a `CbpBillProcedure` entity and resolves its human-readable procedure description. |
| [BillStatusCode](SAIF.Domain.Model.Claims.Bills/BillStatusCode.md) | Class | `SAIF.Domain.Model.Claims.Bills` | Maps a `BillStatusTypes` enum value to its persisted three-letter `CbpBillStatusCode` row (OP-DOM-13). |
| [ServiceCode](SAIF.Domain.Model.Claims.Bills/ServiceCode.md) | Class | `SAIF.Domain.Model.Claims.Bills` | Resolves a bill or audited-service code to its effective, date-scoped description (OP-DOM-08). |
| [Batch](SAIF.Domain.Model.Claims.Ebilling/Batch.md) | Class | `SAIF.Domain.Model.Claims.Ebilling` | Wraps an `EbillBatch` entity and implements the batch-lifecycle behaviour (OP-DOM-09). |
| [BillService](SAIF.Domain.Model.Claims.Ebilling/BillService.md) | Class | `SAIF.Domain.Model.Claims.Ebilling` | Wraps a single `EbillService` entity for rendering/referring provider-assignment behaviour (OP-DOM-05). |
| [ErrorConditionHandler](SAIF.Domain.Model.Claims.Ebilling/ErrorConditionHandler.md) | Class | `SAIF.Domain.Model.Claims.Ebilling` | Single recording point for indexing/generation data-quality errors (OP-DOM-07). |
| [IErrorConditionHandler](SAIF.Domain.Model.Claims.Ebilling/IErrorConditionHandler.md) | Interface | `SAIF.Domain.Model.Claims.Ebilling` | Contract decoupling indexing/generation callers from `ErrorConditionHandler`. |
| [Claim](SAIF.Domain.Model.Claims/Claim.md) | Class | `SAIF.Domain.Model.Claims` | Guidewire-facing claim read model combining `InjuryClaim` with live ClaimCenter data (OP-DOM-18). |
| [ClaimAdjuster](SAIF.Domain.Model.Claims/ClaimAdjuster.md) | Class | `SAIF.Domain.Model.Claims` | Concrete adjuster representation built from Guidewire claim-contact or vocational-responsibility data. |
| [ClaimReserveGenerator](SAIF.Domain.Model.Claims/ClaimReserveGenerator.md) | Static class | `SAIF.Domain.Model.Claims` | Builds a claim's incurred/paid/outstanding reserve amounts per cost category (OP-DOM-20). |
| [SecureClaimAttributes](SAIF.Domain.Model.Claims/SecureClaimAttributes.md) | Class | `SAIF.Domain.Model.Claims` | Data-level security flag set produced by `Claim.BuildSecurityAttributes` (DOM-BR-193). |
| [SettlementInformation](SAIF.Domain.Model.Claims/SettlementInformation.md) | Class | `SAIF.Domain.Model.Claims` | Read-only settlement (CDA/DCS) snapshot built for a claim. |
| [Worker](SAIF.Domain.Model.Claims/Worker.md) | Class | `SAIF.Domain.Model.Claims` | Injured-worker read model wrapping a `ClaimPerson` entity. |
| [Employee](SAIF.Domain.Model.Employees/Employee.md) | Class | `SAIF.Domain.Model.Employees` | Resolves an internal staff member's display name, email, and contact details (OP-DOM-20). |
| [Image](SAIF.Domain.Model.Imaging/Image.md) | Abstract class | `SAIF.Domain.Model.Imaging` | Base every imaged-document wrapper derives from; IFN-URL-building behaviour (OP-DOM-20). |
| [CertificateHolder](SAIF.Domain.Model.Policies.Certificates/CertificateHolder.md) | Class | `SAIF.Domain.Model.Policies.Certificates` | Wraps a certificate-holder entity and implements its create/update/expire/supersede lifecycle (OP-DOM-17). |
| [Policy](SAIF.Domain.Model.Policies/Policy.md) | Class | `SAIF.Domain.Model.Policies` | Wraps a policy entity and assembles policy-level contact and location information. |
| [PacketDefinition](SAIF.Domain.Tasks.Documents.Packets/PacketDefinition.md) | Class | `SAIF.Domain.Tasks.Documents.Packets` | Describes one packeting rule that `PacketGenerator` evaluates against a group of documents. |
| [PacketGenerator](SAIF.Domain.Tasks.Documents.Packets/PacketGenerator.md) | Class | `SAIF.Domain.Tasks.Documents.Packets` | Evaluates a `PacketDefinition` against a group of candidate documents and builds packet entries. |
| [PacketManager](SAIF.Domain.Tasks.Documents.Packets/PacketManager.md) | Static class | `SAIF.Domain.Tasks.Documents.Packets` | Entry point for document-packet assembly across a policy's candidate output documents (OP-DOM-19). |
| [PacketRequest](SAIF.Domain.Tasks.Documents.Packets/PacketRequest.md) | Class | `SAIF.Domain.Tasks.Documents.Packets` | Working-state container `PacketManager.CreatePackets` builds for a single packeting run. |

> **Excluded from the public surface.** `BillMappingHelper` (`SAIF.Domain.Model.Claims.Bills`), `ClaimsMappingHelper` (`SAIF.Domain.Model.Claims`), and `EdiBuildSegments` (`SAIF.Domain.Claims.Ebilling`) are declared `internal` in source; their reference pages exist on disk for completeness but are intentionally omitted from the table above.

## Related documentation
- [Index](../index.md)
- [Overview](../overview.md)
- [Architecture](../architecture.md)
- [Dependencies](../dependencies.md)
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Database tables](../database-tables.md)
- [SQL catalog](../sql/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `Domain/SAIF.Domain/**/*.cs`
- `Services/SAIF.Services/Claims/Ebilling/ServiceLocationCodeManager.cs`
