# Reference Set Editing

A reference set is a standard format for maintaining and distributing a set of references to SNOMED CT components.

{% hint style="info" %}
**Notes**

* A *reference set* can be used to represent a subset of components ([concepts](https://confluence.ihtsdotools.org/display/DOCGLOSS/concept), [descriptions](https://confluence.ihtsdotools.org/display/DOCGLOSS/description) or [relationships](https://confluence.ihtsdotools.org/display/DOCGLOSS/relationship)).
* A *reference set* may also associate referenced components with additional information such as:
  * Ordered lists of components
  * Sets of associations between components
  * Mapping between [SNOMED CT concepts](https://confluence.ihtsdotools.org/display/DOCGLOSS/SNOMED+CT+concept) and other systems codes, classifications, or knowledge resources.
    {% endhint %}

The reference set mechanism provides a standard extensible mechanism that can be used to customize SNOMED CT to meet a wide range of practical use cases. Detailed information about reference sets is provided in the [SNOMED CT Reference Sets Guide](https://app.gitbook.com/o/h8Z6qGxuQrzM9vbx5bPT/s/qOI2v58ZsXOoklmwBOk4/) and in the [SNOMED CT Release File Specifications.](https://app.gitbook.com/o/h8Z6qGxuQrzM9vbx5bPT/s/irKbJsZG57nSWZA4GT0M/)

## Services Required to Support Reference Set Creation and Editing

The table below shows a summary of the terminology services required to support reference set creation and editing.

<table data-full-width="true"><thead><tr><th width="469.9296875">Practical Requirement</th><th width="254.1328125">Required Services</th><th>Dependencies</th><th data-hidden>Status</th></tr></thead><tbody><tr><td>Enable the selection of SNOMED CT edition and version to be used.<br><br>REQUIRED</td><td><a href="../4-terminology-service-types/4.1-select-edition-and-version">Select Edition and Version</a></td><td>N/A</td><td></td></tr><tr><td><p>Get concepts or descriptions that are members of a reference set</p><ul><li>In the case of a description, this includes the human-readable term for this refset member<br><br>REQUIRED</li></ul></td><td><p><a href="../4-terminology-service-types/4.2-get-a-concept-description-or-relationship">Get a Concept, Description or Relationship</a></p><ul><li>Get a description</li></ul></td><td>N/A</td><td>REQUIRED</td></tr><tr><td><p>Get terms for concepts to use in human-readable descriptions of:</p><ul><li>The current reference set</li><li>Concepts that are members of a reference set<br><br>REQUIRED</li></ul></td><td><a href="../4-terminology-service-types/4.3-get-terms-for-a-concept">Get Terms for a Concept</a></td><td>N/A</td><td>REQUIRED</td></tr><tr><td>Apply concept subsumption tests to identify candidate concepts for addition to or removal from a reference set.<br><br>REQUIRED</td><td><a href="../4-terminology-service-types/4.5-get-and-test-concept-subtypes-and-supertypes">Get and Test Concept Subtypes and Supertypes</a></td><td>N/A</td><td>REQUIRED</td></tr><tr><td><p>Apply reference set membership criteria to identify:</p><ul><li>Current members of the reference set being edited</li><li>Candidate concepts for addition to or removal from a reference set<br><br>REQUIRED</li></ul></td><td><a href="../4-terminology-service-types/4.6-get-and-test-reference-set-membership">Get and Test Reference Set Membership</a></td><td>N/A</td><td>REQUIRED</td></tr><tr><td><p>Create and apply an expression constraint query:</p><ul><li>as an intensional definition of reference set membership; or</li><li><a data-footnote-ref href="#user-content-fn-1">to identify candidate concepts for addition to or removal from a reference set.</a><br><br>REQUIRED</li></ul></td><td><p><a href="../4-terminology-service-types/4.7-validate-and-apply-expression-constraints">Validate and Apply Expression Constraints</a></p><ul><li>Get all concepts that conform to an expression constraint</li></ul></td><td>N/A</td><td>REQUIRED</td></tr><tr><td><p>Find concepts:</p><ul><li>to find the id of a named reference set to be edited</li><li>to be added to or removed from a reference set; or</li><li>to be included in intensional definition of a reference set<br><br>REQUIRED</li></ul></td><td><a href="../4-terminology-service-types/4.8-find-concepts">Find Concepts</a></td><td>N/A</td><td>REQUIRED</td></tr><tr><td>Get reference set member data (i.e. data of reference sets that extend on the simple type reference set, e.g. data from map type reference sets, association type reference sets etc.)<br><br>OPTIONAL</td><td><a href="../4-terminology-service-types/4.10-get-data-from-a-reference-set">Get Data from a Reference Set</a></td><td>N/A</td><td>OPTIONAL</td></tr><tr><td>Update reference set member data<br><br>OPTIONAL</td><td><em>Reference set type-specific functionality</em></td><td>N/A</td><td>OPTIONAL</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=Reference%20Set%20Editing" class="button primary">Provide Feedback</a>

[^1]: Terminology services that provide a user interface that enables editing of reference set member data are outside the scope of the current guide. SNOMED International provides a Reference Set Service that is accessible by the SNOMED International community. This enables creation and editing of a Simple Reference Set. Other reference set types include additional data designed to meet a specific purpose. Therefore, editors are required to facilitate the creation and maintenance of this additional data. One example of the is the SNOMED International Mapping Tool.


---

# 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/3-terminology-service-use-cases/reference-set-editing.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.
