Concepts

Each PolicyHolder (employer) will be registered in openIMIS.
Each PolicyHolder will have access to some contribution plan attached to insurance product.
The PolicyHolder would have the possibility to add insurees with a contract period, default pricing parameters (e.g., income) and the contribution plan bundle to use.

The PolicyHolder will have user (Accountant, assistant … ) that will be able to connect on the policyholder portal

Business Processes

The process bellow will respect the location scope of the users, meaning that, to add a PolicyHolder for a region, the scheme clerk must have access to that very region.
The enrollment process that will be supported is defined by Nepal requirements. Although we try to make it broader, it might not support all the enrollment processes of all group insurances.

Use cases

PolicyHolder (employer)

The first step before enrolling insuree under a PolicyHolder, one needs to make sure that the PolicyHolder is defined in openIMIS. Read right is required to have access to the search/list screen. Managing PolicyHolders will be the role of the Clerk.

Web application

PolicyHolder User

Web application

PolicyHolder insuree

Managing PolicyHolder's insurees will be possible from the PolicyHolder page. This should be possible for the PolicyHolderClerk and the Clerk roles.

Web application

PolicyHolder contribution plan bundle

Managing Policy holder contribution plan bundle, this should be possible for the SchemeClerk or SchemeAdmin.

Web application

Backend

Details design

Backend module

Because openIMIS can already have an adapter to read the openIMIS roles and authority, no business function will be required outside the database updates and profile replacements.

Mutations

Mutation as part of the schema file:

Authorities

The following authorities will be added for group insurance management, the Prefix will be 150

Roles

The following roles need to be created or updated with the new authorities (new roles have * ):

Models

mandatory fields have *

Technical fields have **

PolicyHolder (HistoryBusinessModel)

PolicyHolderInsuree (HistoryBusinessModel)

PolicyHolderContributionPlanBundle (HistoryBusinessModel)

PolicyHolderUser (HistoryBusinessModel)

Services

Frontend

The list of PolicyHolders should use the same layout as other existing list in openIMIS (claims, insuree ...).

Menu

Policyholder menu item should be located under the main menu "Insuree and policy".

PolicyHolder search page

PolicyHolder search criteria

The PolicyHolder result columns

MaterialUI (plus) to add a policy holder by opening an empty PH card.

Double click or click on Edit button to update a PolicyHolder.

Backend Configuration

[{ “value“: “1”,
“label“: {“en”: “Personal Company”,
“fr”:”Persone physique”}
}, {“value“: “2”,
“label“: { “en”: “Limited Risk Company”,
“fr”:”Société à risque limité”}
}, {“value“: “3”,
“label“: { “en”: “Association”,
“fr”:”Association”}
}, {“value“: “4”,
“label“: { “en”: “Government”,
“fr”:”Gouvernement”}
}, {“value“: “5”,
“label“: { “en”: “Union”,
“fr”:”Syndicat”}
}]

[{ “value“: “1”,
“label“: {“en”: “Retail”,
“fr”:”Vente au détails”}
}, {“value“: “2”,
“label“: { “en”: “Industry”,
“fr”:”Industrie”}
}, {“value“: “3”,
“label“: { “en”: “Building”,
“fr”:”Construction”}
}, {“value“: “4”,
“label“: { “en”: “Sailing”,
“fr”:”Maritime”}
}, {“value“: “5”,
“label“: { “en”: “Services”,
“fr”:”Services”}
}]

The PolicyHolder card

General Information

Once a PolicyHolder view/update page opens from the search list, the "General information" section or tab is displayed with those fields (editable for the one with enough rights):

The material (Save) UI button will save the changes, when no change are detected the same button should be greyed out

(should have) The tab content (User, insuree, CBP) should be editable after the policy holder is saved (i.e. not before ), reloading the page should be avoided if possible.

on Policyholder create

all fields should be editable

On PolicyHolder update

all fields but Code and dateValidFrom should be editable

“isDeleted“ Policy holder cannot be updated

PolicyHolder Users

This page will link interactive (openIMIS) user to PolicyHolder, in order to allow them to access the PolicyHolder’s data on the PolicyHolder portal.

PolicyHolder Users search criteria

PolicyHolder Users result column

It should be possible to sort the result per column in ASC or DESC order.

PolicyHolder Users create

PolicyHolder Users replace

PolicyHolder Users edit

The material (Save) UI button will save all the changes made on the list.

Journal messages

NTG done: PHUser tab in PH

tab showed if the user have the PHuser rights or the PHPortalUser right + link to PH in PHUser

PolicyHolder Insurees

This pages/section will link the PolicyHolder and a given insuree, and will enable the addition of data on that relationship (contribution plan bundle and calculation rules parameters).

This page or section could be in different form:

PolicyHolder insuree search criteria

PolicyHolder insuree result column

It should be possible to sort the result per column in ASC or DESC order

PolicyHolder insuree create

PolicyHolder insuree replace

PolicyHolder insuree edit

An empty line at the top of the list with the (plus) add button in place of delete, once filled, new empty line should be displayed.
Or a button will be on the top right of the table + a popup to add the insuree.

The material (Save) UI button will save all the changes made on the list.

PolicyHolder Contribution plan bundle

This page/section will link the CPB to PolicyHolder, only CPB part of that list will selectable on the PHInsuree page/section

This page or section could be in different form:

PolicyHolder Contribution plan bundle search criteria

PolicyHolder Contribution plan bundle result columns

It should be possible to sort the result per column in ASC or DESC order

PolicyHolder PHCPB create

PolicyHolder PHCPB replace

PolicyHolder PHCPB edit

An empty line at the top of the list with the (plus) add button in place of delete, once filled, new empty line should be displayed.>
Or a button will be on the top right of the table + a popup to add the PHCPB.

The material (Save) UI button will save all the changes made on the list.

PolicyHolder payment

Same filter As payment, only an addtionnal filter that will be hidden to have only payment with payment details that are linked to PHCPD when a Payment Query $

NTG done: PHPayment tab in PH

tab showed if the user have the PHPayment rights or the PHPortalPayment right + link to PH in PHUser

Solution

Idea to make this additionnal filter within the payment module (i.e the payment tab could be a contribution from payment)

  1. implement “Dynamic“ parameter in the Query

    1. adapt the payment payment query to be able take “dynamic“ filters (I hope this is possible), but don’t use it in the payment module BUT enable the “pre_query“ signals to add filters in the query set

    2. in PH be module, register a signal on the payment “pre_query“, check if there is an PH uuid on the mutation “dynamic“ params, if it is the case and if the user have either the Payment right or (the payment portal right + have a link to PH in PH user table ) then add the filters to retrieve only payment with payment details that are linked to CPD link to PH contracts

    3. the Payment module, should block the query if the user have no right or if there is no additional filter on the query

    4. (Nice to have)in the contract be module, register a signal on the payment “pre_query“, check if there is a contract uuid on the query “dynamic“ params, if it is the case and if the user have either the Payment right or (the payment portal right + have a link to contract PH in PH user table ) then add the filters to retrieve only payment with payment details that are linked to CPD

Link to other entities

Frontend Configuration

When a tab is opened, only the id and the name of the PolicyHolder will be displayed in a top ribbon (as bread crumbs) or Prefilled search fields