SNOMED guide
ConceptMaps
SNOMED CT ships with refsets that describe mappings between SNOMED concepts and other code systems. The FHIR specification covers how these are represented in Using SNOMED CT with HL7 Standards. There are three types:
Simple map refsets map each SNOMED concept to a single target code in another system — for example, ICD-O-3 and CTV3.
Association refsets record historical relationships between active and inactive SNOMED concepts. When a concept is retired, association refsets point to its replacement(s): REPLACED BY, SAME AS, POSSIBLY EQUIVALENT TO, or ALTERNATIVE.
Extended map refsets support complex mapping scenarios such as ICD-10, where a single SNOMED concept may require multiple target codes (map groups), ordered conditional alternatives (map priorities), and IFA rules that depend on patient context such as age or sex.
Implicit ConceptMaps
Each SNOMED CT mapping refset is available as an implicit ConceptMap using the fhir_cm query parameter:
http://snomed.info/sct?fhir_cm={refsetId}
The following ConceptMaps are loaded with SNOMED CT International:
| Implicit URL | Target System | Type |
|---|---|---|
http://snomed.info/sct?fhir_cm=446608001 | http://terminology.hl7.org/CodeSystem/icd-o-3 | Simple map |
http://snomed.info/sct?fhir_cm=447562003 | http://hl7.org/fhir/sid/icd-10 | Extended map |
http://snomed.info/sct?fhir_cm=900000000000497000 | http://read.info/ctv3 | Simple map |
http://snomed.info/sct?fhir_cm=900000000000526001 | http://snomed.info/sct | Association (REPLACED BY) |
http://snomed.info/sct?fhir_cm=900000000000527005 | http://snomed.info/sct | Association (SAME AS) |
http://snomed.info/sct?fhir_cm=900000000000523009 | http://snomed.info/sct | Association (POSSIBLY EQUIVALENT TO) |
http://snomed.info/sct?fhir_cm=900000000000530003 | http://snomed.info/sct | Association (ALTERNATIVE) |
Use the url parameter in $translate to target a specific map:
POST /fhir/ConceptMap/$translate
Content-Type: application/json
{
"resourceType": "Parameters",
"parameter": [
{ "name": "url", "valueUri": "http://snomed.info/sct?fhir_cm=447562003" },
{ "name": "sourceCode", "valueCode": "73211009" },
{ "name": "sourceSystem", "valueUri": "http://snomed.info/sct" }
]
}
Omit url and pass only sourceSystem + targetSystem to let the server find the right map automatically:
POST /fhir/ConceptMap/$translate
Content-Type: application/json
{
"resourceType": "Parameters",
"parameter": [
{ "name": "sourceCode", "valueCode": "73211009" },
{ "name": "sourceSystem", "valueUri": "http://snomed.info/sct" },
{ "name": "targetSystem", "valueUri": "http://hl7.org/fhir/sid/icd-10" }
]
}