Case Study
Jigsaw
We developed a way to store, assemble, and visualize healthcare data algorithms for Outcomes Insights.
Premise
As a research and consulting firm specializing in the analysis of observational healthcare data, Outcomes Insights sought to expand the capabilities of their services through a custom web application. At its core, the platform would help healthcare researchers translate natural language research protocols (How many diabetes patients had outpatient surgery in the year leading up to their diagnosis?) into something more structured and computable.
Successful translation of the underlying clinical ideas into computable algorithms would open the next door: Turning an entire protocol based on raw data sources, settings, and algorithms into an analyzable study cohort in record time.
Discover
- Wireframes
- UX Design
- Prototypes
Design
- Branding
- UI Design
- Data Visualization
Develop
- Ember
- Ruby on Rails
- D3
Goals
Prototype to Production
Outcomes Insights had a handful of prototypes and a stellar founding customer, and it was time to pull all of their ideas together into a polished version one.
Complex Question, Simple Chart
Converting healthcare research questions into SQL is as tricky as it sounds. A successful interface would handle most of those complexities behind the scenes and empower more potential users.
Helping Hand
For the non-intuitive portions of the application, a toolbox of maps, documentation, and defaults would go a long way towards helping users (new and old) out.
Discover
ConceptQL Certification
We kicked things off with a crash course on ConceptQL, Outcomes Insights’ high-level language used to define algorithms and to dynamically create database-correct SQL. Catching up with their standard was our trailhead for translating over to a guided interface with the same features.
Started From the Bottom
The first piece of the puzzle sat on the bottom of the stack: The algorithm builder, a flowchart-esque combination of algorithm possibilities. With that successfully solidified, we were freed to move up the feature chain towards directories and a study protocol builder.
The Visualization Gamut
Algorithms with (potentially) hundreds of nodes made most of this phase center around prototypes. Interactive trials were moved into the browser as quickly as possible for team feedback.
Design
Branding
Jigsaw like the saw, not the puzzle. We cleaned up the core concept and underlying colors to help the product stand on its own beside the consultancy.
Keeping the Interface Clean
The lion’s share of project resources went toward development, but that didn’t detract from multiple interface iterations as new features spun up. Interactive timelines and documentation helped communicate difficult concepts.
Develop
D3 and Ember Trees
Pairing Ember, D3, and JSON, the algorithm builder was part flowchart, part map. The SVG foundation made zooming and panning seamless, and allowed the completed project to be exported as an image.
A Repository of Algorithms
Above the algorithm builder sat Jigsaw’s algorithm repository: As the name implies, the underlying algorithms were organized into a directory to support metadata, filtering, and incorporation into study protocols.
Combining into Cohorts
The top of the pyramid was reserved for the Study Protocol Builder. Here, researchers combined algorithms and myriad settings to define a cohort including all variables necessary for subsequent analyses.
Results
Three Ideas, One Application
For the first time, Outcomes Insights’ custom take on assembling medical study data could be defined end-to-end from within the product.
Future Foundations
Beyond being usable at launch, the platform supported and received continued development around new features and configuration options.
Across the Finish Line
The completed product came with an improved means of demoing to potential customers, soon adding Amgen and the National Cancer Institute to the software.
“The entire Envy organization are excellent partners, and we look forward to working with them in [the future].”
Mark Danese