Concepts
The pricing for the same benefit plan may differ from a sector to another; the «Contribution plan» are to define different cost/pricing rules and the payment periodicity (in a month) for a given Benefit plan.
A benefit package (product in IMIS) can have multiple Contribution plans attached meaning the insuree may have different contributions level (different calculation) but contribute to the same pool. The Contribution plans will have parameters such as maximum payment delay, grace periods.
A given company may have to subscribe to multiple benefit plans for each employee (basic health insurance, advanced health insurance, accident*, retirement*); The "Contribution plans bundle" groups "Contribution plans" to ease the assignation of multiple Contribution plans to an Insuree/employee. The Contribution plans part of the same bundle must have the same periodicity.
The start date of the contract will be on the 1st day of the month.
The Contribution plans and Contribution plans bundle might also be usable by the direct insurance/informal sector, but some code change is likely and not covered by this solution
Use cases
Contribution plan bundle:
Managing a contribution plan bundle should be possible for the SchemeAdmin
Web application
- UC10-1: Search: contribution plan bundles List > use the search box > search, the default list will show only the active contribution plan bundle
- UC10-2: Add: contribution plan bundle List > 'add' contribution plan bundle > fill the details on the contribution plan bundle page > save
- UC10-3: Update: contribution plan bundles List > "Select" contribution plans bundles > update the details on the contribution plan bundle > save
- UC10-4: Delete: contribution plan bundle List > "Select" contribution plan bundle > "Delete (this role should be only available to admin, others should only archive by setting the DateValidTo)
- UC10-5: Replace: contribution plan bundle-> List contribution plan bundle List > "Select" contribution plan bundle > update the details on the contribution plan bundle, update the contribution plan > replace version > add ValidityTo (DateValidTo of the to-be-replace CPB will be set are the Validity from the new CPB )
backend
- UC10-6: Replacing / removing propagation to policyholder contribution plan bundle
- UC10-7: Replacing / removing propagation to policyholder insure contribution plan bundle
Contribution plan
Managing a contribution plan bundle should be possible for the SchemeAdmin
Web application
- UC8-1: Search: contribution plan List > use the search box > search, the default list will show only the active contribution plan
- UC8-2: Add: contribution plan List > 'add' contribution plan > fill the details on the contribution plan page > save
- UC8-3: Update: contribution plan List > "Select" contribution plan > update the details on the contribution plan > save
- UC8-4: Delete: contribution plan List > "Select" contribution plan > "Delete (this role should be only available to admin, others should only archive by setting the DateValidTo)
- UC8-5: Replace: contribution plan bundle List > List contribution plan > "Select" contribution plan > update the details on the contribution plan > create a new version > add ValidityTo (DateValidTo of the to-be-replace CPB will be set are the Validity from the new CPB )
backend
- UC8-6: Replacing / removing propagation to contribution plan bundle
Authorities
To manage the group insurance several authorities will be added, the existing authorities have a "*" :
- ContributionPlanBundle
- C/R/U/D(4 authorities)
- ContributionPlan
- C/R/U/D(4 authorities)
Entities
ContributionPlanBundle
- UUID (char(24) )
- Version ( integer - to be used for optimistic locking)
- Active (bool)
- Code (varchar)
- Name (varchar)
- Json_ext (json)
- DateCreated(date)
- DateUpdate(date)
- UserUpdateUUID(fk users)
- UserCreateUUID (fk users)
- DateValidFrom (date)
- DateValidTo (date)
sub entity ContributionPlanBundleDetails
- UUID (char(24) )
- Version ( integer - to be used for optimistic locking)
- ContributionPlanBundleUUID: (fk ContributionPlanBundle)
- ContributionPlanUUID: (fk_contributionPlan)
- Json_ext (json)
- DateCreated(date)
- DateUpdate(date)
- UserUpdateUUID(fk users)
- UserCreateUUID (fk users)
- DateValidFrom (date)
- DateValidTo (date)
- Active (bool)
ContributionPlan
- UUID (char(24) )
- Version ( integer - to be used for optimistic locking)
- Code (varchar)
- Active (bool)
- CalculationUUID
- BenefitPlanUUID (fk_product )
- Periodicity (int)
- Number of month between 2 payment
- Json_ext (json)
- GracePeriod
- Rate
- Threshold
- …
- DateCreated(date)
- Amendment (0 for the contract)
- DateUpdate(date)
- UserUpdateUUID(fk users)
- UserCreateUUID (fk users)
- DateValidFrom (date)
- DateValidTo (date)