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