a common terminology services (cts) back-end to protégé · definitions, annotations, and...

68
A Common Terminology Services (CTS) Back-end to Protégé Harold R Solbrig Christopher G Chute, M.D., Dr. P.H. Division of Biomedical Informatics Mayo Clinic

Upload: others

Post on 26-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

A Common Terminology Services (CTS) Back-end to Protégé

Harold R SolbrigChristopher G Chute, M.D., Dr. P.H.

Division of Biomedical Informatics

Mayo Clinic

Page 2: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project

• Characteristics of Terminology Links

• The Common Terminology Services (CTS) specification

• Protégé as a CTS Client

• Protégé as a CTS Server

• Issues, discussion and next steps

Page 3: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project• Characteristics of Terminology Links

• The Common Terminology Services (CTS) specification

• Protégé as a CTS Client

• Protégé as a CTS Server

• Issues, discussion and next steps

Page 4: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Purpose of the Project

1) Use Protégé to create an interface between terminology and the information model

2) Use Protégé to extend standard terminologies and (potentially) author new content.

Page 5: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology

• An integrated collection of terms, definitions, annotations, and relationships

• Defines the specialized language of a discipline or subject area

Page 6: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology and Ontology

Terminology - Define the language / tokens used in a given domain

Ontology - Describes domain knowledge in a generic way and provides understanding of a domain*

*Asunción Gómez-Pérez – Tutorial on Ontological Engineering: IJCAI’99

Page 7: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Information Model

• Describes what information is required to accomplish a particular task or process

• Consists of named collections of data elements and their relationships

• Typically includes definitions of each of the elements, how they are used, possible values (at least on a conceptual level)

Page 8: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Ogden’s Semiotic Triangle

Thought or Reference

SymbolisesRefers to

SymbolStands forReferent

C.K Ogden and I. A. Richards. The Meaning of Meaning.

Page 9: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Ogden’s Semiotic Triangle

Thought or Reference

Referent Symbol

SymbolisesRefers to

Stands for“Rose”, “ClipArt”

C.K Ogden and I. A. Richards. The Meaning of Meaning.

Page 10: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

The Communication Process

CONCEPT

Referent

Refers To Symbolises

Stands For “Rose”, “ClipArt”“Red”

Refers ToSymbolises

Stands For

CONCEPT

Symbol Symbol

“I see an ClipArt image of a red rose”

“Rose”, “ClipArt”“Red”

Page 11: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

The Communication Process

CONCEPT

Referent

Refers To Symbolises

Stands For “Rose”, “ClipArt”“Red”

Refers ToSymbolises

Stands For

CONCEPT

Symbol Symbol

“I see an ClipArt image of a red rose”

“Rose”, “ClipArt”“Red”

Information Model

Terminology – tokens and definitions

Page 12: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

The Communication Process

CONCEPT

Referent

Refers To Symbolises

Stands For “Rose”, “ClipArt”“Red”

Refers ToSymbolises

Stands For

CONCEPT

Symbol Symbol

“I see an ClipArt image of a red rose”

“Rose”, “ClipArt”“Red”

Information Model

Red roses can be used tosignify love

(Part of) Ontology

Terminology – tokens and definitions

Page 13: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology and Information Models

• There can be many information models that reference the same terminology

• It is the shared terminological references that allows information to be searched, compared and aggregated

Page 14: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project

• Characteristics of Terminology Links• The Common Terminology Services

(CTS) specification

• Protégé as a CTS Client

• Protégé as a CTS Server

• Issues, discussion and next steps

Page 15: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology Links

Classes

Slots

Possible Values

Page 16: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Concept References

Classes

Slots

PossibleValues

Page 17: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Concept References

• Concept resources can include• Existing taxonomies• Trade and specialty nomenclature• Standardized code sets (e.g.

country codes)• Reporting and classification

schemes• Ontologies• ...

Page 18: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Concept References

• Resource characteristics• Format and structure can vary

widely• Availability can vary from simple

ASCII lists of code value pairs to complex ontology services such as the Apelon DTS or DIG

Page 19: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Referencing Concepts

• Creating a manageable solution• Create a generic model of

terminology content• Define an interface layer that

allows queries to be posed in terms of the generic model

Page 20: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Concept Code URI

