I.

An Implementation of UMLS and XML for querying and retrieving information

Tung Tranα, Hwa Sun Kimα, Hyung Hoi Kimβ, Hune Choα

αDepartment of Medical Informatics, Kyungpook National University, Daegu, 700-422, hunecho@knu.ac.kr                                βDepartment of Clinical Pathology and Laboratory Medicine and Pusan National University

Abstract: In general, hospital information systems are operated independently. However, the health data sharing will enable them to make significant strides towards to improving patient safety, reducing error rates, lowering administrative costs, etc. In order to share health data, clinical applications need to adopt the same clinical vocabularies and the same ways of the transmitting that information.  The Unified Medical Language System (UMLS) regularly distributes a set of biomedical vocabularies to the research community. The UMLS data set is very rich, and applications may not require all of the Metathesaurus. Moreover, the Extensible Markup Language (XML) is a newly adopted Internet protocol for data interchange, and tree-type Document Object Model (DOM) is used for extracting data from relational database. In this study, we describe an architecture using Java, XML technologies and XML schema in order to exchange disease and syndrome concepts fast, reliable, flexible and extensible UMLS  data retrieval system.

Keyword: Unified Medical Language System, Extensible Markup Language, Document Object Model

INTRODUCTION

Today, the obtaining information linking clinical actions is the costs of health care. Clinicians and health care managers require the specific tools such as computerized patient records, electronic medicalrecords, electronic health records, etc. But they are insufficient, because the methods of representing and communicating health data are missing.

The complexity of the language is very eclectic, ambiguous, and redundant idioms. Thus, the clinical applications are available having restricted because they cannot understand each other. Therefore, medical vocabulary server was created to support the exchange of patient data and medical decision logic.

Figure 1. J2EE Application Scenarios

The UMLS is large and complex and presents significant challenges in retrieving information in a comprehensive way. In this study, we focus subsets of diseases. Thus, we select subsets of the data available in Metathesaurus such as, Unified Medical Language System (UMLS), the International Classification of Diseases - Ninth Revision - Clinical Modification (ICD-9-CM), and the International Classification of Diseases –Tenth Revision - Australian Modification (ICD-10-AM). We built the API, which provides function using XML document for querying UMLS Source Information from the vocabulary server [1, 2, 3, 4].

II.  MATERIALS AND METHODS

1. J2EE technologies

Java enterprise technologies with the J2EE provide standard in order to promote a model that anticipates growths, encourages component- oriented ode reusability, and leverage strengths of inter-tier communication [5, 6].

We developed interfaces to retrieve UMLS data content –a Java Remote Method Invocation (RMI)-based mechanism and a TCP/IP socket-based mechanism. The Java RMI package allows client applications to make method calls from directly within their Java programs. The TCP/IP socket-based mechanism can be used with any programming language [7, 8].

2. Document Object Model (DOM)

A Documen tObject Model is a garden-variety tree structure, where each node contains one of the components from an XML structure. The two most common types of nodes are element nodes and text nodes. A unit of XML data, it is delimited by tags. For example, in the XML structure, "<slideshow> </slideshow>", the <slideshow> is an element node. Using DOM functions lets you create nodes, remove nodes, change their contents, and traverse the node hierarchy. Moreover, we can construct a DOM by parsing an existing XML file, display and inspect DOM hierarchy, convert the DOM into a user-friendly JTree.

The DOM can handle XML documents as a tree structure of elements embedded within other elements. Whit using DOM, we can create XML document, navigate its structure, and add, and modify, or delete its elements. Therefore, we use DOM for handling data that is extracted from relational database and generate to XML document for exchanging [9].

3. XML Schema

XML gained vast popularity in both the research community and the IT industry in the past several years. Initially, XML was designed for exchange of information recorded in the electronic documents. Due to its generic design and high portability across heterogeneous environments, XML is especially suitable for information exchange over the Internet. With the use of XML, information exchange is made possible across different storage platform. Many applications retrieve data from the database to generate XML documents and import data into XML documents for multi-purposes such as exchanging information, hierarchical data representation, etc. In order to achieve portability and flexibility, XML defines a common schema that all documents participating in the information exchange must follow. XML schema express shared vocabularies and allow machines to carry out rules made by people. They provide a means for defining the structure, content and semantics of XML documents. Like all XML schema languages, XML Schema can be used to express a schema: a set of rules to which an XML document must conform in order to be considered 'valid' according to that schema. However, unlike most other schema languages, XML Schema was also designed with the intent of validation resulting in a collection of information adhering to specific datatypes. We designed XML schema within "concept_definition" data type and semanticTypeDefinition for XML structure to store data collection. The MetaCollection element contains release (UMLS version) and concept (UMLS concept and its structure). Each concept consists of concept identify, concept description, relationship terminologies such as ICD-9-CM, and ICD-10-AM, and child concepts.

