Get Mapping Data

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. The table below provides reference to specific mapping reference set types and supporting documentation related to the use of those reference sets.

Map Reference Sets and Documentation

Map type
Description
Reference Set File Format

Simple map

Supports one to one maps to or from another code system

Simple Map Reference Set

ICD classification maps

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

Complex and Extended Map from SNOMED CT Reference Sets

Maps including additional data to represent attribute-value combinations, correlation and source of original code

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

Map to SNOMED CT with Correlation and Origin Reference Set

Maps to SNOMED CT expressions

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

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 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 the table below. Additional requirements should be considered for cases where the map refers to an expression rather than a single concept.

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.

Required Services

Service Name and Status
Input
Output

Get maps based on combinations of refsetId and referencedComponentId

  • Identifier of concept to be mapped to target scheme

  • Edition and version Reference set identifier

  • 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

  • Other code to be mapped to SNOMED CT.

  • Edition and version

  • Reference set identifier

  • 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 SNOMED CT to another code system, if the map data supports mapping in that direction.

Get maps based on combinations of refsetId,referencedComponentIdand mapTarget

  • Identifier of concept

  • Other code

  • Edition and version

  • Reference set identifier

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

Snowstorm API

Service Name
API Call
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

Example 3. ICD-10 Map for 196607008 | Esophageal ulcer due to aspirin|

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

Example 5. ICD-10 Map for 111613008 | Closed skull fracture with intracranial injury|

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 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:

Property

Description

mapGroup

An integer grouping a set of maps. One map should be chosen from each group.

mapPriority

The order in which map within a group should be checked.

mapRule

A machine-readable rule, that determines if a map applies.

mapAdvice

Advice to assist manual selection map from a group.

mapTarget

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

mapCategoryId

Represents 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 concept.

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

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.

FHIR API

Service Name
API Call
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

MySQL Example Database

Service Name
SQL Query
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

Example 3. ICD-10 Map for 196607008 | Esophageal ulcer due to aspirin|

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.

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.

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.

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.

Last updated