---
title: Answer a named premium amount query
summary: Premium amount query.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
operation_id: OP-005
trigger: Any consumer needs a named premium figure (standard, discounted, estimated, NEAP, …)
---

# Answer a named premium amount query

Any consumer needs a named premium figure (standard, discounted, estimated, NEAP, …)

| Field | Value |
| --- | --- |
| **Operation ID** | OP-005 |
| **Trigger** | Any consumer needs a named premium figure (standard, discounted, estimated, NEAP, …) |
| **Inputs** | An IPremiumAmountProvider (e.g. clsPremiumSet) and a PremiumAmountTypes value (26 members) |
| **Outputs** | A decimal premium amount |
| **Primary components** | `PremiumAmountProviderExtensions.PremiumAmount(provider, type) (iPremiumAmountProvider.vb)` |
| **Entry point** | `Business\SAIF.Business.Policy.Premium\iPremiumAmountProvider.vb` |

## Steps
1. Obtain the provider's sub-total list (OP-004).
2. Select the sub-totals whose type matches the requested `PremiumAmountTypes` value.
3. Sum `DifferenceAmount` across the matches — **except** for the NEAP type, where `BaseAmount` is summed instead ([BR-016](../business-rules.md#br-016-neap-uses-base-amounts-instead-of-difference-amounts)).
4. For the `Discount` amount, return Discounted amount − Standard amount ([BR-017](../business-rules.md#br-017-discount-equals-discounted-minus-standard-premium)).
5. Return zero when no sub-totals match.*

## Process flow
The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
    Start([Trigger]) --> S1[Step 1]
    S1 --> S2[Step 2]
    S2 --> EndOk([Outputs returned])
```

## Failure and edge-case behavior
- See the linked rules and SQL references above for validation failures, null-handling, and persistence contention behavior.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `Business\SAIF.Business.Policy.Premium\iPremiumAmountProvider.vb`
