Description
This model maps HPO codes to their associated Elements of Morphology (EOM) id(s), based on the HPO project’s own EOM crosswalk. Codes linked to more than one EOM id return every associated id via the all_k_resolutions metadata field. Trained on the Human Phenotype Ontology (HPO) 2026-06-23 release.
Live Demo Open in Colab Copy S3 URI
How to use
document_assembler = DocumentAssembler()\
.setInputCol("text")\
.setOutputCol("document")
chunk_assembler = Doc2Chunk()\
.setInputCols(["document"])\
.setOutputCol("hpo_code")
hpo_code_eom_mapper = ChunkMapperModel.pretrained("hpo_code_eom_mapper", "en", "clinical/models")\
.setInputCols(["hpo_code"])\
.setOutputCol("mappings")\
.setRels(["eom"])
pipeline = Pipeline(stages=[document_assembler, chunk_assembler, hpo_code_eom_mapper])
data = spark.createDataFrame([["HP:0000154"], ["HP:0400001"], ["HP:0009765"]]).toDF("text")
result = pipeline.fit(data).transform(data)
document_assembler = nlp.DocumentAssembler()\
.setInputCol("text")\
.setOutputCol("document")
chunk_assembler = nlp.Doc2Chunk()\
.setInputCols(["document"])\
.setOutputCol("hpo_code")
hpo_code_eom_mapper = medical.ChunkMapperModel.pretrained("hpo_code_eom_mapper", "en", "clinical/models")\
.setInputCols(["hpo_code"])\
.setOutputCol("mappings")\
.setRels(["eom"])
pipeline = nlp.Pipeline(stages=[document_assembler, chunk_assembler, hpo_code_eom_mapper])
data = spark.createDataFrame([["HP:0000154"], ["HP:0400001"], ["HP:0009765"]]).toDF("text")
result = pipeline.fit(data).transform(data)
val documentAssembler = new DocumentAssembler()
.setInputCol("text")
.setOutputCol("document")
val chunkAssembler = new Doc2Chunk()
.setInputCols("document")
.setOutputCol("hpo_code")
val hpoCodeEomMapper = ChunkMapperModel
.pretrained("hpo_code_eom_mapper", "en", "clinical/models")
.setInputCols(Array("hpo_code"))
.setOutputCol("mappings")
.setRels(Array("eom"))
val pipeline = new Pipeline().setStages(Array(documentAssembler, chunkAssembler, hpoCodeEomMapper))
val data = Seq("HP:0000154", "HP:0400001", "HP:0009765").toDF("text")
val result = pipeline.fit(data).transform(data)
Results
| hpo_code | eom | all_k_resolutions |
|:-----------|:---------------------|:------------------------|
| HP:0000154 | EOM:a6a2d57a281ead72 | EOM:a6a2d57a281ead72::: |
| HP:0400001 | EOM:8a5493c72e0dd13c | EOM:8a5493c72e0dd13c::: |
| HP:0009765 | EOM:49acd433e354541b | EOM:49acd433e354541b::: |
Model Information
| Model Name: | hpo_code_eom_mapper |
| Compatibility: | Healthcare NLP 6.4.0+ |
| License: | Licensed |
| Edition: | Official |
| Input Labels: | [ner_chunk] |
| Output Labels: | [mappings] |
| Language: | en |
| Size: | 10.3 KB |