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

# ConditionsNodeBuilder

Builds a `ConditionsNode` by reading `Claim.MedicalConditions` and splitting them into accepted, denied, and deferred lists based on a case-insensitive comparison of each condition's `Decision` string, with each subset ordered by descending `DecisionDate`. It has no dependencies beyond the injected `Claim`.

## Purpose
- Copies the full set of medical conditions for a claim onto the node.
- Partitions conditions into accepted/denied/deferred lists (matching on `Decision` value) so consumers of the API can render each category without re-filtering.
- Orders each partitioned list by most recent decision date first.

## Context
- Namespace: `SAIF.Services.Claims.Information.Api`
- Assembly/package: `SAIF.Services` (packaged inside the `SAIF.SAIFCode.Core` NuGet package)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Node | `public ConditionsNode Node { get; }` | Exposes the node instance being populated by this builder. |
| ConditionsNodeBuilder(claim, node) | `public ConditionsNodeBuilder(Claim claim, ConditionsNode node)` | Stores the claim and target node for later population. |
| AddConditions() | `public ConditionsNodeBuilder AddConditions()` | Sets `Conditions` to all medical conditions on the claim, and separately populates `AcceptedConditions`, `DeniedConditions`, and `DeferredConditions` filtered by decision value ("accepted", "denied", "deferred") and sorted by decision date descending. |

## Behavioral notes
- The decision-value comparison is case-insensitive (`Decision.ToLower()`), so upstream data casing does not affect classification.

## Constraints and usage notes
- Conditions whose `Decision` value is anything other than "accepted", "denied", or "deferred" appear in `Conditions` but in none of the three filtered lists.

## Sources
- Services/SAIF.Services/Claims/Information/Api/ConditionsNodeBuilder.cs
