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 featureTarget versionTechnical additionOPT Req'tImpact 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 ids1.5

Implement ARCHETYPE_HRID class from AOM 2

Need to allow non-namespaced ids as well; these represent ids of uncontrolled archetype.

 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Full version numbers in ids1.5Implement ARCHETYPE_HRID class from AOM 2; continue to allow existing .vN style version ids. 

Modelling Tools:

  • clean addition

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Change ARCHETYPE.
parent_archetype_id to a String
1.5This is needed to allow references to specialisation parents with just major vesion, or major.minor, or full 3 -part version 

Modelling Tools:

  • x

Archetypes:

  • x
 

Uids:

ARCHETYPE.provenance_id, instance_id

1.5

Add properties from AOM 2 ARCHETYPE class.

Add new Uid properties to ARCHETYPE objects.

 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x
 
Change Any allowed to bare type in ADL1.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:

  • x

Archetypes:

  • x
 
      

Extra meta-data:

RESOURCE_DESCRIPTION. original_namespace,
original_publisher,
custodian_namespace,
custodian_organisation,
licence

TRANSLATION_DETAILS.
version_last_translated

1.5?

From AOM 2 RESOURCE_DESCRIPTION class.

Convert ADL 1.4 version of this meta-data to proper attributes.

 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Annotations1.5Implement ANNOTATION classes from Common IM 

Modelling Tools:

  • Extra parsing of end section

Archetypes:

  • Should be minimal: adds a section at the end of an archetype

EHR & Demographics Stack:

  • none?

AQL Queries:

  • none
 
use_archetype external reference
and slot-filler construct
1.5Add C_ARCHETYPE_ROOT from AOM 2 class under C_COMPLEX_OBJECT 

Modelling Tools:

  • Pure addition

Archetypes:

  • Pure addition

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
generated marker1.5Add 'generated' keyword to ADL; add is_generated Boolean property to ARCHETYPE class 

Modelling Tools:

  • x

Archetypes:

  • x
 
existence optional1.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:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
cardinality optional1.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:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Rename invariants
section to rules
1.5

Change to parsers: accept both 'invariants' and 'rules'.

When writing archetypes output 'rules'

 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Remove concept from ADL and ARCHETYPE.concept from AOM1.5Change parser to ignore 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Allow RM type redefine in archetype1.5?Allow specialised archetype to redefine RM type of node. 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Implement relevant AOM 2 validity rules1.5Implement relevant AOM 2 validity rules in tools. 

Modelling Tools:

  • x
 
1.6 - Tuples; remove openEHR special types - provide a 1.4 export mode
Tuple construct1.6Implement AOM 2 tuples 

Modelling Tools:

  • Pure addition

Archetypes:

  • Pure addition
 
Remove C_DV_QUANTITY, C_DV_ORDINAL, C_CODE_PHRASE1.6Implement using AOM 2 tuples 

Modelling Tools:

  • x

Archetypes:

  • Migrate archetypes to tuple form.

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Add TERMINOLOGY_CODE type1.6?Implement AOM 2 TERMINOLOGY_CODE; replaces C_CODE_PHRASE 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
ARCHETYPE_SLOT.is_closed1.6?Implement AOM 2 ARCHETYPE_SLOT.is_closed, to allow closing of slots in specialisations 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
AOM 2 Slot include/exclude rules1.6?Implement AOM 2 include / exclude rules. 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
      
Mandatory ids on all nodes; optional node-id term definitions1.6?Adopt ADL 2 / 13606 style of using ids (still using at-codes). 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
AOM 2 node-id specialisation rules1.6?Only need to specialise a node id for a) semantic purpose (term redefine) or b) specialise single C_OBJECT to multiple children 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Rename ontology section to terminology.1.6?Continue to accept old keyword. Output new keyword on serialisation. 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
1.7 - Differential archetypes and templates - provide a 1.4 export mode
Differential paths1.7?Implement AOM 2 C_ATTRIBUTE.differential_path 

Modelling Tools:

  • Major addition to parsers

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Add SIBLING_ORDER class and before and after keywords in ADL1.7?Implement AOM 2 SIBLING_ORDER class 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
ADL 2 'template' and 'template_overlay' keywords1.7?  

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
OPERATIONAL_TEMPLATE class1.7?Implement AOM 2 OPERATIONAL_TEMPLATE class 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
Add ARCHETYPE.is_template and is_overlay1.7?    
AOM 2 flattening semantics Implement proper node clone-and-overlay; overridden node ids in differential paths. Algorithm available in AOM 2 specification.   
RM release1.7?Add to ARCHETYPE class. 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
      
Merge C_PRIMITIVE_OBJECT and C_PRIMITIVE classes1.7?  

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
AOM 2 C_TERMINOLOGY_CODE; remove CONSTRAINT_REF type1.7?  

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
AOM 2 C_STRING1.7?  

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
AOM 2 C_BOOLEAN1.7?  

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x
 
AOM 2 C_ORDERED<T> and subtypes1.7?  

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x