SAIF.Business.Policy.Agency operations and processes¶
This page catalogs the reusable retrieval, classification, and aggregation operations implemented by SAIF.Business.Policy.Agency. Detailed step-by-step behavior lives in the operation pages under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Retrieve an agency by sequence number | Load one agency record. | A caller requests an agency by key. | IDataPortalInfo, agency sequence number |
clsAgency |
BR-001, BR-002, BR-024, BR-025 | AGENCY | SQL-001 |
| Retrieve a set of agencies | Load agencies by FEID and/or contract type criteria. | A caller requests all agencies, FEID-matched agencies, or agencies with selected contract types. | IDataPortalInfo, optional FEID, optional contract types |
clsAgencyCollection |
BR-003, BR-004, BR-005, BR-024 | AGENCY, AGENCY_CONTRACT | SQL-002 |
| Bulk-load producers for a set of agencies | Populate child producer collections in one pass. | A caller has already loaded an agency collection and wants producer children. | clsAgencyCollection |
Populated Producers collections |
BR-006, BR-007, BR-023 | AGENT | SQL-009 |
| Bulk-load contracts for a set of agencies | Populate child contract collections in one pass. | A caller has already loaded an agency collection and wants contract children. | clsAgencyCollection |
Populated Contracts collections |
BR-006, BR-007, BR-010 | AGENCY_CONTRACT | SQL-004 |
| Determine an agency's contract type on a date | Pick the first active contract classification. | A caller reads clsAgency.ContractType(inDate). |
Agency contract collection, as-of date | AgencyContractTypes value |
BR-008, BR-009 | AGENCY_CONTRACT | SQL-004 |
| Retrieve agency contracts | Load one contract or a contract collection. | A caller requests a keyed contract or the contracts for an agency. | IDataPortalInfo, contract key and/or agency key |
clsAgencyContract or clsAgencyContractCollection |
BR-001, BR-010, BR-011, BR-024, BR-025 | AGENCY_CONTRACT | SQL-003, SQL-004 |
| Classify a contract | Translate contract and commission codes. | A caller inspects clsAgencyContract classification properties or conversion helpers. |
Contract type code, commission GL code, or enum value | Domain enum, code, or Boolean result | BR-011, BR-012, BR-013, BR-014 | N/A | N/A |
| Retrieve agency offices | Load one office or the offices for an agency. | A caller requests a keyed office or all offices for an agency. | IDataPortalInfo, office number and/or agency sequence number |
clsAgencyOffice or clsAgencyOfficeCollection |
BR-001, BR-015, BR-016, BR-024, BR-025 | AGENT | SQL-005, SQL-006 |
| Retrieve producers | Load one producer or a producer collection. | A caller requests a keyed producer or the producers for an agency. | IDataPortalInfo, agent number and/or agency sequence number |
clsProducer or clsProducerCollection |
BR-001, BR-008, BR-023, BR-024, BR-025 | AGENT | SQL-007, SQL-009 |
| Look up the agent of record for a policy | Resolve the policy's agent number through a scalar query. | A caller invokes clsProducer.GetAgent. |
IDataPortalInfo, policy number |
Decimal agent number | BR-017 | POLICY | SQL-008 |
| Evaluate agency status predicates | Derive agency flags and display values from loaded state. | A caller reads clsAgency Boolean or display properties. |
Agency state, optional as-of date | Boolean flags and formatted names | BR-008, BR-018, BR-019, BR-020 | AGENCY | N/A |
| Determine agency eligibility for an office | Reject regional-office use of service-center-only agencies. | A caller invokes clsAgency.IsValidForOffice. |
Agency contract collection, effective date, regional-office flag | Boolean result | BR-008, BR-021 | AGENCY_CONTRACT | SQL-004 |
| Determine producer-commission eligibility | Check for active producer-commission contracts. | A caller invokes the agency or collection producer-commission helpers. | Agency or agency collection, as-of date | Boolean result or filtered agency collection | BR-008, BR-013 | AGENCY_CONTRACT | SQL-004 |
| Aggregate active offices across agencies | Build one detached office collection from many agencies. | A caller invokes clsAgencyCollection.ActiveAgencyOffices. |
Agency collection, as-of date | clsAgencyOfficeCollection |
BR-008, BR-022 | AGENT | SQL-006 |
Process flow diagram¶
The following diagram shows the main retrieve and aggregation paths across the library.
flowchart TD
Start([Caller request]) --> Choice{Requested behavior}
Choice --> Agencies[Retrieve agencies]
Choice --> Contracts[Retrieve one or more contracts]
Choice --> Offices[Retrieve offices]
Choice --> Producers[Retrieve producers]
Choice --> Agent[Lookup agent of record]
Agencies --> Bulk[Optional bulk child loading]
Bulk --> ContractsBulk[RetrieveContracts]
Bulk --> ProducersBulk[RetrieveProducers]
Offices --> Eval[Optional active-office aggregation]
Producers --> Eval
Contracts --> Eval
Agent --> Oracle[(Oracle)]
ContractsBulk --> Oracle
ProducersBulk --> Oracle
Offices --> Oracle
Producers --> Oracle
Agencies --> Oracle
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Database tables
- SQL catalog
- API reference
- Configuration
Sources¶
Business\SAIF.Business.Policy.Agency\clsAgency.vbBusiness\SAIF.Business.Policy.Agency\clsAgencyCollection.vbBusiness\SAIF.Business.Policy.Agency\clsAgencyContract.vbBusiness\SAIF.Business.Policy.Agency\clsAgencyContractCollection.vbBusiness\SAIF.Business.Policy.Agency\clsAgencyOffice.vbBusiness\SAIF.Business.Policy.Agency\clsAgencyOfficeCollection.vbBusiness\SAIF.Business.Policy.Agency\clsProducer.vbBusiness\SAIF.Business.Policy.Agency\clsProducerCollection.vb