FHIR IG analytics| Package | fhir.nwgenomics.nhs.uk |
| Resource Type | ConceptMap |
| Id | ConceptMap-GMSWGSGuideHPOTermsToSCT.json |
| FHIR Version | R4 |
| Source | https://build.fhir.org/ig/nw-gmsa/nw-gmsa.github.com/ConceptMap-GMSWGSGuideHPOTermsToSCT.html |
| URL | https://fhir.nwgenomics.nhs.uk/ConceptMap/GMSWGSGuideHPOTermsToSCT |
| Version | 2.2.0 |
| Status | draft |
| Date | 2026-09-15T07:27:45+00:00 |
| Name | GMSWGSGuideHPOTermsToSCT |
| Title | GMS WGS Guide HPO Terms to SNOMED CT |
| Realm | us |
| Authority | hl7 |
| Description | HPO (Human Phenotype Ontology) to SNOMED CT mapping for the 38 terms in [GMSWGSGuideHPOTermsVS](ValueSet-GMSWGSGuideHPOTermsVS.html) - see [Questionnaire-GMSWGSRareDisease](Questionnaire-GMSWGSRareDisease.html)'s `NOS/HPOTerm` item. Built against the Genomics England terminology server (https://re-docs.genomicsengland.co.uk/terminology_server/, `https://ontoserver.aws.gel.ac/fhir`), HPO release `20191108`. That server only publishes a **SNOMED CT to HPO** `ConceptMap` (`sct-to-hpo`) by name, but does support querying it in the HPO-to-SNOMED direction directly via `ConceptMap/sct-to-hpo/$translate?...&reverse=true` - see [nw-gmsa/Testing notebook 13](https://github.com/nw-gmsa/Testing/blob/main/notebooks/13-snomed-to-hpo-genomic-clinical-indication.ipynb), which uses the same server and surfaced this parameter. An initial pass of this ConceptMap missed that: it instead found a candidate SNOMED CT concept for each HPO term (`ValueSet/$expand` free-text search under the Clinical finding (`404684003`) subtree) and forward-verified it through `ConceptMap/sct-to-hpo/$translate` in the SNOMED-to-HPO direction - which undercounted, since a genuinely-mapped HPO term can have a mapped SNOMED code that isn't the one a text search happens to surface (e.g. Cataract *is* mapped, to SNOMED `128306009`, not the `193570009` a plain text search returns first). This version instead queries `reverse=true` directly for every HPO code, with the `equivalence` value taken directly from that server response (`equivalent` in every case found). **27 of the 38 terms resolved this way; the remaining 11 do not appear in the server's `sct-to-hpo` map even via `reverse=true`** - so these are genuinely absent from the server's curated map, not an artefact of the search methodology. Rather than assert an unverified equivalence, unresolved terms are recorded below with `equivalence = unmatched` and no target code. |
No resources found
| CodeSystem | ||
| hl7.fhir.uv.xver-r4.r4b#0.1.0 | sct | SNOMED CT (all versions) |
Note: links and images are rebased to the (stated) source
Generated Narrative: ConceptMap GMSWGSGuideHPOTermsToSCT
Mapping from http://purl.obolibrary.org/obo/hp.owl to (not specified)
Mapping from http://purl.obolibrary.org/obo/hp.owl|20191108 to http://snomed.info/sct|http://snomed.info/sct/83821000000107/version/20240605
| Source Code | Relationship | Target Code |
| HP:0001639 | is equivalent to | 233873004 |
| HP:0001644 | is equivalent to | 399020009 |
| HP:0001638 | is equivalent to | 85898001 |
| HP:0002721 | (not mapped) | |
| HP:0040088 | (not mapped) | |
| HP:0005368 | (not mapped) | |
| HP:0012647 | (not mapped) | |
| HP:0000518 | is equivalent to | 128306009 |
| HP:0000556 | is equivalent to | 314407005 |
| HP:0007754 | (not mapped) | |
| HP:0005562 | is equivalent to | 253883006 |
| HP:0001407 | is equivalent to | 85057007 |
| HP:0002342 | is equivalent to | 61152003 |
| HP:0002187 | is equivalent to | 31216003 |
| HP:0010864 | is equivalent to | 40700009 |
| HP:0001263 | is equivalent to | 224958001 |
| HP:0001290 | (not mapped) | |
| HP:0001508 | is equivalent to | 54840006 |
| HP:0001999 | is equivalent to | 112630007 |
| HP:0001939 | (not mapped) | |
| HP:0000252 | is equivalent to | 1829003 |
| HP:0000256 | is equivalent to | 19410003 |
| HP:0000098 | is equivalent to | 248328003 |
| HP:0004322 | (not mapped) | |
| HP:0002652 | (not mapped) | |
| HP:0000365 | is equivalent to | 15188001 |
| HP:0003560 | is equivalent to | 73297009 |
| HP:0003198 | is equivalent to | 129565002 |
| HP:0002486 | is equivalent to | 3434004 |
| HP:0009830 | is equivalent to | 302226006 |
| HP:0100543 | (not mapped) | |
| HP:0001257 | is equivalent to | 221360009 |
| HP:0002072 | (not mapped) | |
| HP:0001332 | is equivalent to | 15802004 |
| HP:0001251 | is equivalent to | 20262006 |
| HP:0001272 | is equivalent to | 95646004 |
| HP:0001321 | is equivalent to | 16026008 |
| HP:0001250 | is equivalent to | 91175000 |
{
"resourceType": "ConceptMap",
"id": "GMSWGSGuideHPOTermsToSCT",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "https://fhir.nwgenomics.nhs.uk/ConceptMap/GMSWGSGuideHPOTermsToSCT",
"version": "2.2.0",
"name": "GMSWGSGuideHPOTermsToSCT",
"title": "GMS WGS Guide HPO Terms to SNOMED CT",
"status": "draft",
"experimental": true,
"date": "2026-09-15T07:27:45+00:00",
"publisher": "NHS North West Genomics",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "https://www.nwgenomics.nhs.uk/contact-us"
}
]
}
],
"description": "HPO (Human Phenotype Ontology) to SNOMED CT mapping for the 38 terms in\n[GMSWGSGuideHPOTermsVS](ValueSet-GMSWGSGuideHPOTermsVS.html) - see\n[Questionnaire-GMSWGSRareDisease](Questionnaire-GMSWGSRareDisease.html)'s\n`NOS/HPOTerm` item.\n\nBuilt against the Genomics England terminology server\n(https://re-docs.genomicsengland.co.uk/terminology_server/,\n`https://ontoserver.aws.gel.ac/fhir`), HPO release `20191108`. That server\nonly publishes a **SNOMED CT to HPO** `ConceptMap` (`sct-to-hpo`) by name,\nbut does support querying it in the HPO-to-SNOMED direction directly via\n`ConceptMap/sct-to-hpo/$translate?...&reverse=true` - see [nw-gmsa/Testing\nnotebook 13](https://github.com/nw-gmsa/Testing/blob/main/notebooks/13-snomed-to-hpo-genomic-clinical-indication.ipynb),\nwhich uses the same server and surfaced this parameter. An initial pass of\nthis ConceptMap missed that: it instead found a candidate SNOMED CT concept\nfor each HPO term (`ValueSet/$expand` free-text search under the Clinical\nfinding (`404684003`) subtree) and forward-verified it through\n`ConceptMap/sct-to-hpo/$translate` in the SNOMED-to-HPO direction - which\nundercounted, since a genuinely-mapped HPO term can have a mapped SNOMED\ncode that isn't the one a text search happens to surface (e.g. Cataract\n*is* mapped, to SNOMED `128306009`, not the `193570009` a plain text search\nreturns first). This version instead queries `reverse=true` directly for\nevery HPO code, with the `equivalence` value taken directly from that\nserver response (`equivalent` in every case found).\n\n**27 of the 38 terms resolved this way; the remaining 11 do not appear in\nthe server's `sct-to-hpo` map even via `reverse=true`** - so these are\ngenuinely absent from the server's curated map, not an artefact of the\nsearch methodology. Rather than assert an unverified equivalence,\nunresolved terms are recorded below with `equivalence = unmatched` and no\ntarget code.",
"jurisdiction": [
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "GB",
"display": "United Kingdom of Great Britain and Northern Ireland"
}
]
}
],
"sourceUri": "http://purl.obolibrary.org/obo/hp.owl",
"group": [
{
"source": "http://purl.obolibrary.org/obo/hp.owl",
"sourceVersion": "20191108",
"target": "http://snomed.info/sct",
"targetVersion": "http://snomed.info/sct/83821000000107/version/20240605",
"element": [
{
"code": "HP:0001639",
"target": [
{
"code": "233873004",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001644",
"target": [
{
"code": "399020009",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001638",
"target": [
{
"code": "85898001",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0002721",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0040088",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0005368",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0012647",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0000518",
"target": [
{
"code": "128306009",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0000556",
"target": [
{
"code": "314407005",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0007754",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0005562",
"target": [
{
"code": "253883006",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001407",
"target": [
{
"code": "85057007",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0002342",
"target": [
{
"code": "61152003",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0002187",
"target": [
{
"code": "31216003",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0010864",
"target": [
{
"code": "40700009",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001263",
"target": [
{
"code": "224958001",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001290",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0001508",
"target": [
{
"code": "54840006",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001999",
"target": [
{
"code": "112630007",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001939",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0000252",
"target": [
{
"code": "1829003",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0000256",
"target": [
{
"code": "19410003",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0000098",
"target": [
{
"code": "248328003",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0004322",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0002652",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0000365",
"target": [
{
"code": "15188001",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0003560",
"target": [
{
"code": "73297009",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0003198",
"target": [
{
"code": "129565002",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0002486",
"target": [
{
"code": "3434004",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0009830",
"target": [
{
"code": "302226006",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0100543",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0001257",
"target": [
{
"code": "221360009",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0002072",
"target": [
{
"equivalence": "unmatched"
}
]
},
{
"code": "HP:0001332",
"target": [
{
"code": "15802004",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001251",
"target": [
{
"code": "20262006",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001272",
"target": [
{
"code": "95646004",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001321",
"target": [
{
"code": "16026008",
"equivalence": "equivalent"
}
]
},
{
"code": "HP:0001250",
"target": [
{
"code": "91175000",
"equivalence": "equivalent"
}
]
}
]
}
]
}