Search



  

Overview

Mapping is the process of converting data from one code system, classification, or terminology to another code system, classification, or terminology.

Notes

  • The mapping process includes the preparation and maintenance of resources used for converting data.
  • SNOMED CT mapping resources are distributed as mapping reference sets.

The SNOMED CT reference set design provides a common foundation on which mapping resources that meet different requirements can be built. The guidance in this section relates to the general approaches to accessing data in a mapping reference set.  Table 4.12-1 provides reference to specific mapping reference set types and supporting documentation related to the use of those reference sets. 

Table 4.12-1: Map Reference Sets and Documentation

Map typeDescriptionReference Set File FormatAdditional Documentation
Simple mapSupports one to one maps to or from another code system5.2.9 Simple Map Reference Set
ICD classification mapsSupports maps from SNOMED CT to ICD-10 classifications. Enables mapping to different codes based on rules and priorities. Also allows maps from a single code to combinations of codes.5.2.3.3 Complex and Extended Map from SNOMED CT Reference SetsICD-10 Mapping Technical Guide
Maps including additional data to represent attribute-value combinations, correlation and source of original codeSupports maps where some codes in the other code system represent a combination of and attribute with a value (e.g. finding site appendix). Also supports maps where the correlation between source and target needs to be specified and where there are intellectual property reasons for recording that either the SNOMED CT or other code were the original representations of the mapped meaning.5.2.3.4 Map to SNOMED CT with Correlation and Origin Reference Set
Maps to SNOMED CT expressionsSupports maps from another code systems where the use of a SNOMED CT expression may capture the meaning of that code more accurately than can be achieved with a single concept.5.2.3.5 Code to Expression Reference Set

Requirements and Options

Terminology services should be able to provide access to sets of maps based either on the SNOMED CT concept or a code from the other code system.

  • The concept involved in the map is represented by the referencedComponentId. As noted in 4.10 Get Data from a Reference Set, access to reference set data using a combination of refsetId and referencedComponentId is a general requirement.
  • The other code is generally in a column referred to as mapTarget1.  Support for access to maps using a combination of refsetId and mapTarget is therefore also required.

The required services are listed in  Table 4.12-2. Additional requirements should be considered for cases where the map refers to an expression rather than a single concept.

Note

The services described in this section are limited to accessing the relevant map data. In simple cases, this may be sufficient to enable mapping. However, in other cases the services will provide client applications with options to display to the user and/or processable rules to be tested against other data to determine the appropriate map.

Table 4.12-2: Services Required

Service Name and StatusInputOutput

Get maps based on combinations of refsetId and referencedComponentId

REQUIRED

  • Edition and version

  • Reference set identifier

  • Identifier of concept to be mapped to target scheme
  • Optional: Language/dialect2

All map data associated with maps in the specified reference set in which the referencedComponentId matches the specified concept identifier.

Gets maps from SNOMED CT to another code system, if the map data supports mapping in that direction.

Get maps based on combinations of refsetId and mapTarget

REQUIRED

  • Edition and version

  • Reference set identifier

  • Other code to be mapped to SNOMED CT.
  • Optional: Language/dialect2

All map data associated with maps in the specified reference set in which the mapTarget matches the specified other code.

Gets maps from another code system to SNOMED CT if the map data supports mapping in that direction.

Get maps based on combinations of refsetId, referencedComponentId and mapTarget

OPTIONAL

  • Edition and version

  • Reference set identifier

  • Identifier of concept
  • Other code
  • Optional: Language/dialect2

All map data associated with maps in the specified reference set in which the referencedComponentId matches the specified concept identifier and the mapTarget matches the other code.

There are two situations in which this can be useful:

  • To test whether a map exists between a concept and a specific code in the other code system.
  • To access information about maps between a concept and a specific code in another code system.

Interdependencies

Required By

Depends On

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

Table 4.12-3: Snowstorm API

Service Name

API Call3

Result

Get maps based on combinations of refsetId and referencedComponentId

GET [snowstorm]/[branchPath]/members?referenceSet=[refsetid]&referencedComponentId=[conceptId]&active=true

Example 1. ICD-O Map for 1338007 | Basal cell carcinoma (morphologic abnormality)|

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=446608001&referencedComponentId=1338007&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=446608001&referencedComponentId=1338007&active=true
Example 2. ICD-10 Map for 74400008 | Appendicitis|
GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=447562003&referencedComponentId=74400008&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=447562003&referencedComponentId=74400008&active=true

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=447562003&referencedComponentId=196607008&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=447562003&referencedComponentId=196607008&active=true

