ADL 1.4 Archetype Conversion

Due to recently implemented changes to archetype codes, node identification, value set representation and terminology binding representation, all existing ADL 1.4 and 'transitional' 1.5 archetypes need to be upgraded. 

A summary of the id-code changes is:

  • all archetype nodes have an id-code (e.g. "id14", "id1.4", "id0.0.3")
  • id-codes on nodes under container attributes must have a definition in the terminology; for the rest it is optional

Full explanation here.

A summary of the terminology / value set representation changes is:

  • a single code is an at-code, always. If you want a SNOMED or other code, this is a binding
  • a local value set made of at-codes is now replaced by:
    • an ac-code inline, that represents the value set as an entity (e.g. 'patient positions for BP measurement')
    • and the set of at-codes, in the new 'value_sets' part of the archetype terminology
  • a local value set made of external codes (i.e. the value set is still being declared in the archetype, just with some other codes) becomes:
    • an ac-code inline, as above
    • a value set definition of the ac-code + at-codes
    • a set of bindings from each at-code to the original external code; each binding is a URI
  • a an externally defined value set / ref-set appears in the archetype as
    • an ac-code
    • a binding to the external value set, as a URI

Full explanation here.

The ADL Workbench implements the following conversions, and marks converted archetypes as adl_version=1.5.1.

  • upgrading of archetype identifier to the new ARCHETYPE_HRID (HRID = human-readable id)
  • injection or correction of lifecycle state to one of the states described here
  • injection of a UID on all archetypes that don't have them
  • all openEHR-ish DV_ORDINAL, DV_QUANTITY and CODE_PHRASE special syntax => generic tuple constraints
  • the 'ontology' section is now called 'terminology'
  • codes are converted to id-codes (for node ids), at-codes (for value codes) and ac-codes (for value-set references)
    • id codes are synthesised for nodes that don't have them
  • all code definitions are now in a single 'term_definitions' table in the archetype terminology
  • all bindings are now in a single 'term_bindings' table in the archetype terminology
  • there is a new 'value_sets' table in the archetype terminology, containing all locally defined value sets, as described above
  • all existing value sets and codes are converted according to the rules stated above
  • all external codes & bindings become standard URIs, following Harold Solbrig's analysis.