# Question about occurrences and cardinality values in the Blood Pressure archetype **Category:** [Clinical (archive)](https://discourse.openehr.org/c/clinical-archive/153) **Created:** 2011-08-02 10:46 UTC **Views:** 1 **Replies:** 6 **URL:** https://discourse.openehr.org/t/question-about-occurrences-and-cardinality-values-in-the-blood-pressure-archetype/15081 --- ## Post #1 by @Seref Greetings, Am I suffering from acute caffeine deficiency syndrome \(just made it up\) or is there a problem with the occurrences of event and interval\_events in the blood pressure archetype? In the published blood pressure archetype in the CKM, HISTORY\[at0001\] has events with cardinality \{1\.\.\*; unordered\} However "EVENT\[at0006\] occurrences matches \{0\.\.\*\}" and "INTERVAL\_EVENT\[at1042\] occurrences matches \{0\.\.1\}" under the history allow zero instances of both of these elements\. So the cardinality sets 1 as the minimum member count for the container attribute, but occurrences attributes of objects introduce 0, which is beyond allowed boundaries\. In plain English: cardinality says there has to be at least one, but objects say, there can be zero or more\. When both objects have zero instances, the cardinality constraint is violated\. Comments? --- ## Post #2 by @system Hi Seref, I am suffering from the same \+ the heat from possibly the first summer day in Germany this year, but I think this is perfectly correct\. As far as i understand, it just means you have to choose at least one at0006 EVENT or one at1042 INTERVAL\_EVENT\. Then you can add as many further at0006 events as required\. So, you are right, they cannot both have zero instances, but you can choose, and a cardinality of >=1 and member elements with occurrence >= 0 is the way to express this choice I believe\. Sebastian --- ## Post #3 by @Seref Hi Sebastian, If I follow the descriptions from the specification, I don't think I can see anything in there that says you have to choose at least one in this case\. Actually page 56 of the adl 1\.4 specification \( http://www.openehr.org/releases/1.0.1/architecture/am/adl.pdf \) specifically says the following: VCOC: cardinality/occurrences validity: the interval represented by: \(the sum of all occurrences minimum values\) \.\. \(the sum of all occurrences maximum values\) must be inside the interval of the cardinality If I were to write a validator based on this, it would invalidate the blood pressure archetype based on the criteria above taken from the spec\. What you're saying makes sense, but I can't see it in the specification\. --- ## Post #4 by @system Hi Seref, This means \- you have to have at least one event, but it could be either EVENT or INTERVAL\_EVENT\. Does that make sense\. Cheers, Sam --- ## Post #5 by @system Hi Seref, interesting, I think Thomas changed this rule for ADL 1.5 to: VACMC - cardinality/occurrences validity: where occurrences and cardinality are stated, the interval represented by: (sum of all occurrences minimum values) .. (sum of all occurrences maximum values) must intersect with the interval stated by the cardinality. Thomas and I had a discussion about some edge cases here a while ago, where you could make this rule a little more strict potentially, but in any case it seems to be a necessary condition for a correct archetype. My take is that VCOC prevents functionality that is needed and is simply too strict and was therefore modified to VACMC in ADL1.5 - Thomas? Sebastian [details="(attachments)"] ![oceanlogo.png|84x82](upload://2EtFgZ1bS4JNl1d51FusTB7hg8M.png) [/details] --- ## Post #6 by @thomas.beale Yes. We should allow the two 0..x constraints. The cardinality constraint says you must have at least 1 thing in the list, and the two other constraints each say - separately - that the EVENT and INTERVAL_EVENT matching objects can single have 0 instances. Taken together, it is all compatible. The reworded rule above, quoted by Sebastian, says that it has to be at least *possible* to meet the constraints. - t --- ## Post #7 by @Seref Thanks Tom, The reworded rule is what I was asking for actually: something in the spec that sets the rule for this particular combination of values\. Cheers Seref --- **Canonical:** https://discourse.openehr.org/t/question-about-occurrences-and-cardinality-values-in-the-blood-pressure-archetype/15081 **Original content:** https://discourse.openehr.org/t/question-about-occurrences-and-cardinality-values-in-the-blood-pressure-archetype/15081