Alignment between eForms and ePO representation of contract modifications
While exploring the possible mappings of the Contract Modification information encoded in eForms to ePO 4.0.0, we realized that there is quite significant discrepancy between the two representations, which is even even greater for SDK version 1.10 and prior. The mapping of the following fields and nodes are problematic:
-
ND-ContractModification-
BT-1501(c)-Contract(Modified Contract Reference) SDK v1.11 onwards -
BT-1501(n)-Contract(Modification Previous Notice Identifier) -
ND-ModificationReason-
BT-200-Contract(Modification Reason Code) -
BT-201-Contract(Modification Reason Description)
-
-
ND-Modification-
ND-ModifiedSection-
BT-1501(p)-Contract(Modified Notice Part Reference) SDK v1.11 onwards -
BT-1501(s)-Contract(Modification Previous Notice Section Identifier) SDK v1.10 and before
-
-
BT-202-Contract(Modification Description)
-
-
While ePO (v4.0.0) provides the following model for contract modifications in eForms:
due to
- the repeatability of the
ND-ModificationandND-ModifiedSectionnodes (and implicitly of the fields under those nodes), - how some information are provided (such as Modification Reason Code
BT-200-Contract, Modification Reason DescriptionBT-201-Contract, Modification DescriptionBT-202-Contract), and - what values can appear in the section identifier fields,
the instantiation of the information in the eForms according to the ePO 4.0.0 model is not very straightforward.
This issue is created to see if the ePO model, or the eForms SDK, could be revised to better align the two. For example, to adjust the attributes, relationships, their cardinalities, the splitting of the information that is provided at the contract amendment level vs at the modified section level, etc.
The following model is implemented for ePO v5.0.0:
Please note that the cardinality of
epo:relatesToEFormSectionIdentifier has been modified from [0..1] to [0..*] in order to be able to specify multiple eForms section identifiers for the same pair of modification description (epo:hasModificationDescription) and modification reason (epo:hasModificationReasonDescription and epo:hasModificationJustification code).