Being able to place limits on Events that relate to other Events is a powerful feature. The <Constraints> element allows an Event to be sequenced relative to one-or-more other Events.





<Constraint { AfterEvent=’key’  |  BeforeEvent=’key’  

 | FromEvent=’key’   |  UntilEvent=’key’

 | AtEvent=’key’ } >

[ TEXT_SEG ] ...

</Constraint> ...



The interpretations of the elements are as follows:



If there are causal relationships between Events then the <Text> elements can be used to describe it.


The context of the Constraint, i.e. whether it appears in a <When> or <Until> element, determines whether it relates to the start or end date. If the specified Event is a simple Event then its only date is always applicable. Only one constraint for a given context may be established between two particular Events (e.g. no duplication for a start date), and they must not be self-referential.


Q: Should the relationship between events involve an optional duration? For instance: event-B is after event-A + 3 months. GenTech V1.1 (appending C3) suggested something similar: “Date data can be relative.  Dates can be relative to an event, such as “four months after marriage”.

Q: Do we need multi-unit durations, such as 3y 120d? This would affect the ‘Age’ Property of both Person and Animal.