NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Scrollbar
iconsfalse

...

Page info
title
title

This document is intended for developers looking for more information regarding the LexEVS API.

...

Search Algorithm

Code Block

    Name: LuceneQuery
    Version: 1.0
    Description: Search with the Lucene query syntax.  
    See http://lucene.apache.org/java/2_3_2/queryparsersyntax.html

Search Algorithm

Code Block

    Name: DoubleMetaphoneLuceneQuery
    Version: 1.0
    Description: Search with the Lucene query syntax, using a 'sounds like' algorithm.  
    A search for 'atack' will get a hit on 'attack'  
    See http://lucene.apache.org/java/2_3_2/queryparsersyntax.html

Search Algorithm

Code Block

    Name: StemmedLuceneQuery
    Version: 1.0
    Description: Search with the Lucene query syntax, using stemmed terms.  
    A search for 'trees' will get a hit on 'tree'  
    See http://lucene.apache.org/java/2_3_2/queryparsersyntax.html

Search Algorithm

Code Block

    Name: startsWith
    Version: 1.0
    Description: Equivalent to 'term*' (case insensitive)

Search Algorithm

Code Block

    Name: exactMatch
    Version: 1.0
    Description: Exact match (case insensitive)

Search Algorithm

Code Block

    Name: contains
    Version: 1.0
    Description: Equivalent to '* term* *' - in other words - a trailing wildcard on a term 
    (but no leading wild card) and the term can appear at any position.

Search Algorithm

Code Block

    Name: RegExp
    Version: 1.0
    Description: A Regular Expression query.  Searches against the lowercased text, so a 
    regular expression that specifies an uppercase character will never return a match.  
    Additionally, this searches against the entire string as a single token, rather than 
    the tokenized string - so write your regular expression accordingly.  
    Supported syntax is documented here: 
    http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html

...

Programmers access coded concepts by acquiring first a node set or graph. After specifying optional restrictions, the nodes in this set or graph can be resolved as a list of ConceptReference objects which in turn contain references to one or more Concept objects. The following example provides a simple query of concept codes:

Include Page
ConceptResolution Snippet
ConceptResolution Snippet

Service Metadata Retrieval

The LexEVS system maintains service metadata which can provide client programs with information about code system content and assigned copyright/licensing information. Below is an brief example showing how to access and print some of this metadata:

Include Page
ServiceMetadataRetrieval Snippet
ServiceMetadataRetrieval Snippet

Combinatorial Queries

One of the most powerful features of the LexEVS architecture is the ability to define multiple search and sort criteria without intermediate retrieval of data from the LexEVS service. Consider the following code snippet:

Include Page
CombinatorialQueries Snippet
CombinatorialQueries Snippet

This example shows a simple yet powerful query to search a code system based on a 'sounds like' match algorithm (the list of all available match algorithms can be listed using the 'ListExtensions -m' admin script).

...

LexEVS conforms to the caCORE SDK API - for more information see caCORE SDK 4.1 Programmer's Guide.

QueryOptions

QueryOptions are designed to give the user extra control over the query before it is sent to the system. QueryOptions may be used to modify a query in these ways:

  1. 'CodingScheme' - Restricts the query to the specified Coding Scheme, instead of querying every available Coding Scheme.
  2. CodingSchemeVersionOrTag' - Restricts the query to the specified Version of the Coding Scheme. Note that:
    • This may NOT be specified without also specifying the 'CodingScheme' attribute.
    • If left unset, it will default to the version of the Coding Scheme tagged as "PRODUCTION" in the system.
  3. 'SecurityTokens' - Security Tokens to use with the specified query. These Security Tokens are scoped to the current query ONLY. An subsequent queries will also need to specify the necessary Query Options.
  4. 'LazyLoad' - Some high use-case model Objects have bee 'lazy-load' enabled. This means that some attributes and associations of a model Object may not be fully populated when returned to the user. This allows for faster query times. This defaults to false, meaning that all attributes and associations will be eagerly fetched by the server and model Objects will always be fully populated. To enable this on applicable Objects, set to true.

    Info
    titleNote

    Lazy Loading may only be used in conjunction with specifying a Coding Scheme and Version with the 'CodingScheme' and 'CodingSchemeVersionOrTag' attributes above.

  5. 'ResultPageSize' - the page size of results to return. The higher the number, the more results the system will return to the user at once. The client will request the next group of query results transparenly. This parameter is useful for performance tuning. For example, if a query returns a result of10,000 Objects, a 'ResultPageSize' of '1000' would make 10 calls to the server returning a page of 1000 results each time. If left unset, this value will default to the default set Page Size

