Skip to content

Conversation

@SevKohler
Copy link

This is a draft PR to raise awareness.
Changes need to be still discussed.

Ping @gardes

`org.openehr::openEHR-EHR-EVALUATION.diagnosis.*v1.29.0*`

References with no namespace will remain legal, since there should be no computational impediment to using uncontrolled archetypes and templates, e.g. in an experimental situation. The lack of minor and patch level version numbers should also be legal for non-namespaced identifiers, and be interpreted as meaning `0` in both cases, i.e. `.v1` means `.v1.0.0`.
References with no namespace will remain legal, since there should be no computational impediment to using uncontrolled archetypes, e.g. in an experimental situation. The lack of minor and patch level version numbers should also be legal for non-namespaced identifiers, and be interpreted as meaning `0` in both cases, i.e. `.v1` means `.v1.0.0`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have assumed that .v1 without minor or patch, means "any" minor or patch version, preferably the latest available one. All current archetypes would have a major version only but exist in many minor and patch versions. Maybe I am missing the context, @freshehr may provide better advice.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is why I have distinguished between

  • an 'archetype reference', which could have 1, 2, or 3 part version id, and if less than 3, it resolves within a given env to the latest matching version available (e.g. v1 might resolve to .v1.4.0 of something) AND
  • an 'archetype id', which is a 3-part thing, or else a 1-part thing for legacy artifacts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ‘reference’ still inherits from the ‘id’ right? Should we break that inheritance. To me it implies a ‘reference’ is-a ‘id’, and we don’t want that. https://openehr.atlassian.net/wiki/spaces/spec/pages/2878439483/03.13.25+Template+ID+version+discussion?focusedCommentId=2880700422

Copy link
Contributor

@joostholslag joostholslag Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
References with no namespace will remain legal, since there should be no computational impediment to using uncontrolled archetypes, e.g. in an experimental situation. The lack of minor and patch level version numbers should also be legal for non-namespaced identifiers, and be interpreted as meaning `0` in both cases, i.e. `.v1` means `.v1.0.0`.
References with no namespace will remain legal, since there should be no computational impediment to using uncontrolled archetypes and templates, e.g. in an experimental situation. The lack of minor and patch level version numbers should also be legal for non-namespaced identifiers, and be interpreted as meaning `0` in both cases, i.e. `.v1` means `.v1.0.0`.

I disagree with this change. So suggest to cancel it. We do want (strongly recommend) template IDs to have a namespace but this should be enforced by the adl tooling and CDR (probably depending on DTAP deployment), not at the spec level, for the reason outlined here.

I also don't want to differentiate between templates and archetypes.

We could discuss no longer allowing HRIDs without a namespace (breaking change) but that's out of scope for this PR imho.


`org.openehr::openEHR-EHR-COMPOSITION.SomeTemplateName.v1.29.0`

For template IDs, the link:https://specifications.openehr.org/releases/AM/development/AOM2.html#_archetype_identification[HRID format] is mandatory. Older formats that omit the namespace and version are deprecated but still supported for legacy data.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest to add:
Older formats that omit the namespace and version or follow a completely different format are deprecated but still supported for legacy data.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also minded to cancel this change, for now. I think the whole section needs to be reworked once we have a better understanding of the impact of non-namespaced archetypes in transition to ADL2. I think the current text, though not perfect, does support the use of legacy and HRID tempateIds. So ... revisit when we have bottomed out archetypeIds and namespaces?

@joostholslag
Copy link
Contributor

I don’t think we should do this. I think we should make it a recommendation to use namespaces. And makes sure as a community the key tooling ecosystems does this.
I don’t think we should change the spec to say that only archetypes can have no namespace. Both should, but not computationally enforced.

@joostholslag
Copy link
Contributor

@SevKohler @bostjanl-better how do we progress this? Shall we discuss it in the ADL WG (every other Tuesday from 11 November 11am CET). Or can we keep it async in this PR?

@bostjanl-better bostjanl-better marked this pull request as draft November 11, 2025 10:17
@joostholslag
Copy link
Contributor

ADL WG decided not to change this right now. Because the identification spec is already quite inconsistent with AM2 and BASE, so should be undertaken as a thorough review of the spec. Not as a prerequisite for adl2.4 release. Let's keep it as draft for further use.

@SevKohler
Copy link
Author

SevKohler commented Nov 19, 2025

@joostholslag

I'm also minded to cancel this change, for now. I think the whole section needs to be reworked once we have a better understanding of the impact of non-namespaced archetypes in transition to ADL2. I think the current text, though not perfect, does support the use of legacy and HRID tempateIds. So ... revisit when we have bottomed out archetypeIds and namespaces?

So this is the way forward ?

@joostholslag
Copy link
Contributor

@joostholslag

I'm also minded to cancel this change, for now. I think the whole section needs to be reworked once we have a better understanding of the impact of non-namespaced archetypes in transition to ADL2. I think the current text, though not perfect, does support the use of legacy and HRID tempateIds. So ... revisit when we have bottomed out archetypeIds and namespaces?

So this is the way forward ?

Yes let's cancel this change (but keep it as a draft) and revisit as @freshehr suggest in the quote above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants