Mark Jensen, Director, Data Management and Interoperability, Frederick National Laboratory for Cancer Research
Todd Pihl, Director, Technical Project Manager, Frederick National Laboratory for Cancer Research
Ming Ying, Senior Software Engineer, Frederick National Laboratory for Cancer Research
How to Troubleshoot Apps for the Modern Connected Worker
Building Data Commons with Bento Framework
1. DEPARTMENT OF HEALTH AND HUMAN SERVICES • National Institutes of Health • National Cancer Institute
Frederick National Laboratory is a Federally Funded Research and Development Center operated by Leidos Biomedical Research, Inc., for the National Cancer Institute
Neo4j GovConnect:
The Bento Framework for Building Data Commons
Biomedical Informatics and Data Science (BIDS) Directorate
Frederick National Laboratory for Cancer Research (FNLCR)
Todd Pihl, PhD, PMP
Ming Ying, MS
Mark A. Jensen, PhD, PMP
2. Frederick National Laboratory for Cancer Research
• Why was Bento Framework built?
• What is the Bento Framework?
• How does it work?
• Where does Neo4j fit in?
• What’s next?
3. The NCI Cancer Research Data Commons Ecosystem
https://datascience.cancer.gov/data-commons
Frederick National Laboratory for Cancer Research
4. Frederick National Laboratory for Cancer Research
Integrated Canine Data Commons
• Not data type centric
Clinical Trials Data Commons
• Genomic data bias
5. Frederick National Laboratory for Cancer Research
o Bento can serve as a framework
for CRDC platforms
o Each platform can customize the
core framework
o Bento provides modular,
customizable components
o QA is baked into Bento
development process
o Bento can serve as a “foundry”
for CRDC
Bento’s Core
6. Frederick National Laboratory for Cancer Research
Bento Saves
Development Time
Integrated Canine Data Commons
Clinical Trial Data Commons
Bento Based Data Commons
9 MONTHS
4 MONTHS
~4 WEEKS
7. Frederick National Laboratory for Cancer Research
o Microservices in Containers:
- User Interface
- Backend
- Database
- Core Data Model
o Technology Stack:
Neo4J | Java/Python | GraphQL | ReactJS
- Neo4j drives both persistence and UI
o Loose Coupling of Components
Bento Architecture
For the Custodian
o Pull codebase
o Configure locally
o Deploy anywhere
o Multi-cloud support
o Documentation support
8. Frederick National Laboratory for Cancer Research
1
Bento Core
Data Model
Bento Core API
Bento Core UI
Framework
ü Bento Core Components work
out of the box.
ü Bento Custodian need only
configure the UI.
ü The core components provide a
minimal but working application.
2
Bento Core UI
Framework
Bento
Extended
Model
Bento Extended API
ü Bento Core Data Model is extended.
ü Bento Core API custom queries
updated to provide access to data in the
extended sections of the model.
ü UI continues to work with the API and
data model, without any additional
development.
ü Bento Core Data Model is extended.
ü Bento Core API custom queries
updated to provided access to data in
the extended sections of the model.
ü Core UI built out to display model
elements according to your
custodian’s specifications.
3
Bento Extended UI
Framework
Bento
Extended
Model
Bento Extended API
Bento - Degrees of Configuration
9. Model Description Format (MDF)
MDF is a compact, human-readable—but computable—format
for defining a property graph
• Nodes
• Node Properties
• Relationships
• Relationship Properties
• Relationship Attributes: direction, multiplicity, required/optional, …
• Property Definitions
• Property Attributes: allowable value types or sets, required/optional, …
Frederick National Laboratory for Cancer Research
https://github.com/CBIIT/bento-mdf
10. MDF Overview
Nodes
Edges
Property
Defs
Props referenced here … and defined here
Entity names are the keys
Nodes at the ends,
with direction
Other attributes
specified
Constrain the
data values
to defined types
Frederick National Laboratory for Cancer Research
11. Frederick National Laboratory for Cancer Research
Metamodel Database
https://github.com/CBIIT/bento-meta
CTDC Model
in MDB
Metamodel
"Schema"
12. Testimonial - ICDC Product Owner
Philip Musk 12:06
And let me tell you, with data needs driving many of
ICDC's requirements as they are, and have been thus far,
being able to both write the requirements, and make
the required model changes ahead of engineers doing
their thing, is really powerful. I don't have to explain
what model changes we need to make to someone else -
I can get the model changes done myself, and explain
what we need the engineers and the UI to do with those
changes.
13. Data pipeline
Frederick National Laboratory for Cancer Research
Case file
Data-loader
(Python) Neo4J
Case file
Case file
Study file
Case file
Study
COTC007B
Case
COTC007b-0505
Case
COTC007b-1605
Case
COTC007b-0610 Case
COTC007b-0408
Cohort
NSC 7067….
Cypher
16. Why Neo4j-GraphQL Plugin?
• Very easy to setup
• Very easy to use
• Only one file (the schema file) is needed to setup a GraphQL API
• Automatically generated common queries
• Supports writing custom queries with Cypher
• Very responsive customer support!
Frederick National Laboratory for Cancer Research
20. 0
0
Establish workflow for building
reusable Bento components
Retool existing sites to use Bento
Add authentication and authorization layer
Add enhanced data viz capabilities
Enhance performance
1
2
3
Bento Roadmap
4
5
1
2
3
4
5
21. Frederick National Laboratory for Cancer Research
The Bento Team
Bento Leadership
Braulio Cabral
John Otridge
Todd Pihl
Mark Jensen
DevOps & Backend
Ming Ying
Vincent Donkor
Michael Fleming
Austin Mueller
Bento Management
Ye Wu
Kailing Chen
Amit Mukherjee
Data
Mark Jensen
Philip Musk
Mark Benson
Kevin Burns
Claire Wolfe
Anjan Purkayastha
UI
Dimitri Darras
Hannah Stogsdill
Sri Kiran Chaparala
Ajay Doddapaneni
Ming Ying
Yizhen Chen
Karan Sheth
QA
Laxmi Lolla
Gayatri Radhakrishnan
Megan Lewis
Integrated Frederick National Lab and Essential Software Inc. Team
22. Thank you.
Frederick National Laboratory for Cancer Research
https://cbiit.github.io/bento-docs-sphinx/master/installation/bento-quick-start.html