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-service and media-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

RequirementStatusNote
Rate LimitingImplementedRedis-based ingress limiting
Audit LoggingImplementedCentralized audit-service
RBACImplementedPermission-based JWT check
Soft DeletesImplementedStandardized across core services
Health ChecksImplemented/health or /api/v1/health
IdempotencyImplementedRequired for sync-service operations
OpenTelemetryImplementedDistributed tracing for all services