Common Mutation Validation Specification BLPK

blpk-common-mutation-validation

Spec-driven cases for the common business rules loaded from CommonBusinessRulesProvider.

caseId annotations businessRuleCodes insuranceId mandantNo mutationType mutationId valutaDateOffset beginInsuranceDateOffset entryCompanyDateOffset grossIncome insuredIncome pensum lastName firstName sex birthday street1 zip city countryCode languageCode marriageDateOffset ahvNo sovNo departmentNo civilStatus mutationUnpaidHolidaysFrom mutationUnpaidHolidaysTo unpaidHolidaysFrom unpaidHolidaysTo unpaidHolidaysContinueCode exitDateOffset exitReason newOrChangedIv newOrChangedIvOnExit dateOfDisabilityOffset divorceDateOffset oldCivilStatus oldLanguageCode oldSex limitedEmployment savingsPlan oldSavingsPlan

99999_1_453029:UBU:LEG-OK

legacy unpaid holidays valid

UNPAID_HOLIDAYS_FROM_REQUIRED_LEGACY,UNPAID_HOLIDAYS_TO_REQUIRED_LEGACY,UNPAID_HOLIDAYS_RANGE_LEGACY,UNPAID_HOLIDAYS_FROM_INVALID_LEGACY,UNPAID_HOLIDAYS_TO_INVALID_LEGACY

99999.1.453029

99999.1

LOM

700001

1

61029

50729

98

Baumgartner

Pascal

1

01.01.1995

8000

Zürich

CH

1

Single

01.01.2026

31.01.2026

2

1

99999_1_453029:UBU:LTO-NO

legacy unpaid holidays missing to date

UNPAID_HOLIDAYS_TO_REQUIRED_LEGACY

99999.1.453029

99999.1

LOM

700002

1

61029

50729

98

Baumgartner

Pascal

1

01.01.1995

8000

Zürich

CH

1

Single

01.01.2026

2

1

99999_1_453029:UBU:NEW-OK

newData unpaid holidays valid

UNPAID_HOLIDAYS_FROM_REQUIRED_NEWDATA,UNPAID_HOLIDAYS_TO_REQUIRED_NEWDATA,UNPAID_HOLIDAYS_RANGE_NEWDATA

99999.1.453029

99999.1

LOM

700003

1

61029

50729

98

Baumgartner

Pascal

1

01.01.1995

8000

Zürich

CH

1

Single

01.02.2026

28.02.2026

2

1

99999_1_453029:UBU:NTO-NO

newData unpaid holidays missing to date

UNPAID_HOLIDAYS_TO_REQUIRED_NEWDATA

99999.1.453029

99999.1

LOM

700004

1

23

23

62029

61451

100

Meixner

Markus

1

22.10.1972

Friedberg 17

15251

Binningen

CH

1

0

756.5562.5194.12

99999

Married

01.02.2026

2

1

99999_1_453029:UBU:CHG-OK

unpaid holidays changed

UNPAID_HOLIDAYS_NOT_CHANGED

99999.1.453029

99999.1

LOM

700005

1

23

23

62029

61451

100

Meixner

Markus

1

22.10.1972

Friedberg 17

15251

Binningen

CH

1

0

756.5562.5194.12

99999

Married

01.03.2026

31.03.2026

1

2

1

99999_1_453029:UBU:CHG-NO

unpaid holidays not changed

UNPAID_HOLIDAYS_NOT_CHANGED

99999.1.453029

99999.1

LOM

700006

1

23

23

62029

61451

100

Meixner

Markus

1

22.10.1972

Friedberg 17

15251

Binningen

CH

1

0

756.5562.5194.12

99999

Married

01.04.2026

30.04.2026

1

2

1

99999_1_453029:LOM:PEG-OK

pensum and gross income both set

PENSUM_REQUIRED_WHEN_GROSS_INCOME_SET,GROSS_INCOME_REQUIRED_WHEN_PENSUM_SET,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

LOM

700007

1

60000

80

Valid

Salary

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

2

1

99999_1_453029:LOM:PEG-NO

pensum missing while gross income changed

PENSUM_REQUIRED_WHEN_GROSS_INCOME_SET,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME

99999.1.453029

99999.1

LOM

700008

1

60000

Valid

Salary

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

2

1

99999_1_453029:LOM:AHF-OK

ahv left empty

AHV_NO_INVALID

99999.1.453029

99999.1

LOM

700009

1

60000

80

Ahv

