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