NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

The Asserted Value Set services are integrated parts of the LexEVS API. It provides several functions:

...

Most coding scheme representations and entity reference sets are resolved by the unique URL of the coding scheme.  Some allow a definition of a concept or text match.  All methods offer a resolution service to some set of values.  These mechanisms are largely read functions requiring a listing of known values or an exact match of a unique identifier.  Only one method offers what could be classified as a search. 

 

SourceAssertedValueSetService Class Diagram

 

LexEVS Asserted Value Set Definition Services API

LexEVS Asserted Value Set Definition Services provides three major functions:

...

Each of these functions are described in following sections.

 

List Functions

  • List all value sets as coding schemes
  • List all value set entities in the asserted source system

...

Code Block
languagejava
listAllSourceAssertedValueSets()

Description:

Lists all coding schemes each with its own entity set fully resolved

Input:

none

Output:

List<CodingScheme>

Exception:

LBException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to list a full set of coding schemes along with all of their entities
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: List all the coding scheme representations of the value sets

    Code Block
    List<CodingScheme> schemes = assVSService.listAllSourceAssertedValueSets(); 
    

     

     

...

Code Block
languagejava
getMinimalSourceAssertedValueSetSchemes()

Description:

Lists all coding schemes – no entities resolved

Input:

none

Output:

List<CodingScheme>

Exception:

LBException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to list a full set of coding schemes minus their entities
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: List all the coding scheme representations of the value sets

    Code Block
    List<CodingScheme> schemes = assVSService.getMinimalSourceAssertedValueSetSchemes(); 
    

     

     

Coding Scheme Read Functions

  • Get value sets by concept reference - Input an object that matches namespace and unique code of a value set member to return a list of containing schemes
  • Get value sets by entity code - input is entity code only, no namespace is defined to read the value set that contains this as a value set member
  • Get a single value set for its unique URI - The input should be an unique identifier for a coding scheme representation of a value set in the system
  • Get a value set or value sets defined by a unique entity - The input is a unique entity code that identifies the top node of a given value set
  • Get scheme references for a coding scheme representation - Pulls from a coding scheme those schemes from which the entities of the coding scheme representation of the value set is derived.

...

Code Block
languagejava
getSourceAssertedValueSetsForConceptReference(ConceptReference ref)

Description:

Lists all coding schemes containing a particular concept reference

Input:

ConceptReference ref - Configurable to contain both the unique identifier and the namespace of the target coding scheme (both are tied to the asserting source in this case)

Output:

List<CodingScheme>

Exception:

none

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to get a coding scheme representation of a vale set containing this concept reference
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: Construct the ConceptReference object:

    Code Block
    ConceptReference ref = new ConceptReference();
    ref.setConceptCode("C1234");
    ref.setCodeNamespace("ncit");
  • Step 3: List all the coding scheme representations of the value sets

    Code Block
    List<CodingScheme> schemes = assVSServ.getSourceAssertedValueSetsForConceptReference(ref);

...

Code Block
languagejava
themeEclipse
getSourceAssertedValueSetForValueSetURIgetSourceAssertedValueSetforTopNodeEntityCode

Description:

Lists all coding schemes that have a top node defined by a unique entity code

Input:

String matchCode: unique identifier of the top node entity

Output:

List<CodingScheme>:  Might be more than one value set defined by this top node.

Exception:

LBException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to get one or more coding scheme representations of value sets that have a top node defined by this identifier
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: List all the coding schemes defined by the top node designated by the unique identifier

    Code Block
    List<CodingScheme> schemes = assVSServ.getSourceAssertedValueSetforTopNodeEntityCode("C12434");

     

     

...

Description:

Gets a coding scheme representation of a value set based on its unique URI designation

Input:

URI uri: unique identifier of the top node entity wrapped in a URI object

Output:

CodingScheme:  Might be more than one The coding scheme representation of the value set defined represented by this top node.uniquely identifying URI

