Virtual Medical Record (vMR): A Simplified RIM-Based Data Model for CDS
HL7 Work Group Meeting, San Diego, CASeptember 2011
Kensaku Kawamoto, MD, PhD
Director, Knowledge Management and MobilizationAssistant Professor, Department of Biomedical Informatics
University of [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 Blood PressureCode = BP Systolic = 120 mmHg
Value = 120/80 mmHg Diastolic = 80 mmHg
Observation Vital Sign Code = BP Type = BP Observation Value = 120/80 Code = SBP Units = mmHg Value = 120 mmHg Observation Code = DBP Value = 80 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
Simplified ISO 21090 Data Types class dataTypes
iso-21090-datatypes-simplified-vmr::ANY
iso-21090-datatypes-simplified-vmr::XP
+ value :string
iso-21090-datatypes-simplified-vmr::ADXP
+ type :CS
iso-21090-datatypes-simplified-vmr::ENXP
+ type :CS+ qualifier :CS [0..*]
iso-21090-datatypes-simplified-vmr::AD
+ part :ADXP [1..*]+ use :CS [0..*]
iso-21090-datatypes-simplified-vmr::CD
+ codeSystem :string+ code :string+ codeSystemName :string [0..1]+ displayName :ST [0..1]
iso-21090-datatypes-simplified-vmr::CS
+ code :string
iso-21090-datatypes-simplified-vmr::EN
+ part :ENXP [1..*]+ use :CS [0..*]
iso-21090-datatypes-simplified-vmr::II
+ root :string+ extension :string [0..1]
iso-21090-datatypes-simplified-vmr::IVL_INT
+ low :INT [0..1]+ high :INT [0..1]+ lowIsInclusive :boolean [0..1]+ highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-vmr::IVL_PQ
+ low :PQ [0..1]+ high :PQ [0..1]+ lowIsInclusive :boolean [0..1]+ highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-vmr::IVL_RTO
+ low :RTO [0..1]+ high :RTO [0..1]+ lowIsInclusive :boolean [0..1]+ highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-vmr::IVL_REAL
+ low :REAL [0..1]+ high :REAL [0..1]+ lowIsInclusive :boolean [0..1]+ highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-vmr::INT
+ value :int
iso-21090-datatypes-simplified-vmr::IVL_TS
+ low :TS [0..1]+ high :TS [0..1]+ lowIsInclusive :boolean [0..1]+ highIsInclusive :boolean [0..1]
iso-21090-datatypes-simplified-vmr::PQ
+ value :decimal+ unit :string
iso-21090-datatypes-simplified-vmr::QTY
iso-21090-datatypes-simplified-vmr::REAL
+ value :decimal
iso-21090-datatypes-simplified-vmr::RTO
+ numerator :PQ+ denominator :PQ
iso-21090-datatypes-simplified-vmr::ST
+ value :string
iso-21090-datatypes-simplified-vmr::TEL
+ useablePeriodOriginalText :string [0..1]+ value :string+ use :CS [0..*]+ capabilities :CS [0..*]
iso-21090-datatypes-simplified-vmr::TS
+ value :string
iso-21090-datatypes-simplified-vmr::BL
+ value :boolean
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]
CDSInput
+ templateId :II [0..*]
CDSResource
+ cdsResourceType :CD+ resourceContents :anyType
v mr::VMR
+ templateId :II [1..*]
+cdsContext
0..1
+vmrInput 1 +cdsResource 0..*
CDS Outputs class cdsOutput
CDSOutput
v mr::VMR
+ templateId :II [1..*]
dataTypes::iso-21090-datatypes-simplified-vmr::ANY
+simpleOutput 0..1+vmrOutput 0..1
vMR Payload class v mr
ClinicalStatement
+ id :II+ templateId :II [0..*]+ dataSourceType :CD [0..1]
Entity
+ id :II+ templateId :II [0..*]+ entityType :CD [0..1]
ClinicalStatementEntityInRoleRelationship
+ role :CD
ClinicalStatementRelationship
+ targetRelationshipToSource :CDEv aluatedPerson
+ birthTime :TS [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]
EntityRelationship
+ targetRole :CD+ relationshipTimeInterval :IVL_TS [0..1]
VMR
+ templateId :II [1..*]
Person
+ name :EN [0..*]+ address :AD [0..*]+ telecom :TEL [0..*]
+patient 1
+relatedEntity0..*
+relatedClinicalStatement0..*
+clinicalStatement
0..*
+relatedEntityInRole
0..*
Example Clinical Statement class problem
Problem
+ importance :CD [0..1]+ severity :CD [0..1]+ problemStatus :CD+ ageAtOnset :PQ [0..1]+ wasCauseOfDeath :BL [0..1]
DeniedProblem
ClinicalStatement
+ id :II+ templateId :II [0..*]+ dataSourceType :CD [0..1]
ProblemBase
+ problemCode :CD+ problemEffectiveTime :IVL_TS [0..1]+ diagnosticEventTime :IVL_TS+ affectedBodySite :BodySite [0..*]
BodySite
+ bodySiteCode :CD+ laterality :CD [0..1]
+relatedClinicalStatement 0..*
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
Decision Support Service
Decision Support Service
Knowledge Modules
Knowledge Modules
Institution A Institution A
Client Decision Support Apps
Client Decision Support Apps
Patient Data Sources
Patient Data Sources
Queries for required ptdata
Queries for required ptdata
Institution B Institution B
Client Decision Support Apps
Client Decision Support Apps
Patient Data Sources
Patient Data Sources
Queries for required ptdata
Queries for required ptdata
Conclusions about patientConclusions about patient
Patient data, knowledge modules to use
Patient data, knowledge modules to use
Trigger
Standard Interface:HL7/OMG Decision Support Service Standard
(http://hssp-dss.wikispaces.com)
Standard Data Models:HL7 Virtual Medical Record (vMR) Standard
[ http://wiki.hl7.org/index.php?title= Virtual_Medical_Record_(vMR) ]
Standard Interface:HL7/OMG Decision Support Service Standard
(http://hssp-dss.wikispaces.com)
Standard Data Models:HL7 Virtual Medical Record (vMR) Standard
[ http://wiki.hl7.org/index.php?title= Virtual_Medical_Record_(vMR) ]
CDS Services – Example
Decision Support Service
Decision Support Service
EHR SystemEHR System Patient Data Sources
Patient Data Sources
Pt dataPt
dataCCDCCD
VMRVMREval.
ResultEval.
Result
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