Empty

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

2

1

99999_1_453029:LOM:AHF-NO

invalid ahv format

AHV_NO_INVALID

99999.1.453029

99999.1

LOM

700010

1

60000

80

Ahv

Invalid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

123

Single

2

1

99999_1_ENTRY:EIN:AHS-OK

entry with sov number

AHV_OR_SOV_NO_MANDATORY

99999.1

EIN

700011

1

10

10

Entry

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

756.5562.5194.12

1000

Single

1

1

99999_1_ENTRY:EIN:AHS-NO

entry without ahv and sov

AHV_OR_SOV_NO_MANDATORY

99999.1

EIN

700012

1

10

10

Entry

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

1000

Single

1

1

99999_1_453029:AUS:EXR-OK

exit with valid reason

EXIT_REASON_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_EXIT,NEW_OR_CHANGED_IV_INCONSISTENT

99999.1.453029

99999.1

AUS

700013

1

Exit

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

5

1

2

1

99999_1_453029:AUS:EXR-NO

exit date without exit reason

EXIT_REASON_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_EXIT,NEW_OR_CHANGED_IV_INCONSISTENT

99999.1.453029

99999.1

AUS

700014

1

Exit

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

5

2

1

99999_1_453029:LOM:IVM-OK

income mutation with answered iv question

NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

LOM

700015

1

64000

90

IV

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

2

1

99999_1_453029:LOM:IVM-NO

income mutation without iv answer

NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

LOM

700016

1

64000

90

IV

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

1

99999_1_453029:AUS:IVC-OK

salary and exit iv values aligned

NEW_OR_CHANGED_IV_INCONSISTENT,DATE_OF_DISABILITY_MANDATORY,NEW_OR_CHANGED_IV_MANDATORY_FOR_EXIT

99999.1.453029

99999.1

AUS

700017

1

65000

95

IV

Match

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

5

1

1

1

2

1

99999_1_453029:AUS:IVC-NO

salary and exit iv values differ

NEW_OR_CHANGED_IV_INCONSISTENT,DATE_OF_DISABILITY_MANDATORY,NEW_OR_CHANGED_IV_MANDATORY_FOR_EXIT

99999.1.453029

99999.1

AUS

700018

1

65000

95

IV

Diff

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

5

1

1

2

2

1

99999_1_453029:LOM:DOD-OK

disability date present when answer is no

DATE_OF_DISABILITY_MANDATORY,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

LOM

700019

1

66000

90

Disability

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

1

2

1

99999_1_453029:LOM:DOD-NO

disability date missing when answer is no

DATE_OF_DISABILITY_MANDATORY,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

LOM

700020

1

66000

90

Disability

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

1

1

99999_1_453029:LOM:MRG-OK

marriage date set for married status

MARRIAGE_DATE_CHANGED_TO_MARRIED

99999.1.453029

99999.1

LOM

700021

1

62000

90

Marriage

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

0

Married

2

Single

1

99999_1_453029:LOM:MRG-NO

marriage date missing for married status

MARRIAGE_DATE_CHANGED_TO_MARRIED

99999.1.453029

99999.1

LOM

700022

1

62000

90

Marriage

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Married

2

Single

1

99999_1_453029:LOM:DIV-OK

divorce date set for divorced status

DIVORCE_DATE_CHANGED_TO_DIVORCED,DIVORCE_DATE_NEW_DIVORCED

99999.1.453029

99999.1

LOM

700023

1

62000

90

Divorce

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Divorced

2

0

Single

1

99999_1_453029:LOM:DIV-NO

divorce date missing for divorced status

DIVORCE_DATE_CHANGED_TO_DIVORCED,DIVORCE_DATE_NEW_DIVORCED

99999.1.453029

99999.1

LOM

700024

1

62000

90

Divorce

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Divorced

2

Single

1

99999_1_453029:STM:LAN-OK

language code selected

LANGUAGE_CODE_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700025

1

Language

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

Single

1

1

99999_1_453029:STM:LAN-NO

language code left at none

LANGUAGE_CODE_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700026

1

Language

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

0

Single

Single

0

1

99999_1_453029:STM:CST-OK

civil status selected

CIVIL_STATUS_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700027

1

Civil

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

Single

1

1

99999_1_453029:STM:CST-NO

civil status left at none

CIVIL_STATUS_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700028

1

Civil

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

0

0

1

1

99999_1_453029:STM:SEX-OK

sex selected

SEX_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700029

