Defining multiple constraint bindings in AOM/ADL 1.4
I will explain it in another way. ac codes are used as placeholder constraints, i.e. a kind of link to a query or subset in a terminological systems that defines the possible instance values of a coded attribute. My question was: Is it needed to be always a link to a subset? Cannot we use ac to define bindings to specific terminological codes explicitly enumerated, without the need of defining a subset in the terminological system in advance? 2014-10-30 20:05 GMT+01:00 Thomas Beale thomas.beale at oceaninformatics.com: 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= [ac0001] = terminology:BI98?code= 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/ http://snomed.info/id/ [ac0002] = http://snomed.info/id/ http://snomed.info/id/ [general practice] = [ac0001] = http://snomed.info/id=/ http://snomed.info/id=/ [ac0002] = http://snomed.info/id/ 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/ http://snomed.info/id/ [snomedct/nursing] = [ac0001] = http://snomed.info/id/ http://snomed.info/id/ [snomedct/general practice] = [ac0001] = http://snomed.info/id=/ 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] = terminology:BI98?code= [AIR93] = items = [ac0001] = terminology:AIR93?code= 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= [ac0001] = terminology:BI98?code= 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
Defining multiple constraint bindings in AOM/ADL 1.4
On 31 okt. 2014, at 08:39, David Moner damoca at gmail.com wrote: I will explain it in another way. ac codes are used as placeholder constraints, i.e. a kind of link to a query or subset in a terminological systems that defines the possible instance values of a coded attribute. My question was: Is it needed to be always a link to a subset? Cannot we use ac to define bindings to specific terminological codes explicitly enumerated, without the need of defining a subset in the terminological system in advance? Use case: to define an ?ad-hoc? list of codes that might apply and from which one can be choosen without the need to use the terminology service? -- next part -- An HTML attachment was scrubbed... URL: http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20141031/30b7f632/attachment.html
Defining multiple constraint bindings in AOM/ADL 1.4
On 31-10-14 09:21, Thomas Beale wrote: I know, that's why I asked if it is feasible to incorporate this or at least something similar in the transitional 1.4+ since it seems a very important characteristic. yes, undoubtedly. I will start a wiki page to try and tease out changes to reverse engineer from ADL 2 into a new ADL 1.5, 1.6 etc. But I'll rely mostly on input of others on this, so this suggestion needs to go there, and any others you have. I would favor this change, so if there would be a voting, I would vote yes. I was missing this feature, so I always managed it to handle it by misusing text/description. According http://semver.org/ it would become 1.5: MINOR version when you add functionality in a backwards-compatible manner Bert
Defining multiple constraint bindings in AOM/ADL 1.4
On 31-10-14 10:32, Gerard Freriks wrote: Use case: to define an ?ad-hoc? list of codes that might apply and from which one can be choosen without the need to use the terminology service? Exactly, many times there are only a few codes needed in an archetype/dataset and the need to have a terminology-service available to resolve some codes in order to use some archetypes would be an overkill-requirement, which could also possible unnecessary slow a system down.
Defining multiple constraint bindings in AOM/ADL 1.4
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] = terminology:BI98?code= [AIR93] = items = [ac0001] = terminology:AIR93?code= 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= [ac0001] = terminology:BI98?code= 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 -- David Moner Cano Grupo de Inform?tica Biom?dica - IBIME Instituto ITACA http://www.ibime.upv.es http://www.linkedin.com/in/davidmoner Universidad Polit?cnica de Valencia (UPV) Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta Valencia - 46022 (Espa?a) -- next part -- An HTML attachment was scrubbed... URL: http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20141030/cebfff48/attachment.html
Defining multiple constraint bindings in AOM/ADL 1.4
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= [ac0001] = terminology:BI98?code= 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] = terminology:BI98?code= [AIR93] = items = [ac0001] = terminology:AIR93?code= 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= [ac0001] = terminology:BI98?code= 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