These pages describe a set of post ADL 1.4 minor versions that leverage backwardly compatible elements of ADL 2, and can be used to migrate safely from ADL 1.4, which is the current ISO standard.
Post 1.4 Release profiles
The first step in working out these interim releases is to assign ADL / AOM 2 features to post 1.4 releases, i.e. 1.5, 1.6 etc.
The following table is design to help with this.
ADL 2 feature | Target version | Technical addition | Impact | OPT |
---|---|---|---|---|
Namespaced ids | 1.5 | Implement ARCHETYPE_HRID class from AOM 2 | Need to allow non-namespaced ids as well; these represent ids of uncontrolled archetype. | |
Full version numbers in ids | 1.5 | Implement ARCHETYPE_HRID class from AOM 2 | ||
Extra meta-data | 1.5 | |||
Annotations | 1.5 | Implement ANNOTATION classes from Common IM | Should be minimal: adds a section at the end of an archetype | |
use_archetype external reference and slot-filler construct | 1.5 | Add C_ARCHETYPE_ROOT from AOM 2 class under C_COMPLEX_OBJECT | This is a clean addition to the language | |
generated marker | 1.5 | Add 'generated' keyword to ADL; add is_generated Boolean property to ARCHETYPE class | ||
existence optional | 1.5 | The existence constraint on attributes should be optional and only used when its value differs from that of the RM or parent archetype corresponding node. | When implemented, parsers and tools should ignore and/or throw away non-significant uses of 'existence', which will be 90%. Rewrite archetypes. | |
cardinality optional | 1.5 | As for existence, the cardinality constraint on attributes should be optional and only used when its value differs from that of the RM or parent archetype corresponding node. | When implemented, parsers and tools should ignore and/or throw away non-significant uses of 'cardinality', which will be 90%. Rewrite archetypes. | |
Rename invariants section to rules | 1.5 | Change to parsers: accept both 'invariants' and 'rules'. | When writing archetypes out, put 'rules' | |
Tuple construct | 1.6 | Implement AOM 2 tuples | This is a clean addition and is needed to replace the openEHR special types. However, it will have impact on most tools. | |
Remove C_DV_QUANTITY, C_DV_ORDINAL, C_CODE_PHRASE | 1.6 | Implement using AOM 2 tuples | Migrate archetypes to tuple form. | |
Differential paths | 1.7? | |||
ADL 2 'template' and 'template_overlay' keywords | 1.7? | |||
C_TERMINOLOGY_CODE | ||||