Non existing constraints: closed or open interpretation?

Ian McNicoll ian at
Fri Jul 6 03:27:11 EDT 2018

Hi all,

Good question Pablo.

There is definitely a use-case for an open composition content slot, though
it would probably have a little more context data.

The prime example is a GP Encounter when the potential content is very open
i.e you have no idea what Observations, in particular, might be required.

However, this of course leaves CDR servers with a validation problem and I
suspect most CDRs actually validate directly against the templated content
i.e extra content will be rejected.

In these situations we tend, therefore to build maximal dataset templates
which is a little clunky but technically correct. I understand that a
couple of vendors have/are experimenting with dynamic
validation i.e. the template is in some way rebuilt to reflect the content
but I don't know the details.

So in practice, although technically open slots are valid, I think most
CDRs treat them as closed. Dynamic validation would be really useful and I
think ADL2 allows us to constrain slots as closed.


Dr Ian McNicoll
mobile +44 (0)775 209 7859
office +44 (0)1536 414994
skype: ianmcnicoll
email: ian at
twitter: @ianmcnicoll

Co-Chair, openEHR Foundation ian.mcnicoll at
Director, freshEHR Clinical Informatics Ltd.
Director, HANDIHealth CIC
Hon. Senior Research Associate, CHIME, UCL

On Fri, 6 Jul 2018 at 07:57, David Moner <damoca at> wrote:

>> As I mentioned on my previous message, my case is not when an ANY / {*}
>> appears in the ADL, but when there is no definition at all, I'm talking
>> this:
>> definition
>>     COMPOSITION[at0000] matches {
>>         category matches {
>>             DV_CODED_TEXT matches {
>>                 defining_code matches {[openehr::433]}
>>             }
>>         }
>>     }
>> 1. I'm not sure if that is interpreted as ANY allowed in
>> COMPOSITION.content.
>> For instance the AE doesn't allow to put a "content matches {*}" there,
>> which was my interpretation of what you called ANY.
> Yes, if you don't constrain anything, then the underlying model rules. And
> that's equivalent to saying ANY, that's why I insist on that :D
> --
> David Moner Cano
> Web:
> Twitter: @davidmoner
> Skype: davidmoner
> _______________________________________________
> openEHR-clinical mailing list
> openEHR-clinical at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openEHR-clinical mailing list