Clinical Research Platform
http://catalyst.harvard.edu
Center for Biomedical Informatics (CBMI)
Introduction
2
RIMResistance is Futile, you Will be Assimilated!
Agenda
BusinessArchitectureAgile RIMApplication
3
Clinical Research Platform
BusinessArchitectureAgile RIMApplications
4
5
BIDMC BWH CHB MGH MIT
Study Grants Study Grants Study Grants Study Grants Study Grants
General Clinical Research Center (GCRC)
6
Clinical Research CenterCTSA Grant
Harvard Catalyst
BIDMC BWH CHB MGH MIT
Study Grants
7
Clinical Research Center Data Access
Harvard Catalyst
BIDMC BWH CHB MGH MIT
Data
Data Data DataData Data
Study Grants
Aggregate
Local LocalLocal LocalLocal
CRC
Sites
Study StaffCRC Staff
Hospital
OutPatientRooms
Kitchen
Lab
MRI
Services
CoreLab
Services
OutPatientRooms
Kitchen
Dexa
InPatientRooms
MaterialsMaterials
LocalCRC Resources
Create/ModifyStudy
Templates
Schedule VisitsCompare study visit needs with
resource availability
MonitorActivities
StudyActive
Reports
WorkflowIn Development
Local CRC Resources
View Calendar &
Request Visits
per subject availability & study templates
StudyReview
Clinical Research Platform
BusinessArchitectureAgile RIMApplication
10
Architecture
11
InfoQ – Domain Driven Design
Architecture
12
http://domaindrivendesign.org/
• Ubiquitous Language– Language structured around the
Domain Model– Domain experts express their jargon
while developers speak another– The Domain Model is the backbone, use
the same language in diagrams, writing and speech!
Architecture
13
• The Domain Model influence– Create a model from scratch?– Wait till we have a “good enough”
model to start development?– Developers, “I can’t start, don’t have all
the requirements!”– Stakeholders, “What have you done for
me lately?”– “Hey have you heard of RIM?” - George
Architecture
14
• The RIM Domain!– The Domain is ready now!– Nails the “Think Globally, Act Locally”
adage!– Incredible design hints in the form of
RMIM’s – The RIM in the context of application
development is very productive!– The RIM in the context of integration and
messaging, oh well…
Architecture
15
• The RIM & Domain Driven Design– Focus on the Domain and Domain Logic– Complex design based on Model– Logic is separated from Infrastructure– Vital DDD Patterns
• Bounded Context• Aggregate Root• Command and Query Seperation*• Services, Specification and more…
Clinical Research Platform
BusinessRIMBAA ApproachAgile RIMApplication
16
Agile RIM
17
“If you don’t know where you are going, any road will take you there.”
- Lewis Carroll
Agile RIM
• An agile process that emphasizes frequent feedback from users and domain experts,
• the availability of real domain experts and a creative collaboration with them,
• a single and shared version of the model (in the application and test code) precisely defined in terms of the Ubiquitous Language, and
• an open and transparent environment that promotes learning and exploration.
18
InfoQ – Domain Driven Design
Agile RIM
19
User Interface
User Interface
View ModelView ModelRIMRIM
RIM Services
RIM Services
Events
Commands Query
Agile RIM
20
User Interface
User Interface
View ModelView ModelRIMRIM
RIM Services
RIM Services
Events
Commands Query
View ModelView Model
User Interface
User Interface
Agile RIM
21
Harvard CatalystHarvard Catalyst
MGHMGH
BWHBWH
Roles
Organizations
Scoper
Player
Player
Agile RIM
22
MGHMGH
MGH Room 101
MGH Room 101
BWH Room 201
BWH Room 201
Roles
Organization
Scoper
Player
Player
Places
Agile RIM
23
Agile RIM
24
Bone Mass Study
Bone Mass Study
ScreeningScreening
Visit 1Visit 1
Relationships
Acts
Source
Target
Target
Visit 2Visit 2Target
Agile RIM
25
Agile RIM
26
Agile RIM
27
Show Actual Scheduler
Open Source Platform - Java Enterprise Edition 6
Web User InterfaceJSF 2.0 Facelets
Web User InterfaceJSF 2.0 Facelets
Java
EE
6 G
lassfi
sh v3
Java
EE
6 G
lassfi
sh v3
RIM ServicesJava Services Objects, JBI, Camel
RIM ServicesJava Services Objects, JBI, Camel
HL7 v3 Domain ModelJPA 2.0/EJB 3.1
HL7 v3 Domain ModelJPA 2.0/EJB 3.1
MySQL 5.1MySQL 5.1
29
Hybrid Deployments
Harvard Catalyst
BIDMC BWH CHB MGH MIT
De-Identified Layer
Local Deployments behind Firewall
Firewall Firewall Firewall Firewall Firewall