...

Example 4.1: Query By Example with No Query Options

Include Page
QueryByExampleWithNoQueryOptions Snippet(Deprecated -- removed in 6.3)
QueryByExampleWithNoQueryOptions Snippet(Deprecated -- removed in 6.3)

The following table explains specific statements in the code by line number.

...

Example 4.2: Query By Example with Query Options

Include Page
QueryByExampleWithQueryOptions Snippet(Deprecated -- removed in 6.3)
QueryByExampleWithQueryOptions Snippet(Deprecated -- removed in 6.3)

The following table explains specific statements in the code by line number.

...

The Mayo Clinic wrote the LexEVS 5.0 API. Documentation describing the LexEVS Service Model is available on the LexGRID Vocabulary Services for caBIG GForge site at https://gforge.nci.nih.gov/frs/?group_id=14archive.

LexEVS Installation and Configuration

...

The following code sample shows use of the DLB API to retrieve the list of available coding schemes in the LexEVS repository.

Include Page

...

Resolve Coding Scheme
Resolve Coding Scheme

...

LexEVS Analytical Grid Service API

...

This Interface may be acquired by instantiating LexBIGServiceAdapter with the Grid Service URL as a parameter.

Include Page
LexBIGServiceAdapter Snippet
LexBIGServiceAdapter Snippet

Option 2, org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter also provides an interface for interacting with the LexEVS Grid Services. However, this Interfaces is the semantically defined interface. All method parameters and return values are defined and annotated as CDEs to be loaded into caDSR. This Interface is intended to be caGrid Silver Level Compliant.

This Interface may be acquired by instantiating LexBIGServiceGridAdapter with the Grid Service URL as a parameter.

Include Page
LexBIGServiceGridAdapter Snippet
LexBIGServiceGridAdapter Snippet

Method Descriptions

getCodingSchemeConcepts

...

Description:

Returns the set of all (or all active) concepts in the specified coding scheme.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification
org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.CodedNodeSet.stubs.types.CodedNodeSetReference

Exception:

RemoteException

Implementation Details:

Implementation:

  • Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.CodedNodeSet.
  • Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.LexBIGService.CodedNodeSet as a Resource. An org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.CodedNodeSetClient object is built from the above Reference.

    Sample Call:
  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build a org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); 
    csvt.setVersion("testVersion");
  3. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); 
    codingScheme.setCode(code);
  4. Invoke the LexBIG caGrid service as follows:

    Code Block
    CodedNodeSetGrid cns = lbs.getCodingSchemeConcepts(codingScheme, csvt); 

...

Description:

Returns an instance of the filter extension registered with the given name.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Filter.stubs.types.FilterReference

Exception:

RemoteException

Implementation Details:

Implementation:

  • Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.Extensions.Query.Filter
  • Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.Extensions.Query.Filter as a Resource. This client is a Service Context that allows the user to call regular org.LexGrid.LexBIG.Extensions.Query.Filter API calls through the grid service. An org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Filter.client.FilterClient object is built from the above Reference. This FilterClient implements the Interface org.LexGrid.LexBIG.Extensions.Query.Filter. This makes calling Grid Service Calls through org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Filter.client.FilterClient transparent to the end user.

    Sample Call:
  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification to hold the Extension name.

    Code Block
    ExtensionIdentification extension = new ExtensionIdentification(); 
    extension.setLexBIGExtensionName(name);
  3. Invoke the LexEVS caGrid service as follows:

    Code Block
    Filter filter = lbs.getFilter(extension);

...

Description:

Returns an instance of the sort extension registered with the given name.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.stubs.types.SortReference

Exception:

RemoteException

Implementation Details:

Implementation:

  • Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.Extensions.Query.Sort
  • Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.client.SortClient as a Resource. This client is a Service Context that allows the user to call regular org.LexGrid.LexBIG.Extensions.Query.Sort API calls through the grid service. An org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.client.SortClient object is built from the above Reference. This SortClient implements the Interface org.LexGrid.LexBIG.Extensions.Query.Sort. This makes calling Grid Service Calls through org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.client.SortClient transparent to the end user.

    Sample Call:
  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification to hold the Extension name.

    Code Block
    ExtensionIdentification extension = new ExtensionIdentification(); 
    extension.setLexBIGExtensionName(name);
  3. Invoke the LexEVS caGrid service as follows:

    Code Block
    Filter filter = lbs.getSortAlgorithm(extension);

