Progress on Object-Oriented Guideline Expression Language (GELLO)

Slides:



Advertisements
Similar presentations
HL7 Decision Support Activities Rev 1 Draft Feb 23.
Advertisements

Baltimore1. GELLO Update HL7 Working Group Baltimore 2 nd October 2002 Aziz Boxwala and Robert Greenes Brigham and Womens Hospital.
GELLO 1.1 Update GELLO v1 update ballot Andrew McIntyre Medical-Objects Australia.
Archetypes in HL7 2.x Archetypes/Structure in HL7 Version 2.x Andrew McIntyre Medical-Objects 10 th HL7 Australia Conference,
QIDAM Issues and proposals for a logical model For discussion during HL7 WG Meeting in Jan 2014 Thursday Q3.
The Seventh Report of the Joint National Committee on the Prevention, Detection, Evaluation, and Treatment of High Blood Pressure Internal Medicine/Pediatrics.
Generating Medical Logic Modules for Clinical Trial Eligibility Craig Parker Brigham Young University.
1. 2 The primary Objective of IDEAL LDL-C Simvastatin mg/d Atorvastatin 80 mg/d risk CHD In stable CHD patients IDEAL: The Incremental Decrease.
Supporting Medical Decision Making with Electronic Medical Records James J. Cimino Departments of Medicine and Medical Informatics Columbia University.
1 Department of Computer Science and Engineering, University of South Carolina Issues for Discussion and Work Jan 2007  Choose meeting time.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Can we prevent myocardial and renal revascularization injury? Preventive effect of trimetazidine MR on myocardial and renal injury in diabetic patients.
Generating Medical Logic Modules for Clinical Trial Eligibility Craig Parker Brigham Young University.
Harnessing World Wide Web Technology and Standardized Terminology to Improve Decision Making for Patients and Providers James J. Cimino Departments of.
The InterMed TM Collaboratory –the early years ( )  Biomedical informatics researchers & systems developers at 5 sites: Harvard/Brigham and Women’s.
Copyright © 2001 College of American Pathologists Sample Hierarchy for Acute MI Acute MI of lateral wall Acute MI of apical-lateral wall Acute Myocardial.
Ischemic heart disease
Science Inquiry Minds-on Hands-on.
A common ground theory of medical decision-making 2: The knowledge ladder John Fox Department of Engineering Science University of Oxford and OpenClinical.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
GLIF – GELLO – Archetypes Jared Davison Medical-Objects Australia.
Business Statistics, A First Course (4e) © 2006 Prentice-Hall, Inc. Chap 9-1 Chapter 9 Fundamentals of Hypothesis Testing: One-Sample Tests Business Statistics,
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
CLINICAL DECISION SUPPORT AND PROGRAMMING IN ARDEN SYNTAX
 Knowledge Acquisition  Machine Learning. The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Building Blocks for Decision Support in HL7 Samson W. Tu Stanford Medical Informatics Stanford University School of Medicine Stanford, CA.
