# Presentation: 506410

## caBIG VCDE/ARCH MeetingLexBIG Project Review

- caBIG VCDE/ARCH MeetingLexBIG Project Review

- February 1, 2006

## Outline

- LexGrid Vision
- Background/History
- LexBIG for caBIG
- Purpose and Goals
- LexBIG Components
- Future work and integration points  with

## LexGrid Software Team

**Tom **
**Johnson**

**Harold**
**Solbrig**

**Dan **
**Armbrust**

**Deepak **
**Sharma**

**Kevin **
**Peterson**

**Jim **
**Buntrock**

**Russ **
**Hamm**

**John**
**Majerus**

**Dr. ****Christopher **
**Chute**

## LexGrid Background

## Terminologies Today

- Representation formats
- Standardized - RRF, OWL
- Non-standard - CSV, proprietary spreadsheet or database, HTML, PDF, ...
- Distribution
- Periodic release cycle
- Self-contained or tightly coupled packaging
- Access and tooling
- Programmatic access changes with provider and distribution format
- Different tools to Browse / Edit / Maintain Lifecycle

## Terminologies Today

- Cottage Industry approach
- Potentially adequate for isolated access by single project to single terminology
- Inadequate for large-scale infrastructures intended to coordinate and serve numerous vocabularies in federated environments
- cBIO – The National Center for Biomedical Ontologies_[www.bioontology.org](http://www.bioontology.org/)_
- caBIG – cancer Biomedical Informatics Grid

## The GAP

**“****Terminologies”**
**Coding and Classification**

**“****Ontologies”**
**Computable DL Frameworks**

- ICD-9-CM

- CPT-4

- ICD-10-PCS

- MESH

- SNOMED-III

- SNOMED CT

- GO

- ...

- Many, many more to come

- Countries

- Languages

- Mime Types

- SNOP

- FMA

- ChEBI

- MGED

- GMOD

## We want the best of both worlds

- Definitions, instructions, comments
- Computability
- Dynamic and distributed evolution
- Focus on specific uses and contexts
- Ability to navigate and traverse at will

## The Ultimate Goal

**Terminology as a commodity resource**
- Available whenever and wherever it is needed
- Online or downloadable
- Push or pull update mechanism
- Available 24x7
- Revised and updated in “real-time”
- Cross-linked and indexed

## PurposeWhy we built the Lexical Grid

- PurposeWhy we built the Lexical Grid

- Communication

## The Lexical Grid (LexGrid)

- The purpose of the Lexical Grid is to provide a framework that:
- Is flexible enough to represent yesterday’s, today’s and tomorrow’s terminological resources using a single information model
- Allows these resources to be published online, cross-linked, and indexed
- Standardized building blocks and tools that allow applications and users to take advantage of the content where and when it is needed
*Essentially, provides consistency and standardization required to support large-scale terminology adoption and use*

## The Lexical Grid

- Terminology as a commodity resource
- Accessible online
- under a common model
- through a set of common API's
- in web-space on web-time
- cross-linked
- loosely coupled
- published individually, when ready
- exportable
- locally extendable
- globally revised
- open source tooling to browse, edit, etc

## The LexGrid Model

- Information model that names and defines the classes to support a variety of terminologies
- Master representation is currently maintained in XML Schema, with (semi) automatic transformations to ...
- Unified Modeling Language (UML)
- XML Model Interchange (XMI)
- Eclipse Modeling Framework (EMF)
- Java classes/OO implementation
- Relational database schema
- LDAP schema

## LexGrid Model Information Model (partial)

## LexGrid Model Information Model (partial)

**Coding Scheme**

**Relations**

**Concepts**

**Properties**

**                              ****Associations**

## The LexGrid Node

- A _LexGrid Node_ is software and a backing data store that represents terminological information in a format semantically faithful to the LexGrid Model

- LexGrid
- Node

- DataStore

## The LexGrid NodeReplication

**ISO Country Codes**
**http://www.xmdr.org**

**ISO Country Codes**
**http://informatics.mayo.edu**

**Master**

**Image**

## The LexGrid NodeReplication

**ISO Country Codes**
**http://www.xmdr.org**

**ISO Country Codes**
**http://informatics.mayo.edu**

**Master**

**Image**

**Can either be “push” model**

- (1) Subscribe

- (2) Update

## The LexGrid NodeReplication

**ISO Country Codes**
**http://www.xmdr.org**

**ISO Country Codes**
**http://informatics.mayo.edu**

**Master**

**Image**

**Can or  “pull” model**

- (1) Get changes

- (2) Changes

## The LexGrid NodeDistribution

**NCI Thesaurus**
**http://nciterms.nci.nih.gov**

**ISO Country Codes**
**http://informatics.mayo.edu**

**FMA**
**http://sig.biostr.washington.edu**

## The LexGrid NodeFederation

**NCI Thesaurus**
**http://nciterms.nci.nih.gov**

**ISO Country Codes**
**http://informatics.mayo.edu**

**FMA**
**http://sig.biostr.washington.edu**

**Nodes can be federated...**

## The LexGrid NodeFederation

- LexGrid
- Node

- DataStore

**LexGrid Locator**
**http://informatics.mayo.edu**

**Nodes can be federated...**

**.. as a single virtual node**

## Node Information

## Functionality Cross Reference

**UMLS_CUI = URN:ISO:2.16.840.1.113883.6.56:C0002072**

**Semantic_Type = URN:ISO:2.16.840.1.113883.6.56.1:T123**

- T109 – “Organic Chemical”

- ConceptCode: C222
-    entityDescription: Alkylsulfonate Compound
-    Semantic_Type: SemNet:T109
-    UMLS_CUI: C0002072

- C0002702 – “Alkanesulfonates”

## LexGrid Components

- LexGrid
- Node

- DataStore

- S
- e
- r
- v
- i
- c
- e
- s

- Web
- Clients

- Java

- .NET

- ...

**Import**

- Editors

- Browsers

- Query
- Tools

- OWL

- RDF

- XML

- CSV

- Terminology

**Browse and**
**Edit**

**Export**

**Embed**

- ...

## LexGrid Features

- Ability to import from and export to a multitude of distribution formats
- Support for multiple data stores
- Provide consistent and standardized access
- Leverage HL7-CTS implementation
- Support for programmatic access via Java, .NET, web services
- Open source tooling and code

## LexBIG Vision

## caBIG LexBIG Project Goals and Aims

- Goal
- Build a vocabulary server
- Accessible through an application programming interface (API)
- Based on Standards
- Using Commodity Technologies
- With import/export functionality
- Aims
- Provide an open source implementation of EVS-compliant terminology services
- Provide a flexible and extensible mechanism for vocabulary storage and persistence
- Provide a standard mechanism for loading or distributing vocabulary content

## Infrastructure wiring

**LexBIG**

## Deliverable Timeline

**3/31/05**

**4/30**

**5/31**

**6/30**

**11/30**

**8/30**

**9/30**

**7/31**

**10/31**

**12/31**

**1/31**

**2/28**

**Project Management  Plan**

**Use Case Document**
**Requirements Document**
**Risk Analysis Document**

**3/30**

**Lessons Learned Document**

**Final Architecture **
**Test Plan Document**

**Vocabulary Server ****Vocabulary Loader**

**                                    ****Software Testing and Results**

**Draft Architecture Document**

**Completed**

**Planned**

**NCI Testing**

## Analysis Highlights

- 82 use cases defined
- 87 prioritized requirements
- Categorization of 40+ deferred requirements
- 8 risks identified, resolved and addressed

## Requirements

## LexBIG Configurations

## LexBIG RuntimeConsolidated Host – EVS Access

**Notes:**
Depicts EVS access with all server layers deployed to a single system.  EVS service is expected to always invoke methods through mediation layer.  The mediator is anticipated to be similar in function to current DTS RPC, in that services may be fulfilled by different implementations.  In this case service is fulfilled via direct invocation of LexBIG API within the same JVM.

## LexBIG RuntimeConsolidated Host – Web Service Access

- Browsers

- Query
- Tools

- LexBIG Host

- LexBIG
- DataStore

- App Server / Java Runtime

- Web Service
- Clients

- LexBIG
- Java API

- Web
- Services
- (e.g. Tomcat, Axis)

- LexBIG RuntimeConsolidated Host – Web Service Access

**Notes:**
Depicts direct access to LexBIG function through web services, with all server layers hosted on single system.

## LexBIG RuntimeDistributed Hosts – EVS Access

**Notes:**
Depicts EVS access with all server layers deployed to different systems.  EVS service is expected to always invoke methods through mediation layer.  The mediator is anticipated to be similar in function to current DTS RPC, in that services may be fulfilled by different implementations.  In this case service is fulfilled via remote web services.

## LexBIG RuntimeDirect Programmatic Access

- LexBIG Host

- LexBIG
- DataStore

**Notes:**
Depicts programmatic access to LexBIG functions via direct reference to the Java API.

## LexBIG Runtime – Enterprise Java Beans – No Plans

## LexBIG Import/Export

- ...

- LexBIG DataStore
- (e.g. PostgreSQL, mySQL,
- LDAP, other)

- ...

- OWL

- RDF

- XML

- OWL

- RRF

- CSV

- LexBIG
- Import Utilities
- (Java, etc)

- LexBIG
- Export Utilities
- (Java, etc)

**Notes:**
Basic import and export scenarios.  Input files are downloaded and accessible prior to import.  Data store typically shown here to reside on same server, but may be accessed remotely.

## LexBIG Service Discovery

- Client

- LexBIG Host

- LexBIG Host

- LexBIG Host

- Web Service
- Client

- LexBIG
- Service Index

- Access

- Lookup

- Registry

**Notes:**
Portrays lookup and subsequent access to LexBIG services through a central registry.  Lookup is based on vocabulary OID, version, and potentially other criteria.

**LexBIG High Level Components**

## LexBIG Design Philosophy

- Model Driven
- LexGrid model is core component of design
- XML Schema is the master
- Rendered in XMI, Java, and UML
- Conscious separation of service and data classes
- Deferred query resolution – support of iterators
- Specific extensions points for load, index, search, and convenience methods
- Leverage caGRID and Globus for registration and service discovery
- Provide vocabulary mapping for common formats

## LexBIG Service and Subsystems

## LexBIG Service Federation

## LexBIG Discovery

**LexBIG**
**Service**

**LexBIG**
**Service**
**API**

**CodingSchemeRendering**

**ResolvedConceptReferences**

**codingScheme**

**...**

## LexBIG Load

**LexBIG**
**Loader**

**Terminology**
**Distribution**

**1**

**Validate**

## LexBIG Load

**LexBIG**
**Loader**

**Terminology**
**Distribution**

**2**

**Load**

**3**

**Register (pending)**

## LexBIG Discovery

**LexBIG**
**Client**

**4**

**Query**

**5**

**Connect**

**LexBIG**
**Service**

## Service Manager Subsystem

## Service Management

**LexBIG**
**Client**

**LexBIG**
**Service**

**1**

**Get Service Manager**
**(credentials)**

## Service Management

**LexBIG**
**Client**

**LexBIG**
**Service**

**2**

**Service Manager**
**Connect Info**

## Service Management

**LexBIG**
**Service**
**Manager Client**

**LexBIG**
**Service**

**3**

**Change NCI/5.09g to “Active”**

**LexBIG**
**Service**
**Manager**

## Service Management

**LexBIG**
**Service**
**Manager Client**

**4**

**Remove, deactivate, etc.**

**LexBIG**
**Service**
**Manager**

## Query Service Subsystem

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**1**

**Get CodingScheme Concepts**
**(NCI/5.09g)**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**2**

**CodedNodeSet**
**(*****virtual*****)**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**3**

**restrictToMatchingProperties(“HOX11”)**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**4**

**getNodeGraph**
**(NCI/5.09g)**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**5**

**CodedNodeGraph**
**(*****virtual*****)**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**6**

**restrictToAssociations****(“Gene_Product_Encoded_by_Gene ”)**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**7**

**restrictToCodes****(<codedNodeSet>)**

**x**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**8**

**ResolveAsList**

## LexBIG Query

**LexBIG**
**Client**

**LexBIG**
**Service**

**9**

## Code Sample

- CodedNodeSet jcns = lbs.getCodingSchemeConcepts("NCI Thesaurus", null, true);
- jcns.restrictToMatchingDesignations("hox11", false, "exactMatch", null);
- CodedNodeGraph jcng = lbs.getNodeGraph("NCI Thesaurus", null, "relations");
- jcng.restrictToAssociations(cm.createConceptReferenceList("Gene_Product_Encoded_by_Gene"), null);
- jcng.restrictToTargetCodes(jcns);
- System.out.println(ObjectToString.toString(jcng.toNodeList (null, true, true).resolveToList(null, null, 0)));

## Code Results	

- ResolvedConceptReference
-       coding scheme - NCI_Thesaurus
-       coding scheme id - urn:oid:2.16.840.1.113883.3.26.1.1
-       concept code - C18608
-       Entity Description -   NULL
-       Referenced Entry -  CodedEntry-   concept code - C18608
-           isActive - true
-           EntityDescription - TLX1 Gene
-           firstVersion - null
-           isAnonymous- null
-           lastVersion - null
-           isActive - true
-           Comment[] of size 0
-           Definition[] of size 1
-             Definition
-               property type - definition
-               property value - Human HOX11 Gene (HOX family) at 10q24 encodes HOX11 Protein, a homologue of DNA-binding homeobox transcription factors.  Located outside the four HOX clusters, HOX11 is an orphan homeobox gene.  Orthodox HOX genes encode a coordinate system of embryonic anterior-posterior axis specification; orphan homeobox genes are less understood.  Essential for survival of splenic precursors during organogenesis, HOX11 binds to 5 prime-GGCGGTAAGTGG-3 prime DNA.  Mutant HOX11 can be oncogenic; some childhood T-cell acute leukemias involve deregulated activation (by translocation adjacent to TCRD or TCRB) of an unaltered HOX11 gene. (from SWISS-PROT, OMIM, and NCI)
-               language – null,  dataType – null,   presentation format - null
-               propertyId - P1,
- Sources -   NCI

## Extension Subsystem

## Areas of LexBIG/caGRID Interest

- Vocabulary content replication and federation
- Distribution
- Publish/subscribe
- RSS-like update
- Cross Linking Content
- Security, Licensing, Credentials
- Content copyright
- Passive versus Active
- Service Metadata
- Discovery Scenarios
- Find all nodes with CS: NCI 5.09G

## Questions and Comments

## References

- LexGrid Project_[http://informatics.mayo.edu/LexGrid](http://informatics.mayo.edu/LexGrid)_
- LexBIG Forge Site_[http://gforge.nci.nih.gov/projects/lexbig](http://gforge.nci.nih.gov/projects/lexbig)_
- LexBIG Wiki_[http://informatics.mayo.edu/lexbig/wiki/index.php/Main_Page](http://informatics.mayo.edu/lexbig/wiki/index.php/Main_Page)_
- caBIG LexBIG CVS_[http://cabigcvs.nci.nih.gov/viewcvs.cgi/lexgrid](http://cabigcvs.nci.nih.gov/viewcvs.cgi/lexgrid)_