# 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 [4.1-select-edition-and-version](https://docs.snomed.org/snomed-ct-practical-guides/snomed-ct-terminology-services-guide/4-terminology-service-types/4.1-select-edition-and-version "mention")).

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                                                                                                                         |
| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **Fixed versioned edition**               | A specific instance of a terminology server accesses a datastore that only contains data for a single [versioned edition](https://confluence.ihtsdotools.org/display/DOCGLOSS/versioned+edition).          | 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 [edition](https://confluence.ihtsdotools.org/display/DOCGLOSS/edition). | 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: |

* 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.

#### Identifying SNOMED CT Editions and Versioned Editions

<table data-full-width="false"><thead><tr><th width="139.66796875">Method</th><th width="153.5546875">Terminology Resource</th><th width="180.59375">General form and example</th><th>Notes</th></tr></thead><tbody><tr><td><strong>Module identifier and version date</strong></td><td><strong>Edition</strong></td><td><pre><code>{moduleId}
</code></pre><p><br>Example:</p><pre><code><strong>900000000000207008
</strong></code></pre></td><td>The <code>{moduleId}</code> 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.</td></tr><tr><td></td><td><strong>Version</strong></td><td><pre><code>{versionDate}
</code></pre><p><br>Example:</p><pre><code>20200131
</code></pre></td><td>The <code>{versionDate}</code> 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 <code>YYYYMMDD</code> (see <em>Time data type</em>).</td></tr><tr><td><strong>Uniform Resource Identifiers</strong></td><td><strong>Edition</strong></td><td><pre><code>http://snomed.info/sct/{moduleId}
</code></pre><p><br><br>Example:</p><pre><code>http://snomed.info/sct/900000000000207008
</code></pre></td><td>The SNOMED CT URI Standard defines globally unique identifiers for a wider range of terminology components. These URIs include the <code>{moduleId}</code> and <code>{versionDate}</code> noted above (see URI Standard section 2.1 <em>URIs for Editions and Versions</em>).<br><br><strong>Note:</strong> The URI <code>http://snomed.info/sct/731000124108/version/20200301</code> refers to the 2020-01-31 version of the US Edition, which is formally defined to include the <code>731000124108 | US National Library of Medicine maintained module |</code> and the two International Edition modules on which it depends (<code>900000000000207008 | SNOMED CT core module |</code> and <code>900000000000012004 | SNOMED CT model component module |</code>).</td></tr><tr><td></td><td><strong>Versioned Edition</strong></td><td><pre><code>http://snomed.info/sct/{moduleId}/version/{versionDate}
</code></pre><p><br>Examples:</p><pre><code>http://snomed.info/sct/900000000000207008/version/20200131
http://snomed.info/sct/731000124108/version/20200301
</code></pre></td><td>—</td></tr><tr><td><strong>Other Options</strong></td><td><strong>Edition</strong></td><td><p>Key, path or alias for an edition<br><br>Example:</p><pre><code><strong>{server-url}/MAIN/SNOMEDCT-US
</strong></code></pre></td><td>A less formal approach that provides a more meaningful representation of the edition and version can be used.<br><br>The example shown here is currently used by the Snowstorm terminology server to refer to the US Edition of SNOMED CT.<br><br><strong>Note:</strong> This Snowstorm path refers to an <em>extended version</em> of the formally defined US edition. In addition to the formally defined content noted above, it also includes the <code>5991000124107 | SNOMED CT to ICD-10-CM rule-based mapping module |</code> 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 <em>Enabling Access to Extended Editions</em>).</td></tr><tr><td></td><td><strong>Versioned Edition</strong></td><td><p>Combination key, path, or alias with the version date<br><br>Example:</p><pre><code>{server-url}/MAIN/SNOMEDCT-US/2020-03-01
</code></pre></td><td>—</td></tr></tbody></table>

<a href="https://docs.google.com/forms/d/e/1FAIpQLScTmbZIf0UEQwYDkY27EEWBkaiYkHSbR0_9DmFrMLXoQLyL7Q/viewform?usp=pp_url&#x26;entry.1767247133=SNOMED+Terminology+Services+Guide&#x26;entry.670899847=Enabling%20Access%20to%20Editions%20and%20Versions" class="button primary">Provide Feedback</a>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.snomed.org/snomed-ct-practical-guides/snomed-ct-terminology-services-guide/5-service-implementation-considerations/5.2-enabling-access-to-editions-and-versions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