Comparison of Blood Pressure Lowering with Hydrochlorothiazide and Chlorthalidone Kurt A. Wargo, Pharm.D., BCPS, Thomas M. English, Ph.D., Anna J. Aaron,
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Integrating Clinical Systems by Integrating Controlled Vocabularies James J. Cimino, MD Center for Medical Informatics Columbia University New York, New.
Scott Duvall, Brett South, Stéphane Meystre A Hands-on Introduction to Natural Language Processing in Healthcare Annotation as a Central Task for Development.
National Efforts for Clinical Decision Support (CDS) Erik Pupo Deloitte Consulting.
Survey of Medical Informatics CS 493 – Fall 2004 September 27, 2004.
©2001 Sowerby Centre for Health Informatics at Newcastle Progress on Virtual Medical Record HL7 Salt Lake City.
Lesson 3 How to diagnose Coronary Artery Disease? Diagnostic.
Decreasing Incidence of Cardiogenic Shock Summary and Comment by J. Stephen Bohan, MD, MS, FACP, FACEP Published in Journal Watch Emergency Medicine December.
Protocols and Advanced Patient Assessment. Delegated Medical Acts and the Paramedics Role Licensed vs certified (a review) Base Hospital –their role Delegating.
Networking and Health Information Exchange Unit 7a Supporting Standards for EHR Application.
This material was developed by Duke University, funded by the Department of Health and Human Services, Office of the National Coordinator for Health Information.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 6: Functional Modeling.
Quality, Research and Public Health (QRPH) Domain HIMSS 2009 Interoperability Showcase Planning Co-Chairs: - Ana Estelrich, GIP-DMP - Ana Estelrich, GIP-DMP.
Applying the RIM/VMR to Elimination of the “{ }” Robert A. Jenders, MD, MS 14 January 2003.
Clinical Decision Support Consortium Blackford Middleton, MD, MPH, MSc Clinical Informatics Research & Development Partners Healthcare Brigham & Women’s.
Community Outreach to Reduce Disparities in Cardiovascular & Diabetes Morbidity & Mortality in the South Bronx Michael Alderman, MD Michelle Johnson, MD,
Clinical Decision Support Reminders and Alerts 1.
This material was developed by Duke University, funded by the Department of Health and Human Services, Office of the National Coordinator for Health Information.
 Heart disease remains the leading cause of morbidity and mortality in industrialized nations.  40% of all deaths in the U.S.A (nearly twice the number.
Update on the GELLO Expression and Query Language Margarita Sordo Brigham and Women’s Hospital Harvard Medical School HL7 Clinical Decision Support TC.
Approach to building ontologies A high-level view Chris Wroe.
? What more will it take to turn the tide of treatment for angina patients from a PCI-first to an optimal medical therapy– first approach? 1.
Introduction to Computing Concepts Note Set 19. Design Creating complex software… ▫ Not done by just one person (or two, or three) ▫ Can’t just sit down.
Progress on Guideline Expression Language. ASTM: Hypokalemia and Digoxin MLM.
Coronary Heart Disease. Coronary Circulation Left Coronary Artery –Anterior descending –Circumflex Right Coronary Artery –Posterior descending Veins –Small,
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 6: Functional Modeling.
Date of download: 6/3/2016 Copyright © The American College of Cardiology. All rights reserved. From: Relationship Between Operator Volume and Adverse.
Informatics for Scientific Data Bio-informatics and Medical Informatics Week 9 Lecture notes INF 380E: Perspectives on Information.
Interoperability of Data and Knowledge in Healthcare Systems
Chapter 15 Analysis of Variance. The article “Could Mean Platelet Volume be a Predictive Marker for Acute Myocardial Infarction?” (Medical Science Monitor,
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Ischemic Heart Disease
1st International Online BioMedical Conference (IOBMC 2015)
CORONARY ARTERY DISEASE
Cocaine-Related Chest Pain: The Year After
Networking and Health Information Exchange
Chapter 28 Management of Patients With Coronary Vascular Disorders
Antianginal Drugs Ischemic Heart Disease Angina pectoris
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Knowledge Representation, Structuring and Ontology Development
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
A Notation for a Medical Query Language
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

Progress on Object-Oriented Guideline Expression Language (GELLO)

Decision Systems Group –Harvard/Brigham January 3, Overview  Goal of demonstrating use of GELLO ability to recode decision logic of existing MLMs new knowledge-based constructs that are possible simplifications possible when used with a VMR  Four new MLMs were encoded and a previously encoded MLM updated admission alert for acute coronary artery disease alert when physician orders CT study with contrast in a patient with renal failure alert if product of blood calcium and phosphorus exceeds a certain threshold (possible renal failure) reminder to staff to draw ABG at appropriate time screen for hypokalemia with digoxin therapy  VMR classes used provided by Samson Tu & Peter Johnson

Sample Virtual EMR

Decision Systems Group –Harvard/Brigham January 3, Acute coronary artery disease Arden Syntax (data) admission := event {'32511','32467'; '32511','32472'}; inpatient_case := read last {'evoking','dam'="GYDAPMP",'constraints'=" I***";"HCASE";"K"}; diagnosis_text := read {'evoking','dam'="GYDAPMP"; "HDIAGNOS"; "HDIAGTXT"}; target_diagnoses := ("MI","R/O MI","MYOCARDIAL INFARCTION", "CARDIOGENIC SHOCK","CHEST PAIN","CP","ANGINA", "CHEST PAIN NOS","INTERMED CORONARY SYND","UNSTABLE ANGINA","CAD", "ANGINA PECTORIS NOS","CHR ISCHEMIC HRT DIS NEC", "RULE OUT MI","R/O MYOCARDIAL INFARCTION", "ACUTE MI", "SUBENDO INFARCT","UNSTABLE ANGINA/MI", "ANGINA PECTORIS","CORONARY ARTERY DISEASE");

Decision Systems Group –Harvard/Brigham January 3, Acute coronary artery disease GELLO // Assumption: VMR has a notion of an admission event AbsoluteTime admission_time := admission_event.recording_time; // Retrieve the reasons for admission, encoded as Observations // Assumes the particular Intervention in question is admission List reasons_for_admission := select adm.reason from Intervention as adm where adm.reason.recording_time.equals(admission_time); // Create a Concept representing acute ischemia using a UMLS source vocabulary Concept acute_ischemia := new Concept("MTH","CXXXXXXX"); // Select diagnoses from reasons for admission as coded Concepts List diagnosis_text := select coded_concept from reasons_for_admission;

Decision Systems Group –Harvard/Brigham January 3, Acute coronary artery disease Arden Syntax (logic) if inpatient_case is null then conclude false; endif; if any (diagnosis_text are in target_diagnoses) then conclude true; else conclude false; endif;

Decision Systems Group –Harvard/Brigham January 3, Acute coronary artery disease GELLO if reasons_for_admission.is_empty() then conclude false; endif; // Indicate that we want diagnoses that have an “is a” relationship to acute ischemia if diagnosis_text.has_relationship(acute_ischemia, "is a") then conclude true; else conclude false; endif;

Decision Systems Group –Harvard/Brigham January 3, Acute coronary artery disease MLM ISSUES  Need for an HL7/Arden Syntax SIG specification of the event model for an MLM to encode the GELLO queries so that they have the same semantics as in the Arden version  VMR assumes actions are performed on a known patient Where does context for patient identity as used in an MLM come from?  GELLO encoding of MLM is different from institution- derived encoding Not possible to encode free-text diagnoses with current VMR model However, use of data dictionary could ensure institution- independent encoding

Decision Systems Group –Harvard/Brigham January 3, ASTM CT contrast Arden Syntax (data) last_creat := read last {"Creatinine level"}; last_BUN := read last {"BUN level"}; GELLO QuantitativeObservation last_creat := last(select obs from QuantitativeObservation as obs where obs.coded_concept.equals(new Concept("MTH", "C ")) order by ascending obs.recording_time); QuantitativeObservation last_BUN := last(select obs from QuantitativeObservation as obs where obs.coded_concept.equals(new Concept("MTH", "C ")) order by ascending obs.recording_time);

Decision Systems Group –Harvard/Brigham January 3, ASTM CT contrast Arden Syntax (logic) if last_creat is null and last_BUN is null then alert_text := "No recent serum creatinine available. Consider patient's kidney function before ordering contrast studies."; conclude true; elseif last_creat > 1.5 or last_BUN > 30 then alert_text := "Consider impaired kidney function when ordering contrast studies for this patient."; conclude true; else conclude false; endif;

Decision Systems Group –Harvard/Brigham January 3, ASTM CT contrast GELLO String alert; PhysicalQuantity creat_threshold := new PhysicalQuantity(1.5, "mg/dl",""); PhysicalQuantity BUN_threshold := new PhysicalQuantity(30, "mg/dl",""); if is null(last_creat) and is null(last_BUN) then alert := "No recent serum creatinine available. Consider patient's kidney function before ordering contrast studies."; conclude true; elseif last_creat.observed_quantity.gt(creat_threshold) or last_BUN.observed_quantity.gt(BUN_threshold) alert := "Consider impaired kidney function when ordering contrast studies for this patient."; conclude true; else conclude false; endif;

Decision Systems Group –Harvard/Brigham January 3, Calcium phosphate product Arden Syntax (data) creatinine := read last {'dam'="PDQRES2",'constraints'="C****"; ;'32752'}; calcium := read last {'dam'="PDQRES2",'constraints'="C****"; ;'32109'}; phosphate := read last {'dam'="PDQRES2",'constraints'="C****"; ;'33824'}; creatinine_threshold := 2; product_threshold := 70;

Decision Systems Group –Harvard/Brigham January 3, Calcium phosphate product GELLO QuantitativeObservation creatinine := last(select obs from QuantitativeObservation as obs where obs.coded_concept.equals(new Concept("RCD99", "C ")) order by ascending obs.recording_time); QuantitativeObservation calcium := last(select obs from QuantitativeObservation as obs where obs.coded_concept.equals(new Concept("RCD99", "C ")) order by ascending obs.recording_time); QuantitativeObservation phosphate := last(select obs from QuantitativeObservation as obs where obs.coded_concept.equals(new Concept("RCD99", "C ")) order by ascending obs.recording_time); PhysicalQuantity creatinine_threshold := new PhysicalQuantity(2.0, "mg/dl",""); Double product_threshold := 70.0;

Decision Systems Group –Harvard/Brigham January 3, Calcium phosphate product Arden Syntax (logic) if (creatinine is not number) or (calcium is not number) or (phosphate is not number) then conclude false; endif; product := calcium * phosphate; if (creatinine >= creatinine_threshold) and (product >= product_threshold) then conclude true; else conclude false; endif;

Decision Systems Group –Harvard/Brigham January 3, Calcium phosphate product GELLO if is null(creatinine) or is null(calcium) or is null(phosphate) then conclude false; endif; Double product := calcium.observed_quantity.value * phosphate.observed_quantity.value; if creatinine.observed_quantity.gte(creatinine_threshold) and (product >= product_threshold) then conclude true; else conclude false; endif;

Decision Systems Group –Harvard/Brigham January 3, Extubate blood gas reminder Arden Syntax (data) // only patients explicitly on protocol patient_on_protocol := {/* patient is on protocol */}; has_abg := read exist {/*abg where it occurred within last 2 hours */};

Decision Systems Group –Harvard/Brigham January 3, Extubate blood gas reminder GELLO AbsoluteTime t := new AbsoluteTime(); AbsoluteTime threshold_time := t.before_now(new Duration(2, hours)); Procedure abg_done := last(select abg from Procedure as abg where abg.recording_time.is_after(threshold_time) order by ascending abg.recording_time);

Decision Systems Group –Harvard/Brigham January 3, Extubate blood gas reminder Arden Syntax (logic) if not patient_on_protocol then conclude false; elseif has_abg then conclude false; else conclude true; endif;

Decision Systems Group –Harvard/Brigham January 3, Extubate blood gas reminder GELLO if not(is null(abg_done)) then conclude false; else conclude true; endif;

Decision Systems Group –Harvard/Brigham January 3, Extubate gas reminder Issue A VMR-implicit assumption is that data collected is for a particular patient The MLM, on the other hand, needs to survey data from a collection of patients on a protocol In this case we assume we are performing the reminder for a particular patient who is already on the protocol

Decision Systems Group –Harvard/Brigham January 3, Hypokalemia and Digoxin Arden Syntax (data) /* read the potassium that evoked the MLM */ potassium := READ LAST {potassium level}; /* get the last active digoxin or digitoxin order */ digoxin_order := read last {digoxin order};

Decision Systems Group –Harvard/Brigham January 3, Hypokalemia and Digoxin GELLO /* read the potassium that evoked the MLM */ QuantitativeObservation potassium := last ( select obs from QuantitativeObservation as obs where obs.coded_concept.equals(new Concept("MTH", "C ")) order by descending obs.recording_time); /* get the last active digoxin or digitoxin order */ List digoxin_orders := select meds from Medication as meds where meds.coded_concept. equals(new Concept("MTH", "C ")); PhysicalQuantity potassium_threshold := new PhysicalQuantity(3.3, "mEq/l", "");

Decision Systems Group –Harvard/Brigham January 3, Hypokalemia and Digoxin Arden Syntax (logic) /* exit if the potassium value is invalid */ if potassium is not number then conclude false; endif; /* exit if there is no hypokalemia */ if potassium >= 3.3 then conclude false; endif; /* exit if indication of digoxin use cannot be found */ if (digoxin_order is null) then conclude false; endif; /* send an alert */ conclude true;

Decision Systems Group –Harvard/Brigham January 3, Hypokalemia and Digoxin GELLO if is null (potassium) then conclude false; endif; /* alert if patient has hypokalemia and is on digoxin */ if potassium.lt(potassium_threshold) and not(digoxin_orders.is_empty()) then conclude true; endif; conclude false;

Decision Systems Group –Harvard/Brigham January 3, Discussion  Knowledge modeling is facilitated by GELLO Example is acute MI term class in first MLM translation This can provide advantages in using drug interaction databases, etc.  Guidelines present other issues, not covered in MLMs These include scoping, implied gets, etc. We have chosen not to focus on these now, because they relate to guideline modeling, not to the expression language  VMR not yet stable As it evolves, it should be possible to converge on stable MLM representations across institutions Note that this cannot be done with curly braces

Decision Systems Group –Harvard/Brigham January 3, Authoring in GELLO Query and expression writing can be simplified using editing GUIs that provide templates and object navigators Example of such an editing GUI: QuickRules Builder (