9 DICOM Modality to SNOMED CT Mapping
I’ll provide a detailed explanation of the DICOM Modality to SNOMED CT mapping example, including a visual diagram and practical use case.
9.0.1 Background Context
DICOM Modality Codes are standardized identifiers used in medical imaging to specify the type of equipment or technique used to acquire images. These are technical codes focused on the imaging equipment.
SNOMED CT provides clinical terminology that describes medical procedures, findings, and concepts in a clinically meaningful way.
The mapping bridges the gap between technical imaging equipment codes and clinical procedure terminology.
9.0.2 JSON
{
"resourceType": "ConceptMap",
"id": "dicom-modality-to-snomed",
"url": "http://radiology.hospital.com/fhir/ConceptMap/dicom-modality-to-snomed",
"version": "1.0.0",
"name": "DicomModalityToSnomedCT",
"title": "DICOM Modality to SNOMED CT Mapping",
"status": "active",
"description": "Mapping between DICOM modality codes and SNOMED CT procedure concepts",
"sourceScopeCanonical": "http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html",
"targetScopeCanonical": "http://snomed.info/sct",
"group": [{
"source": "http://dicom.nema.org/resources/ontology/DCM",
"target": "http://snomed.info/sct",
"element": [
{
"code": "CT",
"display": "Computed Tomography",
"target": [{
"code": "77477000",
"display": "Computerized axial tomography",
"relationship": "equivalent"
}]
},
{
"code": "MR",
"display": "Magnetic Resonance",
"target": [{
"code": "113091000",
"display": "Magnetic resonance imaging",
"relationship": "equivalent"
}]
},
{
"code": "US",
"display": "Ultrasound",
"target": [{
"code": "16310003",
"display": "Diagnostic ultrasonography",
"relationship": "equivalent"
}]
}
]
}]
}
9.0.3 Plain Text Diagram
DICOM MODALITY CODES CONCEPTMAP SNOMED CT CONCEPTS
(Technical Equipment) (Translation Layer) (Clinical Procedures)
┌─────────────────────┐ ┌──────────────────────────────┐
│ Source System: │ │ Target System: │
│ DCM Ontology │ │ SNOMED CT │
├─────────────────────┤ ┌─────────────┐ ├──────────────────────────────┤
│ CT │──────▶│ equivalent │────▶│ 77477000 │
│ "Computed │ │ mapping │ │ "Computerized axial │
│ Tomography" │ └─────────────┘ │ tomography" │
├─────────────────────┤ ├──────────────────────────────┤
│ MR │──────▶│ equivalent │────▶│ 113091000 │
│ "Magnetic │ │ mapping │ │ "Magnetic resonance │
│ Resonance" │ └─────────────┘ │ imaging" │
├─────────────────────┤ ├──────────────────────────────┤
│ US │──────▶│ equivalent │────▶│ 16310003 │
│ "Ultrasound" │ │ mapping │ │ "Diagnostic │
│ │ └─────────────┘ │ ultrasonography" │
├─────────────────────┤ ├──────────────────────────────┤
│ XA │──────▶│ equivalent │────▶│ 77600007 │
│ "X-Ray │ │ mapping │ │ "Angiography" │
│ Angiography" │ └─────────────┘ │ │
├─────────────────────┤ ├──────────────────────────────┤
│ NM │──────▶│ equivalent │────▶│ 363680008 │
│ "Nuclear │ │ mapping │ │ "Radiographic imaging │
│ Medicine" │ └─────────────┘ │ procedure" │
└─────────────────────┘ └──────────────────────────────┘
ConceptMap Resource
┌─────────────────────────────┐
│ Mapping Properties: │
│ • Bidirectional lookup │
│ • Version control │
│ • Context-aware │
│ • Relationship types │
└─────────────────────────────┘
9.0.4 Extended ConceptMap Example
{
"resourceType": "ConceptMap",
"id": "dicom-modality-to-snomed-extended",
"url": "http://radiology.hospital.com/fhir/ConceptMap/dicom-modality-to-snomed",
"version": "2.1.0",
"name": "DicomModalityToSnomedCT",
"title": "DICOM Modality to SNOMED CT Clinical Procedure Mapping",
"status": "active",
"experimental": false,
"date": "2024-07-07",
"publisher": "Radiology Department",
"description": "Comprehensive mapping between DICOM modality codes and SNOMED CT clinical procedure concepts for standardized reporting and analytics",
"useContext": [
{
"code": {
"system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
"code": "workflow"
},
"valueCodeableConcept": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "CLINFIN",
"display": "Clinical Research"
}]
}
}
],
"sourceScopeCanonical": "http://dicom.nema.org/resources/ontology/DCM",
"targetScopeCanonical": "http://snomed.info/sct",
"group": [{
"source": "http://dicom.nema.org/resources/ontology/DCM",
"target": "http://snomed.info/sct",
"element": [
{
"code": "CT",
"display": "Computed Tomography",
"target": [{
"code": "77477000",
"display": "Computerized axial tomography",
"relationship": "equivalent",
"comment": "Direct equivalent mapping for CT imaging procedures"
}]
},
{
"code": "MR",
"display": "Magnetic Resonance",
"target": [{
"code": "113091000",
"display": "Magnetic resonance imaging",
"relationship": "equivalent",
"comment": "Standard MRI procedure mapping"
}]
},
{
"code": "US",
"display": "Ultrasound",
"target": [{
"code": "16310003",
"display": "Diagnostic ultrasonography",
"relationship": "equivalent"
}]
},
{
"code": "XA",
"display": "X-Ray Angiography",
"target": [{
"code": "77600007",
"display": "Angiography",
"relationship": "equivalent"
}]
},
{
"code": "NM",
"display": "Nuclear Medicine",
"target": [{
"code": "363680008",
"display": "Radiographic imaging procedure",
"relationship": "source-is-narrower-than-target",
"comment": "Nuclear medicine is a specific type of radiographic imaging"
}]
},
{
"code": "PET",
"display": "Positron emission tomography",
"target": [{
"code": "82918005",
"display": "Positron emission tomography",
"relationship": "equivalent"
}]
}
]
}]
}
9.1 Real-World Use Case: Multi-Site Radiology Research Study
9.1.1 Scenario: COVID-19 Lung Imaging Research
Background: A multi-institutional research study analyzing COVID-19 lung findings across 5 hospitals, each using different imaging systems and terminology standards.
9.1.2 The Challenge
Hospital A (GE Systems) Hospital B (Siemens) Hospital C (Philips)
DICOM: "CT" DICOM: "CT" DICOM: "CT"
Local Code: "HRCT_CHEST" Local Code: "CT_THORAX" Local Code: "CHEST_CT"
▼
Different local terminologies
▼
Need standardized analysis
9.1.3 The Solution Using ConceptMap
Step 1: Data Collection Phase
// Raw DICOM data from different sites
{
"studyData": [
{
"hospital": "A",
"modalityCode": "CT",
"localProcedure": "HRCT_CHEST",
"patientFindings": "Ground glass opacities"
},
{
"hospital": "B",
"modalityCode": "CT",
"localProcedure": "CT_THORAX",
"patientFindings": "Bilateral infiltrates"
}
]
}
Step 2: ConceptMap Translation
// Using $translate operation
POST /ConceptMap/$translate
{
"resourceType": "Parameters",
"parameter": [
{
"name": "url",
"valueUri": "http://radiology.hospital.com/fhir/ConceptMap/dicom-modality-to-snomed"
},
{
"name": "system",
"valueUri": "http://dicom.nema.org/resources/ontology/DCM"
},
{
"name": "code",
"valueCode": "CT"
}
]
}
Step 3: Standardized Output
// Response with SNOMED CT mapping
{
"resourceType": "Parameters",
"parameter": [
{
"name": "result",
"valueBoolean": true
},
{
"name": "match",
"part": [
{
"name": "relationship",
"valueCode": "equivalent"
},
{
"name": "concept",
"valueCoding": {
"system": "http://snomed.info/sct",
"code": "77477000",
"display": "Computerized axial tomography"
}
}
]
}
]
}
9.1.4 Research Analysis Benefits
Before ConceptMap (Problematic):
Hospital A: 150 "CT" studies
Hospital B: 200 "CT" studies
Hospital C: 180 "CT" studies
→ Manual coding required
→ Inconsistent terminology
→ Analysis delays
After ConceptMap (Standardized):
All Sites: 530 "77477000 - Computerized axial tomography" studies
→ Automated mapping
→ Consistent SNOMED CT codes
→ Immediate analysis ready
9.1.5 Implementation Workflow
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ DICOM Studies │───▶│ ConceptMap │───▶│ Standardized │
│ from Multiple │ │ Translation │ │ SNOMED CT │
│ Sites │ │ Service │ │ Dataset │
└─────────────────┘ └──────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ • Site A: CT │ │ • Maps codes │ │ • 77477000: │
│ • Site B: CT │ │ • Validates │ │ 530 studies │
│ • Site C: CT │ │ • Logs trans │ │ • Consistent │
│ • Different │ │ • Handles │ │ terminology │
│ local codes │ │ errors │ │ • Ready for ML │
└─────────────────┘ └──────────────┘ └─────────────────┘
9.1.6 Code Example: Automated Translation Service
# Python pseudocode for automated translation
class ModalityMapper:
def __init__(self, concept_map_url):
self.concept_map_url = concept_map_url
self.fhir_client = FHIRClient()
def translate_study_data(self, dicom_studies):
= []
standardized_studies
for study in dicom_studies:
# Call ConceptMap $translate operation
= self.fhir_client.translate(
translation =self.concept_map_url,
concept_map="http://dicom.nema.org/resources/ontology/DCM",
source_system=study.modality
source_code
)
if translation.result:
= translation.target_code
study.standard_procedure_code = translation.target_display
study.standard_procedure_display
standardized_studies.append(study)else:
# Handle unmapped codes
self.log_unmapped_code(study.modality)
return standardized_studies
9.1.7 Business Value Delivered
- Research Efficiency: Reduced data harmonization time from weeks to hours
- Data Quality: Eliminated manual coding errors and inconsistencies
- Scalability: Easy addition of new sites with automatic mapping
- Compliance: Standardized terminology meets regulatory requirements
- Analytics: Enabled machine learning across multi-site datasets
- Interoperability: Seamless data exchange between institutions
This ConceptMap implementation transforms heterogeneous radiology data into a standardized, analysis-ready format, enabling large-scale multi-institutional research that would otherwise be prohibitively complex.