- Version Number and Release Date: v6.0.4 April, 2012
- Primary audience: System administrators (Server); Developers (API)
- Installation Level: Intermediate - technical assistance may be required, download may require supporting infrastructure or software
- System Requirements: Refer to Prerequisite Software and Supported Platforms.
Tool OverviewLexEVS 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.0 is the current embodiment of work started under the LexBIG project (LexGrid Vocabulary Services for caBIG®). This technology has been 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. 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 for 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
- REST/HTTP Interface - Offering basic HTTP-based query mechanism from which results are returned in either XML or HTML formats
- SOAP/Web Services Interface - Providing a programming language neutral Service-Oriented Architecture (SOA)
- Distributed API - A Java interface, based on the LexGrid data model and relying 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 - Allowing server administration, query testing, and value set development to be performed by a developer
The name LexEVS highlights the merging of LexGrid, LexBIG, and EVS technologies and designates an entire suite of tools. 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:LexEVS 6.0 Functionality Overview]. This lays out everything that can be done from a developer's or ontologist's point of view.
Installation and Downloads
The installation overview provides an introduction to the different environments that can be installed. Refer to the LexEVS 6.x Installation Guide for more information.
The LexEVS 6.0 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.
Forum and Support
- LexEVS FAQ
Please visit our FAQs especially if you are new to LexEVS.
- LexEVS End User forum
Forum for end users to discuss and submit support issues regarding the LexEVS application.
- LexEVS Developer forum
Forum for developers to discuss and submit support issues regarding the LexEVS API.
- LexEVS Documentation Feedback forum
Forum for all users to discuss and submit support issues regarding the LexEVS documentation.
- Bug Tracker for LexEVS
Please visit the LexEVS Jira project for bug and feature requests related to LexEVS.
- If you find the above mechanism are not going to work for you please contact Application Support (email).
LexEVS 6.0 is the latest release. This release focuses primarily on alignment with standards. Other significant functionality added, especially in the areas of authoring APIs, value sets, mappings, and exporters top the list of enhancements, is as follows:
Comprehensive support of the Common Terminology Services - Release 2 functionality as described in the Health Level Seven (HL7) CTS 2 Draft Standard for Trial Use (DSTU|)
Formerly posted at http://www.hl7.org/documentcenter/ballots/2009may/downloads/V3_CTS_R2_DSTU_2009OCT.pdf
- LexGrid Model and database updates to support CTS 2 (See LexEVS 6.x Information Models)
- Loader and data access layer changes to support CTS 2 functions
- Additional versioning and value set and picklist functionality to support CTS 2 functions (See LexEVS 6.x Value Set and Pick List Definition Guide)
- New OWL/RDF Exporter (See LexEVS 6.0 CTS2 Administration 2 - Export Operation API)
- XML exporter enhancements to provide filtered export of code system (See LexEVS 6.0 CTS2 Administration 2 - Export Operation API)
- New Authoring API services to support CTS 2 functions (See LexEVS 6.0 CTS2 Authoring 2 - Code System Authoring Operation API)
- New Query API services to support CTS 2 functions (See LexEVS 6.0 CTS2 Query 3 - Concept Domain Query Operation API, LexEVS 6.0 CTS2 Query 4 - Usage Context Query Operation API, LexEVS 6.0 CTS2 Query 5 - Value Set Query Operation API)
- Associations and mappings enhancements to support CTS 2 functions and user requirements (See LexEVS 6.0 CTS2 Authoring 1 - Association Authoring Operation API)
Migration for Previous Releases
For help with a migration from previous releases, refer to the LexEVS 6.x Migration Tips for 5.x Users. To see any of the previous releases, refer to the LexEVS roadmap.
Presentations, Demos and Other Materials
Refer 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.0 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:LexEVS 6.0 Installation Guide].
Code examples, LexEVS Example Code zip file available on GForge. 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.x Installation Guide - outlines the supported configurations and technical installation instructions for LexEVS Vocabulary Services for caBIG®
- 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.0 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 in SpringSource MVC Maven Project guide - shows how to use a local instance of LexEVS in a Spring 3.0.x MVC project and how to deploy it to a Tomcat server from within the SpringSource Tool Suite.
- LexEVS 6.0 Javadocs - There are several parts to the LexEVS Javadocs to consult depending on what you are looking for. To download any of the Javadocs, go to the Javadocs section on the downloads page. You will find one download including all the Javadocs.
- If you have a local application accessing a Local Runtime, view the Local Runtime Javadoc online.
- To interact with a LexEVS server that is hosting terminologies remotely, whether it be your own or the services at NCI, view the Distributed Javadoc online.
- If you are using the Grid Analytical Services, view the Grid Analytical Services Javadoc online.
- 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.
- No formal LexEVS Server training courses exist in the caBIG® Learning Management System (LMS) at this time
In the spirit of open source NCIP invites you to participate in the community. The contribution process is described in LexEVS Community Code Contribution. LexEVS source code is in NCI SVN..
Biomed GT Wiki
NCI Term Browser