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¶
- Same caching contract as Load and cache the benefit jurisdiction code map (BR-POL-016).
- Constructor runs
select code, code_descr from MANUAL_CLASS_TYPE_CODE(SQL-003). - Maps only
"D"→Disease,"F"→Federal,"M"→Maritime,"FELA"→FELA,"R"→Regular,"U"→USLH(BR-POL-013); all other codes (including the commented-outE,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).
Related documentation¶
Sources¶
SAIF.Business.Policy/CodeMaps/clsManualClassTypeCodeMap.vb