Skip to content

SAIF.Business.Claim.Maintenance business rules

This page captures business rules enforced by SAIF.Business.Claim.Maintenance.

BR-CM-001: Optimistic concurrency — updates fail if RowsAffected ≠ 1

Field Value
Statement Optimistic concurrency — updates fail if RowsAffected ≠ 1
Trigger All After* lifecycle methods
Enforcement All business objects
Outcome AddErrorMessage with DB contention error
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AfterUpdate; Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — AfterUpdate; Business\SAIF.Business.Claim.Maintenance\clsMedicalCondition.vb — AfterUpdate

BR-CM-002: Support order cannot be deleted if awards exist for the SUO claim

Field Value
Statement Support order cannot be deleted if awards exist for the SUO claim
Trigger Delete validation
Enforcement clsClaimSupportOrder — PK82141_SUPPORT_ORDER.AwardExistsForSUOClaim
Outcome Prevents deletion
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — ValidSelectedClaims, AwardForOrderExists

BR-CM-003: Support order cannot be deleted if payments exist for the SUO claim

Field Value
Statement Support order cannot be deleted if payments exist for the SUO claim
Trigger Delete validation
Enforcement clsClaimSupportOrder — PK82141_SUPPORT_ORDER.PaymentExistsForSUOClaim
Outcome Prevents deletion
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — ValidSelectedClaims, PaymentForOrderExists

BR-CM-004: Support order validates payment-about-to-be-issued status before changes

Field Value
Statement Support order validates payment-about-to-be-issued status before changes
Trigger Pre-update check
Enforcement clsClaimSupportOrder — PK82141_SUPPORT_ORDER.PaymentAboutToBeIssued
Outcome Prevents update
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — PaymentIssueWarning, PaymentAboutToBeIssued

BR-CM-005: Benefit payee must exist for support order before payment processing

Field Value
Statement Benefit payee must exist for support order before payment processing
Trigger Pre-payment check
Enforcement clsClaimSupportOrder — PK82141_SUPPORT_ORDER.BenfitPayeeForOrderExists
Outcome Validation check
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — DetermineTodoTasks, BenifitPayeeReferencesOrder

BR-CM-006: Award reduction validation before support order modification

Field Value
Statement Award reduction validation before support order modification
Trigger Pre-update check
Enforcement clsClaimSupportOrder — PK82141_SUPPORT_ORDER.AwardReductionExists
Outcome Validation check
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — AwardReductionExists

BR-CM-007: Void, combine, transfer, restore are mutually exclusive adjustment operations

Field Value
Statement Void, combine, transfer, restore are mutually exclusive adjustment operations
Trigger Adjustment type selection
Enforcement clsClaimAdjustment — operation type parameter
Outcome Only one operation per call
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimAdjustment.vb — Save, IsValid

BR-CM-008: Claims with status 'I' (in-progress) or 'V' (voided) are excluded from support order claim

Field Value
Statement Claims with status 'I' (in-progress) or 'V' (voided) are excluded from support order claim lists
Trigger Claim query filter
Enforcement clsClaimSupportOrder — inline SQL WHERE clause
Outcome Filters out non-active claims
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb — CreateConnections

BR-CM-009: Injury occupational disease code must be I or D

