Page History
Wiki Markup |
---|
{scrollbar:icons=false} h1. {page-info:title} {panel:title=Contents of this Page} {toc:minLevel=2} {panel} h2. Introduction This document is a section of the [Migration Guide|LexEVS 5.x Migration Guide]. h2. Purpose of this Document The transition from EVS API to LexEVS API will require the use of different methods to accomplish the same function as was previously provided in EVS API. This document will identify each deprecated class and provide the alternative LexEVS API. h2. Classes no longer Available As a result of the deprecation of the EVS API, the following classes are no longer available: * EVSQuery and EVSQueryImpl * EVSQueryDAOImpl - Not a public API. * EVSWSDAOImpl - Not a public API. * EVSWSQuery - Not a public API. * DLBAdapter - Not a public API. * DLBWrapper (DLBWrapper is extended by DLBAdapter and it is not been used anywhere else) - Not a public API. * EVSApplicationService and EVSApplicationServiceImpl h2. EVSApplicationService - evsSearch and search - and LexEVS Counterparts These methods are replaced either by the LexEVS API or the LexEVS caCORE SDK Data Service 'search' method. This uses the standard caCORE SDK API. More information about the caCORE SDK can be obtained on the [caCORE SDK site|http://ncicb.nci.nih.gov/infrastructure/cacoresdk]. h2. EVSQuery Methods and LexEVS Counterparts h3. getTree All 'getTree' functionality is replaced by the LexEVS *CodedNodeGraph* API. For example: {code} public void getTree(String vocabularyName, String rootCode, boolean direction, boolean isaFlag, int attributes, int levels, Vector roles); {code} is replaced by: {code} CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag, versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Also, various methods in *LexBIGServiceConvenienceMethods* can be used to show hierarchies. See the following methods: * getHierarchyRoots * getHierarchyRootSet * getHierarchyLevelNext * getHierarchyLevelPrev * getHierarchyPathToRoot For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.BuildTreeForCode * org.LexGrid.LexBIG.example.ListHierarchy * org.LexGrid.LexBIG.example.ListHierarchyByCode * org.LexGrid.LexBIG.example.ListHierarchyPathToRoot h3. searchDescLogicConcepts LexEVS provides many ways to restrict the result of a query. The method 'searchDescLogicConcepts' searches for matches based on a text String. To conduct similar queries using LexEVS, use the *CodedNodeSet* API. Obtain a CodedNodeSet from LexEVS: {code} CodedNodeSet nodes = lexevsService.getNodeSet(String codingScheme, CodingSchemeVersionOrTag versionOrTag, LocalNameList entityTypes); {code} Once established, the CodedNodeSet can be further restricted using the various 'restrict' methods in the *CodedNodeSet* API. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.SoundsLike * org.LexGrid.LexBIG.example.FindCodesForDescription h3. getConceptWithPropertyMatching See example above. For Property-specific matching, see the following method in the *CodedNodeSet* API * restrictToProperties This will ensure that each of the results will have at least one Property that matches the supplied criteria. h3. isSubConcept In LexEVS, use the *CodedNodeGraph* API to find the immediate relations of a Concept. For instance: {code} CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Set the *ConceptReference graphFocus* to the desired code, this will focus the Graph. Then check the relationships. Alternatively, use the *CodedNodeGraph* API method 'areCodesRelated' {code} Boolean areCodesRelated(NameAndValue association, ConceptReference sourceCode, ConceptReference targetCode, boolean directOnly) {code} h3. isRetired Use the *LexBIGServiceConvenienceMethods* API method 'isCodeRetired' method. h3. getDescendants Use the LexEVS *HistoryService* API Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} To get the decendents of a given code, use the 'getDecendants' method: {code} NCIChangeEventList changeEventList = historySvc.getDescendants (ConceptReference conceptReference); {code} h3. getPropertyValues Through the _Entity_ class, all Properties (Presentations, Definitions, etc) are available. * Entity - To find the 'Presentations' of a given Entity: {code} Entity entity = ....; Presentation[] presentations = entity.getPresentation(); {code} * To find the 'Definitions' of a given Entity: {code} Entity entity = ....; Definition[] definitions = entity.getDefinition(); {code} * To find the 'Comments' of a given Entity: {code} Entity entity = ....; Comment[] comments= entity.getComment(); {code} * To find the non-classified Properties of a given Entity: {code} Entity entity = ....; Property[] properties = entity.getProperties(); {code} h3. getAncestors Use the LexEVS *HistoryService* API Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} To get the ancestors of a given code, use the 'getDecendants' method: {code} NCIChangeEventList changeEventList = historySvc.getAncestors (ConceptReference conceptReference); {code} h3. getSubConcepts Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For instance: {code} CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Focus the 'graphFocus' on the desired Concept to see relationships from a given Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getSuperConcepts See above 'getSubConcepts' -- setting your resolve direction (boolean resolveForward, boolean resolveBackward) will determine if sub-concepts or super-concepts are resolved. h3. getPropertiesByConceptCode To find the Properties of a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} To view the Properties, see 'getPropertyValues' above. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getVocabularyNames Use the 'LexBIGService' API method 'getSupportedCodingSchemes' - and extract the Names (local name, registered name, etc...) as needed. h3. getAllVocabularies Use the 'LexBIGService' API method 'getSupportedCodingSchemes'. h3. getVocabularyByName Use 'LexBIGService' API method 'resolveCodingScheme'. h3. getVocabularyVersion Use 'LexBIGService' API method 'resolveCodingScheme' and extract the 'representsVersion' attribute from the Resulting CodingScheme. h3. getConceptEditAction Use the LexEVS *HistoryService* API Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} To get the 'EditActionList' of a given code, use the 'getEditActionList' method: {code} NCIChangeEventList changeEventList = historySvc.getEditActionList(ConceptReference conceptReference, CodingSchemeVersion codingSchemeVersion); {code} h3. getRootConcepts Use 'LexBIGServiceConvenienceMethods' API method 'getHierarchyRoots' or 'getHierarchyRootSet' h3. searchSourceByCode Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList (new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} h3. searchSourceByAtomCode In the NCI MetaThesaurus, fidning the 'source' of an 'Atom' is equivalent to finding the 'source' of a given Property of an Entity. Each CUI (which is equivalent to an Entity in LexEVS) may contain several Presentation Properties (Atoms or AUI's of that CUI). Each of these Presentation Properties is Qualified by a 'source-code' Qualifier, which reflects the code of this Atom in its original source, and a 'source' qualifier, which states the source itself that this Atom came from. h3. getMetaConceptNameByCode To find the Properties of a given code, for example, code 'C1234567' in the 'NCI MetaThesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI MetaThesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI MetaThesaurus", null); {code} Next, restrict that to the desired Code ('C1234567' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234567"}, "NCI MetaThesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} To see the name of the code, use 'getEntityDescription' on the resulting ResolvedConceptReference. The 'EntityDescription' will always be equal to the Preferred Presentation in the Default Language. h3. getMetaSources Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Association Qualifiers using the 'getSupportedSource' method. {info:title=Note}This can be applied to any Coding Scheme, not just the NCI MetaThesaurus.{info} h3. getChildren Use the 'CodedNodeGraph' API. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getParent Use the 'CodedNodeGraph' API. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getBroaderConcepts Use the *CodedNodeGraph* API to find the immediate relations of a Concept. Resolve forward or backwards based on the hierarchy structure of the ontology. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getNarrowerConcepts Use the *CodedNodeGraph* API to find the immediate relations of a Concept. Resolve forward or backwards based on the hierarchy structure of the ontology. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getRelatedConcepts Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. containsInverseRole Use the *LexBIGServiceConvenienceMethods* API method 'isReverseName' method. h3. containsRole Use the *LexBIGServiceConvenienceMethods* API method 'isForwardName' method. h3. getAllAssociationTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Associations using the 'getSupportedAssociation' method. h3. getAllConceptAssociationQualifierTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Association Qualifiers using the 'getSupportedAssociationQualifier' method. h3. getAllConceptAssociationTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Associations using the 'getSupportedAssociation' method. h3. getAllConceptPropertyQualifierTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Property Qualifiers using the 'getSupportedPropertyQualifier' method. h3. getAllConceptPropertyTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Properties using the 'getSupportedProperty' method. h3. getAllLicenses Use the 'LexBIGService' API method 'resolveCodingSchemeCopyright'. To get the Copyright for every loaded ontology, do this for each one. h3. getAllPropertyTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Properties using the 'getSupportedProperty' method. h3. getAllQualifierTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Property Qualifiers using the 'getSupportedPropertyQualifier' method. h3. getAllRoleNames Use the 'LexBIGService' API method 'resolveCodingScheme'. Once the CodingScheme Object is obtained, use the method 'getRelations'. h3. getAllSubConceptCodes Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getAllSynonymTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Associations using the 'getSupportedAssociation' method. {info:title=Note} Different ontologies may describe their 'Synonym' relations differently.{info} h3. getAllTermAssociationQualifierTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Association Qualifiers using the 'getSupportedAssociationQualifier' method. h3. getAllTermPropertyQualifierTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Property Qualifiers using the 'getSupportedPropertyQualifier' method. h3. getAllTermPropertyTypes Use the 'LexBIGService' API method 'getMappings'. Extract for this the Supported Property using the 'getSupportedProperty' method. h3. getParentConcepts Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getChildConcepts Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. hasParents Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. hasChildren Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getDescLogicConcept A 'DescLogicConcept' can be thought of as an 'Entity' in LexEVS. To obtain an Entity, use the *CodedNodeSet* API, restricting the query as necessary. For instance, a 'DescLogicConcept' with a code of 'C1234' can be queried for by the example below. The example will return a ResolvedConceptReference and ultimately an Entity, but is functionally the same as searching for a DescLogicConcept. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} h3. getHistoryRecords Use the *HistoryService* API 'getBaselines' and specify the required Data range. Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} Use the 'getBaselines' method: {code} SystemReleaseList systemReleaseList = historySvc.getBaselines(Date releasedAfter, Date releasedBefore); {code} h3. getHistoryStartDate Use the *HistoryService* API method 'getEarliestBaseline'; Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} Use the 'getEarliestBaseline' method: {code} SystemRelease systemRelease = historySvc.getEarliestBaseline(); {code} h3. getHistoryEndDate Use the *HistoryService* API method 'getLatestBaseline'; Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} Use the 'getLatestBaseline' method: {code} SystemRelease systemRelease = historySvc.getLatestBaseline(); {code} h3. getCodeActionChildren Use the *HistoryService* API method 'getDescendants'; Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} Use the 'getDescendants' method: {code} NCIChangeEventList changeEventList = historySvc.getDescendants (ConceptReference conceptReference); {code} h3. getCodeActionParents Use the *HistoryService* API method 'getAncestors'; Obtain a the HistoryService API as follows: {code} HistoryService historySvc = lexevsService.getHistoryService (StringcodingSchemeName); {code} Use the 'getDescendants' method: {code} NCIChangeEventList changeEventList = historySvc.getAncestors (ConceptReference conceptReference); {code} h3. getAssociationCollectionbyCode Use the *CodedNodeGraph* API to find the immediate relations of a Concept. For instance: {code} CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Focus the 'graphFocus' on the desired Concept to see relationships from a given Concept. Once focused and resolved, use the 'getSourceOf' or 'getTargetOf' methods on the ResolvedConceptReference to find the Associations of a given Code. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getSemanticTypeCollectionbyCui Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. Note that a CUI is simply a reference to a Code in the NCI MetaThesaurus ontology. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} Once the ResolvedConceptReference has been obtained, extract the desired Properties and inspect the Qualifiers for the Semantic Type. h3. getQualifierCollectionbyName Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. Note that a CUI is simply a reference to a Code in the NCI MetaThesaurus ontology. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} Once the ResolvedConceptReference has been obtained, extract the desired Properties and inspect the Qualifiers. {info:title=Note}Associations between codes may also have Qualifiers.{info} h3. getAtomCollectionbyCui In LexEVS, a NCI MetaThesaurus CUI is represented by an Entity (with the CUI being the code for that Entity). Atoms of that CUI are represented by 'Presentation'(s) of the Entity. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getSynonymCollectionbyCui Use 'CodedNodeGraph' API - restricting to Synonym Associations. Note: Each ontology may describe their Synonym Associations differently. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getSourceCollectionbyCui Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. Note that a CUI is simply a reference to a Code in the NCI MetaThesaurus ontology. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} Once the ResolvedConceptReference has been obtained, extract the desired Properties and inspect Source using 'getSource'. h3. getSemanticTypeCollectionbyCui Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. Note that a CUI is simply a reference to a Code in the NCI MetaThesaurus ontology. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} Once the ResolvedConceptReference has been obtained, extract the desired Properties and inspect the Semantic Types. Semantic Types are held as Qualifiers to the Properties of an Entity. h3. getSourcebyDefinition Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. To find a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList(new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} Once the ResolvedConceptReference has been obtained, using 'getDefinition', extract the Definition Collection from the Entity. Then extract the source using 'getSource' h3. getDefinitionCollectionbyCui Use 'CodedNodeSet' API - adding a 'restrictToCodes' restriction. To find the a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts ("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList (new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} Once the ResolvedConceptReference has been obtained, use the 'getReferencedEntry' method to obtain the actual Entity. Using the 'getDefinition', extract the Definition Collection from the Entity. h3. getPropertyCollectionbyName To find the Properties of a given code, for example, a code with a name of 'Heart' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts ("NCI Thesaurus", null); {code} Next, restrict that to the desired Code Name ('Heart' in this example): {info:title=Note} To match the String 'Heart' exactly, use the search algorithm 'exactMatch'.{info} {code} //Next, restrice the CodedNodeSet. cns = cns.restrictToMatchingDesignations("Heart", null, "exactMatch", null); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} To view the Properties, see 'getPropertyValues' above. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getPropertyCollectionbyCode To find the Properties of a given code, for example, code 'C1234' in the 'NCI Thesaurus' ontology - first obtain a 'CodedNodeSet' from the 'NCI Thesaurus' ontology: {code} ResolvedConceptReferenceList cns = lbSvc.getCodingSchemeConcepts ("NCI Thesaurus", null); {code} Next, restrict that to the desired Code ('C1234' in this example): {code} //First create a ConceptReferenceList to describe the Concept to search for. //In this example we use the helper class 'ConvenienceMethods'. ConceptReferenceList crefs = ConvenienceMethods.createConceptReferenceList (new String[] { "C1234"}, "NCI Thesaurus"); //Next, restrice the CodedNodeSet. cns.restrictToCodes(crefs); {code} Lastly, resolve the match. {code} ResolvedConceptReferenceList matches = cns.resolveToList(null, null, null, 1); {code} To view the Properties, see 'getPropertyValues' above. For examples, see the LexEVS Example classes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. fetchPropertyCollectionByCodes See 'getPropertyCollectionbyCode; h3. getRoleCollectionbyCode Use the *CodedNodeGraph* API to find the immediate relations of a Concept. If a desired Relations Collection is requested (for example, 'roles'), the 'relationContainerName' may be restricted. For instance: {code} //Restrict the 'relationContainerName' to the desired container. NOTE: These containers are //ontology specific--each ontology defines its own relation container names. CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Focus the 'graphFocus' on the desired Concept to see relationships from a given Concept. Once focused and resolved, use the 'getSourceOf' or 'getTargetOf' methods on the ResolvedConceptReference to find the Associations of a given Code. For examples, see the LexEVS Example classes * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getInverseRoleCollectionbyCode Use the *CodedNodeGraph* API to find the immediate relations of a Concept. To find the Inverse Roles, restricting the Relations Container may be necessary (see getRoleCollectionbyCode above). Depending on how the onotology defines an 'inverse' role or association, these can be restricted as well. For instance: {code} CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Focus the 'graphFocus' on the desired Concept to see relationships from a given Concept. Once focused and resolved, use the 'getSourceOf' or 'getTargetOf' methods on the ResolvedConceptReference to find the Associations of a given Code. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getInverseAssociationCollectionbyCode Use the *CodedNodeGraph* API to find the immediate relations of a Concept. To find the Inverse Collections, restricting the Relations Container may be necessary (see getInverseRoleCollectionbyCode above). Depending on how the onotology defines an 'inverse' role or association, these can be restricted as well. For instance: {code} CodedNodeGraph cng = lexevsService.getNodeGraph(String codingScheme, CodingSchemeVersionOrTag versionOrTag, String relationContainerName); ResolvedConceptReference[] rcr = cng.resolveAsList(ConceptReference graphFocus, boolean resolveForward, boolean resolveBackward, int resolveCodedEntryDepth, int resolveAssociationDepth, LocalNameList propertyNames, PropertyType[] propertyTypes, SortOptionList sortOptions, int maxToReturn).getResolvedConceptReference(); {code} Focus the 'graphFocus' on the desired Concept to see relationships from a given Concept. Once focused and resolved, use the 'getSourceOf' or 'getTargetOf' methods on the ResolvedConceptReference to find the Associations of a given Code. For examples, see the following LexEVS Example classes: * org.LexGrid.LexBIG.example.FindRelatedCodes * org.LexGrid.LexBIG.example.FindPropsAndAssocForCode h3. getHasParentsbyCode Either: * Use the 'LexBIGServiceConvenienceMethods' API method 'getHierarchyLevelPrev' * Use the CodedNodeGraph API to resolve the immediate Associations of a given code, and check if they exist. h3. getHasChildrenbyCode Either: * Use the 'LexBIGServiceConvenienceMethods' API method 'getHierarchyLevelNext' * Use the CodedNodeGraph API to resolve the immediate Associations of a given code, and check if they exist. h3. getIsRetiredbyCode Use the 'LexBIGServiceConvenienceMethods' API method 'isCodeRetired' h3. getLocalNames Use the 'LexBIGService' API method 'getSupportedCodingSchemes' - and extract the Names (local name, registered name, etc...) as needed. {scrollbar:icons=false} |