All pages
Powered by GitBook
1 of 5

Loading...

Loading...

Loading...

Loading...

Loading...

Enabling Access to Editions and Versions

Two key factors determine the ability of an instance of a terminology server to provide access to a particular SNOMED CT versioned edition. Firstly, the data that forms part of that versioned edition must be loaded into a data store that the terminology service is able to access. Secondly, unless the terminology server only has access to one versioned edition, the terminology server must allow the edition and version to be specified by the client application (see Select Edition and Version).

The table below shows some of the different ways in which a terminology server may be designed and configured to enable access to a specific SNOMED CT edition or versioned edition Most of the options in the table require the client application to select the edition and version to which they require access.

Enabling Edition and Versioned Edition Access

Versioned Edition Accessibility
Description
Versioned Edition Selection
Notes
  • The current version(s) used by its client applications

  • The version(s) its client applications were using prior to their most recent updates.

Any versions of a single edition| A specific instance of a terminology server has access a datastore that contains the data required to access any version of a single edition.| Referring to a server instance implicitly identifies the edition.Any version of that edition can be selected by specifying the effective time for a snapshot.| Recommended for client applications that are processing, reporting, or analyzing data collected using a range of different versions of a single edition. Specific versions of several editions| A specific instance of a terminology server accesses a datastore that only contains data for several specific versions of a several editions. The edition and version can be selected from those available.| Recommended for client applications that require access to multiple editions.

Any versions of several editions| A specific instance of a terminology server has access a datastore that contains data from the most recent full release for several editions. The edition can be selected from those available.Any version of the selected edition can be selected by specifying the effective time for a snapshot.| Recommended for client applications that are processing, reporting or analyzing data collected with using a range of different versions of more than one edition.

The table below summarizes the recommended ways to identify a SNOMED CT edition or versioned edition using a URI.

Method
Terminology Resource
General form and example
Notes

Fixed versioned edition

A specific instance of a terminology server accesses a datastore that only contains data for a single .

Referring to a server instance implicitly identifies the edition and version.

Specific versions of a single edition

A specific instance of a terminology server accesses a datastore that only contains data for several specific versions of a single .

Referring to a server instance implicitly identifies the edition. The version can be selected from those available.

Recommended minimum for client applications only requiring access to a single edition.The accessible versions should include:

Module identifier and version date

Edition

Example:

The {moduleId} is an SCTID that identifies the edition. It does this by referring to the moduleId of the most dependent module in the edition. The other modules in the edition are specified by the module dependencies of that module.

Identifying SNOMED CT Editions and Versioned Editions

Provide Feedback

Version

Example:

The {versionDate} is the effectiveTime of the set of module dependency reference set rows for this version of this edition. This is formally represented using the format YYYYMMDD (see Time data type).

Uniform Resource Identifiers

Edition

Example:

The SNOMED CT URI Standard defines globally unique identifiers for a wider range of terminology components. These URIs include the {moduleId} and {versionDate} noted above (see URI Standard section 2.1 URIs for Editions and Versions). Note: The URI http://snomed.info/sct/731000124108/version/20200301 refers to the 2020-01-31 version of the US Edition, which is formally defined to include the 731000124108 | US National Library of Medicine maintained module | and the two International Edition modules on which it depends (900000000000207008 | SNOMED CT core module | and 900000000000012004 | SNOMED CT model component module |).

Versioned Edition

Examples:

—

Other Options

Edition

Key, path or alias for an edition Example:

A less formal approach that provides a more meaningful representation of the edition and version can be used. The example shown here is currently used by the Snowstorm terminology server to refer to the US Edition of SNOMED CT. Note: This Snowstorm path refers to an extended version of the formally defined US edition. In addition to the formally defined content noted above, it also includes the 5991000124107 | SNOMED CT to ICD-10-CM rule-based mapping module | and several other additional modules distributed by SNOMED International in separate release packages. The inclusion of these additional extension modules creates an extended versioned edition (see 5.2.2 Enabling Access to Extended Editions).

Versioned Edition

Combination key, path, or alias with the version date Example:

—

{moduleId}
900000000000207008
versioned edition
edition
{versionDate}
20200131
http://snomed.info/sct/{moduleId}
http://snomed.info/sct/900000000000207008
http://snomed.info/sct/{moduleId}/version/{versionDate}
http://snomed.info/sct/900000000000207008/version/20200131
http://snomed.info/sct/731000124108/version/20200301
{server-url}/MAIN/SNOMEDCT-US
{server-url}/MAIN/SNOMEDCT-US/2020-03-01

