Skip to content

SAIF.Business.Claim.Person business rules

This page captures business rules enforced by this library.

BR-PER-001: Optimistic concurrency applies to CRUD operations

Field Value
Statement Optimistic concurrency checks apply to claim-person business-object save and delete operations.
Trigger When an entity save or delete operation completes.
Enforcement BOF criteria lifecycle handlers and entity completion checks across the person business objects.
Outcome Stale updates raise contention errors instead of silently overwriting database state.
Source Business\SAIF.Business.Claim.Person\clsAwardEligibility.vb

BR-PER-002: Phonetic name generation is required for name maintenance

Field Value
Statement The library generates a phonetic name code whenever a claim-person name is inserted or updated.
Trigger When clsClaimPersonName saves a name-history record.
Enforcement clsClaimPersonName.GetPhoneticNameCode calls the Oracle package before name persistence.
Outcome Search-oriented phonetic indexing stays aligned with saved name history.
Tables CL_CLAIM_PERSON_NAME_HISTORY, CL_CLAIM_PERSON, DUAL
SQL SQL-002, SQL-008, SQL-016, SQL-017
Source Business\SAIF.Business.Claim.Person\clsClaimPersonName.vb

BR-PROC-001: Phonetic name generation must occur before claim-person name persistence

Field Value
Statement Phonetic name generation must occur before claim-person name persistence.
Trigger When clsClaimPersonName prepares Oracle-backed name persistence.
Enforcement PK82028_PHONETIC_NAME.createPhoneticName
Outcome The stored procedure returns the phonetic name token that the BOF object persists with the claim-person name history row.
Confidence Source-backed
Source PK82028_PHONETIC_NAME.createPhoneticName

BR-PER-003: Tax ID must contain exactly nine digits

Field Value
Statement A person tax ID history row's tax ID must contain exactly nine digits.
Trigger When a dirty clsPersonTaxIDHistory row is validated.
Enforcement clsPersonTaxIDHistory.SSNRequired.
Outcome An invalid tax ID blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb

BR-PER-004: Primary flag must be Y or N

Field Value
Statement PrimaryFlag on a tax ID history row must be Y or N.
Trigger When a dirty clsPersonTaxIDHistory row is validated.
Enforcement clsPersonTaxIDHistory.PrimaryFlagValid.
Outcome An invalid flag value blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb

BR-PER-005: Void flag must be Y or N

Field Value
Statement VoidFlag on a tax ID history row must be Y or N.
Trigger When a dirty clsPersonTaxIDHistory row is validated.
Enforcement clsPersonTaxIDHistory.VoidFlagValid.
Outcome An invalid flag value blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb

BR-PER-006: Primary tax IDs must be unique across worker records

Field Value
Statement A primary tax ID cannot already be recorded as primary for a different worker person.
Trigger When a nine-digit primary tax ID is validated.
Enforcement clsPersonTaxIDHistory.PrimarySSNValid (via GetPrimaryTaxID).
Outcome A duplicate primary tax ID for another worker blocks save.
Tables CL_PERSON_TAX_ID_HISTORY, CL_CLAIM_PERSON
SQL SQL-011
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb

BR-PER-007: Duplicate tax IDs raise a warning

Field Value
Statement A tax ID already used by another person's history row generates a warning rather than a blocking error.
Trigger When a nine-digit tax ID is validated.
Enforcement clsPersonTaxIDHistory.SSNInUse (via GetTaxIDInUseAsActive / GetTaxIDInUse).
Outcome A warning is added; save is not blocked by this check alone.
Tables CL_PERSON_TAX_ID_HISTORY
SQL SQL-010, SQL-012
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb

BR-PER-008: Only one tax ID can be primary per person

Field Value
Statement A person's tax ID history collection can contain at most one row marked primary.
Trigger When the tax ID history collection is dirty and validated.
Enforcement clsPersonTaxIDHistoryCollection.PrimaryValid.
Outcome Multiple primary rows block save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistoryCollection.vb

BR-PER-009: Primary tax IDs cannot be voided

Field Value
Statement A tax ID history row cannot be marked both primary and void.
Trigger When a clsPersonTaxIDHistory row is validated.
Enforcement clsPersonTaxIDHistory.PrimaryNotVoid.
Outcome An invalid combination blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb

BR-PER-010: Award eligibility effective date is required

