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

# PremiumAmountProviderExtensions

Extension module on `IPremiumAmountProvider`; provides utility methods that use the premium amount provider contract to derive computed amounts, comparisons, or formatted output.*

## Purpose
- Extends `IPremiumAmountProvider` with derived utility operations for premium amount computation consumers.*
- Consumed by premium reporting and summary workflows that need common derived operations over `IPremiumAmountProvider` implementors.*

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ToSubTotalPremiumAdjustmentType | `Public Function ToSubTotalPremiumAdjustmentType(ByVal Target As PremiumAmountTypes) As SubTotalPremiumSummaryAdjustmentTypes` | Executes the to sub total premium adjustment type behavior defined by this type. |
| PremiumAmount | `Public Function PremiumAmount(ByVal Target As iPremiumAmountProvider, ByVal inPremiumAmountType As PremiumAmountTypes) As Decimal` | Computes the requested premium amount from subtotal adjustments, using base amounts for NEAP and difference amounts for other types. |
| ModifiedPremiumAmount | `Public Function ModifiedPremiumAmount(ByVal Target As iPremiumAmountProvider) As Decimal` | Executes the modified premium amount behavior defined by this type. |
| ManualPremiumAmount | `Public Function ManualPremiumAmount(ByVal Target As iPremiumAmountProvider) As Decimal` | Executes the manual premium amount behavior defined by this type. |
| StandardPremiumAmount | `Public Function StandardPremiumAmount(ByVal Target As iPremiumAmountProvider) As Decimal` | Executes the standard premium amount behavior defined by this type. |
| GetSubTotalPremiumSummaryAdjustments | `Public Function GetSubTotalPremiumSummaryAdjustments(ByVal Target As iPremiumAmountProvider) As IEnumerable(Of PremiumSummaryAdjustmentSubTotalList.SubTotalPremiumSummaryAdjustment)` | Loads a premium amount provider extensions for the supplied lookup criteria. |
| AllPremiumSummaryAdjustments | `Public Function AllPremiumSummaryAdjustments(ByVal Target As iPremiumAmountProvider) As IEnumerable(Of iPremiumSummaryAdjustment)` | Executes the all premium summary adjustments behavior defined by this type. |
## Behavioral notes
- Source file: `Business\SAIF.Business.Policy.Premium\iPremiumAmountProvider.vb`.

## Constraints and usage notes
- Extension methods operate on any `IPremiumAmountProvider` implementor; callers must be aware of [BR-016](../../../../../business-rules.md#br-016-neap-uses-base-amounts-instead-of-difference-amounts) and [BR-017](../../../../../business-rules.md#br-017-discount-equals-discounted-minus-standard-premium) rules governing NEAP and Discount 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`