LexBIG/EVS API Overview

Similar documents
LexGrid Philosophy, Model and Interfaces Harold R Solbrig Division of Biomedical Statistics and Informatics Mayo Clinic

warwick.ac.uk/lib-publications

Interoperability and Semantics in Use- Application of UML, XMI and MDA to Precision Medicine and Cancer Research

WHO ICD11 Wiki LexWiki, Semantic MediaWiki and the International Classification of Diseases

Utilizing NCBO Tools to Develop & Use an ECG Ontology

ONTOLOGY LIBRARIES: A STUDY FROM ONTOFIER AND ONTOLOGIST PERSPECTIVES

NCI Thesaurus, managing towards an ontology

Challenges in Deploying and Managing Large Terminologies: NCI Thesaurus

A Semantic Web-Based Approach for Harvesting Multilingual Textual. definitions from Wikipedia to support ICD-11 revision

Tania Tudorache Stanford University. - Ontolog forum invited talk04. October 2007

Languages and tools for building and using ontologies. Simon Jupp, James Malone

Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network

Semantic MediaWiki A Tool for Collaborative Vocabulary Development Harold Solbrig Division of Biomedical Informatics Mayo Clinic

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Teiid Designer User Guide 7.5.0

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Collaborative & WebProtégé

Coveo Platform 7.0. Yammer Connector Guide

Personalized Faceted Navigation in the Semantic Web

The MEG Metadata Schemas Registry Schemas and Ontologies: building a Semantic Infrastructure for GRIDs and digital libraries Edinburgh, 16 May 2003

Disease Information and Semantic Web

CACORE SDK 4.0 DEVELOPER S GUIDE. Center for Bioinformatics. This is a U.S. Government Work

COMP9321 Web Application Engineering

ISO CTS2 and Value Set Binding. Harold Solbrig Mayo Clinic

ForeScout Open Integration Module: Data Exchange Plugin

Community-based ontology development, alignment, and evaluation. Natasha Noy Stanford Center for Biomedical Informatics Research Stanford University

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Oracle 10g: Build J2EE Applications

Automation for Web Services

COMP9321 Web Application Engineering

Extracting knowledge from Ontology using Jena for Semantic Web

NetIQ Identity Manager Driver for REST Implementation Guide. February 2017

web.xml Deployment Descriptor Elements

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

NLM HL7 RFQ CHI mapping contract August/September, 2006

YMM Products Parts Finder

MII - Crystal Reports Configuration Guide

ER/Studio Enterprise Portal User Guide

Novell Access Manager

Uniform Resource Locators (URL)

Oracle Rdb Extension for OEM 9i

ForeScout CounterACT. Configuration Guide. Version 3.4

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

WebProtégé. Protégé going Web. Tania Tudorache, Jennifer Vendetti, Natasha Noy. Stanford Center for Biomedical Informatics

Semantic Annotation and Linking of Medical Educational Resources

BEAAquaLogic Enterprise Repository. Automation for Web Services Guide

WWW, REST, and Web Services

CIS-CAT Pro Dashboard Documentation

Red Hat JBoss Data Virtualization 6.3 Glossary Guide

Chapter 2 Introduction

Connector for Microsoft SharePoint 2013, 2016 and Online Setup and Reference Guide

Aim behind client server architecture Characteristics of client and server Types of architectures

Application Development

Updated after review Removed paragraph mentioned java source code.

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

SECTION 10 EXCHANGE PROTOCOL

UMLS-Query: A Perl Module for Querying the UMLS

Integrating JD Edwards Enterprise One and Oracle Service Bus

Enterprise Knowledge Map: Toward Subject Centric Computing. March 21st, 2007 Dmitry Bogachev

Oracle Fusion Middleware 11g: Build Applications with ADF I

Using Deep Links for Growth. Phillip Nelson Director of Product, Quixey

Timelog System on Android OS

Teiid Designer User Guide 7.7.0

OASIS Electronic Trial Master File Standard Technical Committee

.NET Programming Guide

MarkLogic Server. REST Application Developer s Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved.

Computational Web Portals. Tomasz Haupt Mississippi State University

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

NetIQ Identity Manager Driver for REST Implementation Guide. February 2018

Dynamic code downloading using Java TM (Using the java.rmi.server.codebase Property)

Fast Track to Spring 3 and Spring MVC / Web Flow

Enabling Embedded Systems to access Internet Resources

Database and Metadata Support of a Web-based. based Multimedia Digital Library for Medical Education

Semantic-Based Web Mining Under the Framework of Agent

