Hello,
A very direct question: Why it is not possible to define multiple constraint bindings for the same archetype node and the same terminology in AOM/ADL 1.4? I know in AOM/ADL 2.0 the management of these constraints change completely, but the following is the situation (limitation?) in existing 1.4.
For a given textual node, it is possible to define multiple term definitions (atNNNN codes), for example:
DV_CODED_TEXT matches {
defining_code matches {
[local::
at0001,
at0002]
}
}
term_definitions = <
[“en”] = <
items = <
[“at0001”] = <
text = <“XXXXX”>
description = <“*”>
[“at0002”] = <
text = <“YYYYY”>
description = <“*”>
However, it is not possible to define the same using constraint bindings (acNNNN codes). More precisely, it is only possible to do it if each code pertains to a different terminology. For example, the following example would be valid:
DV_CODED_TEXT matches {
defining_code matches {[ac0001]}
}
constraint_definitions = <
[“en”] = <
items = <
[“ac0001”] = <
text = <“New constraint”>
description = <“*”>
constraint_bindings = <
[“BI98”] = <
items = <
[“ac0001”] = terminology:BI98?code=YYYY
[“AIR93”] = <
items = <
[“ac0001”] = terminology:AIR93?code=XXXX
But not the following one, the ADL parser and the openEHR Archetype Editor do not even accept it:
DV_CODED_TEXT matches {
defining_code matches {[ac0001]}
}
constraint_definitions = <
[“en”] = <
items = <
[“ac0001”] = <
text = <“New constraint”>
description = <“*”>
constraint_bindings = <
[“BI98”] = <
items = <
[“ac0001”] = terminology:BI98?code=XXXX
[“ac0001”] = terminology:BI98?code=YYYY
Is it mandatory to use predefined subsets to define a coded value set with multiple values in a constraint binging?
Isn’t it reasonable to allow defining coded value sets explicitly at the archetype level (specially in cases where maybe we only have to define two or three codes)?
It would be a simple but very convenient patch to add to AOM/ADL 1.4+ before 2.0.
David
