Transcript (vMR): A Simplified RIM-Based Data Model for CDS
Virtual Medical Record (vMR): A Simplified RIM-Based Data Model for CDS
HL7 Work Group Meeting, San Diego, CA September 2011 Kensaku Kawamoto, MD, PhD Director, Knowledge Management and Mobilization Assistant Professor, Department of Biomedical Informatics University of Utah [email protected]
Background
• A “holy grail” of clinical informatics is scalable, interoperable CDS • Key requirement for interoperable CDS and re-use of CDS knowledge resources = use of a common patient data model – Referred to as a “Virtual Medical Record” or vMR (Johnson
et al.
,
AMIA Annu Symp Proc
, 2001) • Lack of a common vMR is a major barrier to sharing knowledge and scaling CDS – Known as the “curly braces” problem in Arden Syntax
Example Challenge without VMR
Observation Code = BP Value = 120/80 mmHg Blood Pressure Systolic = 120 mmHg Diastolic = 80 mmHg Observation Code = BP Observation Code = SBP Value = 120 mmHg Observation Code = DBP Value = 80 mmHg Vital Sign Type = BP Value = 120/80 Units = mmHg
vMR Goal
• Provide common information model upon which interoperable clinical decision support resources (e.g., rules) can be developed • Desired attributes: – VMR instances can be derived from HL7 V3 artifacts, in particular CCD and Pedigree instances – VMR instances can be populated from HL7 V2 messages, in particular for laboratory data – Leverage Detailed Clinical Models – Capable of being easily understood and used by clinicians/analysts without significant V3 training
Project History
• Analysis of data required by 20 CDS systems from 4 countries • Analysis of HL7 CCD, Pedigree, Clinical Statement, and other relevant models • Use of greenCDA/greenCCD as an example approach to simplification • Trial implementation of vMR via OpenCDS • Under ballot for September 2011 Work Group cycle – Domain Analysis Model – GELLO implementation guide
class dataTypes
Simplified ISO 21090 Data Types
iso-21090-datatypes-simplified-vmr:: ANY iso-21090-datatypes-simplified-vmr:: QTY
iso-21090-datatypes-simplified-v mr::IVL_INT
+ low :INT [0..1] + high :INT [0..1] + lowIsInclusive :boolean [0..1] + highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-v mr::IVL_PQ
+ low :PQ [0..1] + high :PQ [0..1] + lowIsInclusive :boolean [0..1] + highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-v mr::IVL_RTO
+ low :RT O [0..1] + high :RT O [0..1] + lowIsInclusive :boolean [0..1] + highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-v mr::IVL_REAL
+ low :REAL [0..1] + high :REAL [0..1] + lowIsInclusive :boolean [0..1] + highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-v mr::IVL_TS
+ low :T S [0..1] + high :T S [0..1] + lowIsInclusive :boolean [0..1] + highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-v mr::AD
+ part :ADXP [1..*] + use :CS [0..*]
iso-21090-datatypes-simplified-v mr::CD
+ codeSystem :string + code :string + codeSystemName :string [0..1] + displayName :ST [0..1]
iso-21090-datatypes-simplified-v mr::CS
+ code :string
iso-21090-datatypes-simplified-v mr::EN
+ part :ENXP [1..*] + use :CS [0..*]
iso-21090-datatypes-simplified-v mr::II
+ root :string + extension :string [0..1]
iso-21090-datatypes-simplified-v mr::ST
+ value :string
iso-21090-datatypes-simplified-v mr::TEL
+ useablePeriodOriginalT ext :string [0..1] + value :string + use :CS [0..*] + capabilities :CS [0..*]
iso-21090-datatypes-simplified-v mr:: BL
+ value :boolean
iso-21090-datatypes-simplified-v mr::INT
+ value :int
iso-21090-datatypes-simplified-v mr::PQ
+ value :decimal + unit :string
iso-21090-datatypes-simplified-v mr:: REAL
+ value :decimal
iso-21090-datatypes-simplified-v mr:: RTO
+ numerator :PQ + denominator :PQ
iso-21090-datatypes-simplified-v mr::TS
+ value :string
iso-21090-datatypes-simplified-v mr::XP
+ value :string
iso-21090-datatypes-simplified-v mr::ADXP
+ type :CS
iso-21090-datatypes-simplified-v mr::ENXP
+ type :CS + qualifier :CS [0..*]
CDS Inputs
class cdsInput CDSContext
+ cdsSystemUserType :CD [0..1] + cdsSystemUserPreferredLanguage :CD [0..1] + cdsInformationRecipientType :CD [0..1] + cdsInformationRecipientPreferredLanguage :CD [0..1] + cdsSystemUserTaskContext :CD [0..1] +cdsContext 0..1
+vmrInput 1
v mr::VMR
+ templateId :II [1..*]
CDSInput
+ templateId :II [0..*] +cdsResource 0..*
CDSResource
+ cdsResourceType :CD + resourceContents :anyType
class cdsOutput
CDS Outputs
CDSOutput
+vmrOutput 0..1
v mr::VMR
+ templateId :II [1..*] +simpleOutput 0..1
dataTypes:: iso-21090-datatypes-simplified-vmr::ANY
class v mr VMR
+ templateId :II [1..*]
vMR Payload
EntityRelationship
+ targetRole :CD + relationshipT imeInterval :IVL_T S [0..1] +relatedEntity 0..*
Entity
+ id :II + templateId :II [0..*] + entityT ype :CD [0..1] 0..* +relatedEntityInRole
Person
+ name :EN [0..*] + address :AD [0..*] + telecom :T EL [0..*] +patient 1
Ev aluatedPerson
+ birthT ime :T S [0..1] + ethnicity :CD [0..*] + gender :CD [0..1] + race :CD [0..*] + preferredLanguage :CD [0..1] + age :PQ [0..1] + isDeceased :BL [0..1] + ageAtDeath :PQ [0..1]
ClinicalStatementEntityInRoleRelationship
+ role :CD
ClinicalStatementRelationship
+ targetRelationshipT oSource :CD +relatedClinicalStatement 0..* +clinicalStatement 0..*
ClinicalStatement
+ id :II + templateId :II [0..*] + dataSourceT ype :CD [0..1]
class problem
Example Clinical Statement
DeniedProblem
ProblemBase
+ problemCode :CD + problemEffectiveTime :IVL_TS [0..1] + diagnosticEventTime :IVL_TS + affectedBodySite :BodySite [0..*]
Problem
+ importance :CD [0..1] + severity :CD [0..1] + problemStatus :CD + ageAtOnset :PQ [0..1] + wasCauseOfDeath :BL [0..1] +relatedClinicalStatement 0..*
BodySite
+ bodySiteCode :CD + laterality :CD [0..1]
ClinicalStatement
+ id :II + templateId :II [0..*] + dataSourceType :CD [0..1]
vMR Ballot Reconciliation – Overview
• Domain Analysis Model – 47 affirmative, 2 negative • GELLO implementation guide – 34 affirmative, 0 negative
vMR – Future Directions
• Additional implementation guides – Existing/underway: GELLO, v2 implementation guides – XML, Drools, other implementation guides (e.g., Arden?) • Template specifications – For standard data models (e.g., CCD, Pedigree, Care Plan) – For common types of CDS (e.g., drug-drug interactions, vaccine forecasting, family history risk analysis) • Transformations to/from standard models • Alignment with relevant ongoing HL7 work (e.g., CSP, RFH, detailed clinical models) • Version 1.1 based on implementation experience (e.g., via OpenCDS)
OpenCDS
• Standards-based, open-source clinical decision support (CDS) Web service – Uses HL7 Decision Support Service (DSS) interface – Uses standard data payloads (e.g., CCD, VMR) – Uses standard internal data model (VMR)
OpenCDS – Architectural Overview
Standard Interface: HL7/OMG Decision Support Service Standard Trigger Patient data, knowledge modules to use HL7 Client Decision required pt data Virtual Medical Record (vMR) Patient Data Sources Standard [ http://wiki.hl7.org/index.php?title= Institution A Decision Support Service Client Decision Support Apps Queries for required pt data Patient Data Sources Institution B Knowledge Modules
CDS Services – Example
Eval. VMR Result Decision Support Service CCD EHR System Pt data Patient Data Sources
Current OpenCDS Collaborators
University of Utah HLN Consulting, LLC Apelon, Inc.
Intermountain Healthcare Veterans Health Administration Wolters Kluwer Health EBSCO Univ. of NC at Chapel Hill Main Line Health Stanford University Keona Health Mass. General Hospital Hospital Universitario Virgen del Rocío, Spain MaRS Innovation, Canada SmartCare, Africa Emetra AS, Norway Visumpoint, LLC Genesys, LLC df8health Religent, Inc.
IsoDynamic, Inc.
Calcudos.com, Inc.
CogniTech Corporation
Key Components of OpenCDS
• Standard interfaces and data models – Reference implementation of HL7/OMG DSS interface – vMR data model – Data mappers (e.g., for CCD vMR) • Reference DSS knowledge management framework – JBoss Drools and associated authoring/knowledge management tools – Full-featured terminology support – A “domain specific language” for intuitive knowledge authoring – Knowledge repository and knowledge sharing service • DSS “wrappers” for other CDS engines
NQF Measure 31 for Meaningful Use
OpenCDS Implementation – Denom.
OpenCDS Implement. – Underlying Details
OpenCDS Implementation – Decision Table
www.opencds.org
Backup Slides
Key Benefits of Approach
• Builds on robust open-source community and resources • Provides standard architectural framework for integrating various CDS knowledge resources • Supports full life cycle of knowledge authoring, testing, maintenance, and execution • Provides an open-source framework for collaboration and innovation in CDS – Freely available under Apache 2.0 license
DSS Invocation - Wrapper
NQF knowledge module vMR payload
DSS Invocation - Payload
Age & gender Past encounters Past mammographies
DSS Response - Wrapper
NQF evaluation result NQF evaluation result payload using vMR
DSS Response - Payload
Denominator criteria met Numerator criteria met