Skip to content

Bill

Bill is the medical-bill contract carrying e-billing entry data; its IsBillDiscardable, IsBillComplete and IsBillUpdateable members compute UI-facing bill state directly from BillEntrySourceCode and BillStatusCode, and it carries [CompareKey]/[CompareIgnore] attributes from SAIF.Shared.CompareUtilities for change-comparison support.

Purpose

  • Carries the full bill-entry DTO used by e-billing and claim-bill screens.
  • Computes IsBillDiscardable from entry source and status, enforcing CORE-BR-050.
  • Computes IsBillComplete from status, enforcing CORE-BR-051.
  • Computes IsBillUpdateable from status, enforcing CORE-BR-052.

Context

  • Namespace: SAIF.Core.Contracts.Claims.Bills
  • Kind: Class
  • Assembly/package: SAIF.Core (NuGet package SAIF.SAIFCode.Core)

Public members

Member Signature Purpose
Id long Id { get; set; } Represents the ID associated with this Bill*.
PatientReferenceNumber string PatientReferenceNumber { get; set; } Uniquely identifies the patient reference recorded on this Bill*.
MailRoomReceivedDate DateTime? MailRoomReceivedDate { get; set; } Records the date of the mail room received*.
SaifClaimNumber string SaifClaimNumber { get; set; } Uniquely identifies the saif claim recorded on this Bill*.
SaifClaimCheckCharacter string SaifClaimCheckCharacter { get; set; } Represents the saif claim check character associated with this Bill*.
WorkerFirstName string WorkerFirstName { get; set; } Holds the worker first name recorded on this Bill*.
WorkerMiddleInitial string WorkerMiddleInitial { get; set; } Represents the worker middle initial associated with this Bill*.
WorkerLastName string WorkerLastName { get; set; } Holds the worker last name recorded on this Bill*.
WorkerPhoneNumber string WorkerPhoneNumber { get; set; } Uniquely identifies the worker phone recorded on this Bill*.
WorkerBirthDate DateTime? WorkerBirthDate { get; set; } Records the date of the worker birth*.
WorkerAddressLine1 string WorkerAddressLine1 { get; set; } Holds line 1 of the worker mailing address*.
WorkerAddressLine2 string WorkerAddressLine2 { get; set; } Holds line 2 of the worker mailing address*.
WorkerAddressLine3 string WorkerAddressLine3 { get; set; } Holds line 3 of the worker mailing address*.
WorkerAddressLine4 string WorkerAddressLine4 { get; set; } Holds line 4 of the worker mailing address*.
GenderCode string GenderCode { get; set; } Classifies the gender using a coded value*.
PatientAccountNumber string PatientAccountNumber { get; set; } Uniquely identifies the patient account recorded on this Bill*.
ProviderTaxId string ProviderTaxId { get; set; } Uniquely identifies the provider tax value recorded on this Bill*.
ProviderLocationId long? ProviderLocationId { get; set; } References the identifier of the associated provider location record*.
ProviderAddressLine1 string ProviderAddressLine1 { get; set; } Holds line 1 of the provider mailing address*.
ProviderAddressLine2 string ProviderAddressLine2 { get; set; } Holds line 2 of the provider mailing address*.
ProviderCityName string ProviderCityName { get; set; } Holds the provider city name recorded on this Bill*.
ProviderStateCode string ProviderStateCode { get; set; } Classifies the provider state using a coded value*.
ProviderZipCode decimal? ProviderZipCode { get; set; } Classifies the provider zip using a coded value*.
ProviderLicenseNumber string ProviderLicenseNumber { get; set; } Uniquely identifies the provider license recorded on this Bill*.
IsProviderRestricted bool IsProviderRestricted { get; set; } Indicates whether the provider is restricted for this Bill*.
AdmissionDate DateTime? AdmissionDate { get; set; } Records the date of the admission*.
DischargeDate DateTime? DischargeDate { get; set; } Records the date of the discharge*.
StatementFromDate DateTime? StatementFromDate { get; set; } Records the date of the statement from*.
StatementThruDate DateTime? StatementThruDate { get; set; } Records the date of the statement thru*.
WorkerTaxId string WorkerTaxId { get; set; } Uniquely identifies the worker tax value recorded on this Bill*.
TowId long? TowId { get; set; } References the identifier of the associated TOW record*.
IsRebill bool IsRebill { get; set; } Indicates whether this Bill is a rebill*.
CurrentBillStatusId long? CurrentBillStatusId { get; set; } References the identifier of the associated current bill status record*.
PriorityNumber int PriorityNumber { get; set; } Uniquely identifies the priority recorded on this Bill*.
UpdateUser string UpdateUser { get; set; } Identifies the user tied to the update on this Bill*.
UpdateNumber int UpdateNumber { get; set; } Uniquely identifies the update recorded on this Bill*.
UpdateDate DateTime UpdateDate { get; set; } Records the date of the update*.
ReferringProviderName string ReferringProviderName { get; set; } Holds the referring provider name recorded on this Bill*.
BillTotalAmount decimal BillTotalAmount { get; set; } Records the monetary amount of the bill total*.
DrgCode string DrgCode { get; set; } Classifies the DRG using a coded value*.
BillPackageQuantity int? BillPackageQuantity { get; set; } Records the quantity of bill package*.
WorkflowBypassCode string WorkflowBypassCode { get; set; } Classifies the workflow bypass using a coded value*.
CurrentResponsiblePartyId string CurrentResponsiblePartyId { get; set; } References the identifier of the associated current responsible party record*.
CurrentStatusEffectiveDate DateTime? CurrentStatusEffectiveDate { get; set; } Records the date of the current status effective*.
CurrentUpdateUser string CurrentUpdateUser { get; set; } Identifies the user tied to the current update on this Bill*.
CurrentNextReviewDate DateTime? CurrentNextReviewDate { get; set; } Records the date of the current next review*.
UbBillTypeCode string UbBillTypeCode { get; set; } Classifies the UB bill type using a coded value*.
CBPAdmissionTypeCode string CBPAdmissionTypeCode { get; set; } Classifies the CBP admission type using a coded value*.
Url string Url { get; set; } Holds the URL associated with this Bill*.
BillTypeCode string BillTypeCode { get; set; } Classifies the bill type using a coded value*.
BillStatusCode string BillStatusCode { get; set; } Classifies the bill status using a coded value*.
BillEntrySourceCode string BillEntrySourceCode { get; set; } Classifies the bill entry source using a coded value*.
ImageId long ImageId { get; set; } References the identifier of the associated image record*.
Services IList<BillService> Services { get; set; } Contains the collection of BillService entries associated with this Bill*.
Notes IList<Note> Notes { get; set; } Contains the collection of Note entries associated with this Bill*.
IsBillDiscardable bool IsBillDiscardable { get; set; } Computed: true when the bill is not an e-bill (entry source ≠ "E") or its status is PEN, enforcing CORE-BR-050.
IsBillComplete bool IsBillComplete { get; set; } Computed: true when BillStatusCode is COM, enforcing CORE-BR-051.
IsBillUpdateable bool IsBillUpdateable { get; set; } Computed: true when BillStatusCode is PEN, ENT, AUD or SUS, enforcing CORE-BR-052.

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

  • Core/SAIF.Core/Contracts/Claims/Bills/Bill.cs