1

Sex

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

Single

1

1

1

99999_1_453029:STM:SEX-NO

sex left at none

SEX_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700030

1

Sex

Missing

0

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

Single

1

0

1

99999_1_453029:AUS:EXD-OK

exit reason with exit date

EXIT_DATE_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_EXIT,NEW_OR_CHANGED_IV_INCONSISTENT

99999.1.453029

99999.1

AUS

700031

1

ExitDate

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

4

1

2

1

99999_1_453029:AUS:EXD-NO

exit reason without exit date

EXIT_DATE_INVALID,NEW_OR_CHANGED_IV_MANDATORY_FOR_EXIT,NEW_OR_CHANGED_IV_INCONSISTENT

99999.1.453029

99999.1

AUS

700032

1

ExitDate

Missing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

1

2

1

99999_1_ENTRY:EIN:LIM-OK

limited employment answered on entry

LIMITED_EMPLOYMENT_MANDATORY

99999.1

EIN

700033

1

10

10

Entry

Limited

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

756.5562.5194.12

1000

Single

1

1

99999_1_ENTRY:EIN:LIM-NO

limited employment missing on entry

LIMITED_EMPLOYMENT_MANDATORY

99999.1

EIN

700034

1

10

10

Entry

Limited

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

756.5562.5194.12

1000

Single

1

99999_1_ENTRY:EIN:SAV-OK

savings plan present on entry

SAVINGS_PLAN_MISSING

99999.1

EIN

700035

1

10

10

Entry

Savings

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

756.5562.5194.12

1000

Single

1

1

99999_1_ENTRY:EIN:SAV-NO

savings plan missing on entry

SAVINGS_PLAN_MISSING

99999.1

EIN

700036

1

10

10

Entry

Savings

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

756.5562.5194.12

1000

Single

1

99999_1_453029:STM:SPN-OK

changed savings plan on mutation

SAVINGS_PLAN_NOT_CHANGED,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700037

1

Savings

Changed

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

Single

1

2

1

99999_1_453029:STM:SPN-NO

unchanged savings plan on mutation

SAVINGS_PLAN_NOT_CHANGED,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME_AND_PENSUM

99999.1.453029

99999.1

STM

700038

1

Savings

Same

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Single

Single

1

1

1

99999_1_ENTRY:EIN:AHD-OK

entry with valid ahv details

AHV_NO2_INVALID,AHV_NO3_INVALID,AHV_NO4_INVALID,AHV_BIRTHDAY_REQUIRED,AHV_BIRTHDAY_PARSE_ERROR

99999.1

EIN

700039

1

10

10

Ahv

Valid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

1

1

99999_1_ENTRY:EIN:AHY-NO

entry with ahv year mismatch

AHV_NO2_INVALID

99999.1

EIN

700040

1

10

10

Ahv

Year

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75691101122

1000

Single

1

1

99999_1_ENTRY:EIN:AHD-NO

entry with ahv day-month mismatch

AHV_NO3_INVALID

99999.1

EIN

700041

1

10

10

Ahv

DayCode

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690102122

1000

Single

1

1

99999_1_ENTRY:EIN:AHC-NO

entry with ahv checksum mismatch

AHV_NO4_INVALID

99999.1

EIN

700042

1

10

10

Ahv

Checksum

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101123

1000

Single

1

1

99999_1_ENTRY:EIN:ABR-NO

entry with ahv but missing birthday

AHV_BIRTHDAY_REQUIRED

99999.1

EIN

700043

1

10

10

Ahv

BirthdayMissing

1

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

1

1

99999_1_ENTRY:EIN:ABP-NO

entry with ahv and invalid birthday format

AHV_BIRTHDAY_PARSE_ERROR

99999.1

EIN

700044

1

10

10

Ahv

BirthdayParse

1

1990-01-01

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

1

1

99999_1_ENTRY:EIN:IVG-OK

entry with gross income and answered iv question

PENSUM_REQUIRED_WHEN_GROSS_INCOME_SET,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME

99999.1

EIN

700045

1

10

10

60000

IV

GrossOnlyValid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

2

1

1

99999_1_ENTRY:EIN:IVG-NO

entry with gross income and missing iv question

PENSUM_REQUIRED_WHEN_GROSS_INCOME_SET,NEW_OR_CHANGED_IV_MANDATORY_FOR_GROSS_INCOME

99999.1

EIN

700046

1

10

10

60000

IV

GrossOnlyMissing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