Importing Release File Data

Importing and Validating Release Files

When working with SNOMED CT, it is critical to ensure that release packages are correctly validated and imported. Proper validation safeguards data integrity and ensures that terminology services, applications, and users can rely on accurate and consistent content. This section outlines the general integrity checks required for all release packages, additional checks for extensions, and the requirements for importing release files.


General Release Package Integrity Checks

To validate the integrity of SNOMED CT release packages:

  • Consistency of distribution files

    • All imported files must be from the same release.

    • The set of files must be complete and include all mandatory components.

  • Delta releases

    • Previously imported data must be from the version immediately prior to the delta release being imported.

  • Snapshot or full releases

    • Pre-existing data must be removed before import, or

    • The process must overwrite duplicates so that:

  • Component identifiers

    • Must have a valid partition identifier for the type of component.

    • Must include a valid check-digit.

  • Field constraints

    • All fields must comply with data type, size, and value constraints defined in the Release File Specifications.

  • Concept integrity

    • All concepts must have at least two active descriptions:

      • One Synonym (900000000000013009).

  • Other consistency checks

    • May be applied as needed to ensure overall data integrity.


When importing an extension, additional checks must be performed to ensure proper installation and compatibility:

  • Recognition and approval

    • The extension must be recognized and formally approved by an appropriate authority.

  • Compatibility


Terminology service providers must ensure that terminology services provide access to all the data in selected versioned views of a selected SNOMED CT edition.

  • Applies to all editions and versioned views the service can access.

  • Data must support the purposes defined in the SNOMED CT Release File Specifications, though storage format does not need to match the release file structures exactly.

  • The simplest approach is to import all files from the full release and/or snapshot release of the required edition.


Exception
Notes

The data structure of each release file is defined in the SNOMED CT Release File Specifications:

