The semantics are subtly different at data vresus UI level as well.
Somewhat of a devil’s advocate argument:
AN archetype might quite resaonably have a rule of the form
if X = yyy then exists /tree/of/yyy/related/data
which is saying something about the conditional mandation of part of the data. Independently of that, a
form definition artefact might have a rule of a similar form, such as ‘if X.filled then show /sub-form/of/yyy/data’. Now, it’s pretty obvious that you don’t really need the latter if you have the former - the form
level tools / builders etc treat the data conditional rule as a proxy for some show-on-form logic.
So then the question is: could all such needs be solved just in the archetype? For Nedap, within their controlled universe, the answer is yes (perfectly reasonable). But generally? Well, it’s easy to imagine how an international archetype might not have a conditional mandation rule, but some local use in whatever jurisdiction does.
Example: the condition is about ‘active tobacco user?’ → ‘details of tobacco use’. It’s reasonable to allow the details part to be completely optional even if the answer to the question is ‘yes’ (just recording the fact of tobacco use without details is still useful). But let’s say some jurisdictions are trying to manage tobacco use in a precise way (e.g. offering relevant educational materials to heavy smokers, occasional cigar smokers, tobacco chewers and so on…), then they may want such a rule.
They could still put it in a localised specialisation of the original archetype, which gets them out of having to have any special form logic representation.
So we might then ask ourselves, well why would anyone want conditional mandation rules solely at the form level, with nothing in the archetype level? Either the semantics of the data in your product / deployment situation are that there is a rule for conditional mandation, or else you are putting semantics in the UI not tied to any data specification level artefact. Why do that? Well, it might be convenience, e.g. a vendor might do that because they don’t want to have to create a localised archetype for each of 50% of clients who want that rule and not for the other 50% that don’t - so they just make it a form builder thing. The problem with that, I would argue is that this is hidden semantics - like all semantics in forms that is not tied to underlying models.
A better solution to the above situation (the devil would argue) is indeed to create specialised archetypes containing the rules (for those clients that want them), and not to put any rules in forms that are not purely visual.