BR-LGL-005 Non-Production DEF email reminders are redirected to the current user¶
Field
Value
Statement
Outside of the Production environment, DEF reminder emails are redirected to the current user instead of the real recipient, with the intended recipient noted in the body.
Trigger
AppGlobal.EnvironmentService.GetApplicationEnvironment() <> Prod in SendDEFEmail.
Enforcement
clsScheduleManager.SendDEFEmail
Outcome
Email sent to DPI.UserID@saif.com with a body annotation naming the real intended recipient.
BR-LGL-011 Consolidation is rejected when a hearing is scheduled in the past for a Set Reset case¶
Field
Value
Statement
A consolidation change is rejected with a user-facing message if it would consolidate a case whose most recent hearing is scheduled in the past while in Set/Reset status.
Trigger
CurrentCase.Consolidations.ConsolidateCases(DPI) throws with message containing "Schedule date must be in the future".
Enforcement
clsRequestManager.OnWrite
Outcome
AppendMessage("Error: One or more hearing rows are in 'Set' or 'Reset' status and scheduled in the past") (message excerpt); save returns False; other exception messages are rethrown unhandled.
BR-LGL-012 Secondary consolidated cases mirror the primary case state¶
Field
Value
Statement
Secondary (non-primary) consolidated cases mirror the primary case's status, LCE excusal/transfer state, file location, and DEF-sent flag.
Trigger
Save of the primary case triggers updateConsolFileLocation, updateConsolLCE, UpdateConsolCaseStatus, UpdateConsolDEFFLag.
Enforcement
LegalManagerBase (four methods)
Outcome
Each secondary clsLegalCase is updated and saved to match the primary case's corresponding state.
Source
SAIF.Application.Claim.Legal\LegalManagerBase.vb
BR-LGL-013 Case note deletion is restricted by role and note origin¶
Field
Value
Statement
A case note can only be deleted by users in the case-update/admin group, unless it is a bill note (DOCCO), which any authorized bill-note updater may delete; notes created by "SYSTEM" can never be deleted.
Trigger
DeleteNote() invoked.
Enforcement
clsCaseNotesManager.DeleteNote
Outcome
Deletion blocked with an error message when the caller lacks the required role or the note is system-created.
BR-LGL-014 Case note view update access is restricted by security key¶
Field
Value
Statement
Only users with the LNNoteView/LNUpdate security keys can view/update notes in the corresponding capacity; users in the admin or case-update groups can update any note.
Rules in this section originate from clsBusinessBase (SAIF.Framework.Core), the framework base class every concrete manager inherits transitively (via AppManagerBase/ClaimAppManager), and from clsLegalData's direct clsBusinessBase inheritance. They are enforced by inherited framework behavior, not by code in this library. No direct evidence in this library's own source shows these inherited members being invoked; managers instead rely on LegalManagerBase's own parallel lifecycle contract*.
INH-001 Business rules are registered and enforced through clsRulesManager¶
Field
Value
Statement
A clsBusinessBase-derived object uses Rules.CheckRules("RuleName") to invoke registered rule handlers, which consuming classes register as delegates typically marked with a RuleData attribute providing the broken-rule message and rule type.†
Trigger
A rule-evaluation call site (e.g., during Save()/edit-session processing) invokes Rules.CheckRules("RuleName") on the inherited Rules (clsRulesManager) property.†
Enforcement
clsBusinessBase.Rules (clsRulesManager), inherited by every concrete manager and by clsLegalData.
Outcome
Registered rule handlers run and broken-rule state is recorded on the owning object.†
Origin
SAIF.Framework.Core — clsBusinessBase
Source
Retrieved from indexed documentation via Legends CLI
INH-002 Broken rules are tracked when a registered rule fails¶
Field
Value
Statement
If a registered rule fails, the object records broken-rule state in its rules/broken-rule collection.†
Trigger
A registered rule handler returns a failed/broken result during rule evaluation.†
Enforcement
clsBusinessBase.Rules (clsRulesManager) broken-rule tracking, inherited by every concrete manager and by clsLegalData.
Outcome
The broken-rule collection is updated to reflect the failed rule.†
Origin
SAIF.Framework.Core — clsBusinessBase
Source
Retrieved from indexed documentation via Legends CLI
INH-003 Broken rules are surfaced to data-bound UI via IDataErrorInfo¶
Field
Value
Statement
clsBusinessBase implements IDataErrorInfo, so broken rules recorded by the rules engine can be surfaced to data-bound UI controls via the inherited Error/Item members.†
Trigger
A UI data-binding consumer reads the inherited Error property or Item(columnName) indexer on a manager instance or clsLegalData.†
Enforcement
clsBusinessBase.Error / clsBusinessBase.Item(columnName) (IDataErrorInfo), inherited by every concrete manager and by clsLegalData.
Outcome
The broken-rule message(s) for the object (or column) are returned to the caller/UI.†
Origin
SAIF.Framework.Core — clsBusinessBase
Source
Retrieved from indexed documentation via Legends CLI
BR-LGL-019 Manager email lookup falls back from assigned attorney to outside counsel¶
Field
Value
Statement
get_atty_mngr_email first resolves the manager email for the attorney assigned to the case's most recent hearing; if no row is found, it retries with the OUTSIDECNCL profile when an outside-firm assignment exists, and otherwise returns NONE.
BR-LGL-021 Header attorney display prefers appeal attorney then hearing attorney then outside counsel¶
Field
Value
Statement
Header attorney display prefers the latest appeal attorney, then the most recent hearing's assigned attorney, and finally the outside counsel firm name*
Trigger
clsLegalData.New invokes pk80001_legalNet.getHeader; the retrieved package exposes the matching attorney-selection logic through get_asgn_atty*
Enforcement
pk80001_legalnet.get_asgn_atty
Outcome
The header attorney value is populated from the first available source in that order*
BR-LGL-006 through BR-LGL-012 and BR-LGL-015/BR-LGL-016 ultimately delegate their underlying enforcement (batch-assignment algorithm, Guidewire matter/activity payload construction, consolidation validation, location/person in-use checks) to business-layer objects in SAIF.Business.Claim.Legal; the statements above describe only the Application-layer trigger/outcome contract observed in this library, not the business-layer implementation.
Three application-layer SQL statements (SQL-019, SQL-020, SQL-024) build query text via runtime string concatenation instead of Oracle bind variables; this is a data-access implementation detail, not a separate business rule, and is tracked in Dependencies.
Mark inferred statements with * and unknown statements with **. Do not use bold inline confidence labels.
Statements marked with † were retrieved from dependency library documentation via the Legends CLI RAG service.
Note: Statements marked with † are derived from dependency library
documentation via the Legends CLI. Statements marked with * were inferred
from code structure or contextual evidence.