Overview
With each new release version of SNOMED CT there are requirements to manage changes in the terminology. One key element of this was covered by the requirements in section 4.9 Identify Changes to the Terminology. However, in addition to this there is a requirement access data that indicates the reasons for each of those changes and data that, where possible, provides links to active content that replaces components that have been made inactive. This data is distributed in historical reference sets.
An historical reference set is
a reference set that provides information about concepts or descriptions that have been inactivated.
Notes
Requirements and Options
As noted in section 4.9 Identify Changes to the Terminology it is important to identify concepts and descriptions that have been inactivated since an earlier version. Once this has been done:
- Information about the reasons for inactivation of each description should be accessed from the 900000000000490003 | Description inactivation indicator attribute value reference set|
- Information about the reasons for inactivation of each concept should be accessed from the 900000000000489007 | Concept inactivation indicator attribute value reference set|
- Associations between each inactivated concepts and active concepts which represent similar meanings must be accessed from one of the < 900000000000522004 | Historical association reference set| subtypes.
The required services are listed in Table 4.11-1.
Service Name and Status | Input | Output |
---|---|---|
Get reason for description inactivation REQUIRED |
| Identifier and term representing the reason for inactivation of the description. For interpretation of the reasons for inactivation see 5.2.3.1 Component Inactivation Reference Sets. |
Get reason for concept inactivation REQUIRED |
| Identifier and term representing the reason for inactivation of the concept. For interpretation of the reasons for inactivation see 5.2.3.1 Component Inactivation Reference Sets. |
Get historical associations between an inactive concept and one or more active concepts REQUIRED |
| Identifiers and term(s) of related active concept(s) and the nature of the historical association between the inactive and active concept. For a description of each of the types of association see 5.2.5.1 Historical Association Reference Sets. |
Interdependencies
Required By
- Use Cases
Depends On
- 4.1 Select Edition and Version
- 4.9 Identify Changes to the Terminology
- 4.10 Get Data from a Reference Set
Service Examples
The Snowstorm and FHIR examples are presented in plain text and URL encoded versions. Always use the "Encoded URL" when testing the example service requests. The plain text version is included to aid readability but using this version in a service request may result in errors. These errors result from characters that have to be encoded as they are not permitted in a URL (see IETF RFC1738).
Service Name | API Call2 | Result |
Get reason for description inactivation |
GET [snowstorm]/[branchPath]/members?active=true&referenceSet=900000000000490003|Description inactivation indicator attribute value reference set |&referencedComponentId=[inactiveDescriptionId] for example GET [snowstorm]/MAIN%2F2020-01-31/members?active=true&referenceSet=900000000000490003|Description inactivation indicator attribute value reference set |&referencedComponentId=78334016 Encoded URL GET [snowstorm]/MAIN%2F2020-01-31/members?active=true&amp;referenceSet=900000000000490003%7CDescription+inactivation+indicator+attribute+value+reference+set+%7C&referencedComponentId=78334016 | Returns a JSON representation of data related to the specified description. A single reference set member is returned and the targetComponentId refers to a concept that indicates the reason for inactivation of the concept:
|
Get reason for concept inactivation |
GET [snowstorm]/[branchPath]/members?active=true&referenceSet=900000000000489007|Concept inactivation indicator attribute value reference set|&referencedComponentId=[inactiveConceptId] for example GET [snowstorm]/MAIN/2020-01-31/members?active=true&referenceSet=900000000000489007|Concept inactivation indicator attribute value reference set|&referencedComponentId=20559007 Encoded URL GET [snowstorm]/MAIN%2F2020-01-31/members?active=true&amp;referenceSet=900000000000489007%7CConcept+inactivation+indicator+attribute+value+reference+set%7C&referencedComponentId=20559007 | Returns a JSON representation of data related to the specified concept. A single reference set member is returned and the targetComponentId refers to a concept that indicates the reason for inactivation of the concept:
|
Get historical associations between an inactive concept and one or more active concepts |
GET [snowstorm]/[branchPath]/members?active=true&referenceSet=<900000000000522004|Historical association reference set|&referencedComponentId=[inactiveConceptId] for example GET [snowstorm]/MAIN/2020-01-31/members?active=true&referenceSet=<900000000000522004|Historical association reference set|&referencedComponentId=20559007 Encoded URL GET [snowstorm]/MAIN%2F2020-01-31/members?active=true&amp;referenceSet=%3C900000000000522004%7CHistorical+association+reference+set%7C&referencedComponentId=20559007 | Returns a JSON representation of the historical association(s) of the specified inactive concept. Each reference set member returned represents a historical association of the inactive concept with an active concept:
|
Service Name | API Call3 | Result |
Get reason for description inactivation | N/A | The FHIR TS API does not provide a service for this purpose |
Get reason for concept inactivation | N/A | The FHIR TS API does not provide a service for this purpose |
Get historical associations between an inactive concept and one or more active concepts | The FHIR TS API supports retrieval of targets for specific SNOMED CT reference sets. Please refer to this document for detailed guidance: https://www.hl7.org/fhir/snomedct.html. Thus, the ConceptMap/$translate operation enables the retrieval of targets for a specific referenced component. GET [fhir]/ConceptMap/$translate?code=[componentId] &system=http://snomed.info/sct &source=http://snomed.info/sct?fhir_vs &target=http://snomed.info/sct?fhir_vs &url=[version]?fhir_cm=[refesetId]
GET [snowstorm]/ConceptMap/$translate?code=134811001&system=http://snomed.info/sct&source=http://snomed.info/sct?fhir_vs&target=http://snomed.info/sct?fhir_vs&url=http://snomed.info/sct?fhir_cm=900000000000527005 Encoded URL GET [snowstorm]/ConceptMap/$translate?code=134811001&amp;amp;amp;system=http%3A%2F%2Fsnomed.info%2Fsct&amp;amp;source=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs&amp;target=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs&url=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_cm%3D900000000000527005 | Returns a JSON representation of data about each of the target components. The data returned for each concept includes:
The example shows the retrieval of the active replacement for the inactive concept 134811001 |Anaesthetist (occupation)|. The historical association reference set is the 900000000000527005 |SAME AS association reference set (foundation metadata concept)|, and the request result shows the concept Id of the active concept 88189002 |Anesthesiologist (occupation)|. |
Service Name | SQL Query4 | Result | ||||||||||||||||||||
Get reason for description inactivation | CALL setDeltaRange(1,[deltaStartTime], [deltaEndTime]); SELECT * FROM delta_inactive_descriptions; for example CALL setDeltaRange(1,'2019-07-31', '2020-01-31'); SELECT * FROM delta_inactive_descriptions; | Returns a row of data for each description inactivated after the deltaStartTime up to and including the deltaEndTime. Each row contains the following columns:
| ||||||||||||||||||||
Get reason for concept inactivation and historical associations between each inactive concept and one or more active concepts | CALL setDeltaRange(1,[deltaStartTime], [deltaEndTime]); SELECT * FROM delta1_inactive_concepts; for example CALL setDeltaRange(1,'2019-07-31', '2020-01-31'); SELECT * FROM delta1_inactive_concepts; | Returns one or more rows of data for each concept inactivated after the deltaStartTime up to and including the deltaEndTime. Each row contains the following columns: id, effectiveTime, active, definitionStatusId, FSN, reason, assoc_type, ref_conceptId, ref_concept_FSN
Note that in the case of a concept that has been inactivated due to ambiguity, there will usually be two or more rows in the results, one for each possible meaning represented by an active concepts. However, in some cases it is possible that only one of the possible meanings is represented by an active concept. |
Footnotes
Feedback