Formal Sector Modules (in development)

Digital Square D1 proposal: Support for Formal Sector schemes and Configurable Claims Workflow in openIMIS

Teams:

  • Swiss TPH (@Patrick Delcroix @Dragos Dobre @Siddharth Srivastava

  • SolDevelo (@Kamil Madej @Damian Borowiecki, @Beata Komorowska , @Rafał Stencel , @Seweryn Niedzielski , @Joanna Bebak (Deactivated) )

Concepts and interaction with openIMIS

The goal of this development is to reuse the openIMIS people and family registration, claim management and the logic to extend the coverage to the family members.

This module will add a new enrollment methods, the Group enrollment: A Policy Holder (a enterprise in case on Nepal) will take policy on the behalf of its employee and their famillies.

the relationships will be:

  • Every period (monthly in case of Nepal), a contract will be created between the policy holder and each enterprise.

    • The periodicity will depend on the contribution plan and therefore will be configuration

    • The same insurance product could have different contribution plan therefore different contribution periodicity

  • Every covered employee will be mentioned in the contract along with the list of insurance product that will be part of their coverage.

  • once the contract validated and paid, the policy of the emöployee and their family will be activated for the period covered by the contract

    • the period of the contract doesn’t have to be the period of the policy: this will enable having coverage limits (max amount, max surgery …) that could be shared for several periods

In case of a insuree have multiple employers, the system will activate only one policy per product.

insuree should be able to move between the formal and informal sector

Objectives

This project aims to develop the "Formal Sector" features requested by institutions in charge of developing health financing schemes in Nepal, in particular the management of enrolment of the insuree as part of an insurance group.
Here are the high-level use cases to be covered by this design:

  • Manage group insurance

    • UC1 - The Scheme Administrator wants to manage the policy holder insurees and their policy entitlement. (includes UC2 from the proposal)

    • UC3 - The Scheme Administrator wants to manage the policy holder contract.

    • UC4 - The Scheme Administrator wants to manage the policy holder contract payment.

    • UC5 - The Scheme Administrator wants policy holders insuree policies covered by a contract to auto activate based on policy holders contract payment.

    • UC7 - The Scheme Administrator wants to manage policy holders.

  • Contribution Plan and Contribution Plans Bundle to manage the Policy Value

    • UC8 - The Scheme Administrator wants to add a Contribution plan (pricing rules linked to an insurance product).

    • UC9 - The Scheme Administrator wants to be able to configure the calculation parameters in the Contribution plan.

    • UC10 - The Scheme Administrator wants to add a Contribution Plan Bundle.

    • UC11 - The Scheme Administrator wants to enable some Contribution Plan Bundles per policy holder.

  • Policy holder Portal

    • UC12 - The policy holder wants to manage its policy holder insurees and their policy entitlement.

    • UC13 - Policy holder wants to manage its users.

    • UC14 - Policy holder wants to manage its contracts.

  • Not Functional

    • UC15 – Administrator wants to assign group insurance authorities (rights) to openimis role

    • UC16 – Manage the calculations

    • UC17 – add “nepal” calculations for policy value on income and contract rejection when important change are detected

Modules

The following module are part of the Formal Sector scheme management:

General topics (compitation accross modules)

Authorities

To manage the group insurance several authorities will be added, the existing authorities have a "*" :

  • PolicyHolder

    • C/R/U/D (4 authorities)

    • Portal R

  • PolicyHolderInsuree

    • C/R/U/D (4 authorities)

  • Approve (TBC)

    • Portal C/R/U/D (4 authorities)

  • PolicyHolderContract

    • C/R/U/D (4 authorities)

    • Submit

    • Approve/ask for change

    • Amend

    • Portal Submit

    • Portal Amend

  • PolicyHolderContractDetails

    • C/R/U/D (4 authorities)

    • Approve

    • Portal C/R/U/D (4 authorities)

  • PolicyHolderUser

    • C/R/U/D (4 authorities)

    • Portal C/R/U/D (4 authorities)

  • Payment

    • C*/R*/U*/D*(4 authorities)

    • Submit (TBC)

    • Validate

    • CreditNote

  • ContributionPlanBundle

    • C/R/U/D(4 authorities)

    • replace

    • Portal R

  • ContributionPlan

    • C/R/U/D(4 authorities)

    • repalce

    • Portal R

  • Profile

    • C/R/U/D(4 authorities)

    • Duplicate

Roles

To manage the group insurance several roles will be added, the existing roles have a "*" :

  • SchemeClerk( Clerck)

    • PolicyHolder*

      • C/R/U

    • PolicyHolderInsuree

      • C/R/U/D

      • Approve (TBC)

    • PolicyHolderUser

      • C/R/U/D

    • PolicyHolderContract

      • C/R/U

      • Submit

      • Approve

    • ContributionPlanBundle

      • R

    • ContributionPlan

      • R

    • PolicyHolderContributionPlan

      • R

  • SchemeAdmin*

    • PolicyHolder

      • C/R/U/D

    • PolicyHolderInsuree

      • C/R/U/D

      • Approve (TBC)

    • PolicyHolderUser

      • C/R/U/D

    • PolicyHolderContract

      • C/R/U/D

      • Submit

      • Approve

    • ContributionPlanBundle

      • C/R/U/D

      • replace

    • ContributionPlan

      • C/R/U/D

      • replace

    • PolicyHolderContributionPlan

      • C/R/U/D

  • PolicyHolderClerk

    • PolicyHolderInsuree

      • C/R/U

    • PolicyHolderContract

      • R/U

      • Submit

    • ContributionPlanBundle

      • R

    • ContributionPlan

      • R

    • payment

      • submits

  • accountant*

    • Payment

      • Validate

Database Versioning

The entities will have different versioning in place:
Entity related to a specific date (contract …) no versioning will be in place only logging/audition, the code or reference will be used to differentiate them on a business level.
Configuration item (Product, plans, bundle, calculation, policy holder, policyholders insuree): those could be replaced by another version at a given time therefore no CI could have the same code and overlapping validity dates; they will have

  • DateValidFrom (date)

  • DateValidTo (date)

  • isDeleted

  • Code (this stays the same across version)

Sub tables won't have any versioning because a new version of the parent table will create a new row in the sub tables.

The configuration of the the droip down list won’t be on the database but on the module configuration, in case a configuration is required across al module, the code will be updated to accept this configuration

Requirement Traceability Matrix

Scope

platform

#

sub

details

steps

SOP/MODULE

Requirement closing date

ETA

general

any

UC1 

 

 The Scheme Administrator wants to manage the policy holder insurees and their policy entitlement. (includes UC2 from the proposal)

SOP#001b

30/10/20

28/02/21

general

any

UC3 

 

 The Scheme Administrator wants to manage the policy holder contract.

SOP#001a

31/12/20

28/02/21

general

any

UC4 

 

 The Scheme Administrator wants to manage the policy holder contract payment.

 

31/12/20

28/02/21

general

any

UC5 

 

 The Scheme Administrator wants policy holders insuree policies covered by a contract to auto activate based on policy holders contract payment.

 

31/12/20

28/02/21

general

any

UC7 

 

 The Scheme Administrator wants to manage policy holders.

 

30/10/20

31/12/20

general

any

UC8 

 

 The Scheme Administrator wants to add a Contribution plan (pricing rules linked to an insurance product).

 

30/10/20

31/12/20

general

any

UC9 

 

 The Scheme Administrator wants to be able to configure the calculation parameters in the Contribution plan.

 

30/10/20

31/12/20

general

any

UC10 

 

 The Scheme Administrator wants to add a Contribution Plan Bundle.

 

30/10/20

31/12/20

general

any

UC11 

 

 The Scheme Administrator wants to enable some Contribution Plan Bundles per policy holder.

 

30/10/20

31/12/20

general

any

UC12 

 

 The policy holder wants to manage its policy holder insurees and their policy entitlement.

 

31/12/20

28/02/21

general

any

UC13 

 

 Policy holder wants to manage its users.

 

31/01/21

28/02/21

general

any

UC14 

 

 Policy holder wants to manage its contracts.

 

31/01/21

28/02/21

general

any

UC15

 

Administrator wants to assign group insurance authorities to openimis role

 

31/12/20

28/02/21

general

any

UC16

 

Manage the calculations

 

30/09/20

31/10/20

calculation

backend

UC16

1

 add a new Calculation rule (needs to change the openimis.json).

calculation

30/09/20

31/10/20

calculation

webapp

UC16

2

 use the frontend contribution to select a calculation rule.

calculation

30/09/20

31/10/20

calculation

webapp

UC16

3

 use the fronend contribution to display the parameters required by multiple calculation for an object.

calculation

30/09/20

31/10/20

calculation

backend

UC16

4

 replace a calculation rule.

calculation

30/09/20

31/10/20

calculation

backend

UC16

5

 remove a calculation rule.

calculation

30/09/20

31/10/20

calculation

backend

UC17

1

have a calculation rule to calculate the policy value based on policyholderInsuree income

calculation

31/12/20

28/02/21

calculation

backend

UC17

2

have a calculation rule to set contract as to-be-reviewed when the expected value is 15% more or less than submitted

calculation

31/12/20

28/02/21

contribution plan bundles

webapp

UC10

1

 Search

 contribution plan bundles List > use the search box > search, the default list will show only the active contribution plan bundle

contribution plan

30/10/20

31/12/20

contribution plan bundles

webapp

UC10

2

 Add

 contribution plan bundle List > 'add' contribution plan bundle > fill the details on the contribution plan bundle page > save

contribution plan

30/10/20

31/12/20

contribution plan bundles

webapp

UC10

3

 Update

 contribution plan bundles List > "Select" contribution plans bundles > update the details on the contribution plan bundle > save

contribution plan

30/10/20

31/12/20

contribution plan bundles

webapp

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)

