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