Skip to content

ProcedureService

Looks up a CbpProcedureCode record for a given procedure code after normalizing the input to uppercase and trimming whitespace. It depends on IUnitOfWork to query the CbpProcedureCode repository and can optionally exclude codes that have expired as of the current date.

Purpose

  • Normalizes procedure code casing and whitespace before performing a lookup.
  • Optionally excludes procedure codes whose ExpirationDate has passed, unless the caller explicitly requests expired codes.

Context

  • Namespace: SAIF.Services.Claims.Bills
  • Assembly/package: SAIF.Services (packaged inside the SAIF.SAIFCode.Core NuGet package)

Public members

Member Signature Purpose
ProcedureService(uow) ProcedureService(IUnitOfWork uow) Guards against a null IUnitOfWork and stores it for use by lookup operations.
GetProcedure CbpProcedureCode GetProcedure(string ProcedureCode, bool includeExpired) Uppercases and trims the supplied code, then returns the matching CbpProcedureCode record (or null if none matches), applying expiration filtering per includeExpired.

Behavioral notes

  • Unlike DiagnosisService, this type performs a single exact-match lookup on the normalized code with no decimal-placement fallback attempts.*

Constraints and usage notes

  • When includeExpired is false, only procedure codes with a null ExpirationDate or an expiration date later than today are returned.
  • Callers must supply a non-null ProcedureCode; the method calls .ToUpper().Trim() on it without a null check.

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

  • Services/SAIF.Services/Claims/Bills/ProcedureService.cs