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

# ServiceLocationCodeManager

`ServiceLocationCodeManager` implements `IServiceLocationCodeManager` to derive the CBP service-location code for a bill from its CBP bill-type code: inpatient bills get `CbpBillService.InpatientServiceLocation` and every other bill type gets `CbpBillService.OutpatientServiceLocation`. The file's own source comment states this class is not referenced anywhere and was intended to replace equivalent logic embedded in `GenerateCbpBills`, so despite being compiled into the assembly it is effectively unused dead code**.

## Purpose
- Provides a standalone, type-safe replacement for the inpatient/outpatient service-location derivation that `GenerateCbpBills` currently performs inline, so that logic could be centralized in one place ([DOM-BR-060](../../business-rules.md#dom-br-060-cbp-generation))**.

## Context
- Namespace: `SAIF.Services.Claims.Ebilling` — a namespace/folder-location mismatch*: the file is physically located at `Domain/SAIF.Domain/Claims/Ebilling/ServiceLocationCodeManager.cs`, alongside the `SAIF.Domain.Claims.Ebilling` types, but its `namespace` declaration is `SAIF.Services.Claims.Ebilling`.
- Assembly/package: `SAIF.Domain` (`Domain/SAIF.Domain/SAIF.Domain.csproj`, .NET Framework 4.6.2 class library)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| GetServiceLocationCode | `public string GetServiceLocationCode(string cbpBillTypeCode)` | Returns `CbpBillService.InpatientServiceLocation` when the bill-type code is `CbpBillTypeCode.Inpatient`, and `CbpBillService.OutpatientServiceLocation` for every other bill-type code ([DOM-BR-060](../../business-rules.md#dom-br-060-cbp-generation)). |

## Behavioral notes
- The class carries an explicit source comment ("This class is not referenced - need to replace code in GenerateCbpBill's with this manager"), and no compiled call site in the library constructs or invokes it, so its logic has not replaced `GenerateCbpBills`'s inline service-location derivation**.
- The `sealed` class implements `IServiceLocationCodeManager` (declared in `SAIF.Core.Contracts.Claims.Bills`), so consumers outside this library could in principle depend on the interface even though nothing in SAIF.Domain currently does**.

> **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
- `Domain/SAIF.Domain/Claims/Ebilling/ServiceLocationCodeManager.cs`
