Domain Driven Design

Download Report

Transcript Domain Driven Design

Domain Driven Design and RIM
Introduction
RIMResistance is Futile, you Will be Assimilated!
1
Agenda
RIMBAA Experiences
Domain Driven Design Applied
FIHR with DDD
2
Agenda
RIMBAA Experiences
Domain Driven Design Applied
FIHR with DDD
3
Experiences from the field
• RIMBAA Challenges
– Object Oriented skills not mainstream
– Developers’ dependencies on frameworks
– ORM not needed – What !!!
– RIM knowledge required
– Data Types – I agree!
– HL7 2.x perception
4
Current RIMBAA Project
• Fresenius Health Care NA
– 2000 Kidney Dialysis Clinics
– 200k Active Patients
– RIMBAA HIE Platform
– Central Patient Administration
– Coexist with legacy applications
– Project needs to evolve in Agile environment
5
Agenda
RIMBAA Experiences
Domain Driven Design Applied
FIHR with DDD
6
Architecture
• Domain Driven Design & RIM
– Vital Patterns
•
•
•
•
•
Bounded Context (Universal Domains)
Aggregate Root (R-MIM)
Specification (Constraints, Business Rules)
Event Sourcing (State Storage, Ultimate Audit)
Command Query Responsibility Segregation
(RIM Isolation)
7
Bounded Context
User
Interface
Query
Commands
RIM Events
RIM
Events
Segregation
View Model
Any
8
Patient Administration
Query
Patient
Tracking
Commands
R-MIM
Changed
Data
AmbulatoryEncounter
Event
Segregation
Current State
2NF
9
Agenda
RIMBAA Experiences
Domain Driven Design Applied
FIHR with DDD
10
Challenges
• Restful RIM Resources
– CRUD theme
– What’s a Resource
– Future Proof
– Local Extensions
– Other Protocols
– Deployment schemes
11
Patient Administration
Get
REST
Post
R-MIM
Changed
Data
AmbulatoryEncounter
Event
Segregation
Resource
CCD
12
Patient Administration
Get
REST
Post
Message
AmbulatoryEncounter
Event
R-MIM
Resource
Changed
Data
Resource
13
Patient De-Identify
Deployment Example
Segregation
Command
R-MIM
Firewall
Firewall
Firewall
Firewall
Firewall
BIDMC
BWH
CHB
MGH
MIT
Resource or Views
14