Specialisation of archetype - Some doubts

When we specialize an archetype, we must keep in mind some rules as:
- a specialised archetype can only further narrow existing constraints
in the parent (but it may add its own)
- constraints are inherited, and can be overridden
- overrides are “covariant”, i.e. the constraints are narrower than the
parent, also can be thought of as “subsumed”
- new constraints can be added where allowed by the parent archetype and
reference model

Using Archetype Editor I noted some strange behaviours, and I don't
understand if they are bugs or a my misunderstanding of specs:
1) I can modify an inherited constraint (changing the text on
term_definitions, the occurrences or the cardinality) without specialize
the constraint (the archetype node id is the same of the parent
archetype).. I thought we should specialize a constraint to modify it!

2) when we specialize a cluster with max occurrences > 1, a new
constraint is created and all children are deleted (why?)

3) can we delete an inherited constraint? if this is an Element we can
do it with Archetype Editor, specializing it and the deleting it. This
is not possible for Cluster

Many thanks in advance for any comments.

Best regards,
leo

Hi Leo,

See below for my best understandings!!

Ian

Dr Ian McNicoll
office / fax +44(0)141 560 4657
mobile +44 (0)775 209 7859
skype ianmcnicoll
ian.mcnicoll@oceaninformatics.com
ian@mcmi.co.uk

Clinical Analyst Ocean Informatics openEHR Archetype Editorial Group
Member BCS Primary Health Care SG Group www.phcsg.org / BCS Health Scotland

When we specialize an archetype, we must keep in mind some rules as:

  • a specialised archetype can only further narrow existing constraints
    in the parent (but it may add its own)
  • constraints are inherited, and can be overridden
  • overrides are “covariant”, i.e. the constraints are narrower than the
    parent, also can be thought of as “subsumed”
  • new constraints can be added where allowed by the parent archetype and
    reference model

Correct

Using Archetype Editor I noted some strange behaviours, and I don’t
understand if they are bugs or a my misunderstanding of specs:

  1. I can modify an inherited constraint (changing the text on
    term_definitions, the occurrences or the cardinality) without specialize
    the constraint (the archetype node id is the same of the parent
    archetype).. I thought we should specialize a constraint to modify it!

This is a bug, and I think partly under-specified in ADL1.4. There are some changes in ADL1.5 which clarify the rules and force a proper specialisation.

  1. when we specialize a cluster with max occurrences > 1, a new
    constraint is created and all children are deleted (why?)

This an interesting issue. I don’t think the intended behaviour is very clear in ADL1.4.
When the Ocean Template Editor ‘clones’ a multi-occurence cluster it does a ‘deep copy’ of the whole structure which is certainly very useful. ADL 1.5 is intended to underpin both archetypes and templates so the behaviour will need to be consistent. I did discuss this with Tom - I ma not sure if / how it has been resolved in the ADL.15 draft as yet. My preference would certainly be for the ‘deep-cloning’ but it does introduce some issues as to how the child node atcodes of the specialised cluster should be represented - are these references to the ‘parent’, specialisations of the ‘parent’ or entirely new atcodes.

  1. can we delete an inherited constraint? if this is an Element we can
    do it with Archetype Editor, specializing it and the deleting it. This
    is not possible for Cluster.

It should be possible for both specialised cluster and specialised element but not possible for a parent node

Many thanks in advance for any comments.

Hi Moretti, I noted similar problems and discussed with Tom. He suggested that we create a PR.
Here is another problem:

AE allows in specialisation setting occurrences higher than defined in parent (with ELEMENT I have tested).
So do you want to go ahead and raise the PR issue?

Cheers,

-koray

Hi koray,
I added a PR for each problem I found:
http://www.openehr.org/issues/browse/AEPR

Best Regards
leo

Koray Atalag-3 wrote: