Survey Data Tools Standards
Industry-standard survey tools and features benchmarked against major platforms for core MQUAD services
Industry-standard tools benchmarked against SurveyCTO, ODK Central, KoboToolbox, Qualtrics, SurveyMonkey, and REDCap.
Survey Service (Port 8001)
Implemented
- Survey CRUD: Full lifecycle management (Draft, Published, Archived).
- Survey Versioning: Immutable snapshots on publication.
- XLSForm Import/Export: Bi-directional conversion using
pyxform. - Survey Templates: Core library for rapid deployment.
- Question Types: Comprehensive support (XLSForm standard + Calendar Grid).
- Multi-tenant Isolation: Strict logical separation via
tenant_id.
Roadmap
- Survey Cloning: Planned for next release.
- Multi-language Support: Partial (supported via XLSForm labels, UI translation pending).
Form Service (Port 8010)
Implemented
- Dynamic Rendering: Dynamic conversion of schemas into interactive web forms.
- Logic Evaluation: Real-time skip logic (relevance) and constraint validation.
- Draft/Resume: Session-based persistence for long forms.
- Media Capture: Integrated image, signature, and audio uploads.
- Paging: Support for complex multi-page layouts.
Roadmap
- Enumerator Mode: Optimized UI for high-speed field data entry.
- Progress Tracking: Visual progress indicators for respondents.
Data Service (Port 8002)
Implemented
- JSONB Storage: Flexible, high-performance storage for polymorphic survey answers.
- Attachment Pipeline: Automated coordination between
data-serviceandmedia-service. - Bulk Operations: Batch approval, deletion, and status transitions.
- Multi-format Export: Asynchronous export to CSV, XLSX, and JSON via Celery.
- Event-Driven: Integration with Redis for sub-second data propagation.
Roadmap
- Partial Submission Handling: Native support for incomplete but submitted records.
- Duplicate Detection: Smart matching of responses based on respondent ID or key variables.
Cross-Service Standards
| Requirement | Status | Note |
|---|---|---|
| Rate Limiting | Implemented | Redis-based ingress limiting |
| Audit Logging | Implemented | Centralized audit-service |
| RBAC | Implemented | Permission-based JWT check |
| Soft Deletes | Implemented | Standardized across core services |
| Health Checks | Implemented | /health or /api/v1/health |
| Idempotency | Implemented | Required for sync-service operations |
| OpenTelemetry | Implemented | Distributed tracing for all services |
