The CDC Integrated Surveillance Portal (CISP) prototype is a comprehensive, real-time, interactive resource for CDC, its partners, and the public to explore and discover information about the full inventory of CDC’s Surveillance Systems, Programs, Registries, Health Surveys, Tools, and Collaboratives. CISP contains not only descriptive information about these CDC resources — CISP also describes the relationships between resources.
Just as Facebook’s social graph depicts the relationships between you and the people, places, and things you interact with online, our CDC Surveillance Graph depicts the relationship between the wide variety of resources (e.g., systems, programs, tools, datasets, etc.) involved in the activity of surveillance at CDC.
The term graph, used here, refers to graph theory. Graphs are mathematical structures used to model pairwise relations between objects. Graphs consist of distinct nodes or objects, which are connected to each other via lines, or edges. Thus, each CDC resource is considered a node. If there is any type of relationship between nodes (e.g., uses, oversees, collaborates with, shares data with, etc.), a connection is created
To try out the resource, go to http://jupiter.philab.cdc.gov/#/main
The technology stack leveraged for this resource was novel for the team – but we have found it to be very powerful and flexible.
Neo4J – http://www.neo4j.org/
“Neo4j is a highly scalable, robust (fully ACID) native graph database. Neo4j is used in mission-critical apps by thousands of leading startups, enterprises, and governments around the world.” – Neo4J Website
PostgreSQL – http://www.postgresql.org/
“PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. …” – PostgreSQL website
NodeJS – http://nodejs.org/
Express.js – http://expressjs.com
“Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.” – Express website
AngularJS – http://angularjs.org/
“HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop” – Angular website
Twitter Bootstrap – http://getbootstrap.com
“Bootstrap makes front-end web development faster and easier. It’s made for folks of all skill levels, devices of all shapes, and projects of all sizes.” – Bootstrap website
Jade.js – http://jade-lang.com/
“Jade is designed primarily for server side templating in node.js” – Jade website
D3.js – http://d3js.org/
Build and Deploy
“Bamboo does more than just run builds and tests. It connects issues, commits, test results, and deploys so the whole picture is available to your entire product team – from project managers, to devs and testers, to sys admins” – Atlassian website