20
Enabling complex queries Enabling complex queries to drug information sources to drug information sources through functional composition through functional composition Olivier Bodenreider Olivier Bodenreider Lister Hill National Lister Hill National Center Center for Biomedical for Biomedical Communications Communications Bethesda, Maryland - USA Bethesda, Maryland - USA Lee Peters, Jonathan Mortensen, Thang Nguyen Lee Peters, Jonathan Mortensen, Thang Nguyen Medinfo 2013 Medinfo 2013 Copehangen, Denmark Copehangen, Denmark Session: Data models and representation Session: Data models and representation August 21, 2013 August 21, 2013

Enabling complex queries to drug information sources through functional composition Olivier Bodenreider Lister Hill National Center for Biomedical Communications

Embed Size (px)

Citation preview

Enabling complex queriesEnabling complex queriesto drug information sourcesto drug information sources

through functional compositionthrough functional compositionOlivier BodenreiderOlivier Bodenreider

Lister Hill National CenterLister Hill National Centerfor Biomedical Communicationsfor Biomedical CommunicationsBethesda, Maryland - USABethesda, Maryland - USA

Lee Peters, Jonathan Mortensen, Thang NguyenLee Peters, Jonathan Mortensen, Thang Nguyen

Medinfo 2013Medinfo 2013Copehangen, DenmarkCopehangen, DenmarkSession: Data models and representations - ISession: Data models and representations - IAugust 21, 2013August 21, 2013

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

MotivationMotivation

Biomedical vocabularies are used as reference Biomedical vocabularies are used as reference knowledge sourcesknowledge sources

They can be used programmatically through They can be used programmatically through Application Programming Interfaces (APIs)Application Programming Interfaces (APIs) Unified Medical Language Server (UMLS)Unified Medical Language Server (UMLS) BioPortalBioPortal RxNormRxNorm

Difficult to compose complex queries across Difficult to compose complex queries across multiple APIsmultiple APIs

2

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Example use caseExample use case

Find all the brand name products available for a given generic drug, whose identity is known by the FDA unique ingredient identifier code (UNII)

Workflow

3

RxNorm ID(ingredient)

RxNorm ID(branded drug)

FDA UNII(ingredient)

findRxcuiById getRelatedByType

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

ObjectivesObjectives

To enable an end-user to create complex queries to drug information sources through functional composition

Application to two different web services to drug information sources RxNorm API NDF-RT API – National Drug File-Reference

Terminology Complex query = workflow

Sequence of web service functions Function interoperability driven by an ontology

4

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Web service annotationWeb service annotation

Several web service annotation and composition frameworks SAWSDL (Semantic Annotations for WSDL and XML

Schema) – W3C SSWAP (Simple Semantic Web Architecture and Protocol)

– U. Arizona SADI (Semantic Automated Discovery and Integration) – U.

British Columbia Taverna – U. Manchester

Our approach Difficult to retrofit our services to these frameworks Use of an ontology in the background, not in the payload

5

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Drug information sourcesDrug information sources

RxNorm Developed by NLM Normalized names and codes for drug entities Relations among drug entities form a graph

NDF-RT National Drug File-Reference Terminology Developed by the Veterans Health Administration Generic drugs described in terms of their active

ingredients, mechanisms of action, physiologic effects, and therapeutic intent (indications and contraindications)

6

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

MethodsMethods

Problem: Determine and represent interoperability Problem: Determine and represent interoperability among RxNorm and NDF-RT API functions based among RxNorm and NDF-RT API functions based on their input and outputon their input and output

Semantic representation of input and outputSemantic representation of input and output Captured in an OWL ontologyCaptured in an OWL ontology

Definition of interoperability between two Definition of interoperability between two functionsfunctions Modeled through rulesModeled through rules

7

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Ontology of functionsOntology of functions

Developed in OWL using ProtégéDeveloped in OWL using Protégé Main classesMain classes