Field Value
Statement An award eligibility period must have an effective date.
Trigger When a clsAwardEligibility period is validated.
Enforcement clsAwardEligibility.ValidEffectiveDate.
Outcome A blank effective date blocks save.
Tables CL_AWARD_ELIGIBILITY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsAwardEligibility.vb

BR-PER-011: Award eligibility expiration date cannot precede the effective date

Field Value
Statement An award eligibility period's expiration date cannot be earlier than its effective date.
Trigger When a clsAwardEligibility period is validated.
Enforcement clsAwardEligibility.ValidExpirationDate.
Outcome An invalid date range blocks save.
Tables CL_AWARD_ELIGIBILITY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsAwardEligibility.vb

BR-PER-012: Award eligibility cannot start before the beneficiary birth date

Field Value
Statement An award eligibility period's effective date must be on or after the beneficiary's birth date.
Trigger When a clsAwardEligibility period is validated.
Enforcement clsAwardEligibility.EffectiveDateAfterBirthDate.
Outcome An invalid period blocks save.
Tables CL_AWARD_ELIGIBILITY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsAwardEligibility.vb

BR-PER-013: Award eligibility cannot extend past the beneficiary death date

Field Value
Statement An award eligibility period cannot run beyond the beneficiary's recorded death date.
Trigger When a clsAwardEligibility period is validated and a death date is present.
Enforcement clsAwardEligibility.EligPeriodAfterDeathDate.
Outcome An invalid period blocks save.
Tables CL_AWARD_ELIGIBILITY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsAwardEligibility.vb

BR-PER-014: Award eligibility periods cannot overlap

Field Value
Statement A beneficiary's award eligibility periods cannot overlap one another.
Trigger When the award eligibility collection is validated.
Enforcement clsAwardEligibilityCollection.NoDateOverlap.
Outcome Overlapping periods block save.
Tables CL_AWARD_ELIGIBILITY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsAwardEligibilityCollection.vb

BR-PER-015: Beneficiary last name is required

Field Value
Statement A beneficiary must have a last name.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.PrimaryLastNameRequired.
Outcome A missing last name blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-016: Orphan codes require the child relationship code

Field Value
Statement An orphan code of 1 or 2 requires the beneficiary relationship code to be the child code (2).
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.OrphanIsChild.
Outcome An inconsistent orphan/relationship combination blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-017: Beneficiary birth dates cannot be future-dated and are required when eligibility periods exist

Field Value
Statement A beneficiary birth date cannot be in the future, and is required when an eligibility end date exists.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.ValidBirthDate.
Outcome An invalid birth-date state blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-018: Beneficiary death dates cannot be future-dated and must be after the birth date

Field Value
Statement A beneficiary death date cannot be in the future and must be later than the birth date.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.ValidDeathDate.
Outcome An invalid death date blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-019: Birth certificate received dates cannot be future-dated

Field Value
Statement A beneficiary's birth-certificate-received date cannot be in the future.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.ValidBirthCertReceivedDate.
Outcome An invalid date blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-020: Beneficiary gender codes must be M, F, or U

Field Value
Statement A beneficiary gender code must be M, F, or U.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.ValidGenderCode.
Outcome An invalid code blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-021: Beneficiary tax IDs must contain exactly nine digits when provided

Field Value
Statement A beneficiary tax ID, when entered, must contain exactly nine digits.
Trigger When a clsBeneficiary object is validated and a tax ID is present.
Enforcement clsBeneficiary.ValidSSN.
Outcome An invalid tax ID blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-022: Post-1999 PTD beneficiary claims require a recorded worker death date

Field Value
Statement For claims with an injury date on or after October 23, 1999, PTD beneficiary eligibility requires a recorded worker death date.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.PTDBenefitsAfter10_23_1999.
Outcome A missing worker death date blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-023: Conflicting payment addresses generate a warning

Field Value
Statement When a beneficiary has both a special payment address and a guardian payment address, a warning is generated.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.TwoPaymentAddresses.
Outcome A warning is added; validation is not blocked by this check alone.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-024: Beneficiary death-date changes generate an eligibility review warning

Field Value
Statement Editing a beneficiary's death date generates a warning that the current award eligibility period may need expiration review.
Trigger When the beneficiary death date is modified.
Enforcement clsBeneficiary.DeathDateModified.
Outcome A warning is added.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-025: Higher education requires orphan code 2

Field Value
Statement Higher-education status is only valid for a beneficiary with orphan code 2.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.HigherEdOrphanValid.
Outcome An invalid combination blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-026: Twice-orphaned child beneficiaries must resolve higher education status

