Versions Compared

Key

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

...

  • UC11-5: Replacing / removing propagation to PolicyHolder insuree contribution plan bundle

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 (existing authorities have a "*") :

  • PolicyHolder

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

  • PolicyHolderInsuree

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

    • Approve (TBC)

  • PolicyHolderUser

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

Entity definition

PolicyHolder

...

UUID (char(24))

...

Code (varchar)

...

Version (integer - to be used for optimistic locking)

...

TradeName (varchar)

...

LocationsUUID (fk tblLocations)

  • Not limited to one level

...

Address (varchar)

...

Phone (varchar)

...

Fax (varchar)

...

Email (varchar)

...

ContactName (varchar)

...

LegalForm (configEnum:legalForm)

...

ActivityCode (configEnum:activity)

...

AccountancyAccount (varchar)

...

PaymentReference (varchar)

...

DateValidFrom (date)

...

DateValidTo (date)

...

Roles

New role have *

  • SchemeClerk( Clerk)

    • PolicyHolder*

      • C/R/U

    • PolicyHolderInsuree

      • C/R/U/D

      • Approve (TBC)

    • PolicyHolderContract

      • C/R/U

      • Submit

      • Approve

  • SchemeAdmin*

    • PolicyHolder

      • C/R/U/D

    • PolicyHolderInsuree

      • C/R/U/D

      • Approve (TBC)

    • PolicyHolderContributionPlan

      • C/R/U/D

  • PolicyHolderClerk*

    • PolicyHolderInsuree

      • C/R/U

Models

Mandatory fields have *

Technical fields have **

Field in HistoryModel

  • UUID (char(36))**

  • isActive (bool)**

  • Json_ext (json)

  • DateCreated (date)**

  • DateUpdated (date)**

  • UserUpdatedUUID (fk users)**

  • UserCreatedUUID (fk users)

PolicyHolderInsuree

  • UUID (char(24) )**

Field in HistoryBusinessModel

  • HistoryModel fields

  • DateValidFrom (date)*

  • DateValidTo (date)

PolicyHolder (HistoryBusinessModel)

  • Code (varchar 32)*

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

  • PolicyHolderUUID TradeName (fk policyHoldervarchar 256)*

  • InsureeUUID LocationsUUID (fk Insuree)

  • ContributionPlanBundleUUID (fk_contributionPlanBundle)

  • LastPolicyUUID (fk Policy)

  • Json_ext (json)

  • DateCreated (date)

  • DateUpdated (date)

  • UserUpdatedUUID (fk users)

  • UserCreatedUUID (fk users)

  • isActive

  • DateValidFrom (date)

  • DateValidTo (date)

PolicyHolderContributionPlanBundle

  • UUID (char(24) tblLocations)

    • Not limited to one level

  • Address (varchar/json 1024)

  • Phone (varchar 16)

  • Fax (varchar 16)

  • Email (varchar 256)

  • ContactName (varchar 256)

  • LegalForm (configEnum:legalForm)

  • ActivityCode (configEnum:activity)

  • AccountancyAccount (varchar 64)

  • PaymentReference (varchar 128)

PolicyHolderInsuree (HistoryBusinessModel)

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

  • ContributionPlanBundleUUID (fk_contributionPlanBundle)

  • PolicyHolderUUID (fk policyHolder)*

  • Json_ext (json)

  • DateCreated (date)

  • DateUpdated (date)

  • UserUpdatedUUID (fk users)

  • UserCreatedUUID (fk users)

  • isActive (bool)

  • DateValidFrom (date)

  • DateValidTo (date)

PolicyHolderUser

  • UUID (char(24) InsureeUUID (fk Insuree)*

  • ContributionPlanBundleUUID (fk_contributionPlanBundle)

  • LastPolicyUUID (fk Policy)

PolicyHolderContributionPlanBundle(HistoryBusinessModel)

  • ContributionPlanBundleUUID (fk_contributionPlanBundle)*

  • PolicyHolderUUID (fk policyHolder)*

PolicyHolderUser(HistoryBusinessModel)

  • UserUUID (fk_user)*

  • PolicyHolderUUID (fk policyHolder)

  • Json_ext (json)

  • DateCreated (date)

  • DateUpdated (date)

  • UserUpdatedUUID (fk users)

  • UserCreatedUUID  (fk users)

  • isActive (bool)

  • DateValidFrom (date)

  • DateValidTo (date)

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:

Permissions

See models section above

Models

...

  • *

Services

  • CRUD services

  • replacePolicyHolder

  • replacePolicyHolderInsuree

  • replacePoicyHolderContributionPlanBundle

...