...

Description:

Returns a description of all registered extensions used to provide additional filtering of query results.

Input:

none

Output

org.LexGrid.LexBIG.DataModel.Collections.ExtensionDescriptionList

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
     ExtensionDescriptionList extDescList = lbs.getFilterExtensions(); 

...

Description:

Return an interface to perform system-wide query over metadata for loaded code systems and providers.

Input:

none

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.LexBIGServiceMetadata.stubs.types.LexBIGServiceMetadataReference

Exception:

RemoteException

Implementation Details:

Implementation:

  • Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.LexBIGServiceMetadata
  • Return the LexBIGServiceMetadataClient to the user. This LexBIGServiceMetadataClient has the above org.LexGrid.LexBIG.LexBIGService.LexBIGServiceMetadata as a Resource. An org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.LexBIGServiceMetadataClient object is built from the above Reference.

    Sample Call:
  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
    LexBIGServiceMetadataGrid metadata = lbs.getServiceMetadata(); 

...

Description:

Return a list of coding schemes and versions that are supported by this service, along with their status.

Input:

none

Output:

org.LexGrid.LexBIG.DataModel.Collections.CodingSchemeRenderingList

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
    CodingSchemeRenderingList csrl = lbs.getSupportedCodingSchemes(); 

...

Description:

Return the last time that the content of this service was changed; null if no changes have occurred. Tag assignments do not count as service changes for this purpose.

Input:

none

Output:

java.util.Date

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
    Date date = lbs.getLastUpdateTime();

...

Description:

Return detailed coding scheme information given a specific tag or version identifier.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag

Output:

org.LexGrid.codingSchemes.CodingScheme

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
     LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
     CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); 
    codingScheme.setCode(code);
  3. Build a org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
     CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); 
    csvt.setVersion("testVersion");
  4. Invoke the LexEVS caGrid service as follows:

    Code Block
    CodedNodeSetGrid cns = lbs.resolveCodingScheme(codingScheme, csvt); 

...

Description:

Returns the node graph as represented in the particular relationship set in the coding scheme.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification
org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag
org.LexGrid.LexBIG.DataModel.cagrid.RelationContainerIdentification

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.
CodedNodeGraph.stubs.types.CodedNodeGraphReference

Exception:

RemoteException

Implementation Details:

Implementation:

  • Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph.
  • Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph as a Resource. An org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.CodedNodeGraphClient object is built from the above Reference.

    Sample Call:
  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); 
    codingScheme.setCode(code);
  3. Build an org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
    
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); 
    csvt.setVersion("testVersion");
  4. Build an org.LexGrid.LexBIG.DataModel.cagrid.RelationContainerIdentification containing the Relation Container information.

    Code Block
     RelationContainerIdentification container = new RelationContainerIdentification(); 
    container.setDc(name);
  5. Invoke the LexEVS caGrid service as follows, providing String parameters for the desired Coding Scheme and Relationship Name:

    Code Block
    CodedNodeGraphGrid cng = client.getNodeGraph(codingScheme, csvt, container); 

...

Description:

Returns the node graph as represented in the particular relationship set in the coding scheme.

Input:

none

Output:

org.LexGrid.LexBIG.DataModel.Collections.ModuleDescriptionList

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
    ModuleDescriptionList mdl = lbs.getMatchAlgorithms(); 

...

Description:

Returns a description of all registered extensions used to implement application-specific behavior that is centrally accessible from a LexBIGService.

Info
titleNote

Only generic extensions (base class GenericExtension) will be listed here. All other classes are retrievable at the appropriate interface point (filter, sort, etc).

Input:

none

Output:

org.LexGrid.LexBIG.DataModel.Collections.ExtensionDescriptionList

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
    ExtensionDescriptionList edl = lbs.getGenericExtensions();

...

Description:

Returns an instance of the application-specific extension registered with the given name.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification

Output:

