Semantic Standardization Module - Smile CDR Documentation

Semantic Standardization Module EAP

Early Access Feature: This module is in Early Access status and subject to change.

The Semantic Standardization Module enables automated semantic enrichment of FHIR resources by standardizing CodeableConcept elements with preferred terminologies.

Enrichment is accomplished when fragmented data is standardized, structured, made computable data

Dependency on Persistence is to resolve FHIR version only. No data is persisted with just the Semantic Standardization Module

Overview

The Semantic Standardization Module processes FHIR resources to enhance semantic interoperability by:

Architecture

Module Configuration

Web Admin Console Configuration

  1. Navigate to Configuration → Module Config
  2. Select Add Module dropdown
  3. Choose Semantic Standardization
  4. Select target Node
  5. Click Add

Configuration Parameters

Parameter Type Default Description
Base URL String http://localhost:8080 Terminology provider service endpoint
Confidence Level String 0.80 Minimum confidence threshold for mappings
Configuration Text JSON Empty config JSON mapping configuration (Advanced)
Configuration File File Path - Path to JSON mapping file (Advanced)
FHIR Version Enum R4 Supported FHIR version

Only FHIR R4 is currently supported.

Property-Based Configuration if you are running in node.propertysource=PROPERTIES mode, you would add the following line to your cdr-config-Master.properties file:

module.[MODULE_ID].config.base_url=http://localhost:8080
module.[MODULE_ID].config.min_confidence=0.85
module.[MODULE_ID].config.fhir_version=R4

Copy

Mapping Configuration

The Semantic Standardization module uses a JSON configuration to define which FHIR resources and elements that should be processed.

Configuration Structure****Root Level

Field Type Description
description String Human-readable configuration description
version String Configuration version for source control management only
fhirVersion String Fhir version supported by the configuration
resourceMappings Array Array of resource mapping definitions (only setting that has impact at runtime)
{
  "description": "Configuration description",
  "version": "1.0.0",
  "fhirVersion": "4.0.1",
  "resourceMappings": []
}

Copy

The description, version and fhirVersion are currently only provided of the file creator/maintainer.

The resourceMappings are used by the system to determine the FHIR Path to the elements of type CodeableConcept as well as which standardization features of Semantic Standardization will be executed.

The FHIR Path is important when element's name or location change between versions of the FHIR Standard.

Resource Mapping

Field Type Description
resourceType String FHIR resource type (e.g., "Condition")
codeableConceptMapping Array Element-specific mapping configurations

The resourceMapping is a JSON array that allows configuration specific to each FHIR Resource.

The resourceMapping has two main component the resourceType and the codeableConceptMapping

{
  "resourceType": "Condition",
  "codeableConceptMapping": []
}

Copy

CodeableConcept Mapping

Field Type Default Description
fhirPath String - FHIRPath expression to locate the element
targetOntologyUrl String - Preferred terminology system URL
correctCode Boolean false Add corrected coding for same system
correctDisplay Boolean false Add corrected display text
translate Boolean false Add codings from target terminology
textToCoding Boolean false Generate codes from CodeableConcept.text

The codeableConceptMapping is a JSON array that allows configuration specific to each FHIR Resource

The flags provide fine grain control over actions taken by Semantic Standardization module

{
  "fhirPath": "code",
  "targetOntologyUrl": "http://snomed.info/sct",
  "correctCode": true,
  "correctDisplay": true,
  "translate": true,
  "textToCoding": true
}

Copy

Example Configuration This example configuration can be used as a starting point for an implementation and referenced in the module configuration

{
    "description": "Configuration for mapping FHIR resources to their respective CodeableConcepts using FHIRPath. Each potential path is explicitly paired with a target terminology URL and processing options",
    "version": "1.0.0",
    "fhirVersion": "4.0.1",
    "resourceMappings": [\
        {\
            "resourceType": "AdverseEvent",\
            "codeableConceptMapping": [\
                { "fhirPath": "substance.code", "targetOntologyUrl": "http://snomed.info/sct", "correctCode": false, "correctDisplay": false, "translate": false, "textToCoding": false }\
            ]\
        },\
        {\
            "resourceType": "AllergyIntolerance",\
            "codeableConceptMapping": [\
                { "fhirPath": "code", "targetOntologyUrl": "http://snomed.info/sct", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "Condition",\
            "codeableConceptMapping": [\
                { "fhirPath": "code", "targetOntologyUrl": "http://snomed.info/sct", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "Device",\
            "codeableConceptMapping": [\
                { "fhirPath": "type", "targetOntologyUrl": "http://snomed.info/sct", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "Immunization",\
            "codeableConceptMapping": [\
                { "fhirPath": "vaccineCode", "targetOntologyUrl": "http://hl7.org/fhir/sid/cvx", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "MedicationAdministration",\
            "codeableConceptMapping": [\
                { "fhirPath": "medication.as(CodeableConcept)", "targetOntologyUrl": "http://www.nlm.nih.gov/research/umls/rxnorm", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "MedicationDispense",\
            "codeableConceptMapping": [\
                { "fhirPath": "medication.as(CodeableConcept)", "targetOntologyUrl": "http://www.nlm.nih.gov/research/umls/rxnorm", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "MedicationRequest",\
            "codeableConceptMapping": [\
                { "fhirPath": "medication.as(CodeableConcept)", "targetOntologyUrl": "http://www.nlm.nih.gov/research/umls/rxnorm", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "MedicationStatement",\
            "codeableConceptMapping": [\
                { "fhirPath": "medication.as(CodeableConcept)", "targetOntologyUrl": "http://www.nlm.nih.gov/research/umls/rxnorm", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "Observation",\
            "codeableConceptMapping": [\
                { "fhirPath": "code", "targetOntologyUrl": "http://loinc.org", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "Procedure",\
            "codeableConceptMapping": [\
                { "fhirPath": "code", "targetOntologyUrl": "http://snomed.info/sct", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        },\
        {\
            "resourceType": "Substance",\
            "codeableConceptMapping": [\
                { "fhirPath": "code", "targetOntologyUrl": "http://snomed.info/sct", "correctCode": true, "correctDisplay": true, "translate": true, "textToCoding": true }\
            ]\
        }\
    ]
}

Copy

FHIR Operations

$semantic-uplift Operation The module provides a $semantic-uplift operation for on-demand semantic enhancement of FHIR resources.

This operation requires the FHIR_SEMANTIC_UPLIFT permission.

Usage

POST [base]/[ResourceType]/$semantic-uplift

Copy

The operation processes the resource(s) according to the configured mapping rules and returns semantically enhanced versions.

Camel Integration

The module provides a Camel processor for integration with data processing workflows:

<to uri="semantic-std-processor"/>

Copy

See Camel Overview documentation page.

Supported FHIR Resources

The module supports semantic standardization for any FHIR resource containing CodeableConcept elements, including:

Performance Considerations

Troubleshooting

Common Issues Module fails to start

Poor mapping quality

Performance issues

Semantic Standardization Module

Semantic Standardization

Semantic Standardization Module West Coast Informatics (WCI) Provider

West Coast Informatics (WCI) Provider