domain driven design and rim. introduction 1 rimresistance is futile, you will be assimilated!

Post on 27-Mar-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Domain Driven Design and RIM

Introduction

2

RIMResistance is Futile, you Will be Assimilated!

Agenda

RIMBAA ExperiencesDomain Driven Design AppliedFIHR with DDD

3

Agenda

RIMBAA ExperiencesDomain Driven Design AppliedFIHR with DDD

4

Experiences from the field

5

• 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

Current RIMBAA Project

6

• 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

Agenda

RIMBAA ExperiencesDomain Driven Design AppliedFIHR with DDD

7

Architecture

8

• 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)

Bounded Context

9

User Interface

User Interface

View ModelView ModelRIMRIM

RIM EventsRIM Events

Segregation

Commands

Query

EventsEvents AnyAny

Patient Administration

10

Patient TrackingPatient

Tracking

Current State

Current StateR-MIMR-MIM

AmbulatoryEncounterEvent

AmbulatoryEncounterEvent

Segregation

Commands

Query

Changed DataChanged Data 2NF2NF

Agenda

RIMBAA ExperiencesDomain Driven Design AppliedFIHR with DDD

11

Challenges

12

• Restful RIM Resources– CRUD theme– What’s a Resource– Future Proof– Local Extensions– Other Protocols– Deployment schemes

Patient Administration

13

RESTREST

ResourceResourceR-MIMR-MIM

AmbulatoryEncounterEvent

AmbulatoryEncounterEvent

Segregation

Post

Get

Changed DataChanged Data CCDCCD

Patient Administration

14

RESTREST

ResourceResourceR-MIMR-MIM

AmbulatoryEncounterEvent

AmbulatoryEncounterEvent

Post

Get

Changed DataChanged Data

ResourceResource

MessageMessage

15

Patient De-Identify Deployment Example

Command

BIDMC BWH CHB MGH MIT

Segregation

Resource or Views

Firewall Firewall Firewall Firewall Firewall

R-MIM

top related