org.LexGrid.LexBIG.DataModel.Collections.SortDescriptionList

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Info
    titleNote

    Currently this method will return a LexBIGServiceConvenienceMethods instance.

  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification to hold the Extension name.

    Code Block
    ExtensionIdentification extension = new ExtensionIdentification(); 
    extension.setLexBIGExtensionName("LexBIGServiceConvenienceMethods");
  3. Invoke the LexEVS caGrid service as follows:

    Code Block
    LexBIGServiceConvenienceMethodsGrid lbscm = lbs.getGenericExtensions(extension);
  4. Return the LexBIGServiceConvenienceMethodsClient to the user. This LexBIGServiceConvenienceMethodsClient has the above org.LexGrid.LexBIG.Extensions.Generic.LexBIGServiceConvenienceMethods as a Resource. An org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.CodedNodeGraphClient object is built from the above Reference.

...

Description:

Resolve a reference to the history api servicing the given coding scheme.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.HistoryService.stubs.types.HistoryServiceReference

Exception:

RemoteException

Implementation Details:

Implementation:

  • Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
  • Return the HistoryServiceClient to the user. This HistoryServiceClient has the above org.LexGrid.LexBIG.History.HistoryService as a Resource. This Client is a Service Context that allows the user to call regular org.LexGrid.LexBIG.History.HistoryService API calls through the grid service. HistoryServiceClient implements the Interface org.LexGrid.LexBIG.History.HistoryService. This makes calling Grid Service Calls through org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.HistoryService.client.HistoryServiceClient transparent to the end user.

    Sample Call:
  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); 
    codingScheme.setCode(code);
  3. Invoke the LexEVS caGrid service as follows:

    Code Block
    HistoryServiceGrid history = lbs.getHistoryService(codingScheme);

...

Description:

Returns a description of all registered extensions used to provide additional filtering of query results.

Input:

org.LexGrid.LexBIG.DataModel.InterfaceElements.types.SortContext

Output:

org.LexGrid.LexBIG.DataModel.Collections.SortDescriptionList

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Invoke the LexEVS caGrid service as follows:

    Code Block
    SortDescriptionList sortDescList = lbs.getSortAlgorithms(sortContext); 

...

Description:

Return coding scheme copyright given a specific tag or version identifier.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification

Output:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeCopyRight

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentificationto hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new
    CodingSchemeIdentification();
    codingScheme.setCode(code);
  3. Build an org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTagcontaining the Version information for the desired Coding Scheme

    Code Block
     CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag();
    csvt.setVersion("testVersion");
  4. Invoke the LexEVS caGrid service as follows:

    Code Block
    CodingSchemeCopyRight copyright = lbs.resolveCodingSchemeCopyright(codingScheme, csvt); 

...

Description:

Sets the Security Token for the given Coding Scheme.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification, gov.nih.nci.evs.security.SecurityToken

Output:

org.LexGrid.LexBIG.cagrid.LexEVSGridService.stubs.types.LexEVSGridServiceReference.LexEVSGridServiceReference

Exception:

RemoteException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new
    CodingSchemeIdentification(); codingScheme.setName("codingScheme");
  3. Build a gov.nih.nci.evs.security.SecurityTokencontaining the security information for the desired Coding Scheme.

    Code Block
    SecurityToken metaToken = new SecurityToken();
    metaToken.setAccessToken("token");
  4. Invoke the LexEVS caGrid service as follows: This will return a reference to a new "LexBIGServiceGrid" instance that is associated with the security properties that were passed in.

    Code Block
    LexBIGServiceGrid lbsg = lbs.setSecurityToken(codingScheme, metaToken);

...

Product

Jars

License

Home Page

Apache WS-Addressing

addressing-1.0.jar

adressing 1.0.LICENSE

From Globus 4.0.2 Java Web Services Core lib directory:

http://www.globus.org/toolkit/downloads/4.0.2


Source available at

http://ws.apache.org/addressing

 

Apache Axis

axis-ant.jar
axis.jar
commons-pool-1.3.jar
commons-logging-1.1.jar
commons-lang-2.2.jar
commons-collections-3.2.jar
commons-codec-1.3.jar
log4j-1.2.8.jar
jaxrpc.jar
saaj.jar
wsdl4j.jar

axis-jars.LICENSE

http://ws.apache.org/axis

Apache Xerces

xercesImpl.jar

xerces.LICENSE

http://xerces.apache.org/xerces-j

Apache Lucene

