Skip to content

BillProcedure

BillProcedure wraps a single CbpBillProcedure entity from a Bill.Procedures collection and resolves its human-readable procedure description from the service-code reference data, feeding the Core.Contracts.Claims.Bills.BillProcedure contract that consumers outside the domain layer receive. Bill.Procedures is the only in-library constructor of this type.

Purpose

  • Resolves a bill procedure's short description from IServiceCodeQueryProvider.ServiceCodeQueries, so callers do not need a separate lookup against procedure-code reference data.
  • Maps the underlying CbpBillProcedure entity to the Core.Contracts.Claims.Bills.BillProcedure contract, filling in the resolved description as part of that mapping.

Context

  • Namespace: SAIF.Domain.Model.Claims.Bills
  • Assembly/package: SAIF.Domain (packaged in SAIF.SAIFCode.Core)

Public members

Member Signature Purpose
BillProcedure (constructor) public BillProcedure(IBillQueryProvider provider, CbpBillProcedure data) Wraps data with the query provider needed to resolve the procedure's description.
BillProcedureContract public Core.Contracts.Claims.Bills.BillProcedure BillProcedureContract { get; } Maps this procedure to the Core.Contracts.Claims.Bills.BillProcedure contract, with ProcedureDescription set from Description; returns a blank contract when the procedure has no data.
Description public string Description { get; } The procedure's short description, looked up by DataItem.ServiceCode through ServiceCodeQueries.GetProcedureCode; empty when there is no service code or no matching procedure code.

Inherited public members

Members in this section are inherited from DomainBase<TItem> in SAIF.Domain. They are available on this type through inheritance (via the intermediate DomainQueryBase<TItem,TQueryProvider> base).

Member Signature Purpose Origin
HasData public virtual bool HasData { get; } Reports whether the wrapped CbpBillProcedure entity is present, evaluated as !DataItem.IsNull(). SAIF.Domain — DomainBase<TItem>

Behavioral notes

  • Description returns an empty string both when there is no service code on the procedure and when the code lookup finds no matching procedure code, so callers cannot distinguish "no code" from "unknown code" from this property alone*.

Constraints and usage notes

  • BillProcedureContract re-evaluates Description on every access rather than caching it, so repeated access re-queries ServiceCodeQueries*.

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/Model/Claims/Bills/BillProcedure.cs
  • Domain/SAIF.Domain/DomainBase.cs
  • Domain/SAIF.Domain/DomainQueryBase.cs