© Copyright 2005 dbMotion Ltd. By dbMotion RIM Based Semantic Interoperability Assaf Halevy, Co – Founder & VP Strategic Accounts [email protected]
Mar 27, 2015
© Copyright 2005 dbMotion Ltd.
By dbMotion
RIM Based Semantic Interoperability
Assaf Halevy, Co – Founder & VP Strategic Accounts
© Copyright 2005 dbMotion Ltd. 3
Agenda
• The challenge of Interoperability
• Interoperable Data Model
• The Semantic Context and Vocabularies
• Business Services in use
• Demo
© Copyright 2005 dbMotion Ltd.
Community Record Architecture
4Data Displayed, Pulled or Published Back
Organize
Virtual Patient
Utilize
Applications & Tools
Interoperable Patient Viewer
Physician Results/Events App
Population Manager
Software Dev KitPHR Connector
AnalyticsResearch
NHIN/RHIOIHE
Data UseTools
Examples
Other Sources
Publish
EMR Sources
© Copyright 2005 dbMotion Ltd.
HINMulti-Hospital Organization
Primary Care & Specialized Clinics
Commercial Lab
Pharmacies
Tertiary Medical Center
© Copyright 2005 dbMotion Ltd.
Architecture
6
Security
Layer
Shared Services
System Management
Layer
OperationalEnvironment
Presentation Layer
Business Layer
Communication Layer – Message Bus
Data Layer
Data Integration Layer
© Copyright 2005 dbMotion Ltd.
• Longitudinal Patient Record
• Semantically Harmonized
• Discretely Consumable
• Standards Based Integration- CDA/CCD/CCR/XML
- IHE
- SOA
7
Architecture: Virtual Patient Object
VPO as XML.xmlVPO as CCD.xml
© Copyright 2005 dbMotion Ltd. 9
UMS Vision
“Define a data model that supports semantic clinical information sharing, while maintaining its meaning, standardization and context. The data model should provide any consumer with actionable, reusable data in a timely manner.”
© Copyright 2005 dbMotion Ltd. 10
HL7 v3.0: What and Why
• Version 3.0 is a model-driven methodology described in UML diagrams
• The HL7 v3.0 development methodology includes - Use of a Reference Information Model (RIM)
- Robust datatypes and vocabulary specifications
- Modeling of the dynamic requirements of messages.
• HL7 v3.0 increases the quality and reduces the variability in HL7 standards enabling it to address the more complex and diverse needs of the HL7 members.
• v3.0 enables HL7 implementers to leverage emerging web services standards, conventions, and technologies
© Copyright 2005 dbMotion Ltd. 11
Patient Medical Schema
Encounter
SourceRetrieveCreateValidCodeClassNameInstitutePhysicianDischargePurposeReport
Observation Conclusion Operation
Patient
Identifier
Laboratory
SourceRetrieveCreateValidCodeClassNameReport
Imaging
SourceRetrieveCreateValidCodeClassNameReport
Medication
SourceRetrieveCreateValidCodeNameFormPrescribedPrescriberDispensedPeriodDosageFrequencyRouteInstructionReasonReport
Procedure
SourceRetrieveCreateValidCodeClassNameReport
Measurement
SourceRetrieveCreateValidCodeClassNameReport
Device
SourceRetrieveCreateValidCodeClassNameReport
Diagnosis
SourceRetrieveCreateValidCodeClassNameReport
Allergy
SourceRetrieveCreateValidCodeClassNameSeverityReport
Sensitive
SourceRetrieveCreateValidCodeClassNameReport
Demography
SourceRetrieveCreateValidCodeClassIdGenderBirthDeathFamilyGivenStatusDriverCountyStateCityAddressPostalPhoneMobile
Dispense
CodeNameForm
Ingredient
NameClassStrength
Message
SourceValidCodeClass
© Copyright 2005 dbMotion Ltd. 12
UMS Methodology
HL7 RIMHL7 RIM
D-MIMD-MIMPreviousPrevious UMS UMS
CDMCDM
LDMLDM
«PatientEncounter»Encounter
- classCode : d_ActClass = ENC- moodCode : d_ActMood = EVN
+ id_Root : string(50)+ id_Extension : string(50)
+ code : d_ActEncounterCode = AMB, EMER, <=IMP, HH+ statusCode : d_ActStatus = active or completed+ effectiveTime_start : Date(wtz)+ effectiveTime_end : Date(wtz)+ priorityCode : d_ActPriority = R, UR+ lengthOfStayQuantity_value : Double(.2)+ lengthOfStayQuantity_unit : d_UnitsOfMeasureCaseInsensitive+ dischargeDispositionCode : d_EncounterDischargeDisposition+ admissionReferralSourceCode : d_EncounterAdmissionSource+ «dbm» dbmAvailabilityTime : Date(ntz)
«ActRelationship»EncounterDiagnosis
+ typeCode : d_ActRelationshipType = RSON,PERT+ priorityNumber : Integer
1*
- source
component of
*
0..1
- target
- source
«Patient,Person[player],Role,Place[player]»PatientRecord
- Ent_classCode : d_EntityClass = PSN- determinerCode : d_EntityDeterminer = INSTANCE- statusCode : d_EntityStatus = active+ administrativeGenderCode : d_AdministrativeGender = F, M, UN+ birthTime : Date(ntz)+ deceasedInd : Boolean+ deceasedTime : Date(wtz)+ maritalStatusCode : d_MaritalStatus = D, L, M, S, W+ ethnicGroupCode : d_Ethnicity+ religiousAffiliationCode : d_ReligiousAffiliation+ raceCode : d_Race+ «Role[PAT]» veryImportantPersonCode : d_PatientImportance+ «role[BIRTHPL],Place[COUNTRY]» birthCountryCode : d_CountryEntityType
«Organization»Organization
- classCode : d_EntityClass = ORG- determinerCode : d_EntityDeterminer = INSTANCE
+ id_root : string(50)+ id_extension : string(50)
+ code : d_OrganizationEntityType+ name : string(50)+ statusCode : d_EntityStatus = active+ «Role[PART].code» orgPartCode : d_OrganizationPartRoleType
«ManagedParticipation»AttenderPracticioner
+ typeCode : d_ParticipationType = ATND, ADM, CON, DIS+ time_start : Date(wtz)
+ time_end : Date(wtz)+ statusCode : d_ManagedParticipationStatus = active, completed
1
* assigned organization (or institute)
- player
0..*
1
Subject
1
*
- _PatientRecord
«Role,Participation[BEN],Act»CoveredParty
- classCode : d_RoleClass = COVPTY+ statusCode : d_RoleStatus = active, completed+ «act[COV]» code : d_ActInsurancePolicyCode
+ «participation[COV]» sequenceNumber : Integer+ effectiveTime_start : Date(wtz)+ effectiveTime_high : Date(wtz)
*
0..1
- _Encounter
1
*
Insurer organization
- scoper«Observation»Diagnoses
«HL7 Person»MedicalStaff
*1 AssignedPracticioner
- player
referrer
*
1- player
Participation[REF]Role[ASSIGNED]
*
0..1
- player
Primary provider
organization
*
0..1- Player
«HL7 Person»MedicalStaff
- classCode : d_EntityClass = PSN+ name : string(50)+ telecom : string(50)
Primary care physician
0..1
*
- Player
OrganizationPartOf
*1
«Role,Participation,Act»PrimaryCareProvider
- classCode : d_RoleClass = CAREGIVER+ code : d_HealthcareProviderRoleType+ statusCode : d_ActStatus = active, completed+ effectiveTime_start : Date(wtz)+ effectiveTime_end : Date(wtz)+ «Act[PCPR],Participation[RESP]» medicalServiceCode : d_ActMedicalServiceCode
1
*
scoper
Role[PAT]Participation[SBJ]
«Act»Imaging Request
* 0..1componentOf - target- source
- _target
1 *
«ManagedParticipation,Role»ServiceProviderUnit
- typeCode : d_ParticipationType = LOC+ time_start : Date(wtz)
+ time_end : Date(wtz)+ statusCode : d_ManagedParticipationStatus = active, completed+ «Role[SDLOC]» code : d_ServiceDeliveryLocationRoleType1 1..*
ServiceProviderUnit*
1 - scoper
«Act»LaboratoryRequest
encounter0..1* - target
«HL7 Procedure»Procedure
The Procedure's Encounter 0..1
«ClinicalDocument»ClinicalDocument
The Document's Encounter0..1
«SubstanceAdministr...Medication Request
encounter
0..1*
- source
- target
«CD»EncConfidentiality
+ confidentialityCode : d_Confidentiality = <> B
*
confidentialityCode
«CD»OrgConfidentiality
+ «Role[PART].confidentialityCode» confidentialityCode : d_Confidentiality = <> ConfidentialityModifiers and <> B
*
confidentialityCode
Participation[RESP]Role[ASSIGNED]
0..1
- player
referrer
Role[ASSIGNED]
Participation[REF]Role[ASSIGNED]
ActRelationship[COMP]
Participation[SBJ]
«II»PatientIdentifier
+ root : string(50)+ extension : string(50)
+ identifierType : d_IdentifierType+ assigningAuthorityName : string(50)+ displayable : boolean
1..*
id
1
«ENXP»PatientNamePart
+ partType : d_EntityNamePartType = FAM, GIV, SFX+ value : string(50)+ qualifier : d_EntityNamePartQualifier = AC, PR, BR, SP, CL
«EN»PatientName
+ nameUse : d_PersonNameUse
*
name
1
1..*
NamePart
1
«TEL»PateintTelecom
+ value : string(50)+ scheme : d_URLScheme = mailto, tel+ use : d_TelecommunicationAddressUse = H, WP, MC
*
telecom
1
«ADXP»AddressPart
+ partType : d_AddressPartType = STA,CNT,CTY, STR, BNR,ZIP+ value : string(50)
«AD»Postal Address
+ use : d_PostalAddressUse = H, WP
*
addr
1
1..*address part
1
«CD»PatConfidentiality
+ «Role[PAT].confidentialityCode» confidentialityCode : d_Confidentiality = <> B
*
confidentialityCode
1
participation[COV]
«CD»PCPConfidentiality
+ confidentialityCode : d_Confidentiality = <> ConfidentialityModifiers and <> B
*confidentialityCode
«dbm»PatientIdentity
+ PatientIdentity : INTEGER
*
«II»MedicalStaffIdentifier
+ root : string(50)+ extension : string(50)
+ identifierType : d_IdentifierType+ assigningAuthorityName : string(50)+ displayable : boolean
*id
leading record0..1 1
Logical Data ModelContains subject areas, classes, atomic attributes, data types and associations. Tangible representation of dbMotion semantics
© Copyright 2005 dbMotion Ltd.
UMS Domains - Summary
• Encounters
• Labs
• Diagnosis
• Imaging
• Substance
•Administration
• Procedures
• Allergies
• Clinical
Documents
• …
© Copyright 2005 dbMotion Ltd.
Medications from a Machine Perspective
Medication Date Source system
Coumadin 2 mg oral tablet 07/15/2008 10:00 CernerH1
Bactrim DS oral tablet 01/11/2008 08:30 CernerH2
PRAVACHOL 80 MG TAB 09/06/2007 13:30 EPIC
WARFARIN 1 MG TAB 04/27/2008 15:00 EPIC
Pravastatin 80 mg oral tablet 07/15/2008 10:00 CernerH1
LIPITOR 20 MG TAB 04/27/2008 15:00 EPIC
© Copyright 2005 dbMotion Ltd.
Diagnoses
LocalLocal
Medications
Allergies
Labs
Adminst.
dbMotion Ontology (Baseline)dbMotion Ontology (Baseline)
RxNorm (Subset)RxNorm (Subset)
NDF-RTNDF-RTNDF-RTNDF-RTCondition SNOMED
(Subset)SNOMED
(Subset)
Substance
Allergen
FindingLOINCLOINCLOINCLOINC
© Copyright 2005 dbMotion Ltd.
dbMotion SOA Services
dbMotion Business Layer (SOA Based Clinical Business Domains)
dbMotion Business Domains(Patient Admin, Labs, Meds, Proc, Diag, Problems…) Business Methods Event Broker Business Processes Business Activities
KFW + KNEO
GetLabs
GetLabs
GetMeds
GetMeds
GetEncounters
GetEncounters
GetAnemia_Level
GetAnemia_Level
Is_HypertensiveIs_Hypertensive
GetLiver Enzyme State
GetLiver Enzyme State
© Copyright 2005 dbMotion Ltd.
WirelessApplications
Other Uses & Apps
Virtual Patient available to multiple applications & uses
Agility with IT: Using the Interoperable Patient Record
NHIN
Hospitals - ClinicsRegistries
IBM-CognosAnalytics
Untethered PHR