Data Management 2: Conquering Data Proliferation

mongodb 1,297 views 46 slides Jun 04, 2015
Slide 1
Slide 1 of 46
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46

About This Presentation

Today's customers demand applications which integrate intelligently with data from mobile, social media and cloud sources. A system of engagement meets these expectations by applying data and analytics drawn from an array of master systems. The enormous scale and performance required overwhelm r...


Slide Content

James Kerr Solutions Architect j [email protected] Conquering Data Proliferation

Part 2 In The Data Management Series Data integration Capture data changes Engaging with your data From Relational To MongoDB Conquering Data Proliferation Bulletproof Data Management çΩ Part 1 Part 2 Part 3

Agenda Today's Problem Systems of Engagement Single View of… Changing Data Summary

Today's Problem

Enterprises Today

Result Data walled off in "silos" Can't get a complete picture Have to "swivel chair" system to system Hard to find new avenues to add value Frustrated ops Frustrated customers

Example 20+ million Veterans in the US today 250,000+ employees at Veterans Affairs $3.9 billion for IT in 2015 budget What happens when a Veteran has to change their address with the VA? How does a doctor see a single view of a Veteran's health record?

Systems of Engagement

Big Wave of Change Happening Today's Systems of Record were yesterday's Systems of Engagement! Enterprise IT Transition From Systems of Record To the Next Stage Systems of Engagement

Definition Incorporate technologies which encourage peer interactions More decentralized More options for infrastructure especially cloud Enable new / faster interactions

Notional Architecture Systems of Engagement Data Services Data Processing Integration, Analytics, etc. Systems of Record Master Data Raw Data Integrated Data …

Many Complexities to Tackle Data Extraction (ETL) Change Data Capture (CDC) Data Governance Data Lineage Versioning Merging changes Security / Entitlements

Focus for Today Data Extraction (ETL) Change Data Capture (CDC) Data Governance Data Lineage Versioning Merging changes Security / Entitlements

Getting Started

Don't Boil the Ocean Information is often spread across multiple systems of record Start with a read-only view of that information Target high value/impact data – "moments of engagement"

Example – Single View of a Health Record Veteran's view Doctor's view Case worker's view

Single View Architecture Systems of Engagement Data Services Data Processing Integration, Analytics, etc. Systems of Record Master Data Raw Data Integrated Data … ETL record record

Dynamic schema Rich querying Aggregation framework High scale/performance Auto- sharding Map -reduce capability (Native MR or Hadoop Connector ) Enterprise Security Features Single View – Why MongoDB ?

Systems of Record Data Model Continuity of Care (CCR) XML docs Pulled some examples from http ://googlehealthsamples.googlecode.com/svn/trunk/ CCR_samples ... < Immunizations> <Immunization> < CCRDataObjectID >BB0022</ CCRDataObjectID > < DateTime > <Type> < Text >Start date</ Text > </Type> < ExactDateTime >1998-06-13T05:00:00Z</ ExactDateTime > </ DateTime > <Source> < Actor > < ActorID >Jane Smith</ ActorID > < ActorRole > < Text > Ordering clinician </ Text > </ ActorRole > </ Actor > </Source > ...

Systems of Record Data Model ... < Medications> <Medication> < CCRDataObjectID >52</ CCRDataObjectID > < DateTime > <Type> <Text>Prescription Date</Text> </Type> < ExactDateTime >2007-03-09T12:00:00Z</ ExactDateTime > </ DateTime > <Type> <Text>Medication</Text> </Type> <Source> < Actor > < ActorID > Rx History Supplier</ ActorID > </ Actor > </Source> <Product> < ProductName > <Text>TIZANIDINE HCL 4 MG TABLET TEV</Text> <Code> <Value>-1</Value> < CodingSystem > omi-coding </ CodingSystem > <Version>2005</Version > ...

Engagement Data Model Leverage dynamic schema / flexible data model Use an envelope/wrapper pattern Source Data Master Data / Common Data Model Metadata Integrated Data Metadata

Data Flow Read most recent CCRs from each source system Create a source document for each CCR in our system of engagement database Transform XML to JSON for the source data Record the system and date in the metadata Pull out the patient's identifying information to the common data Generate an Id for the raw file Store the original CCR XML into GridFS After each source document is created, update the integrated document for the patient

Engagement Data Model - Metadata { _id : ObjectId ("556b92b83f7e775b8e92b30a"), meta : { system : "EHR1", lastUpdate : ISODate (...) ... }, common : { ... }, source : { ... } raw_id : "..." }

