Disclaimer: This plug-in was written
and documented by students who are longer at Stanford. Although the
documentation may be helpful, it is somewhat outdated and may not accurately
reflect the current appearance of the UMLS Tab due to bug fixes added by the
The National Library of Medicine (NLM) sets up the
Unified Medical Language System (UMLS). UMLS develops and distributes
multi-purpose electronic "Knowledge Sources" and associated lexical programs.
The UMLS sources are quite useful for users to set up their knowledge base in
medical domain. All of the concepts, terms, and semantic types in the UMLS come
from lots of sources. In the UMLS Tab, users can query directly through the UMLS
Knowledge Source server.
To learn more about the UMLS, please visit:
The UMLS Tab is designed to query the UMLS directly
through UMLS Knowledge Source Server. The UMLS Tab is a customized interface
- Viewing a remote knowledge base within Protégé
- Directly annotating an ontology in Protégé with information from the
remote knowledge base
- Searching UMLS sources by term name
- Creating new Protégé classes and instances with UMLS content
- New instances and classes can be created in Protégé and slot values can be
added by directly importing search results from the UMLS Knowledge Source
- The knowledge in the table and relation display can be navigated easily
- UMLS content can be added selectively to Protégé
are using Protégé to develop a knowledge base for breast cancer information. The
Unifed Medical Language System (UMLS) contains a lot of information that the
user would like to include in the knowledge base. You would like to be able to
query that information and selectively include it in the knowledge base that you
are developing. We will illustrate a sample process below:
Layout: general layout of the UMLS tab
The tab has four parts:
- Search text and specification pane is in the upper left
of the screen. User can start their search by typing strings in the textfield
and choosing suitable search specifications such as approximate or exact
match, sources and maximum number of returned results.
- Presearch results pane is below the search text and
specification part. The presearch results are displayed in a table. The
results that match the query best are shown first. If a user single-clicks on
one of the rows in the table, the detailed information about that entry will
be shown in the result part. If a user double-clicks on one row in the table,
a new search will be actived with th selected entry as the search term.
The undo and redo buttons and the progress bar are located between the search
text part and presearch result part. The progress bar shows which fraction of
the search process has been completed.The undo and redo buttons display the
saved results of earlier or later searches without invoking the search itself.
This allows the user to avoid unnecessarily repeating a search and save time.
- Search result pane is located in the central part of the
tab. It consists of several tabbed panes. Each pane is used to display one
property of the selected term, for example a definition or a list of synonyms.
There are several small icons on each tabbed pane, such as slot, class and
instance icons. If you click one of the icons, the selection in the
tabbed pane will be added to the knowledge base as slot, class, or instance
respectively. There are two icons on the right top of the series of tabbed
panes. These icons allow you to add the information in all the panes as a
single class or a single instance. Class icon will add search result item as a
class with all available slot values from relation display in each tabbed
pane. Instance icon will add search result item as an instance with all
available slot values.
- Knowledge-base View is located in the right of screen.
The knowledge-base view allows you to view the current state of Protege
knowledge base. There are two tabs in this part: classes view and instances
view. The Classes View allows you to view the class hierarchy and the Instance
View displays the instances in the knowledge base.
Searching for the term "Breast
Creating Classes and Instances
- Type "breast cancer" in the search field and check Approximate Match to
look for substring matches. Set maximum number of returned values to 100.
- Press enter or click on the search button.
- Closely matched terms are shown in the table, and the detailed information
for the first term in the table is shown in the center pane.
In the center
pane, subclasses of breast cancer are shown in a tree.
To create classes
or instances using these terms, select terms from tree. If you want to import
these terms as classes, select the desired superclass in the Classes View and
click the Class icon . If you want to import
these terms as instances, select the direct type in the Instances View and click
the Instances button .
Changing the Search
If you would like to see only the exact matches
as the result of your search, uncheck the Approximate match checkbox. When the
search is performed, a progress bar is updated to indicate the current status of
Creating a Class with all of the Available
After the search is done, choose Classes View in the
Click on class icon (with right arrow sign >) on the upper right in the center part. The "breast
cancer" class has been created with the all slots which are defined in the first
search. The slot values for the selected "breast cancer" class are filled in
according to search result.
Viewing the Newly Created Class
the classes View panel on the right, click on the V(iew) button to see the
selected "Breast Cancer" class. The detailed information for "Breast Cancer" is
shown. All slot values were filled in using search results.
Many people report problems connecting to the UMLSKS
servers in the form of remote or connect exceptions. Examples of what these
exceptions might look like are:
Operation timed out: connect
Connection refused; invalid client IP address
connect, verify that you've completed the following things:
It's also possible that the UMLSKS system may be down for
maintenance or be encountering problems. If the UMLSKS is encountering problems,
you can contact them and notify them of
- You're a registered UMLSKS user. If you aren't, request an account on the
home page of the UMLSKS Web
- You've added your IP address to your account profile on the UMLSKS Web
site. Instruction for doing this are as follows:
- Go to the UMLSKS Web
- Login to their site using your UMLSKS LoginID and password.
- Click on the Views/Profiles link on the navigation bar that runs along
the top of the page.
- Add your static IP address to the "IP Address(es)" text area.
- Click Update Changes to save your changes.
- If you're running from behind a firewall, confirm that the firewall is
configured to allow outside connection to the default RMI service port of
XML Parser Exceptions
have reported seeing the following XML parser exception using the UMLS Tab with
Protégé 1.8 and JDK 1.4:
1.4 comes with its own XML parser which can conflict with the XML parser that
comes with the UMLS Tab. To workaround this problem, create a directory called
"endorsed" in the Protege-2000\jre\lib directory. Put the XML parser that comes
with the UMLS Tab (called thirdparty.jar) into the endorsed directory. To read
more about why this is necessary, see the documentation on the JavaSoft Web site.
that we've tested the official Protégé 1.9 release (which requires and supports
JDK 1.4) and we are no longer able to reproduce this
The UMLS Tab doesn't
allow you to specify which version of Metathesaurus data to query via the User
Interface. As a workaround, we've provided an additional property in the
Protege-2000.lax file called "UMLSTab.dbyear" that allows you to specify the
desired Metathesaurus release number. The default value is 2003AA. A list of
release numbers can be found in the documentation section of the UMLS Information Web