---
title: LegalBill
summary: API reference for LegalBill.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# LegalBill

Domain entity representing Legal bill data within the legal bills area of the claims/policy domain, mapped for NHibernate persistence.*

## Purpose
- Models legal bill data used by the legal bills area of this library.*
- Inherits shared identity/lifecycle behavior from `EntityBase`.

## Context
- Namespace: `SAIF.Data.Model.Legal.Bills`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Id | `long Id { get; set; }` | Primary key / surrogate identifier for this record.* |
| LegalCase | `LegalCase LegalCase { get; set; }` | Reference to the associated `LegalCase` record.* |
| BillingProvider | `ProviderLocation BillingProvider { get; set; }` | Reference to the associated `ProviderLocation` record.* |
| RenderingProvider | `ProviderLocation RenderingProvider { get; set; }` | Reference to the associated `ProviderLocation` record.* |
| InvoiceText | `String InvoiceText { get; set; }` | Value of invoice text exposed by this type.* |
| ReceivedDate | `DateTime ReceivedDate { get; set; }` | Date/time value for received date.* |
| BillStatus | `BillStatus BillStatus { get; set; }` | Reference to the associated `BillStatus` record.* |
| Comment | `String Comment { get; set; }` | Value of comment exposed by this type.* |
| SpecialHandling | `SpecialHandlingCode SpecialHandling { get; set; }` | Reference to the associated `SpecialHandlingCode` record.* |
| IssueDate | `DateTime IssueDate { get; set; }` | Date/time value for issue date.* |
| RequestedByEmployeeId | `String RequestedByEmployeeId { get; set; }` | Foreign-key identifier referencing the related requested by employee record.* |
| ApprovedByEmployeeId | `String ApprovedByEmployeeId { get; set; }` | Foreign-key identifier referencing the related approved by employee record.* |
| ApprovedDate | `DateTime? ApprovedDate { get; set; }` | Date/time value for approved date.* |
| IsPrepayment | `bool IsPrepayment { get; set; }` | Indicates whether prepayment.* |
| CreateDate | `DateTime CreateDate { get; set; }` | Date/time value for create date.* |
| CreateUser | `string CreateUser { get; set; }` | Value of create user exposed by this type.* |
| UpdateDate | `DateTime? UpdateDate { get; set; }` | Date/time value for update date.* |
| UpdateUser | `string UpdateUser { get; set; }` | Value of update user exposed by this type.* |
| UpdateNumber | `int UpdateNumber { get; set; }` | Value of update number exposed by this type.* |
| ParentBillId | `long? ParentBillId { get; set; }` | Foreign-key identifier referencing the related parent bill record.* |
| WitnessInformation | `string WitnessInformation { get; set; }` | Value of witness information exposed by this type.* |
| BillServices | `ICollection<LegalBillService> BillServices { get; set; }` | Value of bill services exposed by this type.* |
| BillStatusHistories | `ICollection<BillStatusHistory> BillStatusHistories { get; set; }` | Value of bill status histories exposed by this type.* |

## Behavioral notes
- Properties are typically declared `virtual` to support NHibernate lazy-loading proxies (see the corresponding mapping file under `Data/SAIF.Data.NHibernate`).*

## Constraints and usage notes
- No additional usage constraints beyond standard NHibernate entity/DTO conventions could be confirmed from static analysis.**

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Data/SAIF.Data/Model/Legal/Bills/LegalBill.cs`
