Mongo DB & Healthcare

Post on 25-Feb-2016

89 views 1 download

Tags:

description

Mongo DB & Healthcare. Charles Boicey, MS, RN-BC Informatics Solutions Architect UC Irvine Health June 6, 2013. Early Work with MongoDB in Healthcare January – July 2011. Continuity of Care Document Storage and Retrieval Demographics Patient Name Medical Record Number Date of Birth - PowerPoint PPT Presentation

Transcript of Mongo DB & Healthcare

Mongo DB & Healthcare

Charles Boicey, MS, RN-BCInformatics Solutions Architect

UC Irvine HealthJune 6, 2013

Early Work with MongoDB in Healthcare January – July 2011

Continuity of Care Document Storage and RetrievalDemographics

Patient NameMedical Record NumberDate of BirthAddress

MedicalAllergies and adverse reactionsProblemsMedicationsDiagnostic results

Solution Ingredients• Storage and querying

– NoSQL/Simple/Schema-less database– Advantages

• highly scalable, very flexible, simple– MongoDB

• Representation– JSON

• Connectivity– node.js

• Server side Javascript

• User Interface– Lucene

MongoDB

node.js

mongodbdriver

ClientJavaScript

XML toJSON

Naveen Ashish, PhD

MappyHealth

Brian Norris, MBA, RN-BCCharles Boicey, MS, RN-BCMark Silverberg, MIS Student at GWU

• Now Trending 2012 Challenge Winners– Office of the Assistant Secretary for

Preparedness and Response (ASPR)• Utilized technology from non-healthcare domain

to build a healthcare application

ASPR Now Trending 2012 Challenge Use open source Twitter data Create a web based application that will automatically deliver

a list of the top-five trending illnesses from a specified geographic area in a twenty-four hour period.

Send directly to state and local public health practitioners to use in a variety of ways including: building a baseline of trend data; engaging the public on trending health topics; serving as an indicators of potential health issues emerging in

the population; cross-referencing other data sources.

MappyHealth

Meningitis• Tweets related to two events.

• The first a 3 year old with severe Meningitis in south America

• The second a meningitis death in the United States

• “NCIRE researcher dies from apparent lab-acquired meningitis infection | Outbreak News”

• “Calif. lab worker dies after meningitis infection - A 25-year-old laboratory researcher has died after becoming infe…”

Social Noise Zone

Meningitis heat map of tweets by location in the United States

US and Canada Meningitis Tweet Activity Sept 19th to Oct 19th, 2012

Meningitis qualifier frequency

Meningitis Tweet Qualifier Activity September 19th, 2012 to October 19th, 2012

Finding using Arabic term for “embassy”

This tweets was posted by screen name “CaStRoO” to twitter using facebook with a link to an article about the Turkey embassy bombing - http://www.bbc.co.uk/arabic/worldnews/2013/02/130202_turkey.shtml

Finding using term “bomb” with text containing “make a” & “school”

US Turkey Embassy ExplosionFireworks Explosion Chinese Highway Kills 26

Spike in tweets about Department of State

U.S. Secretary of State Kerry Addresses Nation

HerokuMongoDb

Simple but powerful modular pipeline

Realtime Tweets

Term Matching

Highly Scalable on Amazon EC2

Sentiment Analysis

Location Analysis

Statistical Analysis

Graphical Interface Updates

Webserver Presentation

While initially focused on Twitter data this is only the beginning and so much more can be done with other social data sets

MashupLayerSeparate from Heroku for Security

Purposes

CacheLayer

Tech Stuff• Amazon Linux• MongoDB 2.2• Ruby 1.8.7• MongoMapper• Ruby Gem

• Tweets from Twitter API + Tweet Analysis + Metadata stored in MongoDB

• About 12 MapReduce patterns written in JS and wrapped with Ruby so server daemons can easily invoke them

• Web interface queries the collections the MapReduce jobs output to. Results are cashed/MongoDB not hit for each session.

More Tech Stuff# Invocation: MapReduceSimpleCounts.build("field_to_analyze")class MapReduceSimpleCounts def self.map(str) "function(){attr = this.#{str};emit(attr,1);}" end def self.reduce "function(prev, current) {var count = 0;for (index in current) { count += current[index]; } return count; } " end def self.build(str = "place.full_name", query = {}) Tweet.collection.map_reduce(map(str), reduce, :query => query, :out => {:replace => "count_by_#{str}"}) endend

Sentiment Analysis

• The application of natural language processing, computational linguistics and text analytics to identify and extract subjective information.

• What is being said about a person or about an organization. Sentiment can be positive or negative.

• Early identification of negative sentiment allows an organization to respond immediately and avoid being blindsided. Positive sentiment allows for marketing opportunities.

A Few Numbers

Twitter500 million tweets per day

and climbing.

More from Twitter, Instagram & Foursquare

Social MediaEngagement/Surveillance Dashboard

• Sentiment Analysis• Healthcare: Patients & UCI• Research: Exercise Physiology• Cross Domain