Post on 14-Mar-2018
A Technical Framework for Business Dashboards.
The pRED Portfolio dashboard as an example.
2016 European Spotfire User Group Meeting, Basel
Christian Blumenroehr Pharma Research and Early Development pRED Informatics, Solution Delivery & Architecture Roche Innovation Center Basel
The problem & its solution
The business benefits
Integration of Spotfire reports
Demo (with dummy data)
The technical implementation
The framework applied to other dashboards
The problem
• Portfolio data are available at different places
• Files are sent via e-mail → later access to outdated data
Custom reporting app
Custom reporting app
→ users lost track
The solution
• Build a dashboard that provides a unique access point
Custom reporting app
Custom reporting app
The business benefits
• Single point of truth
• Improved support for senior pRED Leadership decisions around:
– Portfolio prioritization
– Investment decisions
– Partnering decisions
– Risk management
• 7 points of access for portfolio reporting combined into one, delivering confidence in validity of data.
• Improved data quality through increased portfolio visibility.
• Usage statistics
– "how many reports are viewed?", "how does the usage evolve over time?", "what reports/report types are used the most?“
• Easy to use
• Central access management, thus increasing security
Report type, title, representative picture. On mouse over: description & data refresh rate
The dashboard
The dashboard currently consists of 55 reports. Each report is represented by a "portlet"
The dashboard
Official PDF reports stamped by the Portfolio Management group
Dynamic visualizations of portfolio metrics and analyses via Spotfire and BO based on live data
Static reports in MS Office formats
All portlets are grouped in report categories each consisting of
Custom reporting applications
The dashboard
Central access management
Users see only what they are allowed to see In the Admin UI:
– Add, modify categories
– Add, edit, re-categorize reports
– Grants access by Role
– Roles managed by Active Directory groups
BO Groups
Spotfire Groups
Cust. Rep. App2 Group
Role 1
Role 2
Cust. Rep. App1 Group
SharePoint Groups
Role 3
AD Group Membership
Spotfire Groups
BO Groups
Reports Categories
Spotfire Report Spotfire Report Spotfire Report
Category A
Category B
Category C
BO Report BO Report
. .
.
Access matrix
Integration of Spotfire reports
• (Kerberos-based) SSO
→ no login required
• Scheduled updates
→ immediate access
• Use the „options” parameter to the webplayer url
→ hide various sections like Header, Toolbar, Close button etc.
• Use configuration blocks
→ set page, filters, etc.
http://www.spotfire.com/SpotfireWeb/ViewAnalysis.aspx?file=/foo/bar&options=2-0,4-0
http://www.spotfire.com/SpotfireWeb/ViewAnalysis.aspx?file=/foo/bar&options=2-0,4-0&configurationBlock=SetPage(pageTitle=“MyPage");
Demo (with dummy data and reports on
development environment)
• Navigation
• Search
• Favorites
• Mashups
• Responsive design
• Admin Interface
Technical Implementation
ADMIN
NodeJS
MongoDB
Personalized dashboard Display specific reports
Create mashups
Configure reports Manage default dashboard
Manage access roles
Lightweight and fast open-source server allowing to use of full JavaScript stack for both client and server.
Lightweight, easy to scale, schema less , document database for storing the dashboard and user personalization in JSON format. No report data are stored!
The dynamic reports are embedded in the web application via iFrames (Spotfire & BO), and static reports are stored on SharePoint (.xls, .ppt)
SailsJS
AngularJS
HTML5/CSS
MOGATE Roche’s
«Identity & Access» data
Authentication Authorization
SSO
SSO*
SSO*
* : only on IE, basic authentication fallback on other browsers
REST API
USER
Technical Implementation
• MEAN : The acronym "MEAN" stands for
"MongoDB Express.js AngularJS Node.js" and represents a group of technologies which are known to synergize well together; it is a free and open-source JavaScript software stack for building dynamic web sites and web applications.
Technical Implementation
• Why using MEAN ?
o Single language from top to bottom (=> performance gains in both the software itself and in the productivity of developers)
o Single data format JSON is used for transferring data (=> simple approach, easier implementation, debugging and database administration)
o Flexibility in deployment platform
o Node.js's huge module library
o Open source, modern and popular
• Using Sails.js instead of Express.js : Sails.js is a realtime MVC Framework for Node.js, it is based on Express.js but has a higher level of abstraction
o Node.js ships with a very basic set of http libraries.
o Express.js wraps those http libraries and helps to enable things like routing, static serving, sessions, cookies, etc. But it really knows nothing about the DB.
o Sails.js wraps express and provides another higher level for doing things like connecting to the DB, auto-generating input pages, etc.
o Sails.js provides easy mechanism to create REST APIs
The framework applied to other dashboards
• This framework is not bound to portfolio data
• Can be applied to all kinds of reporting dashboards
• New instance: Clinical Development Dashboard
Acknowledgements
pRED Strategy & Portfolio Team
Odile Chomienne
Marina Neumueller
pRED Informatics Team
Sebastien Fournier
Alison Willard
Kenny Niedworok
Alan Rogerson
Roche ADMD Team
Adam Chwilkowski
Marcin Borkowski
Michal Kolacki
Kamil Kuliczkowsk
Doing now what patients need next