Deletion
in openIMIS nothing is deleted to keep a good auditing level therefore when a user delete, he actually set a flag in the database raw, in order to see the deleted item a “show deleted” option will be available in the search, “isDeleted” flag will be added on the database Model
Nice to have a Undelete in place of the delete for deleted Item
The material UI Delete might be used for the delete button
The material UI RestoreFromTrash
might be used for the undelete button that could repalce the the delete button for deleted Item (nice to have)
Activation
For now few item could be deactivated, this will be true for calculation only, therefore “isActive” won’t be part of the standard model for now.
Material UI switch might be used
Auditing / History
The Django module django-simple-history will be use to keep track of all the changes done in the instance
A history journal should be available for a given instance, the format need to be defined.
UI Material Icon TrackChanges might be used
Replace/Edit
Replace and edit are two different actions, edit will update the instance meaning that this update will also impact the time before the edit, e.g. if a policyHolder insuree is edited to change its income, if a contract need to be generated in the past (still after PHnsuree DateValidFrom) this contract will take the edited income. But if the same PH insuree need to be replace by another version; this means that the former instance (fi) will have its dateValidTo set to dateValidFrom of the new instance(ni) (if fi.dateValidTo is null or greater than ni.dateValidFrom)
Material UI “redo“ might be used for replace
Material UI “edit“ might be used for edit
Wording (to be discussed):
Replace is “Apply changes on a date, old value will be valid before that date”
Replace should be greyed out if the entity was already replaced
Replaced entity should not be updatable
When a replacement entity is deleted, the link should be removed from replaced entity so a new replacement could be generated
Edit is “Apply changes, old value will be lost”
Date valid From-To filter Filter
The date filters (dateStart, DateEnd) should work in such way that all entities that were valid at some point in the filtered windows should appears:
If dateStart is not specified it should be
Today if DateEnd is not specified
min (Today, DateEnd ) if DateEnd is specified
Entity.DateValidFrom should be before the DateEnd if DateEnd is not null
Entity.DateValidTo should be after date DateStart