# Tooling Requirements

It is important that extension producers understand that some aspects of authoring and managing an extension are complex and will benefit from appropriate tooling.

Editions should not be handcrafted or managed using documents, files or simple spreadsheets, as these are likely to lead to technical errors and inconsistencies. Extension content needs to be reviewed in relation to its dependencies on the International Edition (and any other dependencies) which makes manual management and validation of extension content an unsustainable practice. Tools are required to maintain SNOMED CT content appropriately and to initiate automatic checks which can prevent errors.

As part of authoring and preparing for a release, all extension producers need tools capable of managing RF2 release file structures and performing necessary validation checks. Managing of RF2 files includes a mechanism for creating components and reference sets. There may be additional functionality required but this will vary depending on the content of the extension. For example, some extension producers producing new clinical concepts will need to be able to classify their extension to validate the created content and create the inferred relationships (necessary normal view) based on the stated relationships in the extension. Extensions which are merely used to distribute a translated version of SNOMED CT, or locally defined reference sets that only reference international release content will not need this classifying functionality as these extensions will only include primitive, metadata concepts. Please see the section on  [Classifying an Edition for further information](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.6-distribution/5.6.1-preparing-for-distribution/5.6.1.1-classifying-an-edition.md).

The table below summarizes the overall tooling considerations by category and services required. These are the tools required throughout the extension lifecycle including creation, management an distribution. Please note that this is not meant to be an exhaustive list, but instead summarize some of the key tools and services required.

**Table: Extension tooling considerations**

| Category                         | Services/Mechanisms                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |   |
| -------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| Authoring tools                  | Generate and manage SCTIDs                    | The ability to generate SCTIDs that are required for any component created within the extension. For more information, see [generating identifiers](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.2-preparation/5.2.2-generating-identifiers.md).                                                                                                                                                                                                                                                                                                                               |   |
|                                  | Generate and manage UUIDs                     | The ability to generate UUIDs that are required for any reference set member created within the extension. For more information, see [generating identifiers](https://github.com/SNOMED-Documents/extension-guide/blob/main/5%20key-steps/5.2%20preparation/5.2.2-Generating-Identifiers_57815384.html).                                                                                                                                                                                                                                                                                              |   |
|                                  | Author and maintain components                | <p>The ability to create concepts, descriptions and relationships in accordance with editorial principles. Note that varying levels of services and sophistication may be offered in tooling, but it is recommended to use tools which can demonstrate adherence to editorial principles. For example, a tool should ensure:</p><ul><li>Compliance with the concept model</li><li>Component authoring rules such as concepts created with the mandatory subtype relationships and descriptions</li></ul><p>For more information, see <a href="/pages/sgCEp9wTvrbwP0gR7Fuv">authoring</a> section.</p> |   |
|                                  | Author and maintain reference sets            | <p>The ability to create and maintain reference which comply with the reference set pattern as specified in the reference set descriptor and offer additional functionality such as the providing intensional definition of subset members</p><p>For more information, see <a href="/spaces/qOI2v58ZsXOoklmwBOk4/pages/WO6NXuEIrLMpfXW2HD4G">Authoring Reference Sets</a>.</p>                                                                                                                                                                                                                        |   |
| Validation tools                 | Automatic validation of individual components | The ability to automatically validate that any terminology component present in the extension complies with the logical design of SNOMED CT, and that referential integrity is retained. For more information, see [Review and Validation](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.5-review-and-validation.md).                                                                                                                                                                                                                                                           |   |
|                                  | Automatic validation of the entire extension  | The ability to automatically validate that the extension is ready for release. This includes ensuring the validity of release file structures, release file types, and referential integrity across all components and release files. For more information, see [Review and Validation](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.5-review-and-validation.md).                                                                                                                                                                                                              |   |
| Packaging and distribution tools | Classify extensions                           | The ability to classify SNOMED CT to create inferred relationships. For more information, see [Classifying an Edition](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.6-distribution/5.6.1-preparing-for-distribution/5.6.1.1-classifying-an-edition.md)                                                                                                                                                                                                                                                                                                                         |   |
|                                  | Package extension edition                     | The ability to organize and package the edition according to the recommended release file structure. For more information, see [Packaging and File Naming](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.6-distribution/5.6.1-preparing-for-distribution/5.6.1.2-packaging-and-file-naming.md).                                                                                                                                                                                                                                                                                 |   |
|                                  | File or service-based distribution            | The ability to distribute the edition, so extension consumers can access the terminology, either based on file distribution techniques or dedicated services to access specific terminology parts. For more information, see [Distribution](/snomed-ct-practical-guides/snomed-ct-extension-guide/5-key-steps/5.6-distribution.md).                                                                                                                                                                                                                                                                   |   |
| Maintenance tools                | Change request service                        | The ability to collect and process change requests, such as suggestions for new concepts, required synonyms for particular concepts, and new reference set members. These tools should also support the ability to forward internal change requests to SNOMED International when appropriate.                                                                                                                                                                                                                                                                                                         |   |
|                                  | Change identification mechanism               | The ability to align the extension with the International Edition when new versions are published. This tooling includes the ability to identify changes to the International Edition which may affect the extension                                                                                                                                                                                                                                                                                                                                                                                  |   |

*

<a href="https://docs.google.com/forms/d/e/1FAIpQLScTmbZIf0UEQwYDkY27EEWBkaiYkHSbR0_9DmFrMLXoQLyL7Q/viewform?usp=pp_url&#x26;entry.1767247133=Extension+Guide&#x26;entry.670899847=5.2.1%20Tooling%20Requirements" 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-extension-guide/5-key-steps/5.2-preparation/5.2.1-tooling-requirements.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.
