ADL 1.4 Migration Roadmap
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. Currently only minor versions are indicated, but as the details of impact become clearer, we can add patch versions e.g. 1.5.1, 1.5.2 etc as well.
Clearly, initial attempts to determine the best ADL/AOM version to add a feature may be wrong; please indicate problems in the 'ISSUES' column.
ADL 2 feature | Target version | Technical addition | OPT Req't | Impact on existing... | ISSUES |
|---|---|---|---|---|---|
1.5 - 'Quick wins' release - changes that only affect the parser, minor additions to the AOM, but that can afterwards be ignored by systems | |||||
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. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Full version numbers in ids | 1.5 | Implement ARCHETYPE_HRID class from AOM 2; continue to allow existing .vN style version ids. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Change ARCHETYPE. | 1.5 | This is needed to allow references to specialisation parents with just major vesion, or major.minor, or full 3 -part version |
| Modelling Tools:
Archetypes:
|
|
Uids: ARCHETYPE.provenance_id, instance_id | 1.5 | Add properties from AOM 2 ARCHETYPE class. Add new Uid properties to ARCHETYPE objects. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
|
|
Change Any allowed to bare type in ADL | 1.5? | Currently ADL 1.4 requires the form: TYPE matches {*} and attribute matches {*} to indicate 'any allowed'; in ADL 2 the 'matches {*}' can be removed. Tools should continue to accept the old form, but write out the new form. |
| Modelling Tools:
Archetypes:
|
|
|
|
|
|
|
|
Extra meta-data: RESOURCE_DESCRIPTION. original_namespace, TRANSLATION_DETAILS. | 1.5? | From AOM 2 RESOURCE_DESCRIPTION class. Convert ADL 1.4 version of this meta-data to proper attributes. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Annotations | 1.5 | Implement ANNOTATION classes from Common IM |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
use_archetype external reference | 1.5 | Add C_ARCHETYPE_ROOT from AOM 2 class under C_COMPLEX_OBJECT |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
generated marker | 1.5 | Add 'generated' keyword to ADL; add is_generated Boolean property to ARCHETYPE class |
| Modelling Tools:
Archetypes:
|
|
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. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
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. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Rename invariants | 1.5 | Change to parsers: accept both 'invariants' and 'rules'. When writing archetypes output 'rules' |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Remove concept from ADL and ARCHETYPE.concept from AOM | 1.5 | Change parser to ignore |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Allow RM type redefine in archetype | 1.5? | Allow specialised archetype to redefine RM type of node. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Implement relevant AOM 2 validity rules | 1.5 | Implement relevant AOM 2 validity rules in tools. |
| Modelling Tools:
|
|
1.6 - Tuples; remove openEHR special types - provide a 1.4 export mode | |||||
Tuple construct | 1.6 | Implement AOM 2 tuples |
| Modelling Tools:
Archetypes:
|
|
Remove C_DV_QUANTITY, C_DV_ORDINAL, C_CODE_PHRASE | 1.6 | Implement using AOM 2 tuples |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
Add TERMINOLOGY_CODE type | 1.6? | Implement AOM 2 TERMINOLOGY_CODE; replaces C_CODE_PHRASE |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
ARCHETYPE_SLOT.is_closed | 1.6? | Implement AOM 2 ARCHETYPE_SLOT.is_closed, to allow closing of slots in specialisations |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
AOM 2 Slot include/exclude rules | 1.6? | Implement AOM 2 include / exclude rules. |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
|
|
|
|
|
|
Mandatory ids on all nodes; optional node-id term definitions | 1.6? | Adopt ADL 2 / 13606 style of using ids (still using at-codes). |
| Modelling Tools:
Archetypes:
EHR & Demographics Stack:
AQL Queries:
|
|
AOM 2 node-id specialisation rules | 1.6? | Only need to specialise a node id for a) semantic purpose (term redefine) or b) specialise single C_OBJECT to multiple children | |||