Skip to content

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

Sources

  • Business\SAIF.Business.Policy.Agency\clsAgency.vb
  • Business\SAIF.Business.Policy.Agency\clsAgencyCollection.vb
  • Business\SAIF.Business.Policy.Agency\clsAgencyContract.vb
  • Business\SAIF.Business.Policy.Agency\clsAgencyContractCollection.vb
  • Business\SAIF.Business.Policy.Agency\clsAgencyOffice.vb
  • Business\SAIF.Business.Policy.Agency\clsAgencyOfficeCollection.vb
  • Business\SAIF.Business.Policy.Agency\clsProducer.vb
  • Business\SAIF.Business.Policy.Agency\clsProducerCollection.vb