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

# IBillDiagnosisService

`IBillDiagnosisService` declares a service contract in the Claims / Bills area, implemented outside this library (most likely in SAIF.Services, per the declare-here, enforce-elsewhere pattern documented for this library)*.

## Purpose
- Declares the operations that a SAIF.Services implementation must provide for the Claims / Bills area*.

## Context
- Namespace: `SAIF.Core.Contracts.Claims.Bills`
- Kind: Interface
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `CreateDiagnosis` | `BillDiagnosis CreateDiagnosis(long billId, BillDiagnosis newDiagnosis, IMessageContainer messageContainer)` | Creates diagnosis, given `billId`, `newDiagnosis`, `messageContainer`*. |
| `GetDiagnoses` | `List<BillDiagnosis> GetDiagnoses(long billId, IMessageContainer messageContainer)` | Returns diagnoses, given `billId`, `messageContainer`*. |
| `UpdateDiagnoses` | `List<BillDiagnosis> UpdateDiagnoses(long billId, List<BillDiagnosis> updatedDiagnoses, IMessageContainer messageContainer)` | Updates diagnoses, given `billId`, `updatedDiagnoses`, `messageContainer`*. |
| `DeleteDiagnoses` | `void DeleteDiagnoses(long billId, long[] diagnosesIds, IMessageContainer messageContainer)` | Deletes diagnoses, given `billId`, `diagnosesIds`, `messageContainer`*. |
| `GetDiagnosisTypeCodes` | `List<CbpDiagnosisTypeCode> GetDiagnosisTypeCodes()` | Returns diagnosis type codes*. |

> **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/IBillDiagnosisService.cs
