ADL 1.4 Migration Roadmap

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:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x

 

Full version numbers in ids

1.5

Implement 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.5

This 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 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:

  • 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

 

Annotations

1.5

Implement 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.5

Add 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 marker

1.5

Add 'generated' keyword to ADL; add is_generated Boolean property to ARCHETYPE class

 

Modelling Tools:

  • x

Archetypes:

  • x

 

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:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x

 

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:

  • 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 AOM

1.5

Change parser to ignore

 

Modelling Tools:

  • x

Archetypes:

  • x

EHR & Demographics Stack:

  • x

AQL Queries:

  • x

 

Allow RM type redefine in archetype

1.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 rules

1.5

Implement relevant AOM 2 validity rules in tools.

 

Modelling Tools:

  • x

 

1.6 - Tuples; remove openEHR special types - provide a 1.4 export mode

Tuple construct

1.6

Implement AOM 2 tuples

 

Modelling Tools:

  • Pure addition

Archetypes:

  • Pure addition

 

Remove C_DV_QUANTITY, C_DV_ORDINAL, C_CODE_PHRASE

1.6

Implement using AOM 2 tuples

 

Modelling Tools:

  • x

Archetypes:

  • Migrate archetypes to tuple form.

EHR & Demographics Stack:

  • x

AQL Queries:

  • x

 

Add TERMINOLOGY_CODE type

1.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_closed

1.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 rules

1.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 definitions

1.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 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