50
RxMix – Enabling complex queries to drug information sources through functional composition Olivier Bodenreider Lister Hill National Center for Biomedical Communications Bethesda, Maryland - USA Webinar Series May 21, 2014 Jonathan Mortensen Stanford University

Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

RxMix – Enabling complex queries to drug information sources

through functional composition Olivier Bodenreider

Lister Hill National Center for Biomedical Communications

Bethesda, Maryland - USA

Webinar Series May 21, 2014

Jonathan Mortensen

Stanford University

Page 2: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Acknowledgments

Lee Peters Thang Nguyen Kelly Zeng Ramez Ghazzaoui

Stuart Nelson, John

Kilbourne (RxNorm) Kin Wah Fung (RxTerms) Mike Lincoln (NDF-RT)

Page 3: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

References

RxNav , RxMix and drug information sources APIs http://rxnav.nlm.nih.gov/

Drug information sources RxNorm

http://www.nlm.nih.gov/research/umls/rxnorm/index.html RxTerms

http://wwwcf.nlm.nih.gov/umlslicense/rxtermApp/rxTerm.cfm NDF-RT

http://evs.nci.nih.gov/ftp1/NDF-RT/ C3PI RxImageAccess

http://rximage.nlm.nih.gov/

Page 4: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

4

http://rxnav.nlm.nih.gov/

Page 5: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

References

Peters LB, Mortensen J, Nguyen T, Bodenreider O. Enabling complex queries to drug information sources through functional composition. Stud Health Technol Inform (Proc Medinfo) 2013;192:692-696.

http://mor.nlm.nih.gov/pubs/pdf/2013-medinfo-lp.pdf

Page 6: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Outline

Introduction APIs to drug information sources Complex queries Functional composition

Interoperability among API functions Definition Implementation

RxMix demo

Page 7: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Introduction

Olivier Bodenreider

Page 8: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Motivation

Biomedical vocabularies are used as reference knowledge sources

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

Difficult to compose complex queries across multiple APIs

8

Page 9: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Drug information sources

Publicly available RxNorm NDF-RT RxTerms RxImageAccess

Created/distributed by NLM Datasets Application Programming Interfaces (APIs)

9

Page 10: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Drug 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)

10

Page 11: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Drug information sources

RxTerms Developed at NLM Drug interface terminology derived from RxNorm for

prescription writing or medication history recording RxImageAccess

Developed at NLM High-definition images for oral solid

dose forms (“pills”), with additional metadata, for pill identification purposes

11

Page 12: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Example 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

12

RxNorm ID (ingredient)

RxNorm ID (branded drug)

FDA UNII (ingredient)

findRxcuiById getRelatedByType

RxNorm API

Page 13: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Interoperability among API functions

Jonathan Mortensen

Page 14: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Objectives

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

Complex query = workflow Sequence of web service functions Function interoperability driven by an ontology

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

Terminology

14

Page 15: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Web 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

15

Page 16: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Methods

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

Semantic representation of input and output Captured in an OWL ontology

Definition of interoperability between two functions Modeled through rules

16

Page 17: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Ontology of functions

Developed in OWL using Protégé Main classes

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

Examples 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

17

Page 18: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Main class hierarchy

18

Page 19: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Class “Service”

The 4 APIs are instances of the class Service 19

Page 20: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Class “Function”

All API functions are instances of the class Function 20

Page 21: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Function “findRxcuiById”

21

source

input 1

input 2

input 3 output

Page 22: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Function “findRxcuiById”

22

source

input 1

input 2

input 3

output

Page 23: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Function “getRelatedByType”

23

input 1

output

input 2

Page 24: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Function “getRelatedByType”

24

input 1 output

input 2 …

Page 25: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Rules of interoperability

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

Additional rules Interoperability between generic IDs and specific IDs in

the input or output of functions Example

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

25

Page 26: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

findRxcuiById → getRelatedByType

26

Page 27: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Implementation

The OWL ontology supports the interoperability rules

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

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

Only allowable functions are proposed in the menu

27

Page 28: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Production rules (SWRL)

If the input of c matches the output of a Then c interoperable with a (i.e., c can follow a)

28

Page 29: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Implementation

Rules applied through a reasoner in Protégé HermIT

Inferred properties added to the knowledge base Interoperable_with properties

29

Page 30: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Properties before/after applying rules

30

Page 31: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

RxMix demo

Olivier Bodenreider

Page 32: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 32

