---
title: ProcedureService
summary: API reference for ProcedureService.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Services
reference_type: package
---

# 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`
