SAIF.Business.Policy.Rating architecture¶
SAIF.Business.Policy.Rating turns published Oracle rating data into BOF business objects, factor providers, and shared helper logic. It is consumed by premium-calculation code but does not depend on SAIF.Business.Policy.Premium itself.
Responsibilities¶
- Manage manual-class, rate-file, factor, discount, and rating-plan reference data.
- Compose base and adjusted rates from provider contracts and effective factor rows.
- Retrieve period-level rating context from WCIS and legacy policy-period sources.
Component boundaries¶
- BOF business objects own retrieval, validation, and limited persistence behavior.
- Helper modules (
ClassRateExtensions,RateTierFactorExtensions,RatingPlanFactorExtensions,PrepayFrequencyExtensions) centralize shared selection and composition logic. - All data access flows through BOF criteria or direct portal requests; the library does not create ADO.NET connections directly.
Interaction model¶
Callers use shared factory methods and criteria-driven retrieval to load manual classes, rate files, factors, discounts, and period context. The resulting objects then feed the extension-module rate engine, which composes a base rate and adjusted rate from the applicable factor set.
Architecture diagram¶
The following diagram shows the library's position in the policy stack.
flowchart TD
Premium[SAIF.Business.Policy.Premium] --> Rating[SAIF.Business.Policy.Rating]
Rating --> Policy[SAIF.Business.Policy contracts and enums]
Rating --> Core[SAIF.Framework.Core BOF base types]
Rating --> Oracle[(Oracle rating tables)]
Sequence diagram¶
The following diagram shows a representative class-rate lookup and computation flow.
sequenceDiagram
participant Consumer
participant Rating as SAIF.Business.Policy.Rating
participant Portal as IDataPortalInfo
participant Oracle
Consumer->>Rating: GetManualClassBase / GetPeriodRatingInfo
Rating->>Portal: Execute criteria SQL or stored procedure
Portal->>Oracle: Retrieve filing, class, factor, or period rows
Oracle-->>Portal: Result set / procedure outputs
Portal-->>Rating: Hydrated BOF objects
Consumer->>Rating: BaseRate / AdjustedRate
Rating-->>Consumer: Computed rate
Design constraints¶
- All retrieval and persistence flows through BOF
IBusinessCriteriaand portal request patterns.† RateTierFactorExtensions.AppliesTocan returnNothing, so careless callers could dereference a missing factor.**clsManualClassParagraph.CreateSQLcontains the placeholder tokenPARAGRAPH_NUM_NEXTVALinstead of valid OracleNEXTVALsyntax.clsPrepayFrequencyCodeCollection.UpdateSQLends at a bareWhereclause and is not executable as written.
Related documentation¶
- Index
- Overview
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- API reference
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.Rating\ClassRateExtensions.vbBusiness\SAIF.Business.Policy.Rating\clsManualClassBase.vbBusiness\SAIF.Business.Policy.Rating\clsManualClassParagraph.vbBusiness\SAIF.Business.Policy.Rating\clsPeriodRatingInfo.vbBusiness\SAIF.Business.Policy.Rating\clsPrepayFrequencyCollection.vbBusiness\SAIF.Business.Policy.Rating\clsRateFileMaster.vb