Service (e.g., RxNorm, NDF-RT)Service (e.g., RxNorm, NDF-RT) Function: input and output parametersFunction: input and output parameters Function parameter: semantics of identifiersFunction parameter: semantics of identifiers

ExamplesExamples RxNorm API has_function findRxcuiByID findRxcuiById has_input id_type findRxcuiById has_input id findRxcuiById has_output RxCUI RxNorm API has_function getRelatedByType getRelatedByType has_input RxCUI

8

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Rules of interoperabilityRules of interoperability

Main rule – Main rule – If the input of B matches the output of A, then A is potentially interoperable with B

Additional rulesAdditional rules Interoperability between generic IDs and specific IDs Interoperability between generic IDs and specific IDs

in the input or output of functionsin the input or output of functions ExampleExample

A: rxnorm:findRxcuiById has_output RxCUI B: rxnorm:getRelatedByType has_input RxCUI input of B matches the output of A

=> rxnorm:getRelatedByType interoperable_with rxnorm:findRxcuiById

9

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

ImplementationImplementation

The OWL ontology supports the interoperability The OWL ontology supports the interoperability rulesrules

Interoperability relations inferred from the rules Interoperability relations inferred from the rules support the determination of interoperability for a support the determination of interoperability for a given pair of functionsgiven pair of functions

The ontology and the interoperability relations The ontology and the interoperability relations drivedrive The validation of workflowsThe validation of workflows The graphical interface for creating workflowsThe graphical interface for creating workflows

Only allowable functions are proposed in the menuOnly allowable functions are proposed in the menu

10

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

RxMixRxMix

Simple example workflow: Finding brand names Simple example workflow: Finding brand names from clinical drug stringsfrom clinical drug strings Original input: a clinical drug stringOriginal input: a clinical drug string

citalopram 20 mg oral tablet

Expected output: brand namesExpected output: brand names Celexa

WorkflowWorkflow clinical drug string -> clinical drug RxCUIclinical drug string -> clinical drug RxCUI

– findRxcuiByString()findRxcuiByString() clinical drug RxCUI -> branded drug RxCUI (+ name)clinical drug RxCUI -> branded drug RxCUI (+ name)

– getRelatedByType()getRelatedByType()

11

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications 12

http://mor.nlm.nih.gov/RxMix/

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Add first functionAdd first function

13

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Add second functionAdd second function

14

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Complete workflowComplete workflow

15

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Add input and runAdd input and run

16

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

OutputOutput

17

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

Examples of use casesExamples of use cases

Finding clinical drugs which may cause allergic Finding clinical drugs which may cause allergic reactionsreactions

Finding interactions to RxNorm clinical drugsFinding interactions to RxNorm clinical drugs Finding NDF-RT ingredients from RxNorm Finding NDF-RT ingredients from RxNorm

clinical drugsclinical drugs Finding VA classes for RxNorm clinical dose Finding VA classes for RxNorm clinical dose

formsforms Finding brand names from clinical drug stringsFinding brand names from clinical drug strings

18

Library of common use cases integrated in RxMix

Lister Hill National Center for Biomedical CommunicationsLister Hill National Center for Biomedical Communications

SummarySummary

Web service composition model for the RxNorm and NDF-RT APIs

Enables an end-user to create complex queries to drug information sources (“workflows”)

Our model supports common use cases, including checking interactions for RxNorm drugs and deploying allergy lists defined in reference to drug properties in NDF-RT

RxMix: http://mor.nlm.nih.gov/RxMix/

19

MedicalOntologyResearch

Olivier BodenreiderOlivier Bodenreider

Lister Hill National CenterLister Hill National Centerfor Biomedical Communicationsfor Biomedical CommunicationsBethesda, Maryland - USABethesda, Maryland - USA

Contact:Contact:Web:Web:

[email protected]@nlm.nih.govmor.nlm.nih.govmor.nlm.nih.gov