# Confused on cardinality for Protocol

**URL:** <https://discourse.openehr.org/t/confused-on-cardinality-for-protocol/6095>\
**Category:** CKM\
**Created:** [5 January 2025 12:36 UTC](https://discourse.openehr.org/t/confused-on-cardinality-for-protocol/6095 "2025-01-05T12:36:52Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![sebastian.garde](https://discourse.openehr.org/user_avatar/discourse.openehr.org/sebastian.garde/32/3070_2.png) [@sebastian.garde](https://discourse.openehr.org/u/sebastian.garde)\
**Post date:** [5 January 2025 18:43 UTC](https://discourse.openehr.org/t/confused-on-cardinality-for-protocol/6095/3 "2025-01-05T18:43:15Z")

</div>

> [@ian.mcnicoll](#):
>
> However protocol is optional in the parent CARE\_ENTRY class, so I’m not clear why CKM is marking it as mandatory.

It is, but note the definition of existence in the specs: [Existence](https://specifications.openehr.org/releases/AM/Release-2.3.0/ADL1.4.html#_existence)

In particular:

> The default existence constraint, if none is shown, is {1…1}.

This to me means that if you explicitly state _protocol_ in the adl but do not state anything about its existence, it becomes mandatory, even though per se it is not.  
If I remember correctly, we considered changing this or publishing an erratum for this a very long time ago, but then did not.

---

_[View the full topic](https://discourse.openehr.org/t/confused-on-cardinality-for-protocol/6095)._
