Allow cardinality keyword for multiple attributes

Description

Cardinality has become a non-mandatory property, i.e. it is not necessary to use it if it is not being constrained. In order to identify multiple attribute object (or to set the new is_container attribute) while parsing an ADL file without requiring a reference model definition, it becomes necessary to include a marker at ADL to identify those nodes.

Original discussion thread:
http://www.openehr.org/mailarchives/openehr-implementers/msg00999.html

Activity

Pieter Bos April 6, 2021 at 8:54 AM

This was still marked as In Review, while this is still in the discussion phase. Moved it back one status.

Pieter Bos November 4, 2020 at 12:57 PM

I moved everything that’s not in 2.2.0 or 2.3.0 to 3.0.0 for now, so we can decide later in which specific version it should go.

Thomas Beale November 3, 2020 at 3:26 PM

I vaguely remember eventually not doing it, and so it would be an error that it is in the change log - I can remove that easily enough of course. I suggest that we push this to ADL 3.x or a higher ADL 2.x since to really do it properly needs to be on the basis I mention above, i.e. that there could be archetypes that are ‘standalone’ and effectively operate as RM schemas, i.e. instead of BMMs. But we’d need to document that fairly extensively, because its a different approach to the basis of the current specs - notwithstanding the fact that the UPV team have it working. It could certainly be made to work, but it is a fair bit more complex than the innocent change originally suggested.

Pieter Bos November 2, 2020 at 11:55 AM

In the change log this has been supposedly done in 2.0.0. However, it is not currently part of the specification. Has it been reverted after that
Should I move this to ADL 3.0.0 for now, or keep it here?

Pieter Bos October 6, 2020 at 11:51 AM

You can still parse archetypes, just you will not know some things about some objects and attributes that you may need when working with them later.

Specific to how the ‘some formal representation’ works in Archie, you can easily add your own BMM files, and parse, validate and flatten the archetypes using those with the public API. I’ll add how to do that to the documentation soon.
If you have a model implemented as java classes, Archie has a reflection based metamodel representation you can use. It’s also possible to implement an entirely different mechanism if you need that by just implementing an abstraction layer, and the validator, flattener and OPT generator will work - although some other tools such as the example instance generator require a full BMM model.

Details

Reporter

Raised By

David Moner

Components

Affects versions

Created January 30, 2012 at 8:27 AM
Updated April 30, 2024 at 2:29 PM