contribution plan

30/10/20

31/12/20

contribution plan bundles

webapp

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 )

contribution plan

30/10/20

31/12/20

contribution plan bundles

backend

UC10

6

 Replacing / removing propagation to policyholder contribution plan bundle

contribution plan

30/10/20

31/12/20

contribution plan bundles

backend

UC10

7

 Replacing / removing propagation to policyholder insure contribution plan bundle

contribution plan

30/10/20

31/12/20

contribution plan

webapp

UC8

1

 Search

 contribution plan List > use the search box > search, the default list will show only the active contribution plan

contribution plan

30/10/20

31/12/20

contribution plan

webapp

UC8

2

 Add

 contribution plan List > 'add' contribution plan > fill the details on the contribution plan page > save

contribution plan

30/10/20

31/12/20

contribution plan

webapp

UC8

3

 Update

 contribution plan List > "Select" contribution plan > update the details on the contribution plan > save

contribution plan

30/10/20

31/12/20

contribution plan

webapp

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)

contribution plan

30/10/20

31/12/20

contribution plan

webapp

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 )

contribution plan

30/10/20

31/12/20

contribution plan

backend

UC8

6

 Replacing / removing propagation to contribution plan bundle

contribution plan

30/10/20

31/12/20

Policy holder

webapp

UC7

