Description
Implement standard risk-of-bias summary figures for ROB-2 and ROBINS-I checklists, matching the Cochrane-style visualizations commonly used in systematic reviews.
Figures Needed
1. Traffic Light Plot
Per-domain risk-of-bias judgments displayed as a color-coded grid across all studies in a project:
- Rows = studies, Columns = domains (D1-D5 for ROB-2, D1a/1b/2-6 for ROBINS-I)
- Color coding: Green (Low), Yellow (Some concerns/Moderate), Orange (Serious, ROBINS-I only), Red (High/Critical), Gray (Incomplete/NI)
2. Summary Bar Chart
Weighted bar chart showing the distribution of bias judgments across all studies for each domain:
- One bar per domain
- Stacked segments showing percentage of studies at each risk level
Current State
- No figure/visualization components exist for aggregated checklist results
- A mock
MiniRobvisChart exists in packages/web/src/components/mocks/ProjectViewV2.jsx as a conceptual reference
- Individual checklist results use
ScoringSummary.jsx components (badge/chip style) but no multi-study aggregation
- Scoring data is available via
getSmartScoring() in each checklist's checklist.js
Data Sources
- ROB-2 domain judgments:
'Low', 'Some concerns', 'High' (5 domains: D1-D5)
- ROBINS-I domain judgments:
'Low', 'Moderate', 'Serious', 'Critical' (7 domains: D1a, D1b, D2-D6)
- Checklist result types defined in
packages/shared/src/checklists/types.ts
- Scoring logic in
packages/shared/src/checklists/rob2/scoring.ts and robins-i/scoring.ts
Acceptance Criteria
Description
Implement standard risk-of-bias summary figures for ROB-2 and ROBINS-I checklists, matching the Cochrane-style visualizations commonly used in systematic reviews.
Figures Needed
1. Traffic Light Plot
Per-domain risk-of-bias judgments displayed as a color-coded grid across all studies in a project:
2. Summary Bar Chart
Weighted bar chart showing the distribution of bias judgments across all studies for each domain:
Current State
MiniRobvisChartexists inpackages/web/src/components/mocks/ProjectViewV2.jsxas a conceptual referenceScoringSummary.jsxcomponents (badge/chip style) but no multi-study aggregationgetSmartScoring()in each checklist'schecklist.jsData Sources
'Low','Some concerns','High'(5 domains: D1-D5)'Low','Moderate','Serious','Critical'(7 domains: D1a, D1b, D2-D6)packages/shared/src/checklists/types.tspackages/shared/src/checklists/rob2/scoring.tsandrobins-i/scoring.tsAcceptance Criteria