project radboud epd introduction my name: ernst de bel architect ehr umc st radboud nijmegen...
Post on 16-Jan-2016
219 Views
Preview:
TRANSCRIPT
Project Radboud EPD
Introduction
• My name: Ernst de Bel
• Architect EHR UMC St Radboud Nijmegen
• Internist / intensivist/ econometrician
• 2001 : Clinical Data integration portal for the ICU using Web technology and AJAX
• 2004 : full time ICT
• 2003 : User of HL7 v3 as for application architecture sinds 2003
• HL7 NL: Pharmacy, Patient Care
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Implementation HL7 v3 in the UMC St Radboud Nijmegen
• Why use HL7 v3 for application design
• Using HL7 v3 at various levels
• Examples and demonstration
Project Radboud EPD
How it all started
Intensive Care admissions•Census•Diagnosis, complications, outcome•Registration of minimal dataset for the evaluation of quality of care (NICE)
Intensive Care admissions•Census•Diagnosis, complications, outcome•Registration of minimal dataset for the evaluation of quality of care (NICE)
IC Database
Project Radboud EPD
LRDHIS Rad. DB
configuration
Navigation
XML
HTML
XSLT
HL7 v2
Project Radboud EPD
Project Radboud EPD
EHR
Project Radboud EPD
• 2002-12 POC DBC (~ DRG) , Laboratory Result Reporting
• 2003-5 Lab-Rad-Or (XpertMed web application)
• 2004-1 IcWeb (NICE)
• 2004 Building Order communication for the ICU
• 2004-12 RvB: use XpertMed EPD (tot 2008)
• 2005-3 electronic order management ICU live
•Medication orders and administration registration
•Device orders : mech. Ventilation, pacemaker settings, dialysis etc.
• 2005-6 RIM database (HL7-v3) for the hospital
• 2006-6 progress and transfer summary (CareProvision, CDA)
• 2006 new user interface, AJAX, SOA
• 2007-5 interdisciplinary cooperation (oncology working group)
• 2007 Concern Tracking for phycisians, configurable forms for nursing reports
• 2007 Medication and Pharmacy
• 2008 CareProvision as the basis for data integration
Projects, plans….
Electronic prescriptions
Nursing record
Paramedic record
Oncologic data information system
PDMS Neonatology
Endoscopy
OR planning (OKAPI)
Pathology imaging
PDMS Psychiatry
Foto base NSC
Obstetric EHR
Pat Docu. System KNF
Chemotherapy admin sys, CIS
Patient care letters
Day care center
Blood bank
Digital Fertendo
DNA data repository
EHR family doctors
PDMS Klinical Genetics
Cardio-PACS
Informatics ER (ECare)
Overdrachtsysteem CIS
Patiëntregistratie Neurologie
Onderzoeksregistraties Urologie
Zorgregistratie fysiotherapie CSS
ICWeb
Radiotherapy
PDMS Hematology
Registratiesysteem lung function lab
Digital “Kinderendo”
Geriatrics interdisciplinary cooperation
Ordering / planning?
Trial management
Educational services
Project Radboud EPD
Orders
Medication/ Food
Observations
Devices
DeviceParameters
Order Results
Subst.Administration
Observations
Device applied
DeviceParameters
Planning
Subst. preparation
Observation planning
Device preparation
Device setting
Actors
Physicians
Nurses
Other staff
Patient
Project Radboud EPD
performerId
patientId Parameter code
Type Value Start Stop Status
1 1001188
PEEP Order 10cm H2O
09/12 12:00 Active
2 1001188
PEEP Result 10cmH20
09/12 12:10 Active
1 1001188
Paracetamol 500mg
Order 1 09/12 16:00 q6h
Active
2 1001188
Paracetamol 500mg
Result 1 09/12 22:00 Done
Id Employee
Name Type Start Stop Status
1 Z047110 Ernst de Bel
Doctor 1996/10/01
Active
2 Z046710 Arno Nurse 1993/08/01
active
Discovery of Heaven : To Do
• HL7 education shift of paradigm
• HL7 tools for application development
• HL7 database to persist HL7 structures
• Project
•Story board
•Process / workflow modelling
•Use cases
•Actors, minimal datasets
•Coding (HL7,SNOMED,ICF,LOINC)
•Adherence to standards (NICTIZ-HL7)
•Configuration of items for the UI
•Implementation
Paradigm shift
• Focus on applications
focus on information management
services
• Database modelling object modelling
• Stable database design, with optional horizontal and vertical splitting and scaling
• Models reflect domain specific infromation the database not
Project Radboud EPD
RIMdb
Story to model
•Pineut (Patient ) comes (12 juni 2004) to the ER department of of the UMC because ofbecause of shortness of breath. Dr Smart listens
and hears weezing leading to leading to the diagnosis of astma. She prescribes Salbutamol andand refers the patient to Kliniek St.
Elsewhere forfor lung function measurement
RIMdb
•Person
• classCode <= PSN
• id<= 1001188 (UMCN)
• name<=Pineut
•Person
• classCode <= PSN
• id<= Z047110 (HRM)
• name<=Smart
•Organization
• classCode <= ORG
• code<=HOSP
• name<=St ElseWhere
•Place
• classCode <= PLC
• name<=SEH
•Role
• classCode <= PAT
• id <= 101188
•Role
• classCode <= DSDLOC
• code <= ER
•Role
• classCode <= PHYS
• id<= Z047110
•Role
• classCode <= PROV
•Observation
• classCode <= OBS
• code <= ‘chief complaint’
• value <= ‘dyspnoea’
•Ambulatory Encounter
• classCode <= ENC
• code <= EMER
• moodCode <= EVN
• effectiveTime <= 12-06-04
• typeCode<=RSN contextControl <= AP
•Observation
•code <= ‘ausc lungs’
• value <= ‘weezing’
• typeCode <=COMP
• contextControl <= AP
• Observation
• code <= ‘diagnosis’
• value <= ‘astma’
• typeCode <=MFST
• contextControl <= AP• SubstancAdministration
• moodCode RQO
• doseQuantity 200µg
• routeCode <= inhalation
• effectiveTime <= (period =360)
•Role
• classCode <= THER
•ManufacturedMaterial
• classCode <= MMAT
• determinerCode <=KIND
• name <= Salbutamol
• typeCode <=RSN
•typeCode <=RSN
• Procedure
• moodCode: RQO
• code <= ‘lung function’
•typeCode <=SUBJ
•contextControlCode <=AP
•typeCode <=LOC
•contextControlCode <=AN
•typeCode <=AUTH
•contextControlCode <=AP
•typeCode <=RESP
•contextControlCode <=AP
•typeCode <=TPA
RIMdb
E_PatientpatientId entityId
100188 1
E_employeeemployeeId entityIdZ047110 2
E_FloorfloorId entityIdSEH 3
E_GPKGPK entityId
16787 4
E_HospitalhospitalId entityId
12 548 6
•II
EntityentityId classCode determinerCode code name
1 PSN INSTANCE Pineut2 PSN INSTANCE Smart3 PLC INSTANCE FLOOR SEH4 MMAT KIND Salbutamol5 ORG INSTANCE UMC St Radboud6 ORG INSTANCE St Else Where
RoleroleId playerId classCode scoperId
1 1 PAT2 2 PHYS 53 3 DSDLOC 54 4 THER5 6 PROV
•player •scoper
ActactId classCode moodCode code effectiveTime
1 OBS EVN hoofdklacht2 ENC EVN EMER 12-6-20043 OBS EVN ausc. Longen 12-6-20044 OBS EVN DISDX 12-6-20045 SBADM RQO 12-6-20046 PROC RQO longfunctie 12-6-2004
SubstanceAdministrationactId doseQuantity period routeCode
5 1 360 36
ObservationactId value
1 dyspnoe3 piepen4 astma
ProcedureactId code
5 longfunctie
ActRelationschipsourceId targetId typeCode contextControlCode
1 2 RSN AP2 3 PERT AP3 4 MFST AP4 5 RSN AP4 6 RSN AP
ParticipationactId roleId typeCode
1 1 SBJ2 2 AUT2 3 LOC5 4 TPA6 6 RESP
Implementation
•RDBMS
•MS SQL Server
•Databases
•TerminologyServices
•Templates (constraints)
•RIM
•Domain applications for business logic (AdministrativeManagement, CareProvision, Observations, Medication, Pharmacy)
• XML + xsltxml or html
Basic abstract class instances tableExtension classes : side table
• Entity – LivingSubject – Person
• Entity – Material – ManufacturedMaterial – Device
• Role – Patient , Employee, Access
• Act – SubstanceAdministrationAct, SupplyAct, EncounterAct, ObservationAct
• Relations defined using internal parameters: entityId, roleId, actId
• Relation tables : Participation, ActRelationship, RoleLink
• Tables for messaging domein : Interaction, Message, QueryParameter
Datatypes
• Simple mapping
•BL,BN xs:boolean bit
•ST xs:string varchar
•ED (text/plain of text/html) text + attributes in supplementary table
•INT xs:integer integer,bigint
•FLOATxs:numeric float
•TS datetimestring
• Variabele mapping
•ANY SQLvariant
CS :HL7 structural attributes
• classCode (ActClass,RoleClass,EntityClas)
• determinerCode (EntityDeterminer)
• moodCode (ActMood)
• statusCode (ActStatus,RoleStatus, EntityStatus,ParticipationStatus)
Codes
Alle codes (except CS) mapped to internalId TerminologyServices
CodeSystem : OID, CodeSystemName
ConceptCode : internalId, code, codeSystem
ConceptDesignation (displayName, languge)
ConceptDescription (originalText, language)
RIMdb
Complex datatypes
Cardinality = 1 fields
Role.effectivetime (IVL_TS) effectiveTimeStart, effectiveTimeEnd
Role.quantiy numeratorValue, numeratorUnit, denominatorValue, denominatorUnit
Cardinality > 1 table
• EntityName, Telecom, Address
• ActAttribute for priorityCode, confidentialityCode enz. methodeCode, reasonCode etc.
• II (ActII,RoleII,EntityII) : internalId, root , extension
• IVL_TS : effectiveTimeStart/effectiveTimeEndtimeStart/timeEnd
• GTS : effectiveTimeLiteral + PIVL_TS (phase, width, period, operator)
EntityField Name Implementation
roleId Int Primaire sleutel
playerId Int FK (Entity)
classCode (CS) Varchar RoleClass
codeId (CS) int RoleCodeNL
statusCode Varchar RoleStatus
effectiveTimeStart Datetime
effectiveTimeEnd Datetime
quantityId RTO
scoperId Int FK (Entity)
RoleVeldnaam Implementatie
entityId Int Primary key
classCode (CS) Varchar ActClass
determinerCode (CS) Varchar ActDeterminer
(id [II]) Tabel EntityIIentityId,rootId, extension
codeId (CD) VIEW ConceptCode
(quantity [SET(PQ)]) Tabel EntityQuantity
(name) Tabel EntityName
desc (ED) Text
statusCode (CS) varchar
existenceTimeStart Datetime
existenceTimeEnd Datetime
(telecom) Tabel Telecom
RIMdb
Project Radboud EPD
Query strategy
• Decomposing Message
•Message
•ControlAct
•Participations : AUT,ENT,VRF
•ParameterItem
• Writing DetectedIssueEvent (if any)
• Filling “Act tree” in memory: set of ActRelationships
• Pull out ActRelationship – Act – Participation – Role – Entity based on primary keys
• Assemble Message with XSLT
Writing from Message: Stored Procedures
• createRole
•createPatient
• createAct
•createObservation
•createSupply
•createEncounter
• obsoleteAct, nullifyAct, holdAct, activateAct, suspendAct….
Building new instances from Templates
Configuration tool to define standard acts and actrelationship
New instances are created from these definitions
createActFromTemplate
createActRelationshipFromTemplate
Participations are added by the application
Implementation Entities + Roles
• PersonnellManagement : HRM Active Directory Services RIM (Roles + Role Based Authorizations)
• PatientAdministration : HIS RIM (HL7 v2)
• Places: reference database RIM
• OrganizationManagement: ADS RIM (specialties, working groups etc.)
• Materials : Pharmacy + Food Care + Matrix RIM
Project Radboud EPD
Acts : domain specific applications
• Encounter overview from 4 separate systems
• Ordering substances to administer + administration registration
• Ordering device settings and observations (ICU)
• Care Transfer Request
• Clinical summaries
• Concern and diagnosis tracking
• Multidisciplinary cooperation
• Care Tracking and generation of billable Care Provision episodes
• Document management
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Project Radboud EPD
Work flow in the application : sticking objects together
PrescriptionRXPredeterminstionRequest
• Selecting patient
• Create new prescription
• Connect patient to prescription
• Sticking product as directTarget to prescription
• Adding author, dataEnterer
• Sticking DetectedIssues interactions, double medications
ActivatePrescriptionRequest
• Adding SubstanceAdministrationRequest
• Add DetectedIssues for dosage
• Add Verifier
• Activate
Project Radboud EPD
Project Radboud EPD
Voorschrijven van medicatie
Project Radboud EPD
Registratie bij toediening
Project Radboud EPD
Problems with HL7 v3
• Steep learning curve
• Much overhead compared to amount of information
• Model sometimes ‘clumsy’
• Too tight, too open?
top related