LexEVS is the central EVS terminology server, developed by the Mayo Clinic with NCI and other support.LexEVS provides a common terminology model and open access to a wide range of terminologies, terminology value sets, and cross-terminology mappings needed by NCI and its partners. For users wanting to install and run a local instance of LexEVS, the LexEVS server package provides a comprehensive set of software and services to load, publish, and deploy vocabulary in a variety of web-enabled and grid environments. The LexEVS API serves users who want programmatic access to the data made available by LexEVS.
LexEVS 6.1 is the current embodiment of work started under the LexBIG project (LexGrid Vocabulary Services for caBIG®). This technology was adopted as the strategic infrastructure for the caBIG® community and NCI's Enterprise Vocabulary Services (EVS).
NCI's EVS is a big user of the LexEVS services, but there are many others (see ). You can consume controlled terminologies hosted by NCI's EVS without setting up your own servers to do so. Seeing what NCI has done with EVS is a good way to learn about what LexEVS can do. Refer to the EVS Wiki for further information.
LexEVS provides a collection of programmable interfaces, affording users and developers open access to either controlled terminologies available from the NCI EVS Project or their own terminologies. NCI's installation of LexEVS is not only a tool for the community to use, but also an example of what developers can build their own organization. By building an installation of LexEVS, an organization can control the content and have any set or subset of terminologies and mappings. One installation can be used by multiple applications in an enterprise.
LexEVS includes the following components:
- Terminology Server - An enterprise level terminology server
- Java API - A Java interface based on the LexGrid Object Model
- CTS2 1.0 compliant REST interface
- REST/HTTP caCORE Interface - Offers basic HTTP based query mechanism from which results are returned in either XML or HTML formats
- SOAP/Web Services Interface - Provides a programming language neutral Service-Oriented Architecture (SOA)
- Distributed API - A Java interface based on the LexGrid data model and relies on a LexEVS Proxy and Distributed LexEVS Adapter to provide remote clients access to the native LexEVS API
- LexEVS Grid Services - An interface which uses the caGRID infrastructure to provide access to the native LexEVS API via the caGRID Services
- Developers GUIs - Server administration, query testing, and value set development can be performed by a developer
The name LexEVS highlights the merging of LexGrid, LexBIG, and EVS technologies and designates an entire suite of applications. In this suite, LexGrid is the underlying model for standard storage of controlled vocabularies and ontologies. The LexBIG API is the set of services that EVS adapters use to store and retrieve terminology metadata. LexEVS APIs are a combination of convenience methods and the LexBIG API (combining LexBIG and the EVS adapters into one set of services). For detailed information, refer to the LexEVS architecture overview.
After you have a chance to get familiar with the LexEVS suite, consider looking through the LexEVS 6.1 Functionality Overview. This lays out everything that can be done from a developer's or ontologist's point of view.
Installation and Downloads
The LexEVS 6.1 Installation Options identify the download files for each LexEVS environment that can be installed (Local Runtime, Distributed, and Grid Services).
The LexEVS Widget Library lists many widgets that have been developed for use by particular customers. These widgets have been found to be potentially useful to a wider audience. Each widget has a description for you to use in deciding if you'd like to dig deeper and find out the usefulness of the widget in your application.
NCI DOWNLOAD DISCLAIMER: The Subversion code repository may have code branches that support the functionality you are looking for. Support is not provided for code branches outside the versions posted on this tool summary page page. You should be aware that branches in Subversion may not be included in future versions of the tool. If you incorporate unsupported code into your local instance, you may encounter difficulties when migrating your instance to a future official version or when upgrading your tool should future tool versions be released.
Forum and Support
LexEVS Issues and Discussion
Users and developers can report and discuss issues regarding the LexEVS application on it's GitHub site.
What's New in LexEVS 6.1 (Includes CTS2 Compliant API)
Standards for terminology service interoperability have long been a goal of standards organizations. With Common Terminology Services Release 2, two standards organizations, Health Level 7 and the Object Management Group have jointly released both a comprehensive standard and a specification and done so under a structured operating agreement designed to provide workable standards to the community of users. At the same time, as a single Java API, LexEVS has become perhaps the most comprehensive terminology service API in the ontology world. This release of LexEVS focuses on wrapping a CTS2 compliant REST service over the LexEVS API. This CTS2 compliant wrapper provides core support of the Common Terminology Service - Release 2 functionality as described in the OMG CTS2 specification
CTS2 References on this Wiki
Also included in this package:
- Bulk download
- Global Search of terminology service
- Loader written to load HL7 MIF content into LexEVS.
- Loader written to load native MedDRA content to LexEVS.
- OWL2 loader written to load NCIT OWL2 content into LexEVS.
- Resolved ValueSet loader written to allow for the persisting of resolvedValueSet content.
- Bug fixes
Presentations, Demos, and Other Materials
CTS2 Tutorial (Note: this is a github respository -- clone or download as a zip at the site)
HL7 Working Group Meetings
Pheonix AZ, January 2013
Atlanta, GA April 2013
Refer also to LexEVS Presentations.
- Query Service with Program Examples, included in the LexEVS base installation. Both Lexical Set Operations and Graph Operations are included for common vocabulary functions using a sample vocabulary and CodedNodeSet. This is described in the LexEVS 6.x Installation Guide.
- Example Programs and Verification Test Suite, included in the LexEVS base installation. The Example Programs provide a limited interactive demonstration of LexEVS capabilities. Both are explained in the LexEVS 6.x Installation Guide.
- LexEVS Example Code zip file. These are code examples for subjects of frequently asked questions such as creating a coded node graph using the LexBIG convenience methods.
Documentation and Training
- LexEVS 6.1 Release Notes
- LexEVS 6.x Installation Guide - outlines the supported configurations and technical installation instructions for LexEVS Vocabulary Services
- LexEVS 6.x Administration Guide - outlines the environment configuration from the perspective of an existing installation
- LexEVS 6.x Programmer's Guide - explains the LexEVS API (services, extensions, utilities, and GUI); also many related APIs
- LexEVS 6.x Design and Architecture Guide - explains the LexGrid model and the LexBIG services
- LexEVS 6.x Value Set and Pick List Definition Guide - explains the LexEVS 6.x Value Set and Pick List Definition documentation
- LexEVS 6.x Loader Guide -- intended for a LexEVS developer and provides information about the loaders provided, mapping, and how to create your own loaders using the loader framework
- LexEVS 6.x OWL Export Guide - explains the steps necessary to export content in OWL/RDF format
- LexEVS 6.0 Javadocs download - has several parts to consult depending on what you are looking for. One download includes all the Javadocs.
- The Grid Data Service for LexEVS sits behind a caGrid interface. Most users do not reach this service via the Java API and in fact only a single method in the caGrid API is of interest. It can be found in the Grid Data Service Implementation.