We're updating the issue view to help you get more done.Learn more

Correct missing parentheses in dADL type identifiers.

The parentheses around the optional type identifier is missing in the dADL grammar

The example on type information ( from the ADL document) looks like this:
destinations = <
    ["seville"] = (TOURIST_DESTINATION) <

Note that the parentheses around the type id. It doesn't seem to be supported by the current grammar.





Thomas Beale

Raised By

Rong Chen

Change Description

The following changes are made (note that these changes allow both non-parenthesised and parenthesised forms of dADL to exist, even in the same archetype). In the dADL grammar rules, the following rule is updated: type_identifier: '(' V_TYPE_IDENTIFIER ')' | '(' V_GENERIC_TYPE_IDENTIFIER ')' | V_TYPE_IDENTIFIER | V_GENERIC_TYPE_IDENTIFIER In the cADL scanner rules, a new pattern match needs to be added in the V_C_DOMAIN_TYPE section: -- the following version matches a type name without () and is deprecated [A-Z]{IDCHAR}*[ \n]*< -- match a pattern like -- 'Type_Identifier whitespace <' -- the following version is correct ADL 1.4/ADL 1.5 \([A-Z]{IDCHAR}*\)[ \n]*< -- match a pattern like -- '(Type_Identifier) whitespace <'

Impact Analysis

This change will mean that numerous existing archetypes containing inline dADL C_DV_QUANTITY sections would not parse, e.g. http://svn.openehr.org/knowledge/archetypes/dev/adl/openehr/ehr/entry/observation/openEHR-EHR-OBSERVATION.blood_gases.v1.html. Tools should therefore allow the current non-parenthesised form of a typed dADL section as well as the parenthesised form required by this change. Tools that perform modifications to archetypes should silently replace the old form by the new form.


Rong Chen
Thomas Beale

Approved By



Fix versions

Due date