Engagement Data Model - Source { _id : ObjectId ("556b92b83f7e775b8e92b30a"), ... source : { ... Immunizations : { Immunization : { CCRDataObjectID : "BB0022", DateTime : { Type : { Text : "Start date" } , ExactDateTime : "1998-06-13T05:00:00Z" } , Source : { Actor : { ActorID : "Jane Smith", ActorRole : { Text : "Ordering clinician" } } }, ... }, ... }

Engagement Data Model - Common { _id : ObjectId ("556b92b83f7e775b8e92b30a"), ... common : { patient : "D6E5D510 -592D-C613- DB46..." }, ... }

Engagement Data Model - Integrated { _id : ObjectId (" 556b92b83f7e775b8e92b30d" ), ... meta : { lastUpdate : ISODate (...) integrated : [ { _id : ObjectId ( "...a"), { _id : ObjectId ( "...b") ] }, common : { ... } ... }

Engagement Data Model - Integrated { _id : ObjectId (" 556b92b83f7e775b8e92b30d" ), ... common : { patient : "D6E5D510-592D-C613-DB46... ", CCRs : [ { ... Medication : { Product : { ProductName : " TIZANIDINE HCL 4 MG TABLET TEV" } } ... }, { ... Immunizations : { ... }, ... } ] } ... }

Engage!

Single View Enables New Interactions Deliver faster Deliver to new applications (mobile, etc.) Improve services New analytics

Changing Data Now that data is easy to get to, users will want to make changes With single view, can change data in the source systems of record Remember the change of address scenario?

Example – Change of Address Enter in different systems Call different parts of the organization What if you have dependents that live with you?

Capture Data Changes Systems of Engagement Data Services Data Processing Integration, Analytics, etc. Systems of Record Master Data Raw Data Integrated Data … ETL Bus Apache Kafka record record record

Engagement Data Model - Metadata { _id : ObjectId ( " 556c1122c9c8f48313553be5 " ), meta : { system : " PatientRecords ", lastUpdate : ISODate (...), version : 2, lineage : { ... }, ... }, common : { ... }, source : { ... } }

Engagement Data Model - Source { _id : ObjectId ( " 556c1122c9c8f48313553be5 " ), ... source : { patientId : "D6E5D510-592D-C613-DB46..." address1 : "John Smith", address2 : null, city : "New York", state : "NY", zip : "10007" }, ... }

Engagement Data Model - Common { _id : ObjectId ( " 556c1122c9c8f48313553be5 " ), ... common : { patient : "D6E5D510 -592D-C613- DB46...", address : { addr1 : "John Smith", city : "New York", state : "NY", zip : "10007" } }, ... }

Systems of Record Data Model Address records can be in different systems Each system can be notified of the change to the record

Update Process User accesses an application to change their address User updates their address in the System of Engagement The address change is broadcast to any Systems of Record that have registered An adapter applies the address change to the System of Record in an application-specific manner

Tracking Changes Add basic document versioning to track what changed when Prefer the separate "current" and "history" collections approach c urrent contains the last updated version h istory contains all previous versions Can query history to see the lineage (See http://askasya.com/post/ revisitversions )

Engagement Data Model – Current { _id : ObjectId ( " 556c1122c9c8f48313553be5 " ), meta : { system : " PatientRecords ", lastUpdate : ISODate (...), version : 2, lineage : { event : "update", source : " ProfileApp ", } , ... }, ... }

Engagement Data Model - History { _id : { id : ObjectId (" 556c1122c9c8f48313553be5" ) , v : 1 }, meta : { system : " PatientRecords ", lastUpdate : ISODate (...), version : 1, lineage : { event : "update", source : " PatientRecords ", } , ... }, ... }

Result – New Possibilities Change address in one place! Other value-add processes can be triggered by changes Example: Automated outreach heath and benefits centers in new location help moving Extend address change to V eteran’s dependents

Next Steps

Keep going Keep adding valuable processes to improve or provide new services Phase out legacy if desired Part 1 – From Relational to MongoDB Improve data g overnance Part 3 – Bulletproof Data Management Reduce costs Innovate

Systems of Engagement give users new ways to interact with data You can start small and add value quickly MongoDB enables Systems of Engagement Dynamic schema Fast, flexible querying, analysis, & aggregation High performance Scalable Secure Summary

Systems of Engagement and the Future of Enterprise IT: A Sea Change in Enterprise IT http://www.aiim.org/ futurehistory Systems of Engagement & the Enterprise http://www-01.ibm.com/software/ebusiness/jstart/systemsofengagement / Geoffrey Moore - The Future of Enterprise IT http ://www.slideshare.net/SAPanalytics/geoffrey-moore-the-future-of-enterprise- it Ask Asya http://askasya.com/post/ trackversions http ://askasya.com/post/ revisitversions References

Questions? j [email protected]