NIH | National Cancer Institute | NCI Wiki  

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Document Information

Author:  Craig Stancl, Scott Bauer, Cory Endle
Email:  Stancl.craig@mayo.edu, bauer.scott@mayo.edu, endle.cory@mayo.edu
Team:  LexEVS
Contract:   S13-500 MOD4
Client:  NCI CBIIT
National Institutes of Heath
US Department of Health and Human Services

Contents of this Page

The purpose of this document is to document the technical face to face meeting details between the NCI and Mayo for the National Cancer Institute Center for Biomedical Informatics and Information Technology (NCI CBIIT) LexEVS Release 6.3 and LexEVS Release 6.4 .

2015 December Face-to-Face Meeting Notes 

Tuesday, December 8, 2015

 

 

9:00 AM - 9:30 AM

1W030

Overview and Planning

Attendees: Jacob, Larry, Kim, Jason, Craig, Cory, Scott, Sarah Elkins, Gilberto, Rob

  • The group spent time reviewing the proposed agenda to understand who will need to attend and other logistics for the day (Tuesday)
  • 9:30 - Noon
    • Tech stack was discussed to determine which aspects of the tech stack to cover.   First, cover the items we have listed.  .
    • LexEVS API Browser section - both EVS and LexEVS development teams.  
    • It was noticed that it is now a tech catalog - and not tech stack.
  • 1:00 - 4:00 will include CTRP group
    • It was noted that they will move away from Oracle.
    • Need to discuss MySQL
  • 4:00 - 5:00
  • Thursday - Sarah may try to attend the graph/DB session.
  • Automating Data Loads and customization to be included in the Wednesday 1:30-4:00.  

 

9:30 AM - Noon

1W030

Discussion: Tech Stack Updates

  • Migration to Java 8
  • Migration to centOS 7
  • Migration to Spring 4
  • Determine next steps/roadmap 
  

Discussion: LEXEVS API/Browser Performance and Usability Improvements

  • NCI to provide requirements/use cases
  • Areas for discussion:
    • value set
    • mapping 
    • multi-namespace
    • relationship querying
    • inferred data
  • Discuss the removal of caCORE and refactor Remote API
  • Determine next steps/roadmap

Attendees: Jacob, Larry, Kim, Jason, Craig, Cory, Scott, Sarah Elkins, Gilberto, Rob, Sherri

Discussion: Tech Stack Updates

  • centOS 7
    • centOS 7 hasn't been used by the Mayo team (as of yet.)
    • There is much interest in the automated environment setup provided by Docker.
    • Sarah indicated that it would NOT be an upgrade on the existing web servers.  They would recommend this for new servers.  
    • As of Sept 30, centOS 7 is to the current supported catalog at NCI.  They still provide previous centOS 6 for several years.  Redhat dates 2020 for centOS 6 and 2024 for centOS7.
    • Scott also suggested the use of a Sonatype Nexus server to distribute Docker artifacts.   NCI currently provides a Nexus server.  However Docker artifacts are fairly large and infrastructure would need to be considered.  
    • Additional Docker discussion later in the week.    There are 2 use cases - deploying at NCI and supporting other users (setup). 
    • MariaDB is a MySQL fork.  Advantages aren't known at this time.   The NCI database team would need provide support if MariaDB were to be used.  This may be in the future Tech Catalog. 
    • Sarah recommended that we hold off on deciding on CentOS 7 until the use of Docker is further defined.
    • Larry pointed out that centOS 7 has additional security enhancements. Jacob indicated there is no current mandates to move to centOS 7.
    • Gilberto shared that the Protege Project is planning on using Docker.
  • Java 8
    • Scott shared that he was able to compile LexEVS with Java 8, but no testing had been completed.
    • Scott looked at the potential Tomcat issue and determined that this is not a concern if using Tomcat 7.0.5.8 or higher.
    • Gilberto shared that for the Protege Project uses Java 8 - the only issues were around concurrency.  
    • Sarah indicated that there are other projects that are built with Java 8 and Java 8 and Tomcat 7.  There is full support for Java 8 and Tomcat 7 at NCI.  Sarah would need to know the exact version numbers.   
    • Kim can demonstrate an error with Java 8 and Spring 2.?  Kim and Scott to discuss.
    • Gilberto indicted that will need to move to Java 8.  Oracle dates are what drive moving from version to version.  
    • There is no plan to deprecate Java 7 at NCI (typically a 2 year lead time).
    • Tomcat 7 Java 1.7 will be deprecated in 2017.
    • This will be considered for 6.5.
  • Spring Migration
    • Scott indicated that after testing the Spring 4 - there are much DAO changes.  
    • This should be considered with Java 8 upgrade.
  • Roadmap/Next Steps
    • centOS 7 - no immediate plans - defined after further discussions around use of Docker.
      • Will need to consider hardware configurations to support centOS 7 deployments (March 2016 timeframe)
    • Updates considered for 6.5 timeframe:
      • Java 8
      • Spring 4