Figure 2. XML schema to generate XML document of information collections

4. Hierarchical structure

In Metathesaurus, the file MRHIER.RRF contains hierarchy or context. This file provides a complete and compact representation of all hierarchies present in all Metathesaurus [10]. But we only need hierarchy or context that involve diseases. Thus, we select all of rows involving disease context. The system uses XML document for describing data for each the Knowledge Sources. XML provides a platform-independent form for representing hierarchical data like those of the Knowledge Source.

The figure 3 describes sending XML request and receiving XML reply mechanism. User input string in order to query concept from UMLS server. Client generate XML request including searched string and then connect to server using TCP/IP socket. After establishing connection between client and server, client sends XML request to server. Whenever server receives XML request, it will parse XML file and search in Metathesaurus information that client query. Then, server generates results into XML document and send back client. Finally, client retrieves XML document reply, parse XML document and represents information following hierarchy structure.

Figure 3. XML request using TCP/IP Socket

5. Lexical tools

In additional, we use UMLS lexical tools in order to provide the lexical information needed. The lexical tools are good for:

Aggressive text pattern matching

Making word, term and phrase indexes.

Matching queries with indexed entries

Increasing recall and/or precision.

We use NormApi() and WordInd() of UMLS lexical tools to build an index. NormApi() will output normed terms, and WordInd() build words index from normed terms. Server collects data from Metathesaurus based on words index [11].

Fig. 5. Using lexical tools to build words index and a list UMLS Concept IDs.

III. RESULTS

1. XML request

In order to retrieve data from server, we use an XML document that describes a request for some subsets of data from server database. An example of query document are described below using regular expression syntax [4].

Fig 6. XML query is represented following regular expression syntax.

2. XML result

After receiving request from client, server parse XML document and select data from database. Then, server generates result and sends back to client. In the result, XML document represents the hierarchical data, concept identify, and description, etc.

3. Client retrieves and represents data

Fig 7. XML query is represented following regular expression syntax.

Fig. 8. Client represents data

IV. CONCLUSION

The suite of application described here offers a means to create and implement structured querying and retrieving disease code. Application use open technologies of XML to integrate UMLS concepts, ICD-9-CM codes, and ICD-10-AM codes. XML enables the delivery of self-describing data structures of arbitrary depth and complexity. The current system employs client-server using XML document for querying and retrieving data. Thus, the client can written by other programming languages that support interoperates within XML document.

This study suggests a promising approach to improving precision by choosing small subsets of UMLS source vocabularies. Using XML document to query and retrieve metadata information providing access to UMLS data can be incorporated easily into programs written in any language. In the future, we are extending the system in order to provide more various representations of the data such as making mapping between UMLS and Korean Classification Disease (KCD4).

ACKNOWLEGMENTS

This work was supported by grant No. (R-2006-000-10009-0) from the Basic Research Program of the Korea Science & Engineering Foundation.

REFERENCES

Y. Huang, MS, H. J. Lowe, MD, W. R. Hersh, MD, A Pilot Study of Contextual UMLS Indexing to Improve the Precision of the Concept-based Representation in XML- sructured Clinical Radiology Reports, J Am Med Inform Asso, vol. 10, pp 580-587, 2003

A. Bangalore, K. E. Thron, C. Tilley, P. Lee, The UMLS Knowledge Source Server: An Object Model For Delivering UMLS Data, AMIA Symposium Proceedings, pp 51-55, 2003

Current release documentation for the Unified Medical Language System – 2006AA http:// ww.nlm.nih.gov/research/umls/documentation.htm

Developer’s Guide - Using the XML Query Facility Chapter 4, http://umlsks.nlm.nih.gov/

P. J. Perrone, V. S. R. Krishna, R. Chaganti, Building Java Enterprise Systems with J2EE First Edition, Sams publishing, June 07, 2000

I. Singh, B. Stearns, M. Johnson, and the Enterprise Team, Addison-Wesley, March 2002

B. Bill, L. Sacha, M. H. Richard, Enterprise Java Beans fourth Edition, O’Reilly, June 2004

V. Matena, S. Krishnan, L. DeMichiel, B. Stearns, Addison-Wesley, May 30, 2003

Document Object Model (DOM), http://www. 3schools.com/dom

UMLS Metathesaurus, http://www.nlm.nih.gov/ esearch/umls/meta2.html

Lexical tools, http://lexsrv3.nlm.nih.gov/PECIA IST/index.html