lucene-core-2.3.2.jar
lucene-regex-2.3.2.jar
lucene-snowball-2.3.2.jar

Lucene LICENSE

http://lucene.apache.org/

ASM
all purpose Java bytecode manipulation and analysis framework

asm.jar

http://asm.objectweb.org/license.htmlhttp://asm.objectweb.org/

Castor

castor-1.2.jar

http://www.castor.org/license.htmlhttp://www.castor.org/index.html

Globus Toolkit

cog-axis.jar
cog-jglobus.jar

http://www.globus.org/toolkit/legal/4.0/

 

Bouncy Castle Crypto APIs

jce-jdk13-125.jar

http://www.bouncycastle.org/licence.htmlhttp://www.bouncycastle.org/

Open Permis

wsrf_core.jar
wsrf_core_stubs.jar

http://www.openpermis.org/BSDlicenceKent.txthttp://www.openpermis.org/

 

Apache WSS4J

wss4j.jar

http://ws.apache.org/wss4j/license.htmlhttp://ws.apache.org/wss4j/

Spring

spring.jar

Spring LICENSE

http://www.springframework.org

...

For your convenience, the required libraries are available for download here:

https://gforge.nci.nih.gov/docman/view.php/491/14401/lexevs42-gridsrvc-jarslibs.jar.

To programmatically access the LexEVS API Grid Service, these libraries need to be added to your local classpath.

...

Example Client and Service Calls and SOAP Messages

See http://gforge.nci.nih.gov/docman/view.php/491/14252/ TestClient.zip

Example API Usage

Example 1: Searching for concepts in NCI Thesaurus containing the string "Gene"

Include Page
SearchingForConcepts Snippet
SearchingForConcepts Snippet

Error Handling

Error Connecting to LexEVS Grid Service

...

If the URL is well-formed, proper connection is tested. If the connection attempt fails, a ConnectException is thrown containing the reason for the failure.

Include Page
LexGridServiceConnection Snippet
LexGridServiceConnection Snippet

This example shows a typical connection to the LexEVS Grid Service, with the two potential Exceptions being caught and handled as necessary.

...

Certain vocabulary content accessible through the LexEVS Grid Service may require extra authorization to access. Each client is required to supply its own access credentials via Security Tokens. These Security Tokens are implemented by a SecurityToken object:

Code Block

Name: SecurityToken
Namespace: gme://caCORE.caCORE/3.2/gov.nih.nci.evs.security
Package: gov.nih.nci.evs.security

...

A client establishes access to a secured vocabulary via the following Grid Service Calls:

  1. Connect to the LexEVS caGrid Service

    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentificationto hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setName "codingScheme";
  3. Build a gov.nih.nci.evs.security.SecurityTokencontaining the security information for the desired Coding Scheme.

    Code Block
    SecurityToken token = new SecurityToken();
    token.setAccessToken("securityToken");
  4. Invoke the LexEVS caGrid service as follows:

    Code Block
    LexBIGServiceGrid lbsg = lbs.setSecurityToken(codingScheme, token);

    This will return a reference to a new "LexBIGServiceGrid" instance that is associated with the security properties that were passed in.

Info
titleNote

It is important to note that the Grid Service setSecurityToken returns an org.LexGrid.LexBIG.cagrid.LexEVSGridService.stubs.types.LexEVSGridServiceReference.LexEVSGridServiceReference object. This reference must be used to access the secured vocabularies.

...

Query for a Concept with a Specific Code

Example: Concept: C12345

Include Page
DataGridQueryByCode Snippet(Deprecated -- removed in 6.3)
DataGridQueryByCode Snippet(Deprecated -- removed in 6.3)

Query for a Concept with Specific Presentation Text

Example: A concept with a namespace 'SNOMED Clinical Terms' that contains a Presentation equal to 'Heart'

Include Page
DataGridQueryByPresentationText Snippet(Deprecated -- removed in 6.3)
DataGridQueryByPresentationText Snippet(Deprecated -- removed in 6.3)

Restrict Results to Specific Attributes

Example: Retrieve all of the 'localIds' of any 'SupportedAssociation' in the system.

Include Page
DataGridQueryRestrictByAttributes Snippet(Deprecated -- removed in 6.3)
DataGridQueryRestrictByAttributes Snippet

...

(Deprecated -

...

- removed in 6.3)

Scrollbar
iconsfalse

...