Discussion: LEXEVS API/Browser Performance and Usability Improvements

  • Value Set
    • Rob noted that using the compiled value set definitions requires an extra step.  Tracy indicated that they aren't sure how those are being used.   
    • Need to look at compiled value set definitions.  
  • Tree Performance
    • Kim noted that it would be good to provide capability to identify if a node is a leaf node. Can currently do this with multiple calls.
    • Scott noted there are a couple of pending JIRA items; notably, the iterator issue - knowing the graph size (provide number of nodes)
    • Kim noted that Triple Store usage -  GLEEN - provides extension for graph query in triple store. 
  • Usability
    • Kim suggested way to provide inbound and outbound
    • Scott noted that we shouldn't change existing API, but add extensions. 
    • Kim indicated that current model is complex for the API - requires multiple calls to query.  
    • Scott requested that a list of API enhancement requests be provided by Kim and then we can prioritized.
    • Larry indicated that there has been a much larger usage of the CTS2 REST API, so it may make sense to focus on CTS2 and not Java API.  
    • Kim - CTS2 API needs to be expanded to fully support browser development.   Scott identified that CTS2 implementation would need to be further implemented to support all CTS2 functionality.  
    • Kim - LexEVS currently doesn't provide way to prevent pulling entire code system.  Scott suggested that the API could govern this functionality.
    • Kim - No way to retrieve concept with role group (class expression in OWL with specific format).  Scott noted that this may be impossible.  
      • Gilberto - Use case is for the browser - wanting to show role groups.  Currently everything is jumbled together.   
      • Scott indicated that to support this, a model change would be needed in order to reconstruct this content.  
      • Gilberto noted that LexEVS model was to flatten the models and LexEVS wasn't intended to represent this complex modeling.  Noted that we need to consider performance.  We could also use something to supplement LexEVS terminology services (triple store and LexEVS hybrid)
  • Modeling 
    • Scott - how can we derive a solution?  Is this sufficient within our group or do we reach out to the larger community.   Larry indicated that it may be more of a decision for NCI and Mayo group.    Scott suggested that if we start down the path of updating the model, we would then like to have additional resources participate. 
      • Larry - identify the use cases around OWL and then identify resources to review.   
      • It was suggested that we involve Harold to start this discussion.
    • Gilberto suggested that if we are going to support Round-tripping of OWL and other OWL is to maintain validity of format - this would allow NO loss in and out of LexEVS. 
          • Scott indicated this would be a huge effort.  
          • Rob noted that LexGrid XML format was also available.
  • Multi-Namespaces
    • Gilberto described "Hierarchy traversal based off of namespace" and the other to be able to "Traverse horizontally"
      • Described the use case - Load NCIT and have GO - and crossing namespaces to support crossing coding schemes to GO.
      • Maps would be needed to support crossing coding schemes.
      • Scott noted that for example, with RRF, we already of the CUIs for traversal.
      • Tracy suggested query a coding scheme for it's namespaces and query the other coding schemes for their namespaces.
      • Gilberto noted that OBI may refer to 20 other namespaces - and then have LexEVS determine if those other namespaces exist.
      • Sherri suggested that the specific use case be documented by Gilberto.
      • Tracy suggested the use of the URI resolver.  Scott indicated that would be overkill for this purpose, but could be used - but noted that it might be heavy weight to have another service.  
      • Sherri asked if the identifiers were standard.  Gilberto described how identifiers are created - ie. hash.
  • Relationship query
    • Gilberto described the use case - For any vocabulary we have - "give me all the concepts that have this association y"
    • Scott noted that this would not be easy in LexEVS.   Perhaps SPARQL would be the better choice.
    • Gilberto suggested to flatten out class expression 
    • Tracy - anonymous classes are structured - is it possible to create an extension to parse?  Scott indicated this is possible - however, performance may be a consideration.   It was noticed this would typically be done one at a time.  
    • Scott - if flattened, the parenthetical is lost.  Gilberto noted we still need to be able to do this.  
    • Larry suggested the use of a flag to indicated flattened.
    • Gilberto noted the browser would like to be able to display anonymous classes 
    • Scott suggested we need to determine a specific set of requirements an use cases.
  • Inferred Data
    • Gilberto described the use case - in some areas of vocabulary there aren't specified relationships, but instead they are inferred.
      • For example, Tell me all the organs in the chest cavity - includes heart, even though it's not specified.
      • Tracy described the need to be able to search on them, but my not need/want to see them.
      • Gilberto noted that currently in LexEVS, cannot flag those that are inferred.  
      • This will require additional discussion. 
  • Removal of caCORE 
    • Scott noted that we've brought this up previously.  
    • Web services as part of LexEVS in caCORE framework.  These have been around for quite some time.  
    • Gilberto indicated that caCORE is no longer being used, so indeed this can be removed.
    • It was noted that users were considered, but it was acknowledged that perhaps we didn't document.
    • It was decided that caCORE API can be removed.
  • Refactoring Remote API
    • Scott indicated this would all us to update to a more modern Remote API and removal of artifacts from caCORE
    • This should be considered as part of the Spring migration.
  • Next Steps
    • Use cases can span many of these areas and will to be considered during ongoing discussions.

