Release Version control
This page is to discuss the options for Release Version control, in order to identify a format that meets all requirements and has a minimal impact on users.
Requirements
User | Requirement | Business case |
---|---|---|
AAT | Enable standardised, machine readable identification of the version of the package | Useability, and more efficient Release Management |
AAT | Enable standardised, machine readable identification of the status of the Release package | Useability, and more efficient Release Management |
Proposal
Definition
Release versioning will reflect the version of the release package, within the existing Product name/Release Date version standard, as follows:
SnomedCT_[Product][Format(optional)]_[Release Status]_[Release date]T[Release time]Z
This format includes all of the additional information required to quickly and uniquely identify the correct package to use at any one time, without adversely impacting any of the related policies (such as the Snomed CT URI standard, etc).
The major differences between this and the current versioning standard are as follows:
The "Release Status" component is added in, in order to quickly identify whether or not each package is Alpha/Beta/Production status - and avoid unintentional use of Alpha/Beta packages in Production systems.
The "Release date/time" component moves from being the effectiveTime of the Release (eg) 20160731, to being the actual published date and time of the Release (eg) 20160731T134500. This will allow quick and painless distinction between different versions of the same release. So, for example, if you have to recall and re-publish the July 2016 International edition, instead of having 2 different packages called "SnomedCT_InternationalRF2_INT_20160731.zip" (one original and one recall, and no quick way to identify which is which!), you would have the original package called "SnomedCT_InternationalRF2_Production_20160731T140000", and then the recall package (subsequently published on 11th August) called "SnomedCT_InternationalRF2_Production_20160811T120000".
Therefore, at any one time, the latest version of any product package can be identified by the fact that it has a Release Status equal to "Production", and a Release date and time later than all others of the same Product and Release Status.
This standard can therefore continue to be applied once Continuous Delivery has been implemented, as we will ensure that no roll-up releases are deployed on the same Release Date as the interim releases. There may also be value in adding a word to the Release Status element at this point, in order to clearly distinguish between interim and roll-up releases - however this will be decided at the time and defined in the Continuous Delivery proposal.
Examples of versioned package names
Product status | Product Edition | Release Version |
First time Production release for the Product, with this Release Date | International | SnomedCT_InternationalRF2_Production_20160131T134530 |
Subsequent Production release with new Release date, to replace the original version due to a critical issue which required a recall | International | SnomedCT_InternationalRF2_Production_20160316T123000 |
First time Alpha release | International | xSnomedCT_InternationalRF2_Alpha_20150131T104530 |
Subsequent Alpha release with new Release date, to replace the original version after feedback received requiring changes | International | xSnomedCT_InternationalRF2_Alpha_20150214T164530 |
First time Beta release | International | xSnomedCT_InternationalRF2_Beta_20151131T094530 |
Subsequent Beta release with new Release date, to replace the original version after feedback received requiring changes | International | xSnomedCT_InternationalRF2_Beta_20151201T174530 |
First time Production release | Derivative | SnomedCT_GPFP_Production_20160331T134530 |
Subsequent Production release with new Release date, to replace the original version after multiple recalls requiring content/format changes | Derivative | SnomedCT_GPFP_Production_20160531T190030 |
Copyright © 2025, SNOMED International