---
title: Compare and locate hazard groups
summary: Compare and locate hazard groups.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy
reference_type: package
operation_id: OP-013
trigger: A caller checks equality, looks up by key, or removes a hazard group.
---

# Compare and locate hazard groups

Compare and locate hazard groups.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-013 |
| **Trigger** | A caller checks equality, looks up by key, or removes a hazard group. |
| **Inputs** | Hazard-group object or hazard-group id |
| **Outputs** | Boolean match, collection item, or removal side effect |
| **Primary components** | `clsHazardGroup` |
| **Entry point** | `Business\SAIF.Business.Policy\clsHazardGroup.vb` |

## Steps

1. Compare hazard groups by `HazardGroupID` only in the object equality and hash-code methods.
2. Traverse the collection linearly in `ItemByKey`, `Contains`, and `Remove` overloads to find the matching object.
3. Reuse the same identity semantics for deleted-item scans and keyed removal paths.
4. Apply related business rules: [BR-POL-016](../business-rules.md#br-pol-016-hazard-group-identity-is-the-hazard-group-id-only)

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