1:00 PM - 2:00 PM

4W030

Discussion: Enhancing the LEXEVS CTS2 REST Interface

  • NCI to provide requirements/use cases
  • Areas for discussion:
    • Expanding to include Associations
    • Specialized REST calls (e.g., bulk download) to CTS2 service framework
    • Provide the capability to use data from one endpoint to query another
    • Provide a framework that includes both CTS2 and Extensions
    • Bulk downloads/special user requirements
  • Determine next steps/roadmap 

2:00 PM - 4:00 PM

4W030

Information Session: Using LexEVS Query API and CTS2 API

  • Overview to demonstrate how to query using LexEVS APIs
  • Review of existing LexEVS API documentation
  • Open discussion - specific use cases

 

 

Attendees: Larry, Kim, Craig, Cory, Scott, Gilberto, Rob, Sherri, Joe (CTRP), Tin, Jason, Jose, Hemant (CTRP), Charlie

Discussion: Enhancing the LEXEVS CTS2 REST Interface

  • CTRP Requirements
  • Jose - would like to understand better ways for CTRP to utilize APIs - biomarkers (caDSR), indexing.  In the process of rebuilding their application, and will want to look at considerations.  
  • Scott gave brief overview of LexEVS and support APIs - CTS2, Remove API, Java API
  • Jose noted that CTRP uses the Java interface and REST interface.  As they move forward, they would like to move to REST interface.  
  • Scott noted certain limitations - specifically limited search functionality currently implemented (note, this is limited by the implementation, not CTS2).
  • Hermant - Discussed use cases
    • Identify the disease terms from NCIT - this is a process of abstraction to traverse hierarchy.  
      • Scott agreed this could be accomplished with minor changes.
    • Complete term dump - SDC, ICD-9, ICD-10 - to be used to verify/validate codes.  
      • Larry noted there is a bulk download available.  
    • Need to be able to determine if things have changed after bulk download.  
  • Scott suggested that CTRP provide detailed use cases with input and output expectations.
  • Jose discussed the use case that during a look up - to determine what it is a synonym of and what is the preferred term.  
  • Scott described searches - LexEVS Free text has 12 different way to search.   
  • Hermant noted they would want to know if something changed.  Scott suggested that the versioning/history API may provide some of that information.  
  • Jose described there existing system.  Currently it stores the terminal Leafs and parental terms
  • Scott demonstrated the CTS2 API to get targetof/subjectof with the REST API
  • Tracy shared that the path is currently stored in the database (transitivity table).
  • Joe indicated that REST extensions over LexEVS make sense.
  • Hermant described use case - the meaning of CCode has changed.  
    • Gilberto noted that the history tables are published.
    • Gilberto discussed possible changes to a CCode - spelling error, hierarchy change, etc.
    • Larry noted the meaning of a concept doesn't change.  If it changes, it is deprecated.
      • If you query against a deprecated concept, it will be returned and provide a pointer to the replacement concept.   
    • Tracy noted that Sharon Gehene's group has an application that reconciles the changes.
    • Gilberto noted that we should look at the History API and look at exposing the history API through CTS2.
  • Scott suggested that resolution of a large hierarchy is resource intensive.   A graph DB implementation may provide this functionality. 
  • Jose indicated that their application needs to be complete by end of September 2016.  Any LexEVS related updates would need to be available well in advance of 2016 Sept to support CTRP development.
  • Gilberto demonstrated the use of the NCIT Browser to show how to build a graph (as described by Kim this morning).
  • Tracy noticed that core:name doesn't seem correct for the core:entity

