Skip to content

Load and cache the manual class type code map

Builds and caches (per-process, Static) the manual-class-type code map used to translate manual class type codes to their descriptive enum values.

Field Value
Operation ID op-13-manual-class-type-code-map
Trigger Caller invokes CodeMaps.GetManualClassTypeCodeMap
Inputs IDataPortalInfo, optional refresh flag
Outputs Cached clsManualClassTypeCodeMap
Primary components CodeMaps.GetManualClassTypeCodeMap, clsManualClassTypeCodeMap
Entry point SAIF.Business.Policy/CodeMaps/clsManualClassTypeCodeMap.vb

Steps

  1. Same caching contract as Load and cache the benefit jurisdiction code map (BR-POL-016).
  2. Constructor runs select code, code_descr from MANUAL_CLASS_TYPE_CODE (SQL-003).
  3. Maps only "D"→Disease, "F"→Federal, "M"→Maritime, "FELA"→FELA, "R"→Regular, "U"→USLH (BR-POL-013); all other codes (including the commented-out E, DOMES, NONRT, EC, IFANY, STAT, BLK, SES) are ignored.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start(["Caller invokes<br>GetManualClassTypeCodeMap"]) --> A{"refresh is true or<br>cached instance is Nothing?"}
    A -->|No| End(["Return cached<br>clsManualClassTypeCodeMap"])
    A -->|Yes| B["Construct new map<br>(same caching contract as<br>benefit jurisdiction map)"]
    B --> C["Run SELECT code, code_descr<br>FROM MANUAL_CLASS_TYPE_CODE"]
    C --> D["Iterate result rows"]
    D --> E{"Code = D, F, M,<br>FELA, R, or U?"}
    E -->|Yes| F["Map to Disease / Federal /<br>Maritime / FELA / Regular / USLH"]
    E -->|No| G["Ignore code"]
    F --> End
    G --> End

Failure and edge-case behavior

  • All other codes — including the commented-out E, DOMES, NONRT, EC, IFANY, STAT, BLK, SES — are ignored and are not added to the map (BR-POL-013).

Sources

  • SAIF.Business.Policy/CodeMaps/clsManualClassTypeCodeMap.vb