Field Value
Statement InjOccupationalDiseaseCode must be I (injury) or D (occupational disease).
Trigger InjOccupationalDiseaseCode property set, and again during IsValid()
Enforcement clsClaimDetail — rule InjOccupationalDiseaseCodeValid (clsClaimDetail01, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, InjOccupationalDiseaseCodeValid

BR-CM-010: Active claim flag must be Y or N

Field Value
Statement ActiveClaimFlag must be Y or N.
Trigger ActiveClaimFlag property set, and again during IsValid()
Enforcement clsClaimDetail — rule ActiveClaimFlagValid (clsClaimDetail02, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ActiveClaimFlagValid

BR-CM-011: Knowledge date is required and bounded by injury date and today

Field Value
Statement KnowledgeDate must be populated, must not be in the future, and must not precede InjuryDate.
Trigger KnowledgeDate property set, and again during IsValid()
Enforcement clsClaimDetail — rule KnowledgeDateValid (clsClaimDetail03, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, KnowledgeDateValid

BR-CM-012: Disability date must not precede injury date or be in the future

Field Value
Statement A populated DisabilityDate may not precede InjuryDate unless the claim is an occupational disease claim, and may not be in the future.
Trigger DisabilityDate property set, and again during IsValid()
Enforcement clsClaimDetail — rule DisabilityDateValid (clsClaimDetail04, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, DisabilityDateValid

BR-CM-013: Coverage code must be A B C or E

Field Value
Statement CoverageCode must be one of A, B, C, or E.
Trigger CoverageCode property set, and again during IsValid()
Enforcement clsClaimDetail — rule CoverageCodeValid (clsClaimDetail05, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, CoverageCodeValid

BR-CM-014: Handicap worker reserve flag must be Y or N

Field Value
Statement HandicapWorkerReserveFlag must be Y or N.
Trigger HandicapWorkerReserveFlag property set, and again during IsValid()
Enforcement clsClaimDetail — rule HandicapWorkerReserveFlagValid (clsClaimDetail06, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, HandicapWorkerReserveFlagValid

BR-CM-015: WCD claim number must be unique across claims

Field Value
Statement A non-blank WCDClaimNum may not already be assigned to another claim.
Trigger WCDClaimNum property set, and again during IsValid()
Enforcement clsClaimDetail — rule WCDClaimNumValid (clsClaimDetail07, Error) via GetWCDClaimNumberCount
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, WCDClaimNumValid, GetWCDClaimNumberCount

BR-CM-016: Claim status code must be New Open Closed or Denied

Field Value
Statement ClaimStatusCode must be one of New (N), Open (O), Closed (C), or Denied (D).
Trigger ClaimStatusCode property set, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimStatusCodeValid (clsClaimDetail08, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimStatusCodeValid

BR-CM-017: State occupational disease PPD or PTD claims require a disability or initial treatment date

Field Value
Statement For state-jurisdiction (1) occupational-disease claims of type PPD (5) or PTD (7), either DisabilityDate or InitialTreatmentDate must be populated.
Trigger DisabilityDate, InitialTreatmentDate, or ClaimTypeCode set, and again during IsValid()
Enforcement clsClaimDetail — rule DisabilityTreatmentDateValid (clsClaimDetail09, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, DisabilityTreatmentDateValid

BR-CM-018: Aggravation decision on a disabling claim requires a closed status

Field Value
Statement An aggravation decision (ClaimDecisionTypeToA) on a disabling claim type (4, 5, or 7) requires a current or prior Closed claim status.
Trigger Claim decision or claim type change, and again during IsValid()
Enforcement clsClaimDetail — rule AggDisablingClosedValid (clsClaimDetail10, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, AggDisablingClosedValid

BR-CM-019: OWCP claim number must be unique per worker

Field Value
Statement A non-blank OwcpClaimNum may not already be assigned to another claim for the same worker.
Trigger OwcpClaimNum property set, and again during IsValid()
Enforcement clsClaimDetail — rule OWCPClaimNumValid (clsClaimDetail11, Error) via GetOWCPClaimNumberCount
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, OWCPClaimNumValid, GetOWCPClaimNumberCount

BR-CM-020: Claim status may not change without at least one condition

Field Value
Statement ClaimStatusCode may not change to Closed, Open, or Denied while the claim has zero medical conditions.
Trigger ClaimStatusCode property set, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimStatusChangedWithoutCondition (clsClaimDetail12, Error) using the retrieve-time conditions count
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimStatusChangedWithoutCondition, GetConditionsCount

BR-CM-021: Claim status may not close while the latest decision is deferred

Field Value
Statement ClaimStatusCode may not be set to Closed when the latest claim decision is a deferred original-injury request.
Trigger ClaimStatusCode property set, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimStatusClosedAndDeferred (clsClaimDetail13, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimStatusClosedAndDeferred

BR-CM-022: Medicare ORM termination date must fall between injury date and seven days ahead

Field Value
Statement A populated MedicareORMTermDate may not precede InjuryDate and may not exceed seven days past today.
Trigger MedicareORMTermDate property set, and again during IsValid()
Enforcement clsClaimDetail — rule ORMExpirationDateValid (clsClaimDetail14, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ORMExpirationDateValid

BR-CM-023: Disabling occupational disease claims should have a disability date

Field Value
Statement A disabling occupational-disease claim (ClaimTypeCode = 4) should carry a DisabilityDate.
Trigger ClaimTypeCode or DisabilityDate set, and again during IsValid()
Enforcement clsClaimDetail — rule DisabilityDateRequired (clsClaimDetail100, Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, DisabilityDateRequired

BR-CM-024: Disability date changes require wage re-verification

Field Value
Statement Changing DisabilityDate on an occupational-disease claim warns the user to re-verify claim-cost wages.
Trigger DisabilityDate property changed, and again during IsValid()
Enforcement clsClaimDetail — rule DisabilityDateChanged (clsClaimDetail101, Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, DisabilityDateChanged

BR-CM-025: Aggravation request after aggravation rights end date warns of own motion

Field Value
Statement When an aggravation decision's request date falls after AggRightsEndDate, the user is warned of a possible own-motion decision.
Trigger Claim decision change, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimDecisionChanged (clsClaimDetail102, Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimDecisionChanged

BR-CM-026: Non-disabling to disabling change within 365 days warns the user

Field Value
Statement Changing a non-disabling claim (3) to a disabling type (4, 5, 7) while the claim is Closed and the last non-disabling effective date is within 365 days raises a warning.
Trigger ClaimTypeCode property changed, and again during IsValid()
Enforcement clsClaimDetail — rule NonDisablingToDisabling (clsClaimDetail103, Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, NonDisablingToDisabling

BR-CM-027: Closing a claim without a medically stationary date warns the user

Field Value
Statement Changing ClaimStatusCode to Closed while accepted conditions still lack a medically-stationary date raises a warning.
Trigger ClaimStatusCode property changed to Closed, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimStatusClosedWithoutMedStatDate (clsClaimDetail104, Warning) using the retrieve-time accepted-condition count
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimStatusClosedWithoutMedStatDate, GetAcceptCondMedStationaryCount

BR-CM-028: Aggravation decision change warns of a possible aggravation decision

Field Value
Statement The inverse condition of the own-motion check warns the user of a possible aggravation decision on the claim.
Trigger Claim decision change, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimDecisionAggChanged (clsClaimDetail105, Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimDecisionAggChanged

BR-CM-029: Closing or denying a claim sets pharmacy eligibility to ineligible

Field Value
Statement When ClaimStatusCode changes to Closed (C) or Denied (D) and an existing pharmacy-eligibility record is not already Ineligible (I), the pharmacy eligibility status is forced to I with today's effective date.
Trigger IsValid() evaluation before save, after a claim-status change
Enforcement clsClaimDetail — IsValid derivation onto WorkerPharmacyEligibilityReport
Outcome Pharmacy eligibility record is updated and persisted with the claim
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — IsValid

BR-CM-030: Denying a claim sets the Medicare ORM termination date and reopening clears it

Field Value
Statement A status change to Denied (D) sets MedicareORMTermDate to the claim-status-activity effective date; a change to Open (O) clears it.
Trigger IsValid() evaluation before save, after a claim-status change
Enforcement clsClaimDetail — IsValid derivation of MedicareORMTermDate
Outcome MedicareORMTermDate is derived automatically and written with the claim update
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — IsValid

BR-CM-031: Reopening a claim with a CDA order warns the user

Field Value
Statement Reopening a claim (ClaimStatusCode = O) that is flagged with a CDA order (CdaFlag = Y) raises a warning.
Trigger ClaimStatusCode set to Open, and again during IsValid()
Enforcement clsClaimDetail — rule ClaimHasCDAOrder (clsClaimDetail107, Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, ClaimHasCDAOrder

BR-CM-032: OHS or suspended pharmacy status requires Majoris enrollment

Field Value
Statement A pharmacy eligibility status of OHS (O) or Suspended (S) requires the MCO plan to be Majoris (FF) and the MCO eligibility status to be enrolled (Y).
Trigger Pharmacy eligibility status change, and again during IsValid()
Enforcement clsClaimDetail — rule PharmacyEligibilityStatusCodeValid (clsClaimDetail08 reused, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, PharmacyEligibilityStatusCodeValid

BR-CM-033: Caremark or denied pharmacy status requires Caremark enrollment

Field Value
Statement A pharmacy eligibility status of Caremark (C) or Denied (D) requires the MCO plan to be Caremark (AA) and the MCO eligibility status to be enrolled (Y).
Trigger Pharmacy eligibility status change, and again during IsValid()
Enforcement clsClaimDetail — rule PharmacyEligibilityCaremarkCodeValid (clsClaimDetail09 reused, Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — AddBusinessRules, PharmacyEligibilityCaremarkCodeValid

BR-CM-034: Formal MCO enrollment sets the matching pharmacy formulary code

Field Value
Statement When MCO eligibility is saved as formally enrolled or pending credentialing (status and reason 1Y or 3Y), pharmacy eligibility is set to the matching formulary code — O for Majoris (FF) or C for Caremark (AA) — with today's effective date.
Trigger Save() when ClaimMcoEligibility is dirty
Enforcement clsClaimDetail — Save derivation onto WorkerPharmacyEligibilityReport
Outcome Pharmacy eligibility record is updated and saved with the claim
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — Save

BR-CM-035: Accepted claim decision derives pharmacy eligibility from MCO plan

Field Value
Statement When the latest or pending claim decision is to Accept, there is no date of death, the jurisdiction is not Inmate (2), the claim type is not Fatal (8), and the status is Open or New, pharmacy eligibility is set to C (Caremark), O (Majoris/OHS), or E (Extended, default) with today's effective date — unless the pharmacy record is already Ineligible or already dirty.
Trigger Save() following a claim-decision change
Enforcement clsClaimDetail — Save derivation onto WorkerPharmacyEligibilityReport
Outcome Pharmacy eligibility record is updated and saved with the claim
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — Save

BR-CM-036: Reopening a closed claim resets pharmacy eligibility status

Field Value
Statement When the claim status changes from Closed (C) to Open (O) and a pharmacy record exists, the pharmacy eligibility status is set to D (Caremark), S (Majoris), or L (Limited) depending on MCO enrollment, with today's effective date.
Trigger Save() following a Closed-to-Open status change
Enforcement clsClaimDetail — Save derivation onto WorkerPharmacyEligibilityReport
Outcome Pharmacy eligibility record is updated and saved with the claim
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — Save

BR-CM-037: First accept or deny decision copies responsible adjuster to compensability adjuster

Field Value
Statement When the first claim decision transitions to Accept or Denied, ClaimRespCode is copied into CompensabilityRespCode.
Trigger Save() when GetIsFirstDeniedAcceptedDecision is true
Enforcement clsClaimDetail — Save derivation of CompensabilityRespCode
Outcome The compensability adjuster code is derived automatically and persisted with the claim
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — Save

Field Value
Statement Changing JurisdictionCode clears or defaults the identifier fields tied to the old and new jurisdiction: leaving Inmate (2) zeroes InmateNum; entering Inmate forces PolicyNum = 8 with a blank sub-code and creates a claim-policy-history row; leaving State (1) clears WCDClaimNum; leaving Federal clears OwcpClaimNum and resets OwcpServiceOfficeCode to 0.
Trigger Save() when JurisdictionCode was modified
Enforcement clsClaimDetail — ProcessJurisdictionCodeChanges
Outcome Dependent identifier fields are cleared or defaulted before the claim update is issued
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — Save, ProcessJurisdictionCodeChanges

Field Value
Statement When ActiveClaimFlag changes from Y to N, any open legal-representative row for the claim is expired with EXP_DATE = today and end-reason code 1.
Trigger Save() when ActiveClaimFlag changed from Y to N
Enforcement clsClaimDetail — ProcessLegalRep
Outcome The open legal-representative row is closed as a side effect of the claim save
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb — Save, ProcessLegalRep

BR-CM-040: Injury date is required when modified

Field Value
Statement InjuryDate may not be left empty once it has been modified.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury00 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-041: Injury date more than one year in the past warns the user

Field Value
Statement An InjuryDate more than one year before today raises a warning.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury02 (Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-042: Another claim within fourteen days for the same worker warns the user

Field Value
Statement If the worker has another claim with an injury date within plus or minus fourteen days of this claim's injury date, a warning naming the duplicate claim is raised.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury04 (Warning) via CheckForMultipleClaimsForWorker
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, CheckForMultipleClaimsForWorker

BR-CM-043: Initial treatment date change on a disease claim requires wage re-verification

Field Value
Statement Changing InitialTreatmentDate on a disease claim (InjOccupationalDiseaseCode = D) warns the user to re-verify claim-cost wages.
Trigger InitialTreatmentDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury06 (Warning)
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-044: Injury date may not follow the knowledge date

Field Value
Statement InjuryDate may not be later than a populated KnowledgeDate.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury10 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-045: Injury date may not follow the 801 received date

Field Value
Statement InjuryDate may not be later than Received801Date.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury12 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-046: Injury date may not follow the stamped-in received date

Field Value
Statement InjuryDate may not be later than ReceivedDate (the stamped-in date).
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury14 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-047: Injury date may not follow the leave work date

Field Value
Statement InjuryDate may not be later than LeaveWorkDate.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury16 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-048: Injury date may not precede the worker birth date

Field Value
Statement InjuryDate may not be earlier than the worker's BirthDate.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury18 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-049: Injury date may not follow the worker death date

Field Value
Statement InjuryDate may not be later than the worker's DeathDate.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury20 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-050: Injury date may not follow a work release date

Field Value
Statement InjuryDate may not be later than any recorded work release date for the claim.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury22 (Error) via GetWrkRelDtGTInjDtCount
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, GetWrkRelDtGTInjDtCount

BR-CM-051: Injury date may not follow a decision request effective date

Field Value
Statement InjuryDate may not be later than any claim decision-request effective date.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury24 (Error) via GetReqDecDtGTInjDtCount
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, GetReqDecDtGTInjDtCount

BR-CM-052: Injury date may not follow a disability authorization activity date

Field Value
Statement InjuryDate may not be later than any disability-authorization activity date for the claim.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury26 (Error) via GetDisabAuthDtGTInjDtCount
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, GetDisabAuthDtGTInjDtCount

BR-CM-053: Injury date may not follow a medically stationary date

Field Value
Statement InjuryDate may not be later than any medically-stationary date recorded on the claim's conditions.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury28 (Error) via GetMedStatDtGTInjDtCount
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, GetMedStatDtGTInjDtCount

BR-CM-054: Injury date may not follow the disability date on injury claims

Field Value
Statement For injury claims (InjOccupationalDiseaseCode = I), InjuryDate may not be later than DisabilityDate.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury30 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-055: PPD or PTD occupational disease claims require a disability or initial treatment date

Field Value
Statement Claims of type PPD (5) or PTD (7) with InjOccupationalDiseaseCode = D require either a disability date or an initial treatment date.
Trigger InjuryDate or InitialTreatmentDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury32 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-056: Initial treatment date must fall between 1850 and today

Field Value
Statement InitialTreatmentDate may not be in the future and may not precede the MIN_DATE constant of 01/01/1850.
Trigger InitialTreatmentDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury34 (Error)
Outcome Broken rule; save is blocked until corrected
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules

BR-CM-057: Injury date may not change while unposted payments or adjustments exist

Field Value
Statement InjuryDate may not be changed while the claim has unposted payments or adjustments.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury36 (Error) via ClaimServices.HasUnpostedPaymentsOrAdjustments
Outcome Broken rule; save is blocked until the financials are posted
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, CanInjuryDateChange

BR-CM-058: Missing policy coverage at injury date warns the user

Field Value
Statement When PolicyNum is greater than 17 and no policy coverage exists at the injury date, a warning is raised.
Trigger InjuryDate modified, evaluated during IsValid()
Enforcement clsAccidentInjury — rule clsAccidentInjury37 (Warning) via PolicyServices.CoverageExists
Outcome Warning surfaced to the caller; the save may still proceed
Confidence Source-backed
Source Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb — AddBusinessRules, ValidPolicyCoverageAtInjury

BR-PROC-001: Claim void requests must provide the claim identifier, current update number, and acting u

Field Value
Statement Claim void requests must provide the claim identifier, current update number, and acting user.
Trigger Package specification parameters inClaimID, inUpdateNum, and inUserID.
Enforcement PK82140_CLAIM_ADJUSTMENTS.VoidClaim
Outcome The package exposes a version-aware claim-void contract to the .NET caller.
Confidence Source-backed
Source PK82140_CLAIM_ADJUSTMENTS.VoidClaim

BR-PROC-002: Claim combine requests must identify both the source claim and the claim to combine into

Field Value
Statement Claim combine requests must identify both the source claim and the claim to combine into.
Trigger Package specification parameters inClaimID and inCombineClaimID.
Enforcement PK82140_CLAIM_ADJUSTMENTS.CombineClaim
Outcome The package contract prevents a combine operation from running without both claim identifiers.
Confidence Source-backed
Source PK82140_CLAIM_ADJUSTMENTS.CombineClaim

BR-PROC-003: Claim transfer and restore flows require a target worker identifier in addition to claim v

Field Value
Statement Claim transfer and restore flows require a target worker identifier in addition to claim version inputs.
Trigger Package specification parameters inWorkerID, inUpdateNum, and inUserID.
Enforcement PK82140_CLAIM_ADJUSTMENTS.TransferClaim
Outcome The contract shows that worker reassignment is part of both transfer and restore operations.
Confidence Source-backed
Source PK82140_CLAIM_ADJUSTMENTS.TransferClaim

Notes

  • Procedure-derived rules are mirrored here so claim-domain readers do not have to open procedure pages to see active constraints.
  • Rules without BOF rule attributes are enforced by lifecycle methods, helper methods, or stored-procedure contracts.

Sources

  • Business\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vb
  • Business\SAIF.Business.Claim.Maintenance\clsAttendingPhysician.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimAdjustment.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimDisabilityActivity.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vb
  • Business\SAIF.Business.Claim.Maintenance\clsVocationalDetail.vb
  • Business\SAIF.Business.Claim.Maintenance\clsVocationalDetailCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsHelper.vb
  • Business\SAIF.Business.Claim.Maintenance\enums.vb
  • Business\SAIF.Business.Claim.Maintenance\packages.config
  • Business\SAIF.Business.Claim.Maintenance\SAIF.BOF.Business.Claim.Maintenance.nuspec
  • Business\SAIF.Business.Claim.Maintenance\Pipelines\build-vars.yml
  • Business\SAIF.Business.Claim.Maintenance\CCClaimDataApi\AttendingPhysicians.vb
  • Business\SAIF.Business.Claim.Maintenance\CCClaimDataApi\ClaimContactsResponse.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimDisabilityActivityCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimMcoEligibility.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimMcoEligibilityCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimPolicy.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimPolicyHistory.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimPolicyHistoryCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimRequestDecision.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimRequestDecisionCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimStatusActivity.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimStatusActivityCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrderCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrderConn.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimSupportOrderConnCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimTypeActivity.vb
  • Business\SAIF.Business.Claim.Maintenance\clsClaimTypeActivityCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsConditionDecision.vb
  • Business\SAIF.Business.Claim.Maintenance\clsConditionDecisionCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsCovid19TestingHistory.vb
  • Business\SAIF.Business.Claim.Maintenance\clsCovid19TestingHistoryCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsDisabilityAuthActivity.vb
  • Business\SAIF.Business.Claim.Maintenance\clsDisabilityAuthActivityCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsMedicalCondition.vb
  • Business\SAIF.Business.Claim.Maintenance\clsMedicalConditionCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsOmittedCondition.vb
  • Business\SAIF.Business.Claim.Maintenance\clsOmittedConditionCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsTDThreeDayWait.vb
  • Business\SAIF.Business.Claim.Maintenance\clsTDThreeDayWaitCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkRelease.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkReleaseCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkStatus.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkStatusCollection.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkStatusInjuryClaim.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkerClaimBenefitPayment.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkerClaimBenefitSchedule.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkerInjuryClaim.vb
  • Business\SAIF.Business.Claim.Maintenance\clsWorkerPharmacyEligibilityReport.vb