Hi David,

well the very direct answer is: ADL 1.4 is ... a bit limited;-)

your last example section:

constraint_bindings = <
["BI98"] = <
items = <
["ac0001"] = <terminology:BI98?code=XXXX>
                         ["ac0001"] = <terminology:BI98?code=YYYY>
 >
 >
 >


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/1111>
["ac0002"] = <http://snomed.info/id/3333>
 >
["general practice"] = <
                         ["ac0001"] = <http://snomed.info/id=/2222>
["ac0002"] = <http://snomed.info/id/3333>
 >
 >
 >

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/3333>
 >
["snomedct/nursing"] = <
["ac0001"] = <http://snomed.info/id/1111>
 >
["snomedct/general practice"] = <
                 ["ac0001"] = <http://snomed.info/id=/2222>
 >
 >

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 (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
>
> -

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20141030/8b19e0a0/attachment.html>

Reply via email to