Skip to content

mdlCodeTables module

mdlCodeTables (namespace SAIF.Business.Claim.Legal.CodeTables) is the sole Public Module in this library. It declares approximately 31 code-table classes — each inheriting CTB.CodeTable(Of T) or CTB.ExtendedCodeMap from the shared code-table-base (CTB) framework — and a generic accessor that provides in-memory caching and refresh semantics so that lookup lists (hearing types, case statuses, letter types, staff lists, etc.) are queried from Oracle once per application lifetime rather than per request.

Purpose

  • Centralizes all static/slow-changing lookup-list retrieval for the LegalMaintenance legal domain in one module, avoiding per-request database round-trips.*
  • Provides a uniform GetCodeTable(Of T) generic accessor so consuming screens/business objects don't need to know each code table's individual caching mechanics.*
  • Backs the ~31 code-table read SQL statements documented in SQL-120 to SQL-150.

Context

  • Namespace: SAIF.Business.Claim.Legal.CodeTables
  • Assembly: SAIF.Business.Claim.Legal.dll (project reference, reference_type: embedded)
  • Declared in: SAIF.Business.Claim.Legal\mdlCodeTables.vb

Public members

Member Signature Purpose
GetCodeTable(Of T) Public Function GetCodeTable(Of T As {New, CTB.CodeTable(Of T)})() As T Returns the cached singleton instance of the requested code-table type, populating it from Oracle via SqlHelper.ResultSetQuery on first access.*
clsLegalStaffList and ~30 sibling code-table classes Public Class <Name> : Inherits CTB.CodeTable(Of <Name>) (or CTB.ExtendedCodeMap) Each represents one cached lookup list (e.g. legal staff, hearing type, case status, letter type, appeal level) sourced by exactly one SQL-ID in the code-tables SQL catalog.*

Behavioral notes

  • Code tables are populated with New SqlHelper.ResultSetQuery(inDPI).Execute(sql) and cached per the CTB.CodeTable(Of T) base-class refresh contract; exact cache invalidation timing (per-request vs. per-application-lifetime) is defined in the CTB framework, not this library.**
  • clsLegalStaffList is backed by pk80001_legalnet.SelectLegalEmployees (not-found procedure) rather than a direct SQL statement — see procedures/pk80001_legalnet.md.*
  • Individual code-table class names (beyond clsLegalStaffList) were not enumerated exhaustively in the Phase 1 analysis; the full list of ~31 classes should be confirmed directly against mdlCodeTables.vb if per-class documentation is required.**

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

  • SAIF.Business.Claim.Legal\mdlCodeTables.vb