STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3 R2

4.2.1 Using SNOMED CT with FHIR

Vocabulary Work GroupMaturity Level: N/ABallot Status: STU 3

4.2.1.1 Summary

SourceSNOMED CT is made and managed by IHTSDO . IHTSDO is an international organization with countries as members. IHTSDO publishes the international release of SNOMED CT (which is used in FHIR international standards and resources). Each of the IHTSDO member countries may also distribute their own SNOMED CT edition, which contains the international release plus local extension content and derivatives.
SystemThe URI http://snomed.info/sct identifies the SNOMED CT code system
VersionWhere a version is used, it should be a full URI that represents the specific distribution (International Release, or National Release and version), following the SNOMED CT URI Specification (see note below)
CodeThe following SNOMED CT artifacts are valid in the code element for the http://snomed.info/sct namespace: Concept IDs , Expressions (grammar ) and SNOMED Legacy codes .

SNOMED CT Description Ids are not valid as codes in FHIR, nor are other alternate identifiers associated with SNOMED CT Concepts using the RF2 identifier infrastructure. Expressions SHOULD NOT contain terms, only concept IDs
DisplayThe correct display for a SNOMED CT concept is one of the preferred terms for the concept. Preferred terms are case sensitive. The Fully Specified Name is not an appropriate choice. The source of preferred name comes from a Language Reference Set. SNOMED CT does not define displays for expressions; if no display has been associated with the expression through a value set or other mechanism, the full expression syntax with preferred terms embedded may be used
Filter PropertiesSeveral properties are defined as described below

Note: The IHTSDO glossary explains some of these SNOMED CT specific terms.

4.2.1.2 Version Issues

There is no single distribution that contains all defined SNOMED CT codes in all contexts of use. Instead the international release contains all concepts shared and agreed to be internationally relevant and each national release centre distributes this international release plus additional national content (to extend that international set). In addition, other release authorities may be designated. The SNOMED CT URI Specification describes how to unambiguously reference a particular version of a distribution:

  http://snomed.info/sct/[sctid]/version/[YYYYMMDD] 

where [sctid] is the concept id of the SNOMED CT distribution (e.g. 32506021000036107 for Australia), and the tail is the date of release (by custom, this is usually the last day of the month). Note that many implementations are in the habit of simple using the date of release in the form YYYYMMDD (e.g. "20140531"), and assuming that the distribution is known. However this is not always safe, so implementations that populate the version element SHOULD use the full URI form.

4.2.1.3 Copyright/License Issues

The use of SNOMED CT codes, display names and value sets in this specification is subject to an MOU signed between HL7 International and IHTSDO. This does not convey the right to use SNOMED CT to any users of this specification; implementers must acquire a license to use SNOMED CT in their own right. See HL7 Policies and Guidance documents – Licensing .

4.2.1.4 RDF

The IHTSDO URI specifications uses the namespace http://snomed.info/sct for the code system, and the URI http://snomed.info/id for the individual concepts in the code system. This means that when a SNOMED CT concept is converted from the system::code pair, where the system is http://snomed.info/sct, to the RDF ontological form, the representation is http://snomed.info/id/[concept-id]. Expressions are represented the same way, except that for this use, expressions SHALL not contain whitespace, terms, or comments.

4.2.1.5 SNOMED CT Filter Properties

This section documents the property filters that can be used with the SNOMED CT code system in value set composition statements.

For implementer convenience, some of the property filters are documented in terms of the SNOMED CT Query Language , but this does not imply that its use is required. To Do: what's the correct link for this>

4.2.1.5.1 By Subsumption

DescriptionSelect a set of concepts based on subsumption testing
Property Nameconcept
Operations Allowedis-a
Values Allowed[concept id]
CommentsIncludes all concept ids that have a transitive is-a relationship with the concept Id provided as the value
ExampleAdministation Methods
SCT ECL
<< [concept] (or the long form: descendantOrSelfOf [concept])

4.2.1.5.2 By Reference Set

DescriptionSelect a set of concepts based on their membership of a SNOMED CT reference set
Property Nameconcept
Operations Allowedin
Values Allowed[concept id]
CommentsIncludes all concept ids that are active members of the reference set identified by the concept Id provided as the value
SCT ECL
^ [concept] (or the long form: memberOf [concept])

4.2.1.5.3 By Snomed Query Expression

DescriptionSelect a set of concepts based on a formal expression statement
Property Nameconstraint
Operations Allowed=
Values Allowed[expression]
Comments The result of the filter is the result of executing the given SNOMED CT Expression (Expression Constraint Language) .
Example:
 "compose": {
  "include": [
    {
      "system": "http://snomed.info/sct",
      "filter": [
        {
          "property": "constraint",
          "op": "=",
          "value": "<< 30506011000036107 |Australian product|: 700000101000036108 |hasTP| = 17311000168105 |Panadol|"
        }
      ]
    }
  ]
}

   