A snapshot import does not contain obsolete rows.
  • A full release import matches the full release exactly.

  • One Fully Specified Name (900000000000003001).
  • All active concepts (except the root concept 138875005 | SNOMED CT Concept|) must have at least one active Is a relationship (116680003).

  • The extension must be based on, or supported by, the currently installed version of the International Edition.

  • Required versions of other dependent extensions must already be installed (or be part of the same import process).

  • Module dependencies

    • All dependencies of the extension module must be listed in the Module Dependency Reference Set.

    • Each dependency row must:

      • Match the extension’s moduleId.

      • Have a sourceEffectiveTime that matches the current version of the extension.

      • Reference the correct dependent modules and target effective times.

  • Component validation

    • All components must have a valid moduleId for the extension.

    • All component identifiers must:

      • Be unique per effectiveTime.

      • Have a valid partition identifier.

      • Use a namespace identifier appropriate to the extension provider.

      • Include a valid check-digit.

    • All fields must meet data type, size, and value constraints.

  • Where this is not possible, alternative sources may be used (see below).

    Importing delta data between two versions from a full release

    Import only rows where: • effectiveTime > start date • effectiveTime ≤ end date. If multiple rows exist for the same id, import only the most recent.

    Importing edition data from a multi-edition release package

    Import only rows where the moduleId matches the edition’s moduleId or the moduleId of a dependent module.

    Importing edition data from multiple release packages

    Import only rows where the moduleId matches the edition or dependent modules. If dependencies are missing, import from additional packages. Avoid duplicates (rows with the same id and effectiveTime).

    Importing snapshot data from a full release (same version)

    Import only rows with the most recent effectiveTime for each unique id. Discard all other rows.

    Importing snapshot data from a full release (later version)

    Discard rows newer than the required version date. From the remaining rows, import only the most recent effectiveTime for each unique id.

    Importing delta data from a full or snapshot release (same version)

    Import only rows with an effectiveTime greater than the previous release date.

    Additional Checks for Extension Release Files

    Importing Release Files

    Alternative Sources for Importing Release Views

    Notes

    https://app.gitbook.com/s/irKbJsZG57nSWZA4GT0M/4-component-release-files-specification
    https://app.gitbook.com/s/irKbJsZG57nSWZA4GT0M/5-reference-set-release-files-specification
    Provide Feedback

    Release Types and Versioned Views

    Importing Release Types

    Requirements

    • Organizations that maintain SNOMED CT edition(s) or extension(s) must distribute one or more release package(s).

      • Each release package must contain a full release for the current version of an edition or extension for which they are responsible.

      • Optionally, each release package may also contain a snapshot release and/or delta release for the same version of the same edition or extension.

    • Terminology service providers must ensure their service can import data from either a full or snapshot release of a selected edition or extension.

      • They should also consider enabling their service to update a previously imported edition or extension using a delta release.

    • Healthcare application providers should ensure that their applications can work with terminology services that support importing and updating SNOMED CT using the available release types.

    • Terminology service users must confirm that the healthcare applications and terminology services they procure:

      • Provide access to the SNOMED CT editions and extensions they require.

      • Support updates to more recent versions of those editions and extensions.


    Release Type
    Description

    The following sections illustrate the differences between delta, full, and snapshot release types across five releases of a simplified example release file.

    Symbol
    Meaning

    • Six components created.

    • Delta, Full, and Snapshot are identical (no previous release).

    Delta, Full, Snapshot:

    id
    effectiveTime
    active
    term
    • Component 3 changed from 3rd → third.

    id
    effectiveTime
    active
    term
    • Components 7 (fourth) and 8 (fifth) added.

    id
    effectiveTime
    active
    term
    • Component 4 inactivated.

    id
    effectiveTime
    active
    term
    • Component 5 inactivated.

    • Component 6 changed to sixth.

    • Component 9 added (seventh).

    id
    effectiveTime
    active
    term
    • All SNOMED CT release packages must include a set of full release files for a SNOMED CT edition or extension.

      • A full release includes the complete history of the content of that edition or extension.

      • This allows a terminology server to enable access to versioned views of the content of this edition or extension as it was at any point between its first release and the current release.


    A versioned view is a set of component versions and reference set member versions defined by the characteristics of their effectiveTime.

    • Versioned views and release types are closely related.

    • A release type is a physical representation of a particular versioned view.

    • Some versioned views are not instantiated as release types, but all valid views of a SNOMED CT edition can be generated from a full release.

    • Includes the most recent version of all components and reference set members at a specified point in time.

    • Uses:

      • The current snapshot view is the most important and is in constant use during daily operations.

    • Includes only rows representing changes to components and reference set members since a specified date or between two dates.

    • Uses:

      • When updating to a new version, delta views identify components that were added, updated, or inactivated between releases.

    • Includes all versions of all components and reference set members in a full release.

    • Uses:

      • Useful for organizations that do not apply every update, but still need to interpret data that references content not in the snapshot view they use.


    View
    Description
    View
    Description

    To enable terminology services to access a full view of a SNOMED CT edition:

    • Import a full release of the edition into an appropriate datastore.

    • To update:

      • Import the latest full release, replacing the old data; or

    To provide access to a snapshot view:

    • Import the current snapshot release; or

    • Selectively import data from the current full release (most recent versions only); or

    • Filter the full view to include only the most recent version of each component before a specified date.

    To update to a new snapshot view:

    • Use any of the above methods to add or replace a snapshot view; or

    • Import the latest delta release and update the snapshot accordingly.

    To provide access to a delta view:

    • Import the delta release for that edition; or

    • Selectively import rows from the full release where effectiveTime is after the previous release date and on or before the current release date; or

    • Filter a full release to generate configurable delta views between arbitrary dates.

    Configurable delta views may include:

    • Only the most recent change to each component within the period, or

    • All changes to each component during that period.

    🟥

    Inactivated version of a component

    ◼️

    Not the most recent version (historical row)

    1

    second

    🟩 3

    20010131

    1

    3rd

    🟩 4

    20010131

    1

    forth

    🟩 5

    20010131

    1

    V

    🟩 6

    20010131

    1

    VI

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    ⚪ 2

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    20030131

    1

    fifth

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    ⚪ 2

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    20050131

    1

    sixth

    🟩 9

    20050131

    1

    seventh

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    id
    effectiveTime
    active
    term

    ⚪ 1

    20010131

    1

    first

    The extent to which a terminology service supports access to different versioned views may vary.

  • Terminology service providers must:

    • Optimize performance of access to the current snapshot view of a selected edition or extension.

    • Provide access to earlier snapshot views and delta views to support:

      • Analysis of data entered using earlier versions.

      • Terminology change management when updating to newer versions.

  • Healthcare application providers must ensure that their applications can use terminology services that provide access to required versioned views of SNOMED CT.

    • Services that support access to the current snapshot view should be selected and optimized.

    • Services that enable access to a new version of the same edition should also be accessible to manage updates.

    • Access to earlier versions should be available to support analysis of data recorded with content that has since been inactivated.

  • Terminology service users must procure applications and services that:

    • Optimize access to the current snapshot view of the selected versioned edition.

    • Support updates to newer versions.

    • Support analysis of data recorded using content that has since been inactivated.

  • When updating to a new version, access to the earlier snapshot is required to determine the type of change made to each component.
  • When reviewing, analyzing, or reporting older data, snapshot views from the relevant time may help interpret unexpected variations.

  • Access to earlier full views may be required for forensic review or anomaly resolution.

    All snapshot views of a range of different editions

    Supports snapshot views for multiple editions. ✅ Meets requirements for data entry, display, change management, retrospective data analysis, and access to modules from any supported edition.

    Configurable delta views across multiple editions

    Shows changes between two points across one or more editions. Useful in cases where multiple editions are in use.

    Import the latest delta release and append it to the existing full release data.

    Full

    Release files contain every version of every component and reference set member ever released. Enables access to any snapshot view and comparisons between releases.

    Snapshot

    Release files contain only the most recent version of every component and reference set member as at the release date. Enables access to the current release snapshot and comparison of changes between snapshots.

    Delta

    Release files contain only rows representing versions created since the previous release date. Supports incremental updates to full or snapshot data and reviewing changes between releases.

    ⚪

    Unchanged component (still active and unchanged in this release)

    🟩

    New component added in this release

    🟨

    Updated version of an existing component

    🟩 1

    20010131

    1

    first

    🟩 2

    🟨 3

    20020131

    1

    third

    🟩 7

    20030131

    1

    fourth

    🟥 4

    20040131

    0

    forth

    🟥 5

    20050131

    0

    V

    Single snapshot view of an edition

    Supports only one preset snapshot view (the current version). The server is reconfigured when updating to a newer version. ✅ Meets requirements for current data entry and display. ❌ Does not meet requirements for change management, retrospective data analysis, or access to modules outside the edition.

    Multiple snapshot views of an edition

    Supports snapshot views for a limited set of versions (e.g., current and previous). Versions can be specified in requests. ✅ Meets requirements for data entry, display, and change management. ⚠️ Partially meets requirements for retrospective data analysis. ❌ Does not meet requirements for access to modules outside the edition.

    All snapshot views of an edition

    Supports snapshot views for any point in time within an edition. ✅ Meets requirements for data entry, display, change management, and retrospective data analysis. ❌ Does not meet requirements for modules outside the edition.

    Single delta view (current vs. previous version)

    Shows changes between the current version and the previous version of an edition. Useful for reviewing the most recent changes. Also requires access to the snapshot of the previous release.

    Multiple delta views (between adjacent versions)

    Shows changes between earlier releases (each version vs. its predecessor). Useful for reviewing historical changes and addressing issues retrospectively. Requires access to the snapshot view prior to each delta.

    Configurable delta views (between any two dates)

    Flexible solution showing changes between any two specified points. Requires access to a full release. Supports identifying all changes within the period. May include one or all changes for each component.

    Release Type Characteristics and Uses

    Note: Delta files have been removed from the SNOMED International release package, Managed Service Extensions and Derivative packages. Instead, a Delta Generation Tool is available to create deltas between two fixed release dates.

    If the release package does not include a snapshot release or delta release, equivalent views can be derived from the full release.

    Comparing the Content of Different Release Types

    Key to Symbols

    Release 20010131 — First release

    Release 20020131 — Second release

    Release 20030131 — Third release

    Release 20040131 — Fourth release

    Release 20050131 — Fifth release

    Supporting Versioned Views

    Requirements

    Types of Versioned Views

    Snapshot view

    Delta view

    Full view

    Terminology Service Versioned View Options

    Snapshot views that may be supported

    Delta views that may be supported

    Creating and Updating Versioned Views

    Full views

    Snapshot views

    Delta views

    Provide Feedback

    20010131

    🟩 8

    🟨 6

    20010131

    1

    second

    ◼️ 3

    20010131

    1

    3rd

    🟨 3

    20020131

    1

    third

    ⚪ 4

    20010131

    1

    forth

    ⚪ 5

    20010131

    1

    V

    ⚪ 6

    20010131

    1

    VI

    ⚪ 2

    20010131

    1

    second

    🟨 3

    20020131

    1

    third

    ⚪ 4

    20010131

    1

    forth

    ⚪ 5

    20010131

    1

    V

    ⚪ 6

    20010131

    1

    VI

    ⚪ 2

    20010131

    1

    second

    ◼️ 3

    20010131

    1

    3rd

    🟨 3

    20020131

    1

    third

    ⚪ 4

    20010131

    1

    forth

    ⚪ 5

    20010131

    1

    V

    ⚪ 6

    20010131

    1

    VI

    🟩 7

    20030131

    1

    fourth

    🟩 8

    20030131

    1

    fifth

    ⚪ 2

    20010131

    1

    second

    🟨 3

    20020131

    1

    third

    ⚪ 4

    20010131

    1

    forth

    ⚪ 5

    20010131

    1

    V

    ⚪ 6

    20010131

    1

    VI

    🟩 7

    20030131

    1

    fourth

    🟩 8

    20030131

    1

    fifth

    20010131

    1

    second

    ◼️ 3

    20010131

    1

    3rd

    🟨 3

    20020131

    1

    third

    ⚪ 4

    20010131

    1

    forth

    🟥 4

    20040131

    0

    forth

    ⚪ 5

    20010131

    1

    V

    ⚪ 6

    20010131

    1

    VI

    ⚪ 7

    20030131

    1

    fourth

    ⚪ 8

    20030131

    1

    fifth

    ⚪ 2

    20010131

    1

    second

    🟨 3

    20020131

    1

    third

    🟥 4

    20040131

    0

    forth

    ⚪ 5

    20010131

    1

    V

    ⚪ 6

    20010131

    1

    VI

    ⚪ 7

    20030131

    1

    fourth

    ⚪ 8

    20030131

    1

    fifth

    ⚪ 2

    20010131

    1

    second

    ◼️ 3

    20010131

    1

    3rd

    🟨 3

    20020131

    1

    third

    ⚪ 4

    20010131

    1

    forth

    🟥 4

    20040131

    0

    forth

    ⚪ 5

    20010131

    1

    V

    🟥 5

    20050131

    0

    V

    ⚪ 6

    20010131

    1

    VI

    🟨 6

    20050131

    1

    sixth

    ⚪ 7

    20030131

    1

    fourth

    ⚪ 8

    20030131

    1

    fifth

    🟩 9

    20050131

    1

    seventh

    ⚪ 2

    20010131

    1

    second

    🟨 3

    20020131

    1

    third

    🟥 4

    20040131

    0

    forth

    🟥 5

    20050131

    0

    V

    🟨 6

    20050131

    1

    sixth

    ⚪ 7

    20030131

    1

    fourth

    ⚪ 8

    20030131

    1

    fifth

    🟩 9

    20050131

    1

    seventh

    Service Implementation Considerations

    SNOMED CT is made available to license holders in release packages containing sets of files that represent SNOMED CT components and. The content of these files provides the source data to which a terminology service provides access. This chapter provides guidance on how the structure and content of different release packages should be accessed and used to enable desired services. This chapter is important for those designing, developing, and maintaining terminology services, as they require a thorough understanding of the structure and content of different release packages and the release files they contain.

    Provide Feedback

    Terminology Data Storage and Access

    SNOMED CT terminology data is distributed in release packages containing tab-delimited release files that conform to the SNOMED CT Release Files Specification. All release files follow a consistent design pattern with the following key features:

    • A versioning mechanism, which tracks additions, changes, and inactivations made in each release. This versioning mechanism enables terminology services to access the full history of every SNOMED CT component and reference set member.

    • A limited range of data types, all of which are rendered as text in release files.

    • Use of the Unicode UTF-8 character set for the string data type, to support the inclusion of the full range of Unicode characters.

    Data from the files in SNOMED CT release packages needs to be loaded into a datastore that can be accessed by terminology services. The design of this datastore is a key design decision for developers of terminology services since it will determine the capabilities and performance characteristics of those services.

    General requirements for the datastore design include:

    • It must enable the representation of all the information contained in all release files types in the SNOMED CT release package(s) imported

    • It must support the terminology services that are marked as Required in the subsections of

    • It must deliver scalable optimization of terminology services required by the use cases in that the server is designed to support1.

    Different technical options are available for implementing terminology services, for example, using a relational database, other database options (such as

    Graph databases
    ), or using predefined services accessible via an API (for example SNOMED International's
    Snowstorm
    ).
    Terminology Service Types
    Terminology Service Use Cases
    Provide Feedback