1

 Search

 PolicyHolder List > use the search box > search, the default list will show only the active policy holder

Policy holder

30/09/20

31/10/20

Policy holder

webapp

UC7

2

 Add

 PolicyHolder List > "add" PolicyHolder > fill the details on the Policy holder page > save

Policy holder

30/09/20

31/10/20

Policy holder

webapp

UC7

3

 Update

 PolicyHolder List > "Select" PolicyHolder > update the details on the Policy holder page > save

Policy holder

30/09/20

31/10/20

Policy holder

webapp

UC7

4

 Delete

 PolicyHolder List > "Select" PolicyHolder > Delete (this role should be only available to admin, others should only archive by setting the DateValidTo)

Policy holder

30/09/20

31/10/20

Policy holder users

webapp

UC7

5

 search users

 PolicyHolder List > "Select" PolicyHolder > UserList > > search, the default list will show only the active policy holder users

Policy holder

30/09/20

31/10/20

Policy holder users

webapp

UC7

6

 add users

 PolicyHolder List > "Select" PolicyHolder > UserList > add user

Policy holder

30/09/20

31/10/20

Policy holder users

webapp

UC7

7

 update user  

Select PolicyHolder > UserList > (Search user) >Select User > change details > Save

Policy holder

30/09/20

31/10/20

Policy holder users

webapp

UC7

