# Create New Reference Set in an Extension

## Create New Reference Set in an Extension

## Purpose

Reference sets can be added in an extension to meet specific national or local requirements. Reasons for adding a reference set include:

* Specifying a subset of components for inclusion or exclusion
* Mapping between SNOMED CT and other code systems to support data integration or communication
* Specifying the acceptability of descriptions in a given language or dialect

For more information about a range of purposes for reference sets, please refer to the [Practical Guide to Reference Sets](https://docs.snomed.org/snomed-ct-practical-guides/snomed-ct-reference-set-guide/).

## Principles

When creating a new reference set it is important that the reference set metadata concept (which identifies and names the reference set) and the associated reference set members belongs to a module of the reference set producer. I.e. if a reference set is created as part of an extension, the reference set metadata concept should belong to a module within the namespace of the extension producer.

All reference sets follow a logical model. Each reference set type is represented by a specific data structure which enables a specific functionality. SNOMED International specifies a set of reference set types, which can be used to support a set of terminology management purposes. SNOMED CT Members (National Release Centers) and Affiliates may also create reference sets to assist with localization and effective implementation of SNOMED CT. In general, an extension producer can create a reference set within their extension, but the reference set type should be defined in either

* The producers extension
* The International Edition
* Other extensions (which the producers extension modules are dependent on)

For more information about the different reference set types and their data structures, please refer to the [reference set release file specification](/snomed-ct-specifications/snomed-ct-release-file-specification/reference-set-release-file-specification/overview.md).

Please note that for all reference sets, there should be guidance on what is possible and what is not possible. For some International reference sets, it is acceptable and even required to add extension rows to the International reference set. For example, the Module Dependency Refset, the MRCM Module Scope Refset, and Language Refset. This is not necessarily applicable to all reference sets. Over time, further guidance in this area will be developed.

## Process

The table below provides a summary of the process to follow when creating a new reference set.&#x20;

**Define the reference set in the metadata hierarchy** Following steps should be taken for creating the reference set concept:

<table><thead><tr><th width="224.38671875">File Type</th><th>Process</th></tr></thead><tbody><tr><td>Concept file</td><td><p></p><ol><li>Create a concept for the reference set</li></ol></td></tr><tr><td>Description file</td><td>2. Add up to three Descriptions for the reference set concept. I.e. the FSN, the Preferred Term and optionally the purpose, see <a href="/spaces/irKbJsZG57nSWZA4GT0M/pages/JDyeK0H0VRO90CGV5WYa">Naming Conventions for Reference Sets</a></td></tr><tr><td>Language reference set</td><td><p></p><ol start="3"><li>Specify the acceptability of the descriptions in the applied Language Reference Set</li></ol></td></tr><tr><td>Relationship file</td><td>4. Add an | is a | Relationship to link the reference set to the appropriate pattern</td></tr></tbody></table>

**Define the reference set Attributes within the metadata hierarchy**

Add new concepts for each of the reference set member attributes, if necessary. If the reference set attributes describing the pattern are adequate to describe the reference set's attributes, then these can be used instead. You may add new concepts for some of the attributes, and reuse existing concepts for other attributes, if you wish.

<table data-header-hidden><thead><tr><th width="211.9296875"></th><th></th></tr></thead><tbody><tr><td>Concept</td><td>1. Add a concept for the attribute</td></tr><tr><td>Description</td><td>2. Add Descriptions for each of the new attribute.</td></tr><tr><td>Language Reference Set</td><td><p></p><ol start="3"><li>Specify the acceptability of the descriptions in the applied Language Reference Set</li></ol></td></tr><tr><td>Relationship</td><td>4. Link the attribute with an | is a | Relationship into the <a href="http://snomed.info/id/900000000000457003">900000000000457003 | Reference set attribute (foundation metadata concept)|</a> hierarchy</td></tr></tbody></table>

{% hint style="info" %}
If new attribute values need to be created these should also be added as SNOMED CT concepts and placed as subtypes of the concept [900000000000457003 | Reference set attribute (foundation metadata concept)|](http://snomed.info/id/900000000000457003) , following the process described above.
{% endhint %}

**Create the Descriptor for the reference set**

If the reference set does not follow an existing reference set pattern, the additional attributes specific for this customized reference set should be included in the [Descriptor reference set](/snomed-ct-specifications/snomed-ct-release-file-specification/reference-set-release-file-specification/5.1.2-extending-the-basic-reference-set-member-file-format.md).

| Reference Set Descriptor Reference Set | A new reference set member is created in the reference set Descriptor for each attribute in the reference set pattern. For guidance on creating a reference set member, please see [Add Members to a Reference Set](broken://spaces/qOI2v58ZsXOoklmwBOk4/pages/sMoYVQm1xbAR1PGIoKIF). For further introduction to the reference set Descriptor, please see [Reference Set Descriptor](broken://spaces/qOI2v58ZsXOoklmwBOk4/pages/5lhXOWcqm7vHFzYc71Eq) in [Practical Guide to Reference Sets](https://docs.snomed.org/snomed-ct-practical-guides/snomed-ct-reference-set-guide/). |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

**Add members to the reference set**

Reference set members are added to the reference set, which includes specifying the attribute values for each reference set member, see [Add Members to a Reference Set](broken://spaces/qOI2v58ZsXOoklmwBOk4/pages/sMoYVQm1xbAR1PGIoKIF).

For additional information, see the practical guide to reference sets:  How to create a new Reference Set using an existing pattern

<a href="https://docs.google.com/forms/d/e/1FAIpQLScTmbZIf0UEQwYDkY27EEWBkaiYkHSbR0_9DmFrMLXoQLyL7Q/viewform?usp=pp_url&#x26;entry.1767247133=Extension+Guide&#x26;entry.670899847=5.4.5.1-create-new-reference-set-in-an-extension" 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.4-authoring/5.4.5-authoring-reference-sets/5.4.5.1-create-new-reference-set-in-an-extension.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.
