Table of contents
Governance for MedCom FHIR Terminology covers version management and dates Codesystems, Valuesets and ConceptMaps, which are published through the MedCom FHIR Terminology IG.
The term Terminology is in this governance a term covering all kinds of terminology, classifications, enumerations and qualifiers.
All elements of a MedCom FHIR Message SHALL be compliant with the terminologies that are pointed out by these elements. No updates will be made without consulting relevant working groups beforehand.
MedCom applies semantic versioning. Read MedCom’s description of semantic versioning here.
No code in a CodeSystem will be deleted. Incompatible versions of a CodeSystem will have a unique name. Codes in CodeSystems may be deprecated with a deprecation date and new codes may be added to the CodeSystem. In both cases will the version and date be updated.
Some ValueSets are intensional defined, meaning that all codes from a CodeSystem is included. Whenever the CodeSystem is updated, so is the ValueSet. For intensional defined ValueSets, there will always only be one active ValueSet.
Other ValueSets are extensional defined, meaning that codes from CodeSystems are explicitly listed in each ValueSet. ValueSets will therefore not automatically be expanded when a CodeSystem is - it requires a change in the ValueSet.
In exceptional cases, a ValueSet may be marked as fixed, meaning it must not be changed or versioned.
ConceptMaps may be more or less static. ConceptMaps used for sending purposes will rarely change, and ConceptMaps used to describe the content of a message/document may change more frequently.
A ConceptMap is valid until the date of a newer version of this ConceptMap is reached - then only the newest version is valid. If a code in a CodeSystem is deprecated, a new version of the ConceptMaps is created.
MedCom defines a separation between versioning of the overall MedCom Terminology Implementation Guide (IG) and the individual terminology artefacts, such as CodeSystems, ValueSets, and ConceptMaps. While the Terminology IG is versioned as a whole, each terminology artefact is versioned independently to ensure precise tracking of changes and stable references across MedCom standards.
MedCom applies a versioning model to manage updates to individual MedCom FHIR Terminology artefacts (CodeSystems, ValueSets, ConceptMaps), using the format Major.Minor.Patch.
Each component of the version number signals the type and impact of a change. Any MedCom standards affected by changes of individual terminology artefacts in the MedCom Terminology IG will reflect the same version change level as the artefact it incorporates that has the highest level of change (major > minor > patch). MedCom will communicate changes at the major and minor version levels to affected vendors. Vendors must be able to handle patch level changes without being notified by MedCom. Venders can use GitHub subscriptions to get notifications.
Examples:
The major version (X.0.0) is incremented when changes are introduced that may break backward compatibility or significantly alter the structure or meaning of the individual terminology artefact.
Examples include:
The minor version (X.Y.0) is incremented when new content is added in a way that is fully backward compatible and does not alter the structure or semantics of existing terminology artefacts.
Examples include:
The patch version (X.Y.Z) is incremented for small changes that are backward compatible and do not affect the meaning or structure of existing content in individual terminology artefacts.
Examples include:
MedCom applies a versioning model to manage updates to MedCom FHIR Terminology, using the format Major.Minor.Patch.
Changes to individual terminology artefacts do not automatically result in the same level of version change in the Terminology IG. The IG version is determined based on the overall impact of the update.
For instance, a minor change to a ValueSet may be reflected as a patch version in the MedCom Terminology IG.
Changes are documented in the Directory of published versions of the Terminology IG.
Examples:
The major version (X.0.0) is incremented when changes are introduced that may break backward compatibility or significantly alter the structure or meaning of one or more artefacts (e.g. Codesystems and ValueSets) in the MedCom Terminology IG.
Examples include:
The minor version (X.Y.0) is incremented when individual terminology artefacts (e.g. CodeSystems, ValueSets) are added, changed, or deprecated in a way that may impact core functionality in consuming systems, without changing the overall structure or methodology of the MedCom Terminology IG. Larger changes to existing artefacts, as well as the addition of entirely new artefacts, are managed through minor version updates as well. These changes are considered backward compatible at the Terminology IG framework level, but may require attention from implementers using affected artefacts.
Examples include:
Changes that do not affect terminology functionality but still require updated documentation or user guidance.
The patch version (X.Y.Z) is incremented for small changes that are backward compatible and do not affect the meaning or structure of existing content in existing artefacts (e.g. Codesystems and ValueSets) in the MedCom Terminology IG.
Examples include:
The individual MedCom Terminology artefacts (such as CodeSystems) contain two types of dates that support version control and usage guidance. One applies to the entire artefact, while the other applies to individual codes or values within it. Dates in CodeSystems and ConceptMaps apply only to the artefact as a whole. CodeSystems contain both types of dates. The following outlines how these dates are used and interpreted.
Date for the entire artifact:
This date applies to the whole artifact and indicates the date of the most recent change.
Date for each individual code in the CodeSystem:
This date indicates the most recent status change date for the individual value/code.
There are four different statuses:
If a code or artifact does not have an associated date, it is because dates were not implemented in the terminology at the time of creation; they will be added the next time the element is updated.