“Real-life” use case

Find all the NDC codes for a given allergy class (e.g., barbiturates) Input: [NDF-RT] Barbiturates (N0000008016) Output: [RxNorm] list of NDC codes

Complex workflow RxNorm ID

(SCD/SBD)

201628 Amytal Sodium 100 MG/ML Injectable Solution […]

42998030301 […]

NDC code NDF-RT ID (chem. ingr.)

N0000008016 Barbiturates

name

Barbiturates

NDF-RT ID (drug/ingr.)

N0000005827 Amobarbital […]

RxNorm ID (ingredient)

719 Amobarbital […]

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

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

Page 33: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 33

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

Page 34: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 34

RxNorm ID (SCD/SBD) NDC code NDF-RT ID

(chem. ingr.) name NDF-RT ID (drug/ingr.)

RxNorm ID (ingredient)

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

Page 35: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 35

RxNorm ID (SCD/SBD) NDC code NDF-RT ID

(chem. ingr.) name NDF-RT ID (drug/ingr.)

RxNorm ID (ingredient)

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

Page 36: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 36

RxNorm ID (SCD/SBD) NDC code NDF-RT ID

(chem. ingr.) name NDF-RT ID (drug/ingr.)

RxNorm ID (ingredient)

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

Page 37: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 37

RxNorm ID (SCD/SBD) NDC code NDF-RT ID

(chem. ingr.) name NDF-RT ID (drug/ingr.)

RxNorm ID (ingredient)

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

Page 38: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 38

RxNorm ID (SCD/SBD) NDC code NDF-RT ID

(chem. ingr.) name NDF-RT ID (drug/ingr.)

RxNorm ID (ingredient)

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

Page 39: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 39

RxNorm ID (SCD/SBD) NDC code NDF-RT ID

(chem. ingr.) name NDF-RT ID (drug/ingr.)

RxNorm ID (ingredient)

findConceptsByName getRel.ConceptsByRev.Role findRxcuiById getRelatedByType getNDCs

Page 40: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 40

Complete workflow

Page 41: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 41

Add input and run (interactively)

Page 42: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 42

Output

Over 1000 NDCs retrieved

Page 43: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 43

Script of the demo RxMix overview

documentation is integrated Objective: Build a workflow

Find all the NDC codes for a given allergy class (e.g., barbiturates) Steps

[at first, all functions are available] 1) NDF-RT:findConceptsByName

select INGREDIENT_KIND [show output in mouse over] [show that only the functions compatible with the output are listed] 2) NDF-RT:getRelatedConceptsByReverseRole

role_type = has_ingredient transitive = 1 [show access to the documentation]

[show that the parameter passed between functions is listed] [cross over to RxNorm] 3) RxNorm:findRxcuiById

[NUI is already preselected -- only element from the output to match the input] 4) RxNorm:getRelatedByType

click SCD ctrl-click SBD

5) RxNorm:getNDCs [look at the complete workflow] Input value: barbiturates Execute workflow: Run

takes about 10 seconds Output

over 1000 NDCs Can save the workflow for reuse Can run any workflow on a list of input values (batch mode) Library of workflows

Find the National Drug Codes (NDCs) for clinical drugs of an ingredient fairly close to what we did

Page 44: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 44

Batch mode

Find all the NDC codes for generic packs in RxNorm

Simple workflow

Batch mode Iterate over all the generic packs in RxNorm (GPCK)

00378727253 […]

RxNorm ID (GPCK)

748961 {28 (Norethindrone 0.35 MG Oral Tablet) } Pack

[…]

NDC code

getNDCs

Page 45: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 45

Create workflow

Page 46: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 46

Select input and output

Page 47: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications 47

JSON output

Page 48: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Examples of use cases

Finding clinical drugs which may cause allergic reactions

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

clinical drugs Finding VA classes for RxNorm clinical dose

forms Finding brand names from clinical drug strings

48

Library of common use cases integrated in RxMix

Page 49: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Lister Hill National Center for Biomedical Communications

Summary

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/

49

Page 50: Webinar Series May 21, 2014 · 2014. 5. 21. · RxMix – Enabling complex queries to drug information sources . through functional composition . Olivier Bodenreider . Lister Hill

Medical Ontology Research

Olivier Bodenreider

Lister Hill National Center for Biomedical Communications Bethesda, Maryland - USA

Contact: Web:

[email protected] mor.nlm.nih.gov