Other issues:

  • Federated Query of Resources
    • Gilberto described the use case to be able to query across different CTS2 services.    
      • URI resolver won't necessarily solve this problem.
      • Larry - licensing may be a concern, especially with with MedDRA.
      • Scott suggested this could be accomplished with existing code.
  • Full resolution against value set, code system resolutions, queries
    • Scott described how to get the count of result by using HEAD in HTTP.  
    • The count should be verified - as in the Java API as per estimates.
    • This should be logged to CTS2 (http://www.omg.org/issues/cts2-rtf.open.html) as a request for -1 to indicate all.
  • Compact URL to call to get particular value set results.
    • Not enough definition to respond.  
  • From earlier discussions
    • Include ability to restrict to association
    • Include ability to provide complete transitive expression

 

Information Session: Using LexEVS Query API and CTS2 API

  • Scott demonstrated how to view a CTS2 query count by issuing HEAD instead of GET.  This will provide a way to return all associated metadata.  
  • Scott reviewed LexEVS 6.x API documentation.
  • Tracy noted that there are many Code snippet pages and we should review these pages to determine if still valid or not.
  • Gilberto discussed the ability to pull in sample code to compile and run.  There is nothing available now on the wiki.  
  • "LexEVS Code Examples" to be reviewed and verified. (LexEVS Code Examples)
  • Tracy is going to update the LexEVS Code Examples.
  • LexEVS 6.x CTS2 API Quick Start is documented better than the API.  
    • Include the call to HEAD

Next Steps

    • CTS2 Implementation Considerations:
      • Include ability to restrict to association
      • Include ability to provide complete transitive closure
      • Include ability to provide history API functionality
      • Review browser requirements to include all needed functionality
      • Include ability to group value sets together (FDA and SPL value sets)
    • Documentation Considerations:
      • "LexEVS Code Examples" to be reviewed and verified.
      • Update CTS2 API documentation.  

 


Wednesday, December 9, 2015

  

 

  • No labels