URI:ISO:2.16.840.1.113883.6.94#en

2.16.840.1.113883.6.94Code System

en

Concept Code

Page 21: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Concept References

Page 22: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

ConceptReferenceExample

Page 23: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project

• Characteristics of Terminology Links

• The Common Terminology Services (CTS) specification

• Protégé as a CTS Client

• Protégé as a CTS Server

• Issues, discussion and next steps

Page 24: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Why Terminology Services?

Terminology Resources are Heterogeneous

• Structure - varies from code/value pairs to complex formalisms such as NCI Thesaurus or SNOMED-CT

• Size – varies from 3 or 4 entries to well over half a million

• Format – can be CSV’s, SQL Tables, XML Documents, OWL

Page 25: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Why Terminology Services?

Terminology = content + software• Sophisticated text search

algorithms• DL style inference• Distribution, authoring,

performance...

Page 26: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

The Common Terminology Services (CTS) API

• (Relatively) Simple API• Read-only• A specification on how to do things like

• List supported code systems• Get code system information• Search coded concepts by text• Traverse relationships

• Draft HL7 / ANSI Standard

Page 27: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS Example

Page 28: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS Interface Specification

Client

Server

Interface

Page 29: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS Interface Specification

Client

LDAPService

Interface

HL7 MessagingDecision Logic

CTS Demo

SOAPService LexGrid

“Lit” ...

Page 30: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

SOAP ServerSOAP Client

Page 31: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

LDAP ServerJava Client

Page 32: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

SQL ServerJava Client

Page 33: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 34: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 35: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project

• Characteristics of Terminology Links

• The Common Terminology Services (CTS) specification

• Protégé as a CTS Client• Protégé as a CTS Server

• Issues, discussion and next steps

Page 36: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Protégé as a CTS Client

Protégé

LDAPService

Interface

SOAPService LexGrid

“Lit” ...

Page 37: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Protégé as a CTS Client

Need to create a terminology model • Code System• Concept Code• Designation• Description• Annotation• Relationship

Page 38: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelCode System

Page 39: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelCode System

Page 40: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelCode System - Example

Page 41: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelTerms & Designations

Page 42: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelTerms

Page 43: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelTerms - Example

Page 44: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelDesignations

Page 45: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelDesignations - Example

Page 46: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelDefinitions, Annotations, etc.

Page 47: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelDefinitions, Annotations, etc.

Page 48: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelRelations

Page 49: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Terminology ModelRelations

Page 50: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS ClientNew File Dialog

Page 51: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 52: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS Backend

Page 53: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 54: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS ClientConnect Dialog

Page 55: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS ClientPreferences

Page 56: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

CTS ClientCoding Scheme Selection

Page 57: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 58: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project

• Characteristics of Terminology Links

• The Common Terminology Services (CTS) specification

• Protégé as a CTS Client• Protégé as a CTS Server

• Issues, discussion and next steps

Page 59: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Protégé as a CTS Service

Client

Interface

HL7 MessagingDecision Logic

CTS Demo

Protégé

Page 60: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 61: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 62: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 63: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models
Page 64: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Outline

• Purpose of the project

• Characteristics of Terminology Links

• The Common Terminology Services (CTS) specification

• Protégé as a CTS Client

• Protégé as a CTS Server

• Issues, discussion and next steps

Page 65: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Issues, etc.

• Slow load time• Appears comparable w/ OWL• Partially resolved w/ lazy loading

• Need a SymbolReference• Dynamically resolved Symbol• Ties in w/ DirectedBinaryRelation

• Relations• Need to reconcile w/ DirectedBinaryRelation

• Need to make CTS Server a Protégé Server

Page 66: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Protégé (client)

CTS Demo

Protégé Server

Protégé Client

Protégé as CTS Server

Page 67: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Issues, etc. (continued)

• Need to flesh out lazy loading• References occur all over

• Need to implement a hierarchy trimmer

• Only keep references• Only keep graph branch points

Page 68: A Common Terminology Services (CTS) Back-end to Protégé · definitions, annotations, and relationships ... Terminology – tokens and definitions. Terminology and Information Models

Credits

• Deepak Sharma – author• Dan Armbrust - CTS author

This work was supported in part by a grant from the US National Library of Medicine: LM07319.