1

1

99999_1_ENTRY:EIN:IVP-OK

entry with pensum and answered iv question

GROSS_INCOME_REQUIRED_WHEN_PENSUM_SET,NEW_OR_CHANGED_IV_MANDATORY_FOR_PENSUM

99999.1

EIN

700047

1

10

10

80

IV

PensumOnlyValid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

2

1

1

99999_1_ENTRY:EIN:IVP-NO

entry with pensum and missing iv question

GROSS_INCOME_REQUIRED_WHEN_PENSUM_SET,NEW_OR_CHANGED_IV_MANDATORY_FOR_PENSUM

99999.1

EIN

700048

1

10

10

80

IV

PensumOnlyMissing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Single

1

1

99999_1_ENTRY:EIN:MNE-OK

entry married with marriage date

MARRIAGE_DATE_NEW_INSURANCE

99999.1

EIN

700049

1

10

10

Marriage

EntryValid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

5

75690101122

1000

Married

1

1

99999_1_ENTRY:EIN:MNE-NO

entry married without marriage date

MARRIAGE_DATE_NEW_INSURANCE

99999.1

EIN

700050

1

10

10

Marriage

EntryMissing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

Married

1

1

99999_1_ENTRY:EIN:MRP-OK

registered partnership with marriage date

MARRIAGE_DATE_REGISTERED_PARTNERSHIP

99999.1

EIN

700051

1

10

10

Marriage

RegPartValid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

5

75690101122

1000

RegisteredPartnerShip

1

1

99999_1_ENTRY:EIN:MRP-NO

registered partnership without marriage date

MARRIAGE_DATE_REGISTERED_PARTNERSHIP

99999.1

EIN

700052

1

10

10

Marriage

RegPartMissing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

75690101122

1000

RegisteredPartnerShip

1

1

99999_1_453029:LOM:DVS-OK

separated status with divorce date

DIVORCE_DATE_CHANGED_TO_SEPARATED

99999.1.453029

99999.1

LOM

700053

1

62000

90

Divorce

SeparatedValid

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Separated

2

0

Single

1

99999_1_453029:LOM:DVS-NO

separated status without divorce date

DIVORCE_DATE_CHANGED_TO_SEPARATED

99999.1.453029

99999.1

LOM

700054

1

62000

90

Divorce

SeparatedMissing

1

01.01.1990

Musterweg 1

3000

Bern

CH

1

Separated

2

Single

1

99999_1_453029:UBU:LFR-NO

legacy unpaid holidays missing from date

UNPAID_HOLIDAYS_FROM_REQUIRED_LEGACY

99999.1.453029

99999.1

LOM

700055

1

61029

50729

98

Baumgartner

Pascal

1

01.01.1995

8000

Zürich

CH

1

Single

31.01.2026

2

1

99999_1_453029:UBU:LRG-NO

legacy unpaid holidays invalid range

UNPAID_HOLIDAYS_RANGE_LEGACY

99999.1.453029

99999.1

LOM

700056

1

61029

50729

98

Baumgartner

Pascal

1

01.01.1995

8000

Zürich

CH

1

Single

31.01.2026

01.01.2026

2

1

99999_1_453029:UBU:LPA-NO

legacy unpaid holidays malformed dates

UNPAID_HOLIDAYS_FROM_INVALID_LEGACY,UNPAID_HOLIDAYS_TO_INVALID_LEGACY

99999.1.453029

99999.1

LOM

700057

1

61029

50729

98

Baumgartner

Pascal

1

01.01.1995

8000

Zürich

CH

1

Single

2026-01-01

2026-01-31

2

1

99999_1_453029:UBU:NFR-NO

newData unpaid holidays missing from date

UNPAID_HOLIDAYS_FROM_REQUIRED_NEWDATA

99999.1.453029

99999.1

LOM

700058

1

23

23

62029

61451

100

Meixner

Markus

1

22.10.1972

Friedberg 17

15251

Binningen

CH

1

0

756.5562.5194.12

99999

Married

01.02.2026

2

1

99999_1_453029:UBU:NRG-NO

newData unpaid holidays invalid range

UNPAID_HOLIDAYS_RANGE_NEWDATA

99999.1.453029

99999.1

LOM

700059

1

23

23

62029

61451

100

Meixner

Markus

1

22.10.1972

Friedberg 17

15251

Binningen

CH

1

0

756.5562.5194.12

99999

Married

31.03.2026

01.03.2026

2

1