# Archetype Editor question **Category:** [Implementers (archive)](https://discourse.openehr.org/c/implementers-archive/158) **Created:** 2006-09-19 09:28 UTC **Views:** 8 **Replies:** 10 **URL:** https://discourse.openehr.org/t/archetype-editor-question/14571 --- ## Post #1 by @system Since both Archetype\-editors share the same GUI concept, my question applies to both\. Where do I edit the "existence\-constraint" Al I can see is a possiblity to edit the occurences constraint\. Maybe it happens implicitely by choosing some option\. Can someone please explain? Thanks Bert --- ## Post #2 by @Mattias_Forss1 2006/9/19, Bert Verhees <[bert.verhees@rosa.nl](mailto:bert.verhees@rosa.nl)>: > Since both Archetype-editors share the same GUI concept, my question > applies to both. > > Where do I edit the "existence-constraint" > > Al I can see is a possiblity to edit the occurences constraint. > > Maybe it happens implicitely by choosing some option. > > Can someone please explain? Existence is hard-coded when we build openEHR archetypes, we're not supposed to change it, otherwise we're not conforming to the reference model.. or so I believe. Maybe someone else has another view on this? /Mattias --- ## Post #3 by @thomas.beale Bert Verhees wrote: > Since both Archetype-editors share the same GUI concept, my question applies to both. > > Where do I edit the "existence-constraint" > > Al I can see is a possiblity to edit the occurences constraint. > > Maybe it happens implicitely by choosing some option. > > Can someone please explain? The Ocean editor does do this impicitly in a few places, but probably not as much as it should. The difference between existence, cardinality, occurrences is confusing to some people; recently I gave this explanation: --- ## Post #4 by @thomas.beale Mattias Forss wrote: > > 2006/9/19, Bert Verhees <bert\.verhees@rosa\.nl <mailto:bert.verhees@rosa.nl>>: > >     Since both Archetype\-editors share the same GUI concept, my question >     applies to both\. > >     Where do I edit the "existence\-constraint" > >     Al I can see is a possiblity to edit the occurences constraint\. > >     Maybe it happens implicitely by choosing some option\. > >     Can someone please explain? > > Existence is hard\-coded when we build openEHR archetypes, we're not supposed to change it, otherwise we're not conforming to the reference model\.\. or so I believe\. Maybe someone else has another view on this? not quite right\. You can change the constraint as long as it conforms with the reference model\. If the reference model says that EVENT\_CONTEXT\.end\_time is \[0\.\.1\] \(it does\), then your archetype or template can make this \[1\.\.1\], which is within the \[0\.\.1\] constraint \(i\.e\. data built according to \[1\.\.1\] will still satisfy \[0\.\.1\]\)\. \- thomas --- ## Post #5 by @Mattias_Forss1 2006/9/19, Thomas Beale <[Thomas.Beale@oceaninformatics.biz](mailto:Thomas.Beale@oceaninformatics.biz)>: > Mattias Forss wrote: > > > > > > 2006/9/19, Bert Verhees <[bert.verhees@rosa.nl](mailto:bert.verhees@rosa.nl) > > >: > > > > Since both Archetype-editors share the same GUI concept, my question > > applies to both. > > > > Where do I edit the "existence-constraint" > > > > Al I can see is a possiblity to edit the occurences constraint. > > > > Maybe it happens implicitely by choosing some option. > > > > Can someone please explain? > > > > > > > > Existence is hard-coded when we build openEHR archetypes, we're not > > supposed to change it, otherwise we're not conforming to the reference > > model.. or so I believe. Maybe someone else has another view on this? > not quite right. You can change the constraint as long as it conforms > with the reference model. If the reference model says that > EVENT_CONTEXT.end_time is [0..1] (it does), then your archetype or > template can make this [1..1], which is within the [0..1] constraint > (i.e. data built according to [1..1] will still satisfy [0..1]). Okay, I understand, but it's complicated. I think a normal archetype editor user will find it troublesome to set occurrences, cardinality and existence (one more property like one of these and there had been too many :-). Probably he/she will leave the settings as they are many times... /Mattias --- ## Post #6 by @system Mattias Forss schreef: > > 2006/9/19, Thomas Beale <Thomas\.Beale@oceaninformatics\.biz <mailto:Thomas.Beale@oceaninformatics.biz>>: > >     Mattias Forss wrote: >     > >     > 2006/9/19, Bert Verhees <bert\.verhees@rosa\.nl >     <mailto:bert.verhees@rosa.nl> >     > <mailto:bert.verhees@rosa.nl>>: >     > >     > Since both Archetype\-editors share the same GUI concept, my >     question >     > applies to both\. >     > >     > Where do I edit the "existence\-constraint" >     > >     > Al I can see is a possiblity to edit the occurences constraint\. >     > >     > Maybe it happens implicitely by choosing some option\. >     > >     > Can someone please explain? >     > >     > Existence is hard\-coded when we build openEHR archetypes, we're not >     > supposed to change it, otherwise we're not conforming to the >     reference >     > model\.\. or so I believe\. Maybe someone else has another view on >     this? >     not quite right\. You can change the constraint as long as it conforms >     with the reference model\. If the reference model says that >     EVENT\_CONTEXT\.end\_time is \[0\.\.1\] \(it does\), then your archetype or >     template can make this \[1\.\.1\], which is within the \[0\.\.1\] constraint >     \(i\.e\. data built according to \[1\.\.1\] will still satisfy \[0\.\.1\]\)\. > > Okay, I understand, but it's complicated\. I think a normal archetype editor user will find it troublesome to set occurrences, cardinality and existence \(one more property like one of these and there had been too many :\-\)\. Probably he/she will leave the settings as they are many times\.\.\. Yes, KISS, \(keep it stupid simple\), but, this is what annoys me very often in software, other people deciding what my needs are\. One could hide it \(a bit\), or encourage to leave it default \(with a possibility to switch of this encouraging\) In the Microsoft mode: "for advanced use" bert --- ## Post #7 by @system Thomas Beale schreef: > Bert Verhees wrote: >> Since both Archetype\-editors share the same GUI concept, my question applies to both\. >> >> Where do I edit the "existence\-constraint" >> >> Al I can see is a possiblity to edit the occurences constraint\. >> >> Maybe it happens implicitely by choosing some option\. >> >> Can someone please explain? > > The Ocean editor does do this impicitly in a few places, but probably not as much as it should\. The difference between existence, cardinality, occurrences is confusing to some people; recently I gave this explanation: > > \~\~\~\~\~\~\~\~\~\~\~ > >     \* existence \(mandatory/optional\) and cardinality \(number of >       objects allowed in a container\) are meta\-properties of >       attributes \(i\.e\. any attribute or relationship of a type\)\. That >       is why you see them included on attribute nodes in ADL, not on >       object nodes\. Mandatory/optional says: this attribute must have >       a value, or can have a value, or must have no value; if the >       attribute is of a container type, then mandatory/optional is >       indicating whether the container exists\. Then, cardinality >       indicates how many things can / must be in the container\. >       Containers are only indicated in ADL if that attribute is a >       container in the reference model >     \* occurrences is a meta\-property of an object node, and says: how >       many times an instance conforming to this part of the archetype >       definition can/must occur\. If the object is within a container >       attribute, there might be multiple occurrences, e\.g\. as with >       most Events inside History\. If it is not, there still may be >       multiple sibling objects below the containing attribute \- in ADL >       this means they are alternatives\. Usually they all have >       occurrences = 0\.\.1 on them, and the enclosing attribute has >       existence = 0\.\.1 or 1\.\.1 > > So \- these two sets of choices are on attribute nodes and object nodes respectively\. Now, for single\-valued nodes with only one alternative, the existence and occurrences have to match, but this is only a special case\. > > 0\.\.0 in occurrences means "this object cannot occur here", which is non\-sensical in an archetype, but perfectly sensible in a template \- it really means: "this object only, among any alternatives \(single\-valued attribute\) or other objects \(in a container attribute\), cannot be used when this template is operational"\. Whereas 0\.\.0 on an attribute means "this attribute cannot have any value \(all alternatives, contained object possibilities are removed\) when this template is operational"\. This sometimes seems confusing when the archetype has only a single\-valued attribute with one possible object defined \(and this does occur fairly often obviously\) \- what has to happen in such situations is that the occurrences and existence can both be definable, but setting either one automatically sets the other to match\. > > \~\~\~\~\~\~\~\~\~ > > Are you finding you need to set existence more carefully than the editor currently allows? I am sorry to say that there is a need\. Because I do not design the archetypes I use, I help thinking, but I do not design them\. And it is the case that sometimes properties are mandatory with a cardinality of 0\.\.1, in fact it is really often\. The archetypes which are being designed are derived from information hidden in the Dutch Edifact\-messages \(called Medeur\) and in the dutch HL7 messages \(DMIM called: Prica\) regards Bert --- ## Post #8 by @Sam Fair enough Bert - I have been limiting what is available to what we needed - the Ocean Editor has defined ADL as much as the other way around - so there are many gaps for the moment. Someone will get to the source eventually! Cheers, Sam Bert Verhees wrote: --- ## Post #9 by @Sam Bert How would you see expressing this in a meaningful way in the Editor......Sam Bert Verhees wrote: --- ## Post #10 by @system Sam Heard schreef: > Bert > > How would you see expressing this in a meaningful way in the > Editor\.\.\.\.\.\.Sam I don't know, I get specs from what a archetype should look like, and in those specs is the existence constraint\. For I know, there are only two useful values: optional and required\. Should be easy to do that in an interface Bert --- ## Post #11 by @Sam Bert It is clearly and for technicians it will be obvious. It has been my view that the attribute existence should be hidden - 0..1 unless there is a mandatory element on that attribute. The interface can get a lot more complex over the years but it needs to stay suitable for use by IT Clinicians. Sam Bert Verhees wrote: --- **Canonical:** https://discourse.openehr.org/t/archetype-editor-question/14571 **Original content:** https://discourse.openehr.org/t/archetype-editor-question/14571