---
title: Compare and hash period rating information
summary: Compare and hash period rating information.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy
reference_type: package
operation_id: OP-012
trigger: A caller compares two `iPeriodRatingInfo` implementations or inspects market-type helpers.
---

# Compare and hash period rating information

Compare and hash period rating information.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-012 |
| **Trigger** | A caller compares two `iPeriodRatingInfo` implementations or inspects market-type helpers. |
| **Inputs** | One or two `iPeriodRatingInfo` instances |
| **Outputs** | Boolean comparison result or hash code |
| **Primary components** | `iPeriodRatingInfo` |
| **Entry point** | `Business\SAIF.Business.Policy\iPeriodRatingInfo.vb` |

## Steps

1. Use `IsVoluntary` or `IsAssignedRisk` to classify the rating information by market type.
2. Use `BaseEquals` to compare anniversary rating date, rating-effective date, ARD/RED flags, effective and expiration dates, rate tier code, and market type.
3. Use `BaseGetHashCode` to build a stable hash from the same eight values.
4. Apply related business rules: [BR-POL-015](../business-rules.md#br-pol-015-period-rating-equality-requires-all-eight-rating-attributes-to-match)

## Process flow

The following diagram visualizes the main control flow for this operation.

```mermaid

flowchart TD

  Start([Trigger]) --> Work[Execute operation steps]

  Work --> Done([Return result])

```

## Failure and edge-case behavior

- Business rules are cross-referenced from the catalog page and the SQL or procedure logic cited in these steps.
- Database and procedure failures surface according to the underlying implementation path.

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