Example 4. ICD-10 Map for 32398004 | Bronchitis|

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=447562003&referencedComponentId=32398004&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=447562003&referencedComponentId=32398004&active=true

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=447562003&referencedComponentId=111613008&active=true

Returns a JSON representation of the data in active rows in the specified mapping reference set with a referencedComponentId that matches the specified conceptId.

The examples illustrate the following points 4
Example 1. A concept that maps to a single ICD-O code in a simple map refset.
Example 2. A concept that maps to a single ICD-10 classification code in a complex/extended map refset.
Example 3. A concept that maps to a combination of two classification codes (there are two map groups and each contains a single map row with priority 1)
Example 4. A concept that has a single map group containing two rows. The row with priority 1 has a rule that requires the patient age to be less than or equal to 15 years. If that rule is not matched the row with map priority 2 applies as it contains the rule "OTHERWISE".
Example 5. A concept that, like example 2, contains two map groups. However, in the case it each of those maps also include specific human readable advice "... MAPPED FOLLOWING WHO GUIDANCE | POSSIBLE REQUIREMENT FOR AN EXTERNAL CAUSE CODE"

The data returned for each refset member of an extended map (e.g. as used in examples 2-5) includes the following mapping data as subproperties of the additionalFields property:

PropertyDescription
mapGroupAn integer grouping a set of maps. One map should be chosen from each group.
mapPriorityThe order in which map within a group should be checked.
mapRuleA machine-readable rule, that determines if a map applies.
mapAdviceAdvice to assist manual selection map from a group.
mapTargetThe target code from the other coding scheme (if this map is chosen based on the rule or advice).
correlationId|Representing the correlation between the concept and the target code.
mapCategoryIdRepresents the map category that applies to this map.
Get maps based on combinations of refsetId and mapTarget

GET [snowstorm]/[branchPath]/members?referenceSet=[refsetid]&mapTarget=[otherCode]&active=true
Example 6. Map from ICD-O code "8090/3" to SNOMED CT concepts

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=446608001&mapTarget=8090/3&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=446608001&mapTarget=8090%2F3&active=true

Example 7. Maps from NHS Clinical Terms to a SNOMED CT concept

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=900000000000497000&mapTarget=Xa9C4&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=900000000000497000&mapTarget=Xa9C4&active=true

Returns a JSON representation of the data in active rows in the specified mapping reference set with a mapTarget that matches the specified otherCode. This returns the same data as noted above,

Example 6. Reverses the map shown in example 1. In this case it returns records showing several concepts that map to the this ICD-O code. As these are simple map with no rules, this result indicates that all these concepts map to the same less specific ICD-O code.

Example 7 . Maps from NHS CTV3 codes (previously used in the UK) to SNOMED CT concepts. In this case the map returns a single map from any specified CTV3 code to the closes matching SNOMED CT concept5.

Warning

The ICD-10 map is a unidirectional map from SNOMED CT concept to ICD-10 codes. The mapGroup, mapPriority, mapRule, mapAdvice and mapCategoryId properties of complex and extended apply to the set of maps from a SNOMED CT concept to a mapTarget. These rules cannot be interpreted if maps are accessed for specified targetCode. Therefore, this service should not be used to access maps of this type6.

Get maps based on combinations of refsetId, referencedComponentId and mapTarget

GET [snowstorm]/[branchPath]/members?referenceSet=[refsetid]&referencedComponentId=[conceptId]&mapTarget=[otherCode]&active=true

Example 8. Finds any maps from 111613008 | Closed skull fracture with intracranial injury| to ICD-10 code S06.90

GET [snowstorm]/MAIN/2020-01-31/members?referenceSet=447562003&referencedComponentId=111613008&mapTarget=S06.90&active=true

Encoded URL

GET [snowstorm]/MAIN%2F2020-01-31/members?referenceSet=447562003&referencedComponentId=111613008&mapTarget=S06.90&active=true

Returns a JSON representation of the data in active rows in the specified mapping reference set with a referencedComponentId that matches the specified conceptId and a mapTarget that matches the specified code from the other code system.

Example 8 . Could be used either or both of the following:

    1. Test if there is a map between the SNOMED CT concept "Closed skull fracture with intracranial injury" and the ICD-10 code S06.9 "Unspecified intracranial injury".
    2. Provide access to the associated mapping rule, advice and correlation data for any maps between these two codes.

Table 4.12-4: FHIR API

Service Name

API Call7

Result
Get maps based on combinations of refsetId and referencedComponentId