4.2.1.5.4 By whether post-coordination is allowed

DescriptionSpecify whether post-coordinations is allowed or not
Property Nameexpressions
Operations Allowed=
Values Allowedtrue or false
CommentsExpressions, if allowed, are subject to the same rules as pre-coordinated concepts. Note: reference sets do not include expressions.
ExampleAdministation Methods
SCT ECL
n/a

4.2.1.6 Implicit Value Sets

Implicit value sets are those whose specification can be predicted based on the grammar of the underlying code system, and the known structure of the URL that identifies them. SNOMED CT has two common sets of implicit value sets defined: By Subsumption, and By Reference Set. These implicit value sets do not use complex queries. This allows a single URL to serve as a value set definition that defines a value set, and can serve as the basis for the $expansion operation.

If any value set resources exist with an identifier that conforms to the URL patterns specified below, the content of the resource must conform to the template provided. Profiles and other value set references are allowed to reference these value sets directly (by reference as a URI, rather than by a value set reference, which is a literal reference).

A SNOMED CT implicit value set URL has two parts:

  • the base URL is either "http://snomed.info/sct", or the URI for the edition version, in the format specified by the IHTSDO the SNOMED CT URI Specification
  • a query portion that specifies the scope of the content

"http://snomed.info/sct" should be understood to mean an unspecified edition/version. This defines an incomplete value set whose actual membership will depend on the particular edition used when it is expanded. If no version or edition is specified, the terminology service SHALL use the latest version available for it's default edition (or the international edition, if no other edition is the default).

For the second part of the URL (the query part), the 4 possible values are:

  • ?fhir_vs - all Concept IDs in the edition/version. If the base URI is http://snomed.info/sct, this means all possible SNOMED CT concepts
  • ?fhir_vs=isa/[sctid] - all concept IDs that are subsumed by the specified Concept.
  • ?fhir_vs=refset - all concept ids that correspond to real references sets defined in the specified SNOMED CT edition
  • ?fhir_vs=refset/[sctid] - all concept IDs in the specified reference set

A value set with a URL that follows the pattern "[edition/version]?fhir_vs=isa/[sctid]" follows this template:

<ValueSet xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
     [Some HTML that describes this value set as all concepts subsumed by conceptid]
    </div>
  </text>
  <url value="[edition/version]?fhir_vs=isa/[sctid]"/>
  <version value="[edition/version]"/>
  <name value="SNOMED CT Concept [conceptid] and descendants"/>
  <description value="All SNOMED CT concepts for [concept id or preferred description]"/>
  <copyright value="This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement"/>
  <status value="active"/>
  <compose>
    <include>
      <system value="http://snomed.info/sct"/>
      <filter>
        <property value="concept"/>
        <op value="is-a"/>
        <value value="[sctid]"/>
      </filter>
    </include>
  </compose>
</ValueSet>

The value set with a url that follows the pattern "[edition/version]?fhir_vs=refset" follows this template:

<ValueSet xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
     [Some HTML that describes this value set as all concepts with associated reference sets]
    </div>
  </text>
  <url value="[edition/version]?fhir_vs=refset"/>
  <version value="[edition/version]"/>
  <name value="SNOMED CT Reference Sets"/>
  <description value="All SNOMED CT concepts associated with a reference set"/>
  <copyright value="This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement"/>
  <status value="active"/>
  <compose>
    <include>
      <system value="http://snomed.info/sct"/>
      <!-- repeat: one concept element with a code for each concept that has an associated reference set -->
      <concept>
        <code value="[concept]"/>
      </concept>
      <-- end repeat -->
    </include>
  </compose>
</ValueSet>

For each concept that is associated with a reference set, there will be one concept element with a contained code that contains the concept id.

A value set with a url that follows the pattern "[edition/version]?fhir_vs=refset/[sctid]" follows this template:

<ValueSet xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
     [Some HTML that describes this value set as all concepts in the reference set identified by conceptid]
    </div>
  </text>
  <url value="[edition/version]?fhir_vs=refset/[sctid]"/>
  <version value="[edition/version]"/>
  <name value="SNOMED CT Reference Set [conceptid]"/>
  <description value="All SNOMED CT concepts in the reference set [concept id or preferred description]"/>
  <copyright value="This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement"/>
  <status value="active"/>
  <compose>
    <include>
      <system value="http://snomed.info/sct"/>
      <filter>
        <property value="concept"/>
        <op value="in"/>
        <value value="[conceptid]"/>
      </filter>
    </include>
  </compose>
</ValueSet>