Contribution plan and contribution plan bundle Module
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 different insurees may have different contributions level (or/and different calculation) but contribute to the same pool. The Contribution plans will have parameters such as maximum payment delay, grace periods.
A given policyholder (e.g company) may have to subscribe to multiple benefit plans for each his insuree(e.g 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 a policyholder insuree (e.g. employee). The Contribution plans part of the same bundle must have the same periodicity.
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 (not deleted and today between dateValidFrom/To) contribution plan bundle
UC10-2: Add: contribution plan bundle List > 'add' contribution plan bundle > fill the details on the contribution plan bundle page on the create card > save
UC10-3: Update: contribution plan bundles List > "Select" contribution plans bundles > update the details on the contribution plan bundle card > save
UC10-4: Delete: contribution plan bundle List > "Select" contribution plan bundle > "Delete > confirmation popup
UC10-5: Replace: contribution plan bundle-> List contribution plan bundle List > "Select" contribution plan bundle > update the details on the contribution plan bundle, on the replace card > Create a new version
backend
UC10-6: Replacing / removing propagation to policyholder contribution plan bundle
UC10-7: Replacing / removing propagation to policyholder insuree 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(not deleted and today between dateValidFrom/To) contribution plan
UC8-2: Add: contribution plan List > 'add' contribution plan > fill the details on the contribution plan create card> save
UC8-3: Update: contribution plan List > "Select" contribution plan > update the details on the contribution plan edit card> save
UC8-4: Delete: contribution plan List > "Select" contribution plan > "Delete > confirmation popup
UC8-5: Replace: contribution plan bundle List > List contribution plan > "Select" contribution plan > update the details on the contribution plan on the replace popup > create a new version
backend
UC8-6: Replacing / removing propagation to contribution plan bundle
Back end module Details design
Authorities
To manage the group insurance several authorities will be added,the prefix of this module will be 151
ContributionPlanBundle, prefix 1511
Search → 151101
Create → 151102
Update → 151103
Delete → 151104
Replace → 151106
ContributionPlan, prefix 1512
Search →151201
Create → 151202
Update → 151203
Delete → 151204
Replace → 151206
Roles
SchemeClerk( Clerck)
ContributionPlanBundle
R
ContributionPlan
R
SchemeAdmin*
ContributionPlanBundle
C/R/U/D
ContributionPlan
C/R/U/D
PolicyHolderClerk
ContributionPlanBundle
R
ContributionPlan
R
Entities
ContributionPlanBundle(HistoryBusinessModel)
Code (varchar)*
Name (varchar)
Periodicity (int)
Cade is mandatory
ContributionPlanBundleDetails - under ContributionPlanBundle (HistoryBusinessModel)
ContributionPlanBundleUUID: (fk ContributionPlanBundle)*
ContributionPlanUUID: (fk_contributionPlan)*
All fields are mandatory
ContributionPlan(HistoryBusinessModel)
Code (varchar 32)*
name(varchar 256)*
CalculationUUID*
BenefitPlanUUID (fk_product )*
Periodicity (int)*
Number of month between 2 payment
Not save in database:
length : int = None
(NICE TO HAVE)dependantList : Dict/List = []
Grace Period,Rate,Threshold will be stored on the json_ext part of HistoryModel
All fields are mandatory
Services and Mutations
C/U/D service ContributionPlanBundle
check authority
ensure Code uniqueness for ValidTo/ValidFrom
Ensure mandatory fields are present
code not editable once created
Ensure that the periodicity for the contribution plan are the same
Ensure that the detail DatevalidFrom is greater or equal to CP DatevalidFrom
Ensure that the detail DatevalidTo is lesseror equal to CP DatevalidTo or DatevalidTo is null
Replace ContributionPlanBundle
Keep the code
normal HistoryBusinessModel replace
C/U/D service ContributionPlan
check authority
ensure Code uniqueness for ValidTo/ValidFrom
Ensure mandatory fields are present
code not editable once created
(Nice to have)Replace ContributionPlan
Keep the code
normal HistoryBusinessModel replace
GetContributionLength
set the length param to periodicity
send a signal
return the length param (modified or not by the signal recievers)
(NICE TO HAVE)GetDependants
set a member data denpendantList to []
send a signal
return dependantList modified or not by signals
Front end detailed design
The list of contribution plan & bundle should use the same layout as other existing list in openIMIS (claims, insuree ...).
Menu
contribution plan & bundle menu item should be located under the main menu "administration".
ContributionPlan search page
ContributionPlan search criteria
Code (string)
name (string)
DateValidFrom
DateValidTo (if empty show all CP valid at DateValidFrom, if not, show all CP which were valid a some point between DateValidForm and DateValidTo)
periodicity (int) - min 1, max 12
option to show deleted
button to apply search criteria
Button to reset search criteria
ContributionPlan search result column
code
name
calculation (contribution_fe Code - CalculationClassName)
until a picker for
calculation
is provided byCalculation
module, thecalculation
's id should be displayed
insurance Product (contribution_fe)
periodicity
DateValidTo
DateValidFrom
Delete (Trash) and Edit (Pen) buttons at the end of the line
MaterialUI :plus: to add a ContributionPlan
Double click or click on Edit button to update a ContributionPlan.
It should be possible to sort the result per column in ASC or DESC order
ContributionPlan card
code (mandatory, not editable once created)
name (mandatory)
calculation (contribution_fe) (mandatory)
insurance Product (contribution_fe) (mandatory)
periodicity (mandatory)
DateValidFrom (mandatory)
DateValidTo
The material (Save) UI button will save the changes
add Contribution plan
Code, Name, Calculation, Insurance product, periodicity, DateValidFrom are mandatory
Edit contribution plan
Name, DatevalidTo can be edtited
(Nice to have) Replace contribution plan
Code and periodicity are not editable
ContributionPlanBundle search page
search criteria
Code (string)
name(string)
periodicity (int) - min 1, max 12
DateValidFrom
DateValidTo (if empty show all CP valid at DateValidFrom, if not, show all CP which were valid a some point between DateValidForm and DateValidTo)
calculation (contribution_fe) (look inside the Contribution plans of the bundle)
insurance Product (contribution_fe) (look inside the Contribution plans of the bundle)
option to show deleted
button to apply search criteria
Button to reset search criteria
search result column
code
name
periodicity
DateValidTo
DateValidFrom
Delete (Trash) and Edit (Pen) and replace buttons at the end of the line (see Location module)
MaterialUI :plus: to add a ContributionPlanBundle
Double click or click on Edit button to update a ContributionPlanBundle .
It should be possible to sort the result per column in ASC or DESC order
Add a contribution plan bundle
When clicked on add the ContributionPlanBundle card open
Edit a contribution plan bundle
When click on edit, the ContributionPlanBundle card open, all fields but CODE and periodicity can be edited (ValidityFrom,ValidityTo, Name)
Replace a contribution plan bundle
When click on replace, the ContributionPlanBundle card open, all fields but CODE can be edited (ValidityFrom,ValidityTo, Name, periodicity )
The new version won't have any contribution plan attached
ContributionPlanBundle card
code (mandatory, not editable once created)
name (mandatory)
periodicity (mandatory, not editable once created)
DateValidFrom (mandatory)
DateValidTo
Contribution plan part of the contribution plan bundle
column for the list of ContributionPlanBundleContributionPlan (no search)
name (of the ContributionPlan define in the ContributionPlanBundleContributionPlan)
code (of the ContributionPlan define in the ContributionPlanBundleContributionPlan)
product
periodicity (Not required anymore)
DateValidTo (of the ContributionPlanBundleContributionPlan)
DateValidFrom ((of the ContributionPlanBundleContributionPlan)
replace, edit and delete button
a add button should be placed on the top right of the list,
Add a ContributionPlanBundleContributionPlan
When clicked on add the create popup will be displayed, Mandatory fields have *, Not editable have #
CPB(not displayed)
contribution plan selected* (shows only CP with the same periodicity)
DateValidFrom* (from the details not from CP)
DateValidTo
Edit a ContributionPlanBundleContributionPlan
When clicked on edit the update popup will be displayed, Mandatory fields have *, Not editable have #
CPB(not displayed)
contribution plan selected#
DateValidFrom# (from the details not from CP)
DateValidTo
Replace a ContributionPlanBundleContributionPlan
When clicked on replace the replace popup will be displayed, Mandatory fields have *, Not editable have #
CPB(not displayed)
contribution plan selected*
DateValidFrom* (from the details not from CP)
DateValidTo
The material (Save) UI button will save the changes
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/