GET [fhir]/ConceptMap/$translate?code=[componentId] &system=http://snomed.info/sct&source=[sourceCodeSystem]?fhir_vs&target=[sourceCodeSystem]&url=[version]?fhir_cm=[refesetId]
Example 1. ICD-O Map for 1338007 | Basal cell carcinoma (morphologic abnormality)|
GET [fhir]/ConceptMap/$translate?code=1338007&system=http://snomed.info/sct &source=http://snomed.info/sct?fhir_vs &target=http://snomed.info/sct?fhir_vs &url=http://snomed.info/sct/900000000000207008/version/20200131?fhir_cm=446608001

Encoded URL

GET [fhir]/ConceptMap/$translate?code=1338007&system=http%3A%2F%2Fsnomed.info%2Fsct+&source=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs+&target=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs+&url=http%3A%2F%2Fsnomed.info%2Fsct%2F900000000000207008%2Fversion%2F20200131%3Ffhir_cm%3D446608001%0A

Example 2. ICD-10 Map for 74400008 | Appendicitis|

GET [fhir]/ConceptMap/$translate?code=74400008&system=http://snomed.info/sct&source=http://snomed.info/sct?fhir_vs &target=http://hl7.org/fhir/sid/icd-10&url=http://snomed.info/sct/900000000000207008/version/20200131?fhir_cm=447562003

Encoded URL

GET [fhir]/ConceptMap/$translate?code=74400008&system=http://snomed.info/sct&source=http://snomed.info/sct?fhir_vs &target=http://hl7.org/fhir/sid/icd-10&url=http://snomed.info/sct/900000000000207008/version/20200131?fhir_cm=447562003
Example 3. ICD-10 Map for 196607008 | Esophageal ulcer due to aspirin|
GET [fhir]/ConceptMap/$translate?code=196607008&system=http://snomed.info/sct&source=http://snomed.info/sct?fhir_vs &target=http://hl7.org/fhir/sid/icd-10&url=http://snomed.info/sct/900000000000207008/version/20200131?fhir_cm=447562003

Encoded URL

GET [fhir]/ConceptMap/$translate?code=196607008&system=http%3A%2F%2Fsnomed.info%2Fsct&source=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs+&target=http%3A%2F%2Fhl7.org%2Ffhir%2Fsid%2Ficd-10&url=http%3A%2F%2Fsnomed.info%2Fsct%2F900000000000207008%2Fversion%2F20200131%3Ffhir_cm%3D447562003


Example 4. ICD-10 Map for 32398004 | Bronchitis|

GET [fhir]/ConceptMap/$translate?code=32398004&system=http://snomed.info/sct&source=http://snomed.info/sct?fhir_vs &target=http://hl7.org/fhir/sid/icd-10&url=http://snomed.info/sct/900000000000207008/version/20200131?fhir_cm=447562003

Encoded URL

GET [fhir]/ConceptMap/$translate?code=32398004&system=http%3A%2F%2Fsnomed.info%2Fsct&source=http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs+&target=http%3A%2F%2Fhl7.org%2Ffhir%2Fsid%2Ficd-10&url=http%3A%2F%2Fsnomed.info%2Fsct%2F900000000000207008%2Fversion%2F20200131%3Ffhir_cm%3D447562003

Returns a JSON representation of data about each of the target components.

The data returned for each concept includes:

  • boolean: True if the concept could be translated successfully. The value can only be true if at least one returned match
  • match: Each match represents data for the map or associated target. Note that there may be multiple matches, where each element represents a mapTarget. For each mapTarget, following data is provided
  • system: the codesystem of the mapTarget
  • code: The identifier of the mapTarget

Request response

Be aware that the FHIR TS API only provides information about the mapTarget. However, no additional map data represented in the map reference set is provided. This service is therefore sufficient to represent simple maps, but data required to interpret complex maps is not made available.

Example 1. A concept that maps to a single ICD-O code in a simple map refset.

Example 2. A concept that maps to a single ICD-10 classification code in a complex/extended map refset.

Example 3. A concept that maps to a combination of two classification codes (there are two map groups and each contains a single map row with priority 1)

Example 4. A concept that has a single map group containing two rows. For this map, a rule will determine which target should be chosen. Please note that the response does not show the rules as they are stated in the map reference set.


Get maps based on combinations of refsetId and mapTarget

N/A

The FHIR TS API does not support retrieval of map data based on a specific mapTarget

Table 4.12-5: MySQL Example Database

Service Name

SQL Query 8

Result

Get maps based on combinations of refsetId and referencedComponentId

SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=[refsetId]
	AND referencedComponentId=[conceptId];
