Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Use cases

Contract

Web application

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

  • 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

  • UC3-3: Update contract details: Policy holder List > Select a Policy Holder > Contract list > Select contract > updates one/ several lines > save

  • UC3-4: Submit/sign "contract": Policy holder List > Select a Policy Holder > Contract list > Select contract(s) > Submit/sign contract

  • UC3-5: Review "Contract": Policy holder List > Select a Policy Holder > Contract list > Select contract(s) > contract Reviewed (only for submitted contract)

  • UC3-6: Ask updates "Contract": Policy holder List > Select a Policy Holder > Contract list > Select contract(s) > ask update (only for submitted contract)

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

Portal access

  • UC14-1: search contract > My Contract list >fill search criteria > search
  • UC14-2: Update details > My Contract list > Select contract > update one/several line > save
  • UC14-3: Submit/sign "contract" > My Contract list > Select contract(s) > Submit/Sign contract


Backend

  • UC3-8: send payment notification by email

  • UC3-9: send update required (from ask update) notification by email


Payment

The new policy status "contracted" indicate that the insuree policy doesn't have the same dates as the policy because it is renewable contract payment that defines the validity of the insureepolicy
on payment, a script will:

  • Check if there is a valid policy for the insure covered by the contract (+ grace period), if not then it will create such policy with the normal duration and a status "contracted."

  • Create or update the policy insure up to the end of the grace period, two insurees policies could be created if two policies are required to cover the contract period.

Web application

  • UC4-1: Add payment: Policy holder List > Select a Policy Holder > contract list > create payment > enter value > save > confirmation giving the contract status

  • UC4-2: update payment: Policy holder List > Select a Policy Holder > payment list > Select payment > update value > save > confirmation giving the contract status

  • UC4-3: delete payment: Policy holder List > Select a Policy Holder > payment list > Select payment > delete payment > confirmation giving the contract status

  • UC4-5: add credit note from contract or amendment: Policy holder List > Select a Policy Holder > payment list > add credit note (negative payment)

Back end

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

  • 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

  • UC5-2: When a full payment is received for a contract, the insureepolicy of the policyholder insuree part of the contact will be activated

Authorities

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

  • PolicyHolderContract

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

    • Submit

    • Approve/ask for change

    • Amend

  • PolicyHolderContractDetails

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

    • Approve

  • Payment

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

    • Submit (TBC)

    • Validate

    • CreditNote

Entities

Contract (Contribution Collection)

  • UUID (char(24) )

  • Version (optimistic locking)

  • PolicyHolderUUID (fk policyHolder)

  • AmountNotified (float)

    • Upon Automatic creation

  • AmountRectified (float)

    • Manual update from the policy holder

  • AmountDue (float)

    • Value approved by the Scheme admins

  • PaymentDateDue (date)

  • Status (fk:dictionary:ContractStatus)

  • PayementReference(string)

  • Json_ext (json)

  • DateCreated(date)

  • DateUpdate(date)

  • UserUpdateUUID(fk users)

  • UserCreateUUID (fk users)

  • ContractFrom (date)

  • ContractTo (date)

Entity ContractDetails (input) - under Contract

  • UUID (char(24) )

  • ContractUUID (fk Contract)

  • PolicyHolderInsureeUUID (fk PolicyHolderInsuree)

  • ContributionPlanBundleUUID:Version(fk ContributionPlanBundle)

  • Json_ext (json)

  • Json_param (json)

    • PolicyHolderInsuree parameters

  • Json_param_history (json)

    • Same as Json_ext but for audits

  • DateCreated(date)

  • DateUpdate(date)

  • UserUpdateUUID(fk users)

  • UserCreateUUID (fk users)

Entity ContractContributionPlanDetails (output) - under ContractDetails

  • UUID (char(24) )

  • Version ( integer - to be used for optimistic locking)

  • ContributionPlanUUID (fk_contributionPlan)

  • PolicyUUID (fk_policy)

  • ContractDetailsUUID 

  • Json_ext (json)

    • ContributionPlan parameters

  • DateCreated(date)

  • DateUpdate(date)

  • UserUpdateUUID(fk users)

  • UserCreateUUID (fk users)

Details design