How ehealthafrica/sda_toolbox works
SDA Toolbox is a data-analysis application for campaign operations and settlement data: users upload files, run validation, analysis, compilation, or reporting, then review and download results. The React app exposes these workflows through a dashboard and feature pages, with a shared API client connecting to the Python toolbox. The README documents additional capabilities not represented by sampled backend excerpts; their presence is included, but uncertain internal call wiring is omitted.
Main entry points: client.ts API client · App.tsx Application shell · DashboardPage.tsx Dashboard · H2HTrackingPage.tsx Campaign tracking
Components 27
Frontend
- Application shell
src/frontend/src/App.tsx - Dashboard
src/frontend/src/components/dashboard/DashboardPage.tsx - API client
src/frontend/src/api/client.ts
Campaign analysis
- Campaign tracking
src/frontend/src/components/h2h/H2HTrackingPage.tsx - REACH analysis
src/frontend/src/components/reach/ReachAnalysisPage.tsx - Contact analysis
src/frontend/src/components/contactAnalysis/ContactAnalysisPage.tsx - Target area
src/frontend/src/components/targetArea/TargetAreaPage.tsx - Tracking analysis
src/toolbox/apps/tracking - Target-area generation
src/toolbox/target_area - Submission review
src/toolbox/campaign/submission_reviewer.py
MLoS quality
- MLoS QC
src/frontend/src/components/mlos/MlosQcPage.tsx - MLoS operations
src/frontend/src/components/mlosOps/MlosOpsPage.tsx - UUID checker
src/frontend/src/components/uuidChecker/UuidCheckerPage.tsx - MLoS validation and fixes
src/toolbox/apps/mlos
Planning and compiler
- Microplan combine
src/frontend/src/components/microplan/MicroplanCombinePage.tsx - DIP validation
src/frontend/src/components/microplanValidate/ValidateDipPage.tsx - DIP map merger
src/frontend/src/components/dipMapMerger/DipMergerPage.tsx - DIP generator
src/frontend/src/components/dipGenerator/DipGeneratorPage.tsx - Compiler tools
src/frontend/src/components/compilerTracks/TracksPage.tsx - Microplan processing
src/toolbox/apps/planfeld - Dataset aggregation
src/toolbox/apps/aggregators
Reporting and shared services
- Daily report
src/frontend/src/components/dailyReport/DailyReportPage.tsx - Post-implementation report
src/frontend/src/components/postImplementation/PostImplementationPage.tsx - Campaign reporting
src/toolbox/apps/tracking/reporter - Job endpoints
src/toolbox/job_tracker/router.py - Job store
src/toolbox/job_tracker/store.py
Other components
- Data analyst
Connections 39
- Data analyst → Application shell: uses
- Application shell → Dashboard: renders
- Application shell → Campaign tracking: renders
- Application shell → REACH analysis: renders
- Application shell → Contact analysis: renders
- Application shell → Target area: renders
- Application shell → MLoS QC: renders
- Application shell → MLoS operations: renders
- Application shell → UUID checker: renders
- Application shell → Microplan combine: renders
- Application shell → DIP validation: renders
- Application shell → DIP map merger: renders
- Application shell → DIP generator: renders
- Application shell → Compiler tools: renders
- Application shell → Daily report: renders
- Application shell → Post-implementation report: renders
- Dashboard → API client: requests job data
- Campaign tracking → API client: submits tracking
- REACH analysis → API client: submits analysis
- Contact analysis → API client: submits analysis
- Target area → API client: submits generation
- MLoS QC → API client: submits QC
- MLoS operations → API client: submits operations
- UUID checker → API client: checks identifiers
- Microplan combine → API client: submits combine
- DIP validation → API client: submits validation
- DIP map merger → API client: submits merge
- DIP generator → API client: submits generation
- Compiler tools → API client: submits compilation
- Daily report → API client: requests report
- Post-implementation report → API client: requests report
- API client → Tracking analysis: calls tracking routes
- API client → Target-area generation: calls target-area routes
- API client → MLoS validation and fixes: calls QC routes
- API client → Microplan processing: calls microplan routes
- API client → Dataset aggregation: calls compiler routes
- API client → Campaign reporting: calls report routes
- API client → Job endpoints: requests job summary
- Job endpoints → Job store: reads job data