---
title: Merge renewal and period rating plans
summary: Get applicable rating plans.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
operation_id: OP-012
trigger: Rating needs the effective plan list for a policy
---

# Merge renewal and period rating plans

Rating needs the effective plan list for a policy

| Field | Value |
| --- | --- |
| **Operation ID** | OP-012 |
| **Trigger** | Rating needs the effective plan list for a policy |
| **Inputs** | Renewal rating plan and policy period rating plans |
| **Outputs** | Ordered sequence of iPolicyPeriodRatingPlan |
| **Primary components** | `PolicyPeriodRatingPlans.GetPlans (iPolicyRatingPlan.vb)` |
| **Entry point** | `Business\SAIF.Business.Policy.Premium\iPolicyRatingPlan.vb` |

## Steps
1. Include the renewal rating plan **only when its `PolicyNumber <> 0`** ([BR-023](../business-rules.md#br-023-renewal-plans-join-the-merged-list-only-when-policy-number-exists)).
2. Union the renewal plan with the policy period rating plans.
3. Order the merged set by `EffectiveDate` descending.
4. Return the ordered list; extension helpers `IsExperienceRated`, `IsClaimRated`, `IsNonRated` and `RatingPlan` classify each entry.

## 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\iPolicyRatingPlan.vb`
