Hi David,
well the very direct answer is: ADL 1.4 is ... a bit limited;-)
your last example section:
constraint_bindings = <
["BI98"] = <
items = <
["ac0001"] =
["ac0001"] =
>
>
>
would not even be allowed in ADL 2. Now, we have to ask why something
like the above could exist. Presumably there has to be some
distinguishing feature of the two mappings, otherwise how does tooling
and systems know what to choose. One concept that has been brought up in
the past is the idea of mapping codes and value sets differently for
different uses of the same terminology, e.g. GP v nursing. Maybe
something like:
constraint_bindings = <
["snomedct"] = <
["nursing"] = <
["ac0001"] = <http://snomed.info/id/>
["ac0002"] = <http://snomed.info/id/>
>
["general practice"] = <
["ac0001"] = <http://snomed.info/id=/>
["ac0002"] = <http://snomed.info/id/>
>
>
>
The syntax might be different. There are all kinds of questions here.
E.g. maybe you want the binding to snomedct to be mostly the same for
all purposes, but just a bit different for some. See the ac0002 code
above - it's mapped to the same thing in each case. Maybe we want
something more like:
constraint_bindings = <
["snomedct"] = <
["ac0002"] = <http://snomed.info/id/>
>
["snomedct/nursing"] = <
["ac0001"] = <http://snomed.info/id/>
>
["snomedct/general practice"] = <
["ac0001"] = <http://snomed.info/id=/>
>
>
It's easy to imagine a lot of other similar ideas. So far I have never
seen a solid statement of requirements on this need. Can you provide
some more background on the need you have? It's not out of the question
to get it into the soon-to-be-finalised ADL2, but we'd need something
pretty clear to go on.
Secondly, your statement:
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)?
I assume you mean the internal code-set construct i.e.
[local::
at0001,
at0002]
which can of course have 1:1 code:concept bindings for each at-code. But
you know that, so I probably don't understand what you are really asking...
- thomas
On 30/10/2014 11:54, David Moner wrote:
> 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 (at codes), for example:
>
> DV_CODED_TEXT matches {
> defining_code matches {
> [local::
> at0001,
> at0002]
> }
> }
>
> term_definitions = <
> ["en"] = <
> items = <
> ["at0001"] = <
> text = <"X">
> description = <"*">
> >
> ["at0002"] = <
> text = <"Y">
> description = <"*">
> >
> >
> >
> >
>
>
> However, it is not possible to define the same using constraint
> bindings (ac 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"] =
> >
> >
> ["AIR93"] = <
> items = <
> ["ac0001"] =
> >
> >
> >
>
>
> 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"] =
> ["ac0001"] =
> >
> >
> >
>
>
> 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
>
> -
-- next part --
An HTML attachment was scrubbed...
URL:
<http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20141030/8b19e0a0/attachment.html>