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

  • 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

  • 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 ...).

 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 by Calculation module, the calculation'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/