XDS Connector. Installation and Setup Guide. Version: 1.0.x

Realms and Identity Policies

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Profiles Research Networking Software API Guide

A Protégé Ontology as The Core Component of a BioSense Message Analysis Framework

Cisco Virtual Application Cloud Segmentation Services REST API Guide, Release 6.0STV First Published: Last Updated:

How to Pick the Right PI Developer Technology for your Project

Windows PowerShell Scripting and Toolmaking

Struts: Struts 1.x. Introduction. Enterprise Application

edocs Home > BEA AquaLogic Service Bus 3.0 Documentation > Accessing ALDSP Data Services Through ALSB

Coveo Platform 6.5. Microsoft SharePoint Connector Guide

SOA Software Policy Manager Agent v6.1 for WebSphere Application Server Installation Guide

and the bringing cabig cancer data to the.net Developer and Microsoft Office User Communities

COGNOS (R) ENTERPRISE BI SERIES COGNOS REPORTNET (TM)

CA Clarity Project & Portfolio Manager

The National Center for Biomedical Ontology Current State and Future State Architecture 2009

Oracle BI 11g R1: Build Repositories

MarkLogic Server. Information Studio Developer s Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Realms and Identity Policies

ANGULARJS - MOCK TEST ANGULARJS MOCK TEST II

HL7 s Common Terminology Services Standard (CTS)

Schema Validation Errors While Parsing Weblogic

Oracle Exam 1z0-441 Oracle Mobile Development 2015 Essentials Version: 6.0 [ Total Questions: 85 ]

IT6503 WEB PROGRAMMING. Unit-I

Policy Manager for IBM WebSphere DataPower 7.2: Configuration Guide

D WSMO Data Grounding Component

Transcription:

LexBIG/EVS API Overview NCBO Seminar Series October 2008

What is LexBIG? A specific API to serve vocabularies based on the LexGrid model, developed for the Cancer Biomedical Informatics Grid (cabig ) community. Open source implementation. Underpins current NCI Enterprise Vocabulary Services (EVS). Represents the next generation EVS API. Additional contributions and tuning to meet the needs of the NCBO community, based on development of NCBO BioPortal services.

LexBIG Architecture Each LexGrid Node provides the software, metadata, indexes, and backing data store to service one or more vocabularies. Each LexBIG Installation represents one LexGrid Node and Java API to administer and query data. Content RRF OBO Protégé OWL Text XML XML OBO Other Import Export Representation LexGrid Vocabulary Access Model File System: Metadata & Data Indexes Repository Programming Interfaces Tools And Services APIs LexBIG/ EVS CTS Embed Apps Application Server Java Web/Grid Services Distributed API

Conceptual Overview LexGrid Model & Storage LexBIG/EVS Java API Browsers and Applications LexBIG/EVS Distributed Service LexBIG/EVS cagrid Service

LexBIG/EVS API LexGrid Model & Storage LexBIG/EVS Java API

LexBIG/EVS API Characteristics API coverage Administrative Functions Query Code Systems and Available Metadata Query Concepts, Concept Properties, and Qualifications Query Concept Relationships and Qualifications API characteristics Conscious separation of service and data classes Deferred query resolution Payload optimization Support iteration Defined extension points (loaders, exporters, sort algorithms, filters, f convenience methods)

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) LoadUMLSFiles [-s null] [-mf uri] [-v int] [-lp uri] [-nf] -in uri [-t id] [-mh int] [-a] Example: LoadUMLSFiles -in file:///path/to/directory/ -s ICD9CM" -nf -a -s,--sources Comma-delimited list of source vocabularies to load. -mh,--mrhier <int> Process hierarchical relationships stored by the MRHIER file. 0=none, 1=HCD-tagged items (default) -a,--activate ActivateScheme on successful load. -in,--input <uri> URI or path specifying the directory containing the NLM files. -lp,--loadprefs <uri> URI or path specifying location of the Loader Preferences file. -mf,--manifest <uri> URI or path specifying location of the manifest file. -nf,--nofail If specified, indicates that processing should not stop for recoverable errors. -t,--tag <id> An optional tag ID (e.g. 'PRODUCTION' or 'TEST') to assign. -v,--validate <int> Validation only; no load. If specified, 'nf', 'a' and 't are ignored. 0 to verify files exist.

