Hi Diego,
In Ocean .oet files the ‘Inital Test’ and “Subsequent Test” semantics are represented by a name/value redefine on the archetype root nodes. In ADL1.5 we will be able to specialise the root node atCode to do the same thing but more safely. As you have correctly pointed out before this essetnially means creating a template for each slot fill. At first this seems like a considerable overhead just to allow the root node to be redefined but in fact we often have to apply different constraints to the filled slot e.g different mandation, other node renames or even further slot-fills which are different in each case. Unlike normal templates, these are generally local to the parent template and I understand that Thomas is figuring out how these can be represented in-line (as we do with .oet), rather than needing to create a separate file for each local template
So differentiating the slot-filled archetypes is not in itself a problem but you are correct in pointing out that the slot definition is lost in the process. This assumes that the parent slot definition always needs to be retained and is not subsumed by the slot-filling archetype. - In fact this is not always the case. In the example you gave, it could be argued that the ‘prime semantics’ are in the Observation archetype ‘HIV test component’ and not in the parent ‘Initial test’ / Confirmation test’, and that we don’t want to lose those semantics to the parent slot definition.
As it stands we get the best of both worlds. The original semantics of the slot-filling archetypes are retained, with the option of re-defining the semantics if required by local templating and root archetype node/ name description redefinition by a specialised atcode. It would be useful if the tooling automatically offered to create the re-definition based on the parent slot semantics, including any suggested bindings.
Ian