Aggregated Cancer Data Visualization

Description and Specifications:

The goal was to build an interface for selecting deidentified aggregated data for visualization by selecting stratifications, then filtering using options provided based on those selections, and then choosing from a list of relevant visualizations for those selections. For example, if you picked a single categorical variable, a Pie or Bar Chart might be presented. If you picked more than one, then Bars or even Stacked Bars might be possible. If your data involved Geography and at least one other value, Google Maps became an option, and so on...

First a user would click an Add Chart button to bring up a Selector Screen that displays options for stratifying the data. (This data had been pre-aggregated, and only anonymous data would be returned. Custom stratification was not possible under these conditions, and so data was pre-organized in a variety of ways.)

Upon selecting Stratificiations, the user was then presented with options for filtering down based on those values. For example, if they picked Race, they might be presented with specific race options to filter by, and so on.

Once selections had been made, users were presented with options for relevant visualizations, including Pie Charts, Bar Charts, Maps and Table Views.

Upon selection of stratifications, filters and a visualization type, users are presented with a visualization that matches their selections and provides more interactivity from that point on:

Challenges and Solutions:

Data Anonymity

Data was aggregated along a variety of stratification combinations ("by age, by gender", "by race, by gender", etc), and even then only aggregated based on enough patients to prevent selective feature-based identification. The interface is heavily ajax-based, and connects to a separate API service that ensures that only adequately anonymized data is ever returned to the backend scripts that serve it up as JSON.