LexBIG/EVS API Example Let s query some concepts Target a code system Define a new LexBIGService as starting point. Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Note: Initially unrestricted and unresolved LexBIGService lbs = new LexBIGServiceImpl(); CodedNodeSet cns = lbs.getcodingschemeconcepts("icd-9-cm", null);

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) Target a code system Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Initially unrestricted and unresolved Restrict the space based by adding constraints Property Semantic Type -> exact match -> Disease or Syndrome LexBIGService lbs = new LexBIGServiceImpl(); CodedNodeSet cns = lbs.getcodingschemeconcepts("icd-9-cm", null); cns.restricttomatchingproperties( Constructors.createLocalNameList( "Semantic_Type"), null, "Disease or Syndrome", exactmatch", null);

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) Target a code system Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Initially unrestricted and unresolved Restrict the space based by adding constraints Property Semantic Type -> exact match -> Disease or Syndrome Primary text match -> sounds like -> infeksion LexBIGService lbs = new LexBIGServiceImpl(); CodedNodeSet cns = lbs.getcodingschemeconcepts("icd-9-cm", null); cns.restricttomatchingproperties( Constructors.createLocalNameList( "Semantic_Type"), null, "Disease or Syndrome", exactmatch", null); cns.restricttomatchingdesignations("infeksion", SearchDesignationOption. PREFERRED_ONLY, DoubleMetaphoneLuceneQuery, null);

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) Target a code system Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Initially unrestricted and unresolved Restrict the space based by adding constraints Property Semantic Type -> exact match -> Disease or Syndrome Primary text match -> sounds like -> infeksion Any text stemmed match -> classify (to match classified, classifying, etc) LexBIGService lbs = new LexBIGServiceImpl(); CodedNodeSet cns = lbs.getcodingschemeconcepts("icd-9-cm", null); cns.restricttomatchingproperties( Constructors.createLocalNameList( "Semantic_Type"), null, "Disease or Syndrome", exactmatch", null); cns.restricttomatchingdesignations("infeksion", SearchDesignationOption. PREFERRED_ONLY, DoubleMetaphoneLuceneQuery, null); cns.restricttomatchingdesignations("classify", SearchDesignationOption.ALL, "StemmedLuceneQuery, null);

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) Target a code system Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Initially unrestricted and unresolved Restrict the space based by adding constraints Property Semantic Type -> exact match -> Disease or Syndrome Primary text match -> sounds like -> infeksion Any text stemmed match -> classify (to match classified, classifying, etc) Concept must be active LexBIGService lbs = new LexBIGServiceImpl(); CodedNodeSet cns = lbs.getcodingschemeconcepts("icd-9-cm", null); cns.restricttomatchingproperties( Constructors.createLocalNameList( "Semantic_Type"), null, "Disease or Syndrome", exactmatch", null); cns.restricttomatchingdesignations("infeksion", SearchDesignationOption. PREFERRED_ONLY, DoubleMetaphoneLuceneQuery, null); cns.restricttomatchingdesignations("classify", SearchDesignationOption.ALL, "StemmedLuceneQuery, null); cns.restricttostatus(activeoption.active_only, null);

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) Target a code system Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Initially unrestricted and unresolved Restrict the space based by adding constraints Property Semantic Type -> exact match -> Disease or Syndrome Primary text match -> sounds like -> infeksion Any text stemmed match -> classify (to match classified, classifying, etc) Must contain a property with name -> UMLS_CUI Concept must be active Indicate sort preferences and limit number returned Sort by code, ascending Limit to top 5 cns.restricttostatus(activeoption.active_only, null); ResolvedConceptReferenceList list = cns.resolvetolist( Constructors.createSortOptionList(new String[] { "matchtoquery", "code" }), null, null, 5);

LexBIG/EVS API Example Prerequisites ICD-9-CM loaded from UMLS distribution (RRF source files) Target a code system Define a concept space (a codednodeset) for ICD-9-CM, version 2007 Initially unrestricted and unresolved Restrict the space based by adding constraints Property Semantic Type -> exact match -> Disease or Syndrome Primary text match -> sounds like -> infeksion Any text stemmed match -> classify (to match classified, classifying, etc) Must contain a property with name -> UMLS_CUI Concept must be active Indicate sort preferences and limit number returned Sort by code, ascending Limit to top 5 Resolve!

LexBIG/EVS API Example 2 OK, now find some relationships Target a code system Define an unrestricted graph for a target ontology (e.g. ICD-9-CM) CodedNodeGraph cng = lbs.getnodegraph("icd-9-cm", null, null);