Exception:

LBException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to get a single coding scheme representation of a value set using it's unique identifier wrapped in a URI object.
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: Instantiate a URI object using a string representation of the URI designation

    Code Block
    URI uri = new URI("http://evs.nci.nih.gov/valueset/CDISC/C12434");
  • Step 2: List all the coding schemes defined by the top node designated by the unique identifier

    Code Block
    CodingScheme scheme = assVSServ.getSourceAssertedValueSetForValueSetURI(uri);

     

     

...

Description:

Gets minimal representations of coding schemes based on what was used to resolve a value set

Input:

CodingScheme cs: CodingScheme object with full metadata populated, entity representation not necessary

Output:

AbsoluteCodingSchemeVersionReferenceList:  Might be more than one coding scheme that defines this value set

Exception:

none

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to determine what coding schemes define the value set. 
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: Get a coding scheme using one of the Asserted Value Set Service methods: 

    Code Block
    CodingScheme cs = assVSServ.getSourceAssertedValueSetForValueSetURI(new URI("http://evs.nci.nih.gov/valueset/CDISC/C12434")) ;
  • Step  3: List all the coding schemes defined by the top node designated by the unique identifier

    Code Block
    AbsoluteCodingSchemeVersionReferenceList list = assVSServ.getListOfCodingSchemeVersionsUsedInResolution(cs);

     

     

Concept Reference Read Functions

  • Get references for unique URI identifier - Unique identifier returns all value set members of that coding scheme representation of a value set.
  • Get a list of string unique identifiers of references that are a top node - All top nodes of a system are returned based on the identification of the node that has a reference to the top of the hierarchy

...

Description:

Gets String references to all top node leaves under a root node

Input:

String rootCode: String representation of the unique identifier of the Asserted Value Set root entity

Output:

List<String>:  String references to entity top node designations of the Asserted Value Sets

Exception:

none

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to get all top node string identifier references
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: Get a list of all the top nodes in the Asserted Value Set system:

    Code Block
    List<String> list = assVSServ.getSourceAssertedValueSetTopNodesForRootCode("C54443");

     

     

Search Function

  • Get value set coding scheme reference based on a text match for a member entity - Can be used with a text match algorithm determining match type.

...

Description:

Gets minimal coding scheme references of value sets for a text match

Input:

String matchText: Text to match on for contains, exact, other algorithms as allowed.

MatchAlgorithm matchType: Type of matching for any given match type in this enum.

Output:

List<AbsoluteCodingSchemeVersionReference>:  String references to entity top node designations of the Asserted Value Sets

Exception:

noneLBException

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to get any coding scheme references that have a member entity with text matching the text and algorithm
Sample Call:

  • Step 1: Instantiate SourceAssertedValueSetService if it is not done yet:

    Code Block
    org.lexgrid.valuesets.SourceAssertedValueSetServiceImpl  assVSServ = new SourceAssertedValueSetServiceImpl(new AssertedValueSetParameters.Builder().build());
    
  • Step 2: Get a list of all the top nodes in the Asserted Value Set system:

    Code Block
    List<AbsoluteCodingSchemeVersionReference> list = assVSServ.getSourceAssertedValueSetsforTextSearch("blood", MatchAlgorithm.PRESENTATION_EXACT);

     

     

 

System Testing

The System test case for the LexEVS Value Set Definition service is performed using the JUnit test suite:

org.LexGrid.LexBIG.Impl.testUtility.VDAllTests

edu.mayo.informatics.lexgrid.convert.directConversions.assertedValueSets.SourceAssertedValueSetSearchIndexServiceTest

This API is largely used as support for the LexEVSResolvedValueSetService but both test classes are This test suite will be run as part of regular LexEVS test suite AllTestsNormalConfigs.

Installation / Packaging

Value Set Definition Services are integrated parts of core LexEVS API and are packaged and installed with other LexEVS services.

...