Upload
douglas-matthews
View
214
Download
0
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