LexBIG/EVS API Example 2 OK, now find some relationships Target a code system Define an unrestricted graph for a target ontology (e.g. ICD-9-CM) Restrict by adding constraints Restrict to hierarchical relationships (UMLS-defined CHD = has child) CodedNodeGraph cng = lbs.getnodegraph("icd-9-cm", null, null); cng.restricttoassociations(constructors.createnameandvaluelist( CHD"), null);

LexBIG/EVS API Example 2 OK, now find some relationships Target a code system Define an unrestricted graph for a target ontology (e.g. ICD-9-CM) Restrict by adding constraints Restrict to hierarchical relationships (UMLS-defined CHD = has child) Indicate extent of navigation Set focal point (008 = Intestinal infections due to other organisms ) Maximum 2 levels, full reporting at all levels Moving only in forward direction No application of filter extensions, etc Maximum 50 nodes resolved overall CodedNodeGraph cng = lbs.getnodegraph("icd-9-cm", null, null); cng.restricttoassociations(constructors.createnameandvaluelist( CHD"), null); cng.resolveaslist( Constructors.createConceptReference("008", "ICD-9-CM"), true, false, 2, 2, null, null, null, null, 50);

LexBIG/EVS API Example 2 OK, now find some relationships Target a code system Define an unrestricted graph for a target ontology (e.g. ICD-9-CM) Restrict by adding constraints Restrict to parent/child relationships (UMLS-defined PAR = has parent) Restrict to the codednodeset defined in the previous example Indicate extent of navigation Set focal point (008 = Intestinal infections due to other organisms ) Maximum 2 levels, moving in forward direction Maximum 50 nodes resolved overall Resolve!

LexBIG API - Distributed LexGrid Model & Storage LexBIG/EVS Java API LexBIG/EVS Distributed Service

LexBIG/EVS API Distributed LexBIG on Local System Database Server LexBIG Install JDBC Direct Client System LexBIG Client API Proxy Distributed LexBIG Server LexBIG Install Database Server RMI JDBC Distributed

LexBIG/EVS API Distributed Same API functions; requires change to service declaration only Does not expose administration options // Set the URL (for distributed access) and establish a remote service String evsurl = http://evsapi.nci.nih.gov/evsapi41/http/remoteservice ; LexBIGService lbsvc = EVSApplicationService.getRemoteInstance(evsUrl); // Additional code is unchanged CodedNodeSet cns = lbs.getcodingschemeconcepts("icd-9-cm", null); cns.restricttomatchingproperties( Constructors.createLocalNameList( "Semantic_Type"), null, "Disease or Syndrome", exactmatch", null); cns.restricttomatchingdesignations("infeksion", SearchDesignationOption. PREFERRED_ONLY, DoubleMetaphoneLuceneQuery, null); cns.restricttomatchingdesignations("classify", SearchDesignationOption.ALL, "StemmedLuceneQuery, null);

LexBIG/EVS API - cagrid LexGrid Model & Storage LexBIG/EVS Java API LexBIG/EVS Distributed Service LexBIG/EVS cagrid Service

LexBIG/EVS API - cagrid LexBIG on Local System Database Server LexBIG Install JDBC Direct Client System LexBIG Client API Proxy Distributed LexBIG Server LexBIG Install Database Server RMI JDBC Distributed Client System cagrid Host Server Distributed LexBIG Server Database Server LexBIG Client Proxy LexBIG Proxy LexBIG Install TCP RMI JDBC Grid

LexBIG/EVS API - cagrid Same API Functionality Client cagrid Service Distributed LexBIG Calls cagrid getsupportedcodingschemes() Calls Distributed LexBIG getsupportedcodingschemes() Results are returned to client with all appropriate cagrid security mechanisms Returns result of call to cagrid Service

cacore SDK APIs LexGrid Model & Storage cacore SDK APIs

cacore SDK APIs Query-by-example (QBE) system Based on LexGrid model Java Language Binding Web Services (SOAP) Web Services (REST HTTP / XML) cacore EVS Server Web Web Services XML XML // HTML HTML Java Java QBE QBE Service Layer Cache DAO Hibernate Database Server LexBIG Install JDBC

cacore SDK APIs - Example SDK-Generated Query by Example User Interface:

cacore SDK APIs - Example Example Restful Request (HTML) Example Restful Output (HTML shown, XML also available)

Browsers and Applications LexGrid Model & Storage LexBIG/EVS Java API Browsers and Applications LexBIG/EVS Distributed Service LexBIG/EVS cagrid Service

User Interfaces - LexBIG GUI

User Interfaces - BioPortal

Project Links LexEVS Project http://gforge.nci.nih.gov/projects/lexevs/ cabig Vocabulary Knowledge Center https://cabig-kc.nci.nih.gov/vocab/kc/index.php/main_page