Data Sharing and Caring In HealthCare - MedYear's experience building Big Data Health Apps

  • 132 views
Uploaded on

MedYear is the world's first Personal Health Network. This deck is from a joint session with Sqrrl that addresses building Protected Health Information Applications using a Big Data platform. Check …

MedYear is the world's first Personal Health Network. This deck is from a joint session with Sqrrl that addresses building Protected Health Information Applications using a Big Data platform. Check out Medyear.com as a platform that puts members in control of what health information they share with whom they share it and for how long they share it using granular, easy controls built on a rich, secure platform.

More in: Healthcare , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
132
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. DATA SHARING AND CARING IN HEALTHCARE Presented By: Mark Scrimshire, Advisor +1 703 623 2789 mark@personiform.com Oybek Jumaniyozov Senior .NET Developer Personiform.com
  • 2. DEALING WITH A DATA EXPLOSION  New Data Sources:  From the Human Genome to Wearable technology Data demands are growing exponentially
  • 3. DATA STEWARDSHIP HIPAA demands Accountability 1.  Data Security 2.  Active Monitoring 3.  Process Accountability But who should be in control…
  • 4. DATA MUST BE SECURELY SHARED  A growing need to share data u Between Providers u With Payers u With Regulatory Bodies  And… u To and From Patients
  • 5. CLINICAL RECORDS Obtaining clinical data in digital form is now very simple and efficient. 1.  Give your Medyear address (user@medyear.com) to provider 2.  Data is securely transmitted from provider EHR to Medyear (as XML file) 3.  Clinical data is parsed into nine categories (see right) 4.  Individual entries, or entire sections, can now be easily shared
  • 6. HOW CAN NOSQL HELP?
  • 7. HORIZONTAL SCALABILITY  Predictable Performance u Linear performance in line with growth u Commodity building blocks
  • 8. MORE DATA. MORE INSIGHTS  Medyear links clinical and Non-Clinical data u Preserving data source integrity u Previously disparate data creates new insights
  • 9. SQRRL-OUR DATA PLATFORM  Analytics (via Dell Kitenga) u Fast and easy to manipulate data using drag & drop u Actionable intelligence from massive amounts of unstructured and structured data u Analytics and visualization on unstructured and structured data Data-Centric security at the cell-level Scalable to multiple petabytes Complex search and analytics
  • 10. DATA-CENTRIC SECURITY  Data Encryption at Rest  Encryption in Motion  Fine-grained Access Controls  Extensive Auditing
  • 11. FOUR BIG DATA LESSONS FOR HEALTHCARE 1.  Data-centric Security 2.  Start small but design for scale 3.  Iterative refinement 4.  Discovery Analytics as critical building blocks
  • 12. BUILDING THE FIRST PERSONAL HEALTH NETWORK  Simple but powerful controls put the Member in charge of: u Who they share with u What they share u How long they share Security Made Simple. NOT Simple Security
  • 13. INTUITIVE SHARING  Privacy is flexible and established on the fly. 1.  Sharing takes place on the secure Medyear social network 2.  Users dictate which data is shared, with whom it is shared, and for how long it is shared. ­  @ = certain groups or people ­  # = private chronicles ­  ## = public chronicles (as anonymous) ­  + = time limit on visibility
  • 14. MEDYEAR PLATFORM
  • 15. SQRRL BRINGS RAPID DEVELOPMENT BENEFITS  Sqrrl enables fast, iterative development: u Integrated Lucene Search capability u REST API and JSON Support u GraphSearch
  • 16. SAMPLE DATA{            "Id":"u1",            "ElementType":"User",            "User_UserName":"Isis",            "User_DateRegistered":635317426614205340,            "User_FullName":"Oybek  Jumaniyozov"     }   {            "Id":"u2",            "ElementType":"User",            "User_UserName":"jdoe",            "User_DateRegistered":635321746614215345,            "User_FullName":"John  Doe"       }   {            "Id":"u3",            "ElementType":"User",            "User_UserName":"GeekGuy",            "User_DateRegistered":635326066614215345,            "User_FullName":"Michael  Pitt"     } {            "Id":"p1",            "ElementType":"Post",            "Post_PostContent":"Hello  John",            "Post_PostDate":635326930614215345     }   {            "Id":"p2",            "ElementType":"Post",            "Post_PostContent":"Hello  Isis.  Happy  birthday.",            "Post_PostDate":635326939254225345     }   {            "Id":"p3",            "ElementType":"Post",            "Post_PostContent":"Hello  Everyone.  No  birthdays.",            "Post_PostDate":635326947894225345     } {            "Id":  "p4",            "ElementType":  "Post",            "Post_PostContent":  "Hey  guys  what  about  a  party?",            "Post_PostDate":  635326956534225345     }   {            "Id":  "p5",            "ElementType":  "Post",            "Post_PostContent":  "What  party?",            "Post_PostDate":  635326965174225410   }   {            "Id":  "p6",            "ElementType":  "Post",          "Post_PostContent":  "I  guess  he  is  talking  about  a  birthday  party.  No?",            "Post_PostDate":  635326982454225345     }  
  • 17. EDGES {            "Id":"u1",            "ElementType":"User",            "User_UserName":"Isis",            "User_DateRegistered":635317426614205340,            "User_FullName":"Oybek  Jumaniyozov"     }   {            "Id":"u2",            "ElementType":"User",            "User_UserName":"jdoe",            "User_DateRegistered":635321746614215345,            "User_FullName":"John  Doe"       }   {            "Id":"u3",            "ElementType":"User",            "User_UserName":"GeekGuy",            "User_DateRegistered":635326066614215345,            "User_FullName":"Michael  Pitt"     } {            "Id":"p1",            "ElementType":"Post",            "Post_PostContent":"Hello  John",            "Post_PostDate":635326930614215345     }   {            "Id":"p2",            "ElementType":"Post",            "Post_PostContent":"Hello  Isis.  Happy  birthday.",            "Post_PostDate":635326939254225345     }   {            "Id":"p3",            "ElementType":"Post",            "Post_PostContent":"Hello  Everyone.  No  birthdays.",            "Post_PostDate":635326947894225345     } {            "Id":  "p4",            "ElementType":  "Post",            "Post_PostContent":  "Hey  guys  what  about  a  party?",            "Post_PostDate":  635326956534225345     }   {            "Id":  "p5",            "ElementType":  "Post",            "Post_PostContent":  "What  party?",            "Post_PostDate":  635326965174225410   }   {            "Id":  "p6",            "ElementType":  "Post",          "Post_PostContent":  "I  guess  he  is  talking  about  a  birthday  party.  No?",            "Post_PostDate":  635326982454225345     }    u1 => p1 UserPost  u2 => p2 UserPost  u3 => p3 UserPost  u1 => p4 UserPost  u2 => p5 UserPost  u3 => p6 UserPost  Edges with label “UserPost” logically means User (VertexIn) owns a post (VertexOut).
  • 18. SQL FAMILIARITY WITH ADDED POWER +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |uuid()  json()                                                                          |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |u1        |  +-­‐  ElementType:  "User"                                        |   |            |  +-­‐  Id:  "u1"                                                              |   |            |  +-­‐  User_DateRegistered:  635317426614205310|   |            |  +-­‐  User_FullName:  "Oybek  Jumaniyozov"          |   |            |  +-­‐  User_UserName:  "Isis"                                    |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |u2        |  +-­‐  ElementType:  "User"                                        |   |            |  +-­‐  Id:  "u2"                                                              |   |            |  +-­‐  User_DateRegistered:  635321746614215300|   |            |  +-­‐  User_FullName:  "John  Doe"                            |   |            |  +-­‐  User_UserName:  "jdoe"                                    |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |u3        |  +-­‐  ElementType:  "User"                                        |   |            |  +-­‐  Id:  "u3"                                                              |   |            |  +-­‐  User_DateRegistered:  635326066614215300|   |            |  +-­‐  User_FullName:  "Michael  Pitt"                    |   |            |  +-­‐  User_UserName:  "GeekGuy"                              |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   select uuid(), json() from testdataset where ElementType='User' +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |uuid()  Id  ElementType  User_DateRegistered  User_FullName        User_UserName|   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |u1        |u1|User              |635317426614205310  |Oybek  Jumaniyozov|Isis                |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |u2        |u2|User              |635321746614215300  |John  Doe                  |jdoe                |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |u3        |u3|User              |635326066614215300  |Michael  Pitt          |GeekGuy          |   +-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   select uuid(), Id, ElementType, User_DateRegistered, User_FullName, User_UserName from testdataset where lucene('ElementType:User') Integrated Lucene search:
  • 19. p1 -> u1 (UserPost)p6 => u3 p3 => u3 p2 => u2 p4 => u1 p5 => u2 p1 => u1 USING CREATEGRAPHSEARCH creategraphsearch -d testdataset creategraphsearch -d testdataset -l UserPost creategraphsearch -d testdataset -l UserPost -s u1 creategraphsearch -d testdataset -l UserPost -s p1 p6 => u3 p3 => u3 p2 => u2 p4 => u1 p5 => u2 p1 => u1 p4 -> u1 (UserPost) p1 -> u1 (UserPost)
  • 20. FILTERING BASED ON TIME creategraphsearch -d testdataset -l UserPost -dir IN -nw Post_PostDate>=6353269 56534225345 p4 -> u1 (UserPost) p5 -> u2 (UserPost) p6 -> u3 (UserPost) {            "Id":  "p4",            "ElementType":  "Post",            "Post_PostContent":  "Hey  guys  what  about  a  party?",            "Post_PostDate":  635326956534225345     }   {            "Id":  "p5",            "ElementType":  "Post",            "Post_PostContent":  "What  party?",            "Post_PostDate":  635326965174225410   }   {            "Id":  "p6",            "ElementType":  "Post",             "Post_PostContent":  "I  guess  he  is  talking  about  a  birthday  party.  No?",            "Post_PostDate":  635326982454225345     }  
  • 21. C# EXAMPLE USING LUCENE Init();   var  gSearch  =  Client.CreateGraphSearch(Auth,  new  GraphQuery  {            Dataset  =  "testdataset",            Direction  =  Direction.In,            EdgeLabels  =  new  THashSet<String>  {  "UserPost"  },            NeighborLuceneQuery  =  "Post_PostContent:party"   });     var  res  =  Client.NextGraphSearchResults(Auth,  gSearch);     Client.CloseGraphSearch(Auth,  gSearch);     res.Edges.ForEach(x  =>  Console.WriteLine("{0}  =>  {1}  ({2})",  x.OutVertexUuid,  x.InVertexUuid,  x.Label)); Output: p6 => u3 (UserPost) p4 => u1 (UserPost) p5 => u2 (UserPost)
  • 22. C# EXAMPLE WITH STANDARD PREDICATES Init();   var  queryText  =  @"SELECT                                              ElementType,                                              Id,                                              Post_PostContent,                                              Post_PostDate                                        FROM                                              testdataset                                        WHERE                                              ElementType='Post'  AND                                              Post_PostDate>=635326956534225410  AND                                              lucene('Post_PostContent:birthday')";     var  queryId  =  Client.CreateQuery(Auth,  queryText);     var  queryResult  =  Client.NextSearchResults(Auth,  queryId);     PrintValues(queryResult.ResultHeader,  queryResult.ResultBatch);     Output: +------------+--+-----------------------------+------------------+ |ElementType |Id|Post_PostContent |Post_PostDate | +------------+--+-----------------------------+------------------+ |Post |p6|I guess he is talking about a|635326982454225410| | | |birthday party. No? | | +------------+--+-----------------------------+------------------+
  • 23. HEALTH IS PERSONAL u Healthcare is increasingly data driven u Wearables and Apps are increasing health data volumes exponentially u Data sharing demands are exploding u Granular data controls are needed to combine sharing with security u Strong audit trails are needed for Monitoring and Compliance
  • 24. MARK SCRIMSHIRE HEALTH AND CLOUD TECHNOLOGIST CHIEF INSTIGATOR - HEALTHCA.MP mark@personiform.com +1.703.623.2789 http://www.medyear.com
  • 25. THE FIRST PERSONAL HEALTH NETWORK - BUILT WITH SQRRL THANK YOU! Medyear.com Video Demo (https://vimeo.com/90151239)