# ADL v1.4 "existence" default value

**URL:** <https://discourse.openehr.org/t/adl-v1-4-existence-default-value/17187>\
**Category:** Implementation\
**Created:** [8 August 2026 13:23 UTC](https://discourse.openehr.org/t/adl-v1-4-existence-default-value/17187 "2026-08-08T13:23:10Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![borut.jures](https://discourse.openehr.org/user_avatar/discourse.openehr.org/borut.jures/32/1391_2.png) [@borut.jures](https://discourse.openehr.org/u/borut.jures)\
**Post date:** [9 August 2026 10:26 UTC](https://discourse.openehr.org/t/adl-v1-4-existence-default-value/17187/4 "2026-08-09T10:26:57Z")

</div>

You are not the first to be confused: [Confused on cardinality for Protocol - #3 by sebastian.garde](https://discourse.openehr.org/t/confused-on-cardinality-for-protocol/6095/3)

In ADL 1.4, an unstated existence historically defaulted to 1..1 (mandatory) as you noted. However, modern interpretations and ADL 2 derive effective constraints and defaults directly from the underlying Reference Model (RM) or treat unstated constraints as optional/implicit.

If you want your ADL parser to be ready for ADL2, I suggest you also use the RM during parsing ADL 1.4. The defaults for `HISTORY.events` should be taken from the RM HISTORY class where they are optional.

Check the `ADL 2.4 (experimental)` radio button on the bottom of [ADL tab in CKM](https://ckm.openehr.org/ckm/archetypes/1013.1.3574/adl). There is also ANTLR4 for ADL2.

---

_[View the full topic](https://discourse.openehr.org/t/adl-v1-4-existence-default-value/17187)._