8

 Delete user 

Select" PolicyHolder > UserList > (Search user) >Select User > change details > Delete

Policy holder

30/09/20

31/10/20

Policy holder insuree

webapp

UC1

1

 Search

 PolicyHolder List > "Select" PolicyHolder > Insuree tab > use the search box > search, the default list will show only the active policy holder insuree

Policy holder

30/09/20

31/10/20

Policy holder insuree

webapp

UC1

2

 Add

 PolicyHolder List > "Select" PolicyHolder > Insuree tab > 'add' insure > fill the details on the Policy holder insuree page > save

Policy holder

30/09/20

31/10/20

Policy holder insuree

webapp

UC1

3

 Update (error)

 PolicyHolder List > "Select" PolicyHolder > Insuree tab > update the details on the Policy holder page > save

Policy holder

30/09/20

31/10/20

Policy holder insuree

webapp

UC1

4

 Replace

 (new version) PolicyHolder List > "Select" PolicyHolder > Insuree tab > update the details on the Policy holder page > create new version à add ValidityTo

Policy holder

30/09/20

31/10/20

Policy holder insuree

webapp

UC1

5

 Delete

 PolicyHolder List > "Select" PolicyHolder > Insuree tab > "Select" an insuree> Delete (this role should be only available to admin, other should only archive by setting the DateValidTo)

Policy holder

30/09/20

31/10/20

PolicyHolder contribution plan bundle

webapp

UC11

1

 Search

 PolicyHolder List > "Select" PolicyHolder > contribution plan tab > use the search box > search, the default list will show only the active contribution plan

Policy holder

30/09/20

31/10/20

PolicyHolder contribution plan bundle

webapp

UC11

2

 Add

 PolicyHolder List > "Select" PolicyHolder > contribution plan tab > 'add' contribution plan bundles > fill the details on the Policy holder insuree page > save

Policy holder

30/09/20

31/10/20

PolicyHolder contribution plan bundle

webapp

UC11

3

 Replace (new version)

Select PolicyHolder > contribution plan tab > "Select" a contribution plan bundles >> update the contribution plan > create a new version > add ValidityTo

Policy holder

30/09/20

31/10/20

PolicyHolder contribution plan bundle

webapp

UC11

4

 Delete

 PolicyHolder List > "Select" PolicyHolder > contribution plan tab > "Select" a contribution plan bundles > Delete

Policy holder

30/09/20

31/10/20

PolicyHolder contribution plan bundle

backend

UC11

5

 Replacing / removing propagation to policyholder insure contribution plan bundle

Policy holder

30/09/20

31/10/20

Contract

webapp

UC3

1

 Add bulk "contract"

 Policy holder List > select policyholder(s) > Contract list > generate bulk contract > enter the date on which the contract must be created if not already covered by previous contract.

Contract

31/01/21

31/04/21

Contract

webapp

UC3

2

 Add "contract"

 Policy holder List > Select a Policy Holder > Contract list> Generate contract > enter the date on which the contract must be created if not already covered by previous contract.> confirmation with the contract dates

Contract

31/01/21

31/04/21

Contract

webapp

UC3

3

 Update contract details

 Policy holder List > Select a Policy Holder > Contract list > Select contract > updates one/ several lines > save

Contract

31/01/21

31/04/21

Contract

webapp

UC3

4

 Submit/sign "contract"

 Policy holder List > Select a Policy Holder > Contract list > Select contract(s) > Submit/sign contract

Contract

31/01/21

31/04/21

Contract

webapp

UC3

5

 Review "Contract"

 Policy holder List > Select a Policy Holder > Contract list > Select contract(s) > contract Reviewed (only for submitted contract)

Contract

31/01/21

31/04/21

Contract

webapp

UC3

6

 Ask updates "Contract"

 Policy holder List > Select a Policy Holder > Contract list > Select contract(s) > ask update (only for submitted contract)

Contract

31/01/21

31/04/21

Contract

webapp

UC3

7

 Amend "contract"

 Policy holder List > Select a Policy Holder > Contract list > Select contract >Generate Amendment > confirmation with Amendment number > add details (if it is about a new employee, they should be added before on the employee list)

Contract

31/01/21

31/04/21

Contract