Field Value
Statement A child beneficiary with orphan code 2 must resolve a definite higher-education status.
Trigger When a clsBeneficiary object is validated.
Enforcement clsBeneficiary.HigherEdOrphanRequired.
Outcome An unresolved status blocks validation.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsBeneficiary.vb

BR-PER-027: Worker health issue exposure codes are required and must be at least 1

Field Value
Statement A worker health issue row's exposure code cannot be blank and must be numerically at least 1.
Trigger When a clsWorkerHealthIssue row is validated.
Enforcement clsWorkerHealthIssue.ExposureCodeValid.
Outcome An invalid exposure code blocks save.
Tables CL_WORKER_HEALTH_ISSUE
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsWorkerHealthIssue.vb

BR-PER-028: Claim-person name last name is required

Field Value
Statement A claim-person name-history row must have a non-blank last name.
Trigger When a clsClaimPersonName row is validated.
Enforcement clsClaimPersonName.LastNameRequired.
Outcome A blank last name blocks save.
Tables CL_CLAIM_PERSON_NAME_HISTORY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonName.vb

BR-PER-029: Claim-person name primary flag must be Y or N

Field Value
Statement PrimaryFlag on a claim-person name row must be Y or N.
Trigger When a clsClaimPersonName row is validated.
Enforcement clsClaimPersonName.PrimaryFlagValid.
Outcome An invalid flag value blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonName.vb

BR-PER-030: Claim-person name void flag must be Y or N

Field Value
Statement VoidFlag on a claim-person name row must be Y or N.
Trigger When a clsClaimPersonName row is validated.
Enforcement clsClaimPersonName.VoidFlagValid.
Outcome An invalid flag value blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonName.vb

BR-PER-031: A primary claim-person name may not be void

Field Value
Statement A claim-person name row cannot be marked both primary and void.
Trigger When a clsClaimPersonName row is validated.
Enforcement clsClaimPersonName.PrimaryVoidFlagsValid.
Outcome An invalid combination blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonName.vb

BR-PER-032: Only one claim-person name can be primary

Field Value
Statement A person's name-history collection can contain at most one row marked primary.
Trigger When the name-history collection is dirty and non-empty.
Enforcement clsClaimPersonNameCollection.PrimaryValid.
Outcome Multiple primary name rows block save.
Tables CL_CLAIM_PERSON_NAME_HISTORY
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonNameCollection.vb

BR-PER-033: Payment address effective date must be present and not in the past

Field Value
Statement A special payment address's effective date cannot be blank or earlier than today.
Trigger When a dirty payment address (clsClaimPersonAddress) with a modified effective date is validated.
Enforcement clsClaimPersonAddress.ValidEffDate.
Outcome An invalid effective date blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonAddress.vb

BR-PER-034: Payment address expiration date cannot precede the effective date or be in the past

Field Value
Statement A special payment address's expiration date, when set, cannot be earlier than the effective date and cannot be in the past if it was just modified.
Trigger When a dirty payment address (clsClaimPersonAddress) is validated.
Enforcement clsClaimPersonAddress.ValidExpDate.
Outcome An invalid expiration date blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonAddress.vb

BR-PER-035: Domestic payment addresses require address line 1, city, state, and zip

Field Value
Statement A dirty, non-foreign payment address that has any address content entered must include address line 1, city, state, and zip code.
Trigger When a dirty, domestic-format payment address (clsClaimPersonAddress) is validated.
Enforcement clsClaimPersonAddress.ValidDomesticAddress.
Outcome An incomplete domestic address blocks save.
Confidence Source-backed
Source Business\SAIF.Business.Claim.Person\clsClaimPersonAddress.vb

Sources

  • Business\SAIF.Business.Claim.Person\clsAwardEligibility.vb
  • Business\SAIF.Business.Claim.Person\clsAwardEligibilityCollection.vb
  • Business\SAIF.Business.Claim.Person\clsClaimPersonName.vb
  • Business\SAIF.Business.Claim.Person\clsClaimPersonNameCollection.vb
  • Business\SAIF.Business.Claim.Person\clsClaimPersonAddress.vb
  • Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistory.vb
  • Business\SAIF.Business.Claim.Person\clsPersonTaxIDHistoryCollection.vb
  • Business\SAIF.Business.Claim.Person\clsBeneficiary.vb
  • Business\SAIF.Business.Claim.Person\clsWorkerHealthIssue.vb