Welcome to http://phpUMLS.sourceforge.net
phpUMLS
Action: Converts raw strings to UMLS concept ID.
Eg.,
input: nasolabial fold right
output: C0221328 C0205090
Important note:
There are two independent source codes in the phpUMLS package:
1. the phpUMLS PHP scripts (GPL)
2. the UMLS MetaThesaurus API (ks -- public domain)
In order to use phpUMLS, you must be a registered user of UMLS (free). You may join by clicking here.
How It Works:
- The PHP script accepts text input ($raw_string).
- $raw_string undergoes several transformations (change to lowercase, remove stopwords, assign each word to an array variable)
- The array is passed through an algorithm one word at a time
- the KS API checks if the word exists in UMLS
- if it exists, the KS API normalizes the word (eg., 'naso' to 'nasal')
- if it does not exist, it is ignored
- once normalized, the word is passed through the KS API again to get its unique ID
- result is saved as an array $concept_id ready for formatting as you deem fit
Author's note: this solution is by no means the only way to access the UMLS MetaThesaurus. Other solutions like Perl, Python, etc may also be used (and in some cases, may even be better). The key is to be able to encapsulate the service effectively so it can be accessed externally. Suggestions on how to improve the script are most welcome (also developers!) Note that the very meat of this script would be the algorithm for accessing the KS API. I would appreciate help in that area as well.
Contact: Alvin Marcelo
|