Mapping MESH Codes with Their Corresponding UMLS Codes

Description

This pretrained model maps MESH codes to corresponding UMLS codes under the Unified Medical Language System (UMLS).

Predicted Entities

umls_code

Copy S3 URI

How to use

document_assembler = DocumentAssembler()\
    .setInputCol('text')\
    .setOutputCol('doc')

chunkAssembler = Doc2Chunk()\
    .setInputCols("doc")\
    .setOutputCol("mesh_code")

chunkerMapper = ChunkMapperModel.pretrained("mesh_umls_mapper", "en", "clinical/models")\
    .setInputCols(["lmesh_code"])\
    .setOutputCol("mappings")

mapper_pipeline = Pipeline(stages=[
    document_assembler,
    chunkAssembler,
    chunkerMapper
])

data = spark.createDataFrame([["C000015"],["C000002"]]).toDF("text")

result = mapper_pipeline.fit(data).transform(data)
document_assembler = nlp.DocumentAssembler()\
    .setInputCol('text')\
    .setOutputCol('doc')

chunkAssembler = nlp.Doc2Chunk()\
    .setInputCols("doc")\
    .setOutputCol("mesh_code")

chunkerMapper = medical.ChunkMapperModel.pretrained("mesh_umls_mapper", "en", "clinical/models")\
    .setInputCols(["mesh_code"])\
    .setOutputCol("mappings")

mapper_pipeline = nlp.Pipeline(stages=[
    document_assembler,
    chunkAssembler,
    chunkerMapper
])

data = spark.createDataFrame([["C000015"],["C000002"]]).toDF("text")

result = mapper_pipeline.fit(data).transform(data)

val document_assembler = new DocumentAssembler()
      .setInputCol("text")
      .setOutputCol("document")

val chunk_assembler = new Doc2Chunk()
      .setInputCols("document")
      .setOutputCol("mesh_code")

val chunkerMapper = ChunkMapperModel
      .pretrained("mesh_umls_mapper", "en", "clinical/models")
      .setInputCols(Array("mesh_code"))
      .setOutputCol("mappings")

val mapper_pipeline = Pipeline().setStages(Array(
                                            document_assembler,
                                            chunk_assembler,
                                            chunkerMapper))

val data = Seq("C000015","C000002").toDF("text")

val result = mapper_pipeline.fit(data).transform(data)

Results

+---------+---------+
|mesh_code|umls_code|
+---------+---------+
|C000015  |C0067655 |
|C000002  |C0950157 |
+---------+---------+

Model Information

Model Name: mesh_umls_mapper
Compatibility: Healthcare NLP 6.0.2+
License: Licensed
Edition: Official
Input Labels: [ner_chunk]
Output Labels: [mappings]
Language: en
Size: 5.4 MB

References

Trained on concepts from MESH for the 2025AA release of the Unified Medical Language System® (UMLS) Knowledge Sources: https://www.nlm.nih.gov/research/umls/index.html