13.03.25 Template ID version discussion

13.03.25 Template ID version discussion

https://openehr.atlassian.net/jira/software/c/projects/SPECPR/issues/SPECPR-124?filter=recentlyviewed&jql=project%20%3D%20%22SPECPR%22%20ORDER%20BY%20lastviewed%20DESC

Meeting 21.03.25

 

 

 

 

 

 

@Ian McNicoll

@Silje Ljosland Bakke

@Sebastian Iancu

@Birger Haarbrandt

@Severin Kohler

@Matija Polajnar

 

Adding a version to a string is problematic, as institutions already use different formats (e.g., id.v1, id::v1.2.0, etc.). Enforcing a standardized string attachment now would introduce inconsistencies and create issues with legacy data.

As a result, there was general consensus to use the ADL2 Human-Readable Identifier (HRID) alongside the legacy template ID version.

Proposed Template Structure

Template

"archetypeId": { "@type": "ARCHETYPE_HRID", "value": "namespace:something:semver" }, "templateId": "whatever_legacy_id",

Tooling should generate this HRID automatically, e.g., AD should have an option to enable HRID generation.
The specification should strongly recommend using HRID.

From now on, compositions should use the HRID where it is provided in the template (acting as a flag).

Example Template

{ "archetypeId": { #new cool stuff "@type": "ARCHETYPE_HRID", "value": "org.highmed:trial:v1.0.0" }, "templateId": "trial.v1.0.0", other_details: sem_vers: v1.0.0 # version namespace: org.highmed # seperate from the template }

Composition new

{ template_id: "org.highmed::openEHR-EHR-COMPOSITION.trial.v1.0.0" }

TKey Points

  • Backward compatibility: The legacy templateId is retained, while HRID is introduced.

  • Future-proofing: New templates and template updates should only use HRID.

  • Legacy support: Existing compositions can still reference the old templateId.

  • Query optimization: The specification should recommend incorporating the template_id name within the HRID to simplify queries (e.g., id = "*template_name*") as a governance recommendation.

  • Easier ADL2 adaptation: This approach facilitates the transition to ADL2.

Composition Types Going Forward

  1. Before HRID – Legacy compositions without HRID

  2. New – Introduces HRID ADL2

  3. ADL2.0 – Uses the same template_id structure simplifying transformation/update

 

Open Questions & Concerns

  • Will there be conflicts between ADL2 and ADL1.4 templates now that they share the same unique ID?

  • How should governance be structured to manage this transition effectively?

  • Use the template_id field as a human readable value in parallel to the archetype_id containing the full HRID. That would help easing AQL, consequences?

Comments