Title: Clinical Observations Interoperability: - Bridging Clinical Practice and Clinical Research
1Clinical Observations Interoperability -
Bridging Clinical Practice and Clinical Research
- Helen Chen
- February 13, 2009
2Motivation
- Pressing need for interoperability between
clinical trials and clinical practice - Bridge gaps between various standards to connect
related fields - Semantic Web technologies are maturing quickly
and getting ready for prime time
3Clinical Observation Interoperability Group
- W3C Semantic Web for Life Sciences and Healthcare
Interest Group - Members from CDISC, clinical trial researchers
and healthcare IT researchers - http//esw.w3.org/topic/HCLS/ClinicalObservationsI
nteroperability
4Goals
- Show that Semantic Web technologies can be used
to bridge the gap between the two - Map across formats
- Reuse existing data
- Develop a proof of concept application that
demonstrates the feasibility of that approach
5Use Case Step-Through
- (Textual) specification of the eligibility
criteria for a given clinical trial - Ontology-based translation of the eligibility
criteria into SPARQL queries - Translation of the SPARQL queries into
database-specific queries - Execution of the queries at the databases)
results contain all eligible patients - Return of a list of eligible patients to clinical
trial administrator
6Problems
- Data is not stored only in form of the CDISC SDTM
but also in HL7 DCM form - Concepts in SDTM domain do not always have
one-one mapping to HL domain - Drug prescription coded in different drug codes
(RxNorm and NDC) - Data is not stored as RDF but in conventional
relational databases
7Solution
- Transform references described in SDTM classes to
references described to HL7 classes via N3 rules - Obtain relavant concepts at different granularity
via inferencing - Class-gtsubclasses
- Derive new classes (weight loss drug) via
ltmay-treatgt mechanism - Transform either
- Relational data into RDF
- or SPARQL into SQL via N3 rules
- Second approach chosen
8Ontology Modeling
- Develop ontologies for clinical trials and
clinical practice based on CDISC SDTM and HL7
DCM - Write mapping rules
- Model patient and medication aspects
- Lab results and observations
- Patient vital signs
- Medications
9Inclusion Criteria
- Type 2 diabetes
- on diet and exercise therapy or monotherapy with
metformin, insulin secretagogue, or
alpha-glucosidase inhibitors, or a low-dose
combination of these at 50 maximal dose. Dosing
is stable for 8 weeks prior to randomization. - ?patient takes metformin
.
.
.
10Exclusion Criteria
- Use of warfarin (Coumadin), clopidogrel (Plavix)
or other anticoagulants. - .
- ?patient doesNotTake anticoagulant .
.
.
11Medication
- M0271 a sdtmMedication splclassCode 6809
metformin sdtmsubject P0006
sdtmdosePerAdministration sdtmhasValue
500 sdtmhasUnit "mg sdtmstartDateTime
"20070101T000000"xsddateTime
sdtmendDateTime "2008-0101T000000"xsddate
Time .
12Criteria in SPARQL
- ?medication1 sdtmsubject ?patient
splactiveIngredient ?ingredient1 . - ?ingredient1 splclassCode 6809 .
- OPTIONAL
- ?medication2 sdtmsubject ?patient
splactiveIngredient ?ingredient2 .?ingredient2
splclassCode 11289 . - FILTER (!BOUND(?medication2))
13Drug Class Information in CT 8
- monotherapy with metformin, insulin secretagogue,
or alpha-glucosidase inhibitors and a low dose
combination of all - Long term insulin therapy
- Therapy with rosiglitazone (Avandia) or
pioglitazone (Actos), or extendin-4 (Byetta),
alone or in combination - corticosteroids
- weightloss drugs e.g., Xenical (orlistat),
Meridia (sibutramine), Acutrim (phenylpropanol-ami
ne), or similar medications - nonsteroidal anti-inflammatory drugs
- Use of warfarin (Coumadin), clopidogrel (Plavix)
or other anticoagulants - Use of probenecid (Benemid, Probalan),
sulfinpyrazone (Anturane) or other uricosuric
agents
14Prescription Information in Patient Database
- "132139","131933","98630 ","GlipiZIDE-Metformi
n HCl 2.5-250 MG Tablet","54868079500
",98630,"2.5-250 ","TABS","","MG
"," ","15","GlipiZIDE-Metformin HCl
","","GlipiZIDE-Metformin HCl 2.5-250 MG Tablet - "132152","131946","98629 ","GlipiZIDE-Metformi
n HCl 2.5-500 MG Tablet","54868518802
",98629,"2.5-500 ","TABS","","MG
"," ","15","GlipiZIDE-Metformin HCl
","","GlipiZIDE-Metformin HCl 2.5-500 MG Tablet - "132407","132201","98628 ","GlipiZIDE-Metformi
n HCl 5-500 MG Tablet","54868546702
",98628,"5-500 ","TABS","","MG
"," ","15","GlipiZIDE-Metformin HCl
","","GlipiZIDE-Metformin HCl 5-500 MG Tablet - "132642","132436","C98630 ","GlipiZIDE-Metformi
n HCl TABS","54868079500 ",98630,"","TABS","","
"," ","15","GlipiZIDE-Metformin HCl
","","GlipiZIDE-Metformin HCl TABS"
15Drug Ontology By Stanford
from drug ontology documentation
16Mapping Between CT and Patient Record
C1299007
C0050393
C0066535
C0025598
17SDTM to HL7 Transformation
Clinical Trial Ontology
sdtmMedication sdtmdosePer- Administration
?x a sdtmMedication sdtmdosePer-
Administration ?y gt ?x hl7Substance-
Administration hl7doseQuantity ?y
hl7Substance- Administration hl7doseQuantity
Clinical Practice Ontology
18HL7 to EMR Database Transformation
SPARQL in Clinical Practice Ontology
hl7substanceAdministration a
hl7SubstanceAdministration hl7consumable
hl7displayName ?takes
splactiveIngredient splclassCode ?ingred
gt ?indicItem Item_MedicationPatie
ntID ?person Item_MedicationPerfo
rmedDTTM ?indicDate
Item_MedicationEntryName ?takes . .
hl7Substance- Administration hl7doseQuantity
Item_MedicationEntryName ?takes
. MedicationItemID ?indicItem
SQL to EMR Database
19Pushing Query to Database
- SPARQL in SDTM ontology to SPARQL in HL7 ontology
- SPARQL in HL7 ontology to SQL in EMR database
List of eligible patients
EMR
HL7 DCM/RIM
CT Eligibility
SPARQL
SQL
SPARQL
20SPARQL in SDTM
- PREFIX sdtm lthttp//www.sdtm.org/vocabularygt
- PREFIX spl lthttp//www.hl7.org/v3ballot/xml/infra
structure/vocabulary/vocabularygt - SELECT ?patient ?dob ?sex ?takes
?indicDate?contra - WHERE
- ?patient a sdtmPatient
- sdtmmiddleName ?middleName
- sdtmdateTimeOfBirth ?dob
- sdtmsex ?sex .
- sdtmsubject ?patient
- sdtmstandardizedMedicationName ?takes
- splactiveIngredient splclassCode ?code
- sdtmstartDateTimeOfMedication
?indicDate - .
- OPTIONAL
- sdtmsubject ?patient
- sdtmstandardizedMedicationName ?contra
- splactiveIngredient splclassCode 11289
- sdtmeffectiveTime
21SDTM-HL7 Mapping Rules
- CONSTRUCT
- ?patient a sdtmPatient
- sdtmmiddleName ?middleName
- sdtmdateTimeOfBirth ?dob
- sdtmsex ?sex .
- a sdtmConcomitantMedication
- sdtmsubject ?patient
- sdtmstandardizedMedicationName ?takes
- splactiveIngredient splclassCode ?ingred
- sdtmstartDateTimeOfMedication ?start
- . WHERE
- ?patient a hl7Person
- hl7entityName ?middleName
- hl7livingSubjectBirthTime ?dob
- hl7administrativeGenderCodePrintName ?sex
- hl7substanceAdministration
- a hl7SubstanceAdministration
- hl7consumable
- hl7displayName ?takes
22SPARQL in HL7 Via SWtranformer
- PREFIX hl7 lthttp//www.hl7.org/v3ballot/xml/infra
structure/vocabulary/vocabularygt - SELECT ?patient ?dob ?sex ?takes ?indicDate
- WHERE
-
- ?patient hl7entityName ?middleName .
- ?patient hl7livingSubjectBirthTime ?dob .
- ?patient hl7administrativeGenderCodePrintName
?sex . - ?patient a hl7Person .
- ?patient hl7substanceAdministration
?b0035D918_gen0 . - ?b0035D918_gen0 hl7consumable
?b0035C798_gen1 . - ?b0035D918_gen0 a hl7SubstanceAdministrationgt
. - ?b0035D918_gen0 hl7effectiveTime ?b0035C5E8_ge
n3 . - ?b0035C798_gen1 hl7displayName ?takes .
- ?b0035C798_gen1 hl7activeIngredient
?b0035C848_gen2 . - ?b0035C848_gen2 hl7classCode ?code .
- ?b0035C5E8_gen3 hl7start ?indicDate .
- FILTER ( ?code 6809 )
23HL Database Mapping Rules Tables
- PREFIX xsd lthttp//www.w3.org/2001/XMLSchemagt
- PREFIX Person lthttp//hospital.example/DB/Person
gt - PREFIX Sex_DE lthttp//hospital.example/DB/Sex_DE
gt - PREFIX Item_Medication lthttp//hospital.example/D
B/Item_Medicationgt - PREFIX Medication lthttp//hospital.example/DB/Med
icationgt - PREFIX Medication_DE lthttp//hospital.example/DB/
Medication_DEgt - PREFIX NDCcodes lthttp//hospital.example/DB/NDCco
desgt
24HL Database Mapping Rules Schema
- CONSTRUCT
- ?person a hl7Person
- hl7entityName ?middleName
- hl7livingSubjectBirthTime ?dob
- hl7administrativeGenderCodePrintName ?sex
- hl7substanceAdministration a
hl7SubstanceAdministration - hl7consumable
- hl7displayName ?takes
- splactiveIngredient splclassCode
?ingred -
- hl7effectiveTime hl7start
?indicDate - .
- WHERE
- ?person PersonMiddleName ?middleName
- PersonDateOfBirth ?dob
- PersonSexDE ?sexEntry .
- OPTIONAL ?indicItem Item_MedicationPatientID
?person - Item_MedicationPerformedDTTM
?indicDate - Item_MedicationEntryName ?takes
.
25SQL to Database
- SELECT patient.id AS patient, patient.DateOfBirth
AS dob, sexEntry_gen0.EntryName AS sex,
indicItem_gen1.EntryName AS takes,
indicItem_gen1.PerformedDTTM AS indicDate - FROM Person AS patient
- INNER JOIN Sex_DE AS sexEntry_gen0 ON
sexEntry_gen0.idpatient.SexDE -
- INNER JOIN Item_Medication AS indicItem_gen1 ON
indicItem_gen1.PatientIDpatient.id - INNER JOIN Medication AS indicMed_gen2 ON
indicMed_gen2.ItemIDindicItem_gen1.id - INNER JOIN Medication_DE AS indicDE_gen5 ON
indicDE_gen5.idindicMed_gen2.MedDictD
E - INNER JOIN NDCcodes AS indicCode_gen6 ON
indicCode_gen4.ingredient6809 AND
indicCode_gen6.NDCindicDE_gen5.NDC
26COI Demo
- coi svn
- http//code.google.com/p/coi/source/checkout
- Public access (working in progress)
- http//hcls.deri.org/coi/demo/
27COI Demo Clinical Trial Eligibility Criteria
28COI Demo Selecting Inclusion Criteria
Inclusion in SDTM ontology
SDTM clinical trial ontology
29COI Demo Drug Ontology Inference
Subclasses of anticoagulant
Drug ontology
Exclusion in Drug ontology
30COI Demo Selecting Mapping Rules
check all drugs that "may_treat obese" ?A
rdfssubClassOf ?B rdfslabel ?D. ?B a
owlRestriction owlonProperty may_treat
owlsomeValuesFrom C0028754 gt ?D a
WeightLoseDrug.
31COI Demo Getting Right Patients
32Benefits of Semantic Web Apporach
- Unambiguious conceptual model for seperate
doamins without early commitment to a common
ontology - Reusable mapping rules from clinical research
domain to Healthcare domain - Late bining of coding systems and database schema
- Transform SPARQL to SQL in real time, reflecting
real time discovery and integration needs
33Challenges Ahead
- Large Tree Structure Navigation
- Reasoning on Large Data
- SWTranformer, url processing and filter clause
implementation - Portability Issues on DERI Server
- More patient data to test all proposed scenarios
34Questions and Suggestions?