NIH | National Cancer Institute | NCI Wiki  

Error rendering macro 'rw-search'

null

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:

  • Getting Source Asserted Value Sets as CodingScheme or Coding Scheme reference objects
  • Getting the entities of Source Asserted Value Sets as ResolvedConceptReference objects as Lists or Iterators
  • Getting a list of all unique identifiers of value set top nodes from this source terminology
  • Getting a list of all schemes used to resolve a given set of values from a resolved value set coding scheme

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 Value Set Definition Services provides three major functions:

  • List function
  • Read function
  • Search function

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

List All Value Sets As Fully Populated Coding Schemes

 

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(); 
    

     

     

 

List all Coding Schemes Without Entities

 

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.

Get Value Sets by Concept Reference

 

Code Block
languagejava
getSourceAssertedValueSetsForConceptReference

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);

 

Get Value Sets For Entity Code

 

Code Block
languagejava
themeEclipse
getSourceAssertedValueSetforTopNodeEntityCode

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");

     

     

 

Get a Single Value Set for Its Unique URL

 

Code Block
getSourceAssertedValueSetForValueSetURI

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:  The coding scheme representation of the value set represented by this 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);

     

     

 

Get Coding Scheme References for Any Source Schemes Used to Resolve a Coding Scheme Representation of a Value Set

 

Code Block
getListOfCodingSchemeVersionsUsedInResolution

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

Get Resolved Concept References for the Coding Scheme Unique Identifier

 

Code Block
getSourceAssertedValueSetIteratorForURI
getSourceAssertedValueSetEntitiesForURI

Description:

Gets Resolved Concept Reference representations of entity values in a value set based on the unique identifier of the coding scheme representation

Input:

String uri: String representation of the coding scheme unique identifier

Output:

ResolvedConceptReferenceList or ResolvedConceptReferencesIterator:  Entities listed or iterated over that are members of the value set defined by the unique URI designation

Exception:

none

Implementation Details:

Implementation:
Call this method on the associated LexEVS Asserted Value Set service instance to get entities from a unique 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 an iterator over the entity members of the value set

    Code Block
    ResolvedConceptReferencesIterator iterator = assVSServ.getSourceAssertedValueSetIteratorForURI("http://evs.nci.nih.gov/valueset/CDISC/C119014");
  • or get a list

    Code Block
    ResolvedConceptReferenceList list = assVSServ.getSourceAssertedValueSetEntitiesForURI("http://evs.nci.nih.gov/valueset/CDISC/C119014");

     

     

 

Get Top Node References

 

Code Block
 getSourceAssertedValueSetTopNodesForRootCode

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.

 

Get a Value Set from Text Match

 

Code Block
getSourceAssertedValueSetsforTextSearch

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:

LBException

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:

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

This API is largely used as support for the LexEVSResolvedValueSetService but both test classes are 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.