UMLS Tab Documentation

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 Protégé team.

UMLS Introduction

UMLS Introduction

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 for: Tutorial

Suppose you 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:

View Layout: general layout of the UMLS tab

The tab has four parts: general layout of the umls tab

Searching for the term "Breast Cancer"

Creating Classes and Instances

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 Class.gif (934 bytes). If you want to import these terms as instances, select the direct type in the Instances View and click the Instances button instance.gif (928 bytes).

search for term breast cancer

Changing the Search Specifications

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 the search.

Creating a Class with all of the Available Information

After the search is done, choose Classes View in the right tab.

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.

change search specification

Viewing the Newly Created Class

In 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.

view newly created class


Connection Problems

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

java.rmi.RemoteException: Connection refused; invalid client IP address

To successfully connect, verify that you've completed the following things:

  1. You're a registered UMLSKS user. If you aren't, request an account on the home page of the UMLSKS Web site.

  2. You've added your IP address to your account profile on the UMLSKS Web site. Instruction for doing this are as follows:
    1. Go to the UMLSKS Web site.
    2. Login to their site using your UMLSKS LoginID and password.
    3. Click on the Views/Profiles link on the navigation bar that runs along the top of the page.
    4. Add your static IP address to the "IP Address(es)" text area.
    5. Click Update Changes to save your changes.

  3. 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 1099.
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 the problem.

XML Parser Exceptions

Some people have reported seeing the following XML parser exception using the UMLS Tab with Protégé 1.8 and JDK 1.4:

java.lang.AbstractMethodError: org.apache.xerces.jaxp.SAXParserImpl.getXMLReader()Lorg/xml/sax/XMLReader;

JDK 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.

Please note 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 exception.

UMLS Releases

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 site.