Example 1. ICD-O Map for 1338007 | Basal cell carcinoma (morphologic abnormality)|
SELECT * FROM snap_refset_simplemap 
	WHERE active=1 AND refsetId=446608001
	AND referencedComponentId=1338007;
Example 2. ICD-10 Map for 74400008 | Appendicitis|
SELECT * FROM snap_refset_extendedmap 
	WHERE active=1 AND refsetId=447562003
	AND referencedComponentId=74400008;
SELECT * FROM snap_refset_extendedmap 
	WHERE active=1 AND refsetId=447562003
	AND referencedComponentId=196607008;
Example 4. ICD-10 Map for 32398004 | Bronchitis|
SELECT * FROM snap_refset_extendedmap 
	WHERE active=1 AND refsetId=447562003
	AND referencedComponentId=32398004;
Example 5. ICD-10 Map for 111613008 | Closed skull fracture with intracranial injury|
SELECT * FROM snap_refset_extendedmap 
	WHERE active=1 AND refsetId=447562003
	AND referencedComponentId=111613008;

Alternative approach using a stored procedure. This does not require the specific map reference set type to be identified.

-- Alternative that also shows the terms associated
-- with identifiers in the map records
CALL snap_members([refsetId],[conceptId]);

Returns rows of data from the specified mapping reference set with a referencedComponentId that matches the specified conceptId.

For notes on the individual examples refer to the first row in Table 4.12-3.

Get maps based on combinations of refsetId and mapTarget
SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=[refsetId]
	AND mapTarget=[otherCode];

Example 6. Map from ICD-O code "8090/3" to SNOMED CT concepts

SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=446608001
	AND mapTarget="8090/3";
Example 7. Maps from NHS Clinical Terms to a SNOMED CT concept
SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=900000000000497000
	AND mapTarget="Xa9C4";

Returns rows of data from the specified mapping reference set with a mapTarget that matches the specified code in the other code system.

For notes on the individual examples refer to the second row in Table 4.12-3.

Get maps based on combinations of refsetId, referencedComponentId and mapTarget
SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=[refsetId]
	AND referencedComponentId=[conceptId]
	AND mapTarget=[otherCode];

Example 8. Finds any maps from 111613008 | Closed skull fracture with intracranial injury| to ICD-10 code S06.90

SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=447562003
	AND referencedComponentId=111613008
	AND mapTarget="S06.90";
Example 9. Finds any maps from 111613008 | Closed skull fracture with intracranial injury| to ICD-10 codes in the S06 chapter
SELECT * FROM snap_refset_extendedmap
	WHERE active=1 AND refsetId=447562003
	AND referencedComponentId=111613008
	AND mapTarget like "S06.%";

Returns rows of data from the specified mapping reference set with a referencedComponentId that matches the specified conceptId and a mapTarget that matches the specified code in the other code system.

For notes on example 8 refer to the third row in Table 4.12-3.

Example 9. provides an additional option, which may be useful code systems such as ICD-10 in which part of the code represents represent chapters or subdivision. It allows a search for a map from a concept to any code in a specified chapter.




Footnotes
The name mapTarget was applied to the other code column in early maps that were intended for unidirectional maps from SNOMED CT to other code systems or classifications. Subsequently, the column name mapTarget has been used for the other (non-SNOMED CT) code even in cases where the map is intended to support maps from the other code to a SNOMED CT concept. While this name is misleading in these cases, the column has not been renamed as a name change is likely to impact some implementations.
Language and/or dialect should be specified if the service returns terms associated with referenced concepts.
In the Snowstorm service requests [snowstorm] should be replaced by the URL to the Snowstorm server endpoint.
The notes on properties of ICD-10 maps on this page are only a brief summary. Please refer to the ICD-10 Mapping Technical Guide for more complete documentation and examples.
The UK NHS provides alternative mapping resources from NHS CTV3 to SNOMED CT, which support maps that take account of different ways in which the same source code is used.
Exceptional use cases exist for accessing complex or extended maps using the mapTarget when developing and quality assuming maps. For example, to identify codes in the other code system that are not the targets of any maps or that are the target for multiple maps from different concept.
In the FHIR service requests [fhir] should be replaced by the URL to the FHIR terminology server endpoint. FHIR® is a registered trademarks of HL7 (www.hl7.org).
The SNOMED CT MySQL example database is not designed as a terminology server and is not intended for use in a live system . It is referenced in this guide as an illustration that some readers may find helpful. For more information about the SNOMED CT example database see the SNOMED CT - SQL Practical Guide. For instructions on how to build the example database refer to Appendix A: Building the SNOMED CT Example Database.





Feedback
  • No labels