UMLS REST Services
From NCBO Wiki
Overview
The NCBO UMLS REST Service has the ability to query all of the UMLS Metathesaurus with both CUIs and AUIs. These research services now support use of a CUI for all REST services that receive an identifier. Given that this is only an initial prototype implementation, please consume them with that in mind.
NOTE: The stand-alone UMLS REST services are discontinued. UMLS terminologies can be accessed via the BioPortal REST web services listed at: BioPortal REST services. If you do not see your terminology of interest, contact BioPortal Support to request that the terminology be loaded or for any questions.
Web Service API
Notice that with the URL structure, switching between children, parent, and path REST service calls is as simple as changing one simple keyword. Similarly, changing a AUI call to a CUI call is as simple as swapping the identifier.
For clarity, I’ve listed all the UMLS services below with samples.
1) /umls - List all SABs (i.e., vocabularies) in UMLS - Tenatively, I’ve simply listed the SAB names. However, the data representation can easily accommodate meta-data for each SAB/vocabulary.
http://ncbolabs-nk2.stanford.edu:8080/umls
2) /umls/{SAB} – Get the root concept for the specified SAB
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT
http://ncbolabs-nk2.stanford.edu:8080/umls/ICD9CM
3) ./umls/concept/{SAB}/{AUI or CUI} – Get the concept in the specified SAB and with the specified AUI or CUI
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A3577576
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A3818834
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A2895444
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/C0005388
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/C1623497
4) ./umls/{SAB}/{AUI or CUI}/children – Get all direct children of the concept in the specified SAB and with the specified AUI or CUI
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A3684559/children
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A2895444/children
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/C0037414/children
5) ./umls/{SAB}/{AUI or CUI}/parents – Get all direct parents of the concept in the specified SAB and with the specified AUI or CUI
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A3471356/parents
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A2895444/parents
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/C0005388/parents
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/C0037414/parents
6) ./umls/{SAB}/{AUI or CUI}/path – Get the parent concepts (AUIs) path to the root node for the concept in the specified SAB and with the specified AUI or CUI
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/C0005388/path
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A3774012/path
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/A10874433/path
7) ./umls/{SAB}/search/{Keyword} – Find all concepts in the specified SAB that contains the specified Keyword.
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/search/bladder
8) ./umls/{SAB}/search/{Keyword}/{Start Index}/{Count} – Find all concepts in the specified SAB that contains the specified Keyword starting at result record Start Index with Count records returned.
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/search/bladder/0/100
http://ncbolabs-nk2.stanford.edu:8080/umls/SNOMEDCT/search/liver/0/20
Things to Polish
There are number of practical things that require further attention. The list includes, but is not limited to, the following:
- Conversion of search and subset parameters to be URL parameters instead of part of the URL structure (search and subset parameters are not part of the REST information model).
- Implementation of standard HTTP error codes (e.g., for unknown resource request errors)
- Ongoing adjustments to the SQL queries to improve accuracy. These UMLS REST Services are still considered research and require further fine-tuning and adjustments to validate accuracy.
- Optimization of SQL queries
- Search refactoring to improve response time and capability. A Lucense back-end implementation would serve the search REST services well.
- Merging with ongoing NCBO UMLS research advancements.
- Refactoring of security model.
Please do let us know if you have any feedback regarding these UMLS REST web services (support@bioontology.org).
