﻿---
title: IPremiumAmountProvider
summary: API reference for IPremiumAmountProvider.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
---

# IPremiumAmountProvider

Interface implemented by `clsPremiumSet`; defines `PremiumAmount(PremiumAmountTypes)` which computes the premium amount for a given type by summing `DifferenceAmount` (except NEAP types, which use `BaseAmount` per [BR-016](../../../../../business-rules.md#br-016-neap-uses-base-amounts-instead-of-difference-amounts)). Discount amounts are computed as Discounted minus Standard ([BR-017](../../../../../business-rules.md#br-017-discount-equals-discounted-minus-standard-premium)).*

## Purpose
- Defines the `PremiumAmount()` contract for premium amount computation, enabling consumers to retrieve typed premium amounts without depending on `clsPremiumSet` directly.*
- Implemented by `clsPremiumSet`; consumed by premium reporting and calculation workflows that need to query specific premium amount types ([BR-016](../../../../../business-rules.md#br-016-neap-uses-base-amounts-instead-of-difference-amounts), [BR-017](../../../../../business-rules.md#br-017-discount-equals-discounted-minus-standard-premium)).*

## Context
- Namespace: `SAIF.Business.Policy.Premium`
- Assembly/package: `SAIF.Business.Policy.Premium`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| NonSubTotalPremiumSummaryAdjustments | `ReadOnly Property NonSubTotalPremiumSummaryAdjustments() As IEnumerable(Of iPremiumSummaryAdjustment)` | Exposes the non sub total premium summary adjustments used by this I Premium Amount Provider.* |
| SubTotalPremiumSummaryAdjustments | `ReadOnly Property SubTotalPremiumSummaryAdjustments() As IEnumerable(Of PremiumSummaryAdjustmentSubTotalList.SubTotalPremiumSummaryAdjustment)` | Exposes the sub total premium summary adjustments used by this I Premium Amount Provider.* |
| RetroStandardPremiumAmount | `ReadOnly Property RetroStandardPremiumAmount() As Decimal` | Exposes the retro standard premium amount used by this I Premium Amount Provider.* |
| FederalStandardPremiumAmount | `ReadOnly Property FederalStandardPremiumAmount() As Decimal` | Exposes the federal standard premium amount used by this I Premium Amount Provider.* |
## Behavioral notes
- Source file: `Business\SAIF.Business.Policy.Premium\iPremiumAmountProvider.vb`.

## Constraints and usage notes
- NEAP premium amount types use `BaseAmount` instead of `DifferenceAmount` ([BR-016](../../../../../business-rules.md#br-016-neap-uses-base-amounts-instead-of-difference-amounts)); Discount = Discounted minus Standard ([BR-017](../../../../../business-rules.md#br-017-discount-equals-discounted-minus-standard-premium)). Consumers must handle all 26 `PremiumAmountTypes` values or risk a null/zero result for unsupported types.*


> **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
- `Business\SAIF.Business.Policy.Premium\iPremiumAmountProvider.vb`