backend

UC3

8

 send payment notification by email

Contract

31/01/21

31/04/21

Contract

backend

UC3

9

 send update required (from ask update) notification by email

Contract

31/01/21

31/04/21

Payment

webapp

UC4

1

 Add payment

 Policy holder List > Select a Policy Holder > contract list > create payment > enter value > save > confirmation giving the contract status

Contract

31/01/21

31/04/21

Payment

webapp

UC4

2

 update payment

 Policy holder List > Select a Policy Holder > payment list > Select payment > update value > save > confirmation giving the contract status

Contract

31/01/21

31/04/21

Payment

webapp

UC4

3

 delete payment

 Policy holder List > Select a Policy Holder > payment list > Select payment > delete payment > confirmation giving the contract status

Contract

31/01/21

31/04/21

Payment

webapp

UC4

5

 add credit note from contract or amendment

 Policy holder List > Select a Policy Holder > payment list > add credit note (negative payment)

Contract

31/01/21

31/04/21

Payment

backend

UC4

6

 assign a credit note to contract

 On contract approval, if there is a credit note not assigned to a contract, it will be assigned to the newly approved contract.

Contract

31/01/21

31/04/21

Payment

backend

UC5

1

 When a full payment is received for a contract, the policy of the policyholder insuree part of the contact will be renewed if needed

Contract

31/01/21

31/04/21

Payment

backend

UC5

2

 When a full payment is received for a contract, the insureepolicy of the policyholder insuree part of the contact will be activated

Contract

31/01/21

31/04/21

Policy holder users

portal

UC13

6

 add users

 UserList > add user

portal

31/01/21

31/04/21

Policy holder users

portal

UC13

7

 update user

 UserList > (Search user) >Select User > change details > Save

portal

31/01/21

31/04/21

Policy holder users

portal

UC13

8

 block user

 UserList > (Search user) >Select User > change details > Delete

portal

31/01/21

31/04/21

Policy holder insuree

portal

UC12

1

 Search

 My Insuree tab > use the search box > search, the default list will show only the active policy holder insuree

portal

31/01/21

31/04/21

Policy holder insuree

portal

UC12

2

 Add

 My Insuree tab > 'add' insure > fill the details on the Policy holder insuree page > save

portal

31/01/21

31/04/21

Policy holder insuree

portal

UC12

3

 Update (error)

 My Insuree tab > update the details on the Policy holder page > save

portal

31/01/21

31/04/21

Policy holder insuree

portal

UC12

4

 Replace (new version) 

My Insuree tab > update the details on the Policy holder page > create new version > add ValidityTo

portal

31/01/21

31/04/21

Policy holder insuree

portal

UC12

5

 Delete

 My insuree tab > "Select" an insuree> Delete (this role should be only available to admin, other should only archive by setting the DateValidTo)

portal

31/01/21

31/04/21

Contract

portal

UC14

1

 search contract 

My Contract list >fill search criteria > search

portal

31/01/21

31/04/21

Contract

portal

UC14

2

 Update details

My Contract list > Select contract > update one/several line > save

portal

31/01/21

31/04/21

Contract

portal

UC14

3

 Submit/sign "contract"

 My Contract list > Select contract(s) > Submit/Sign contract

portal

31/01/21

31/04/21

profile

webapp

UC13

1

 search profile

 Profile list > enter search criteria > search

profile

30/09/20

31/10/20

profile

webapp

UC13

2

 add profile

 Profile list > add > select the authorities and define name > save

profile

30/09/20

31/10/20

profile

webapp

UC13

3

 update profile

 Profile list > Select Profile > update the authorities and name > save

profile

30/09/20

31/10/20

profile

webapp

UC13

4

 replace profile

 Profile list > Select Profile > update the authorities and name > replace > define replacement date

profile

30/09/20

31/10/20

profile

webapp

UC13

5

 remove profile

 Profile list > Select Profile > remove > select replacement profile > conf

profile

30/09/20

31/10/20

profile

backend

UC13

7

 propagation of replacing / removing to user

profile

30/09/20

31/10/20

profile

webapp

UC13

8

 duplicate profile

 Profile list > Select Profile >duplicate > give the new name > conf

profile

30/09/20

31/10/20