Skip to Content

Sequence Diagrams

Device Streaming Sequence

This sequence diagram shows the time-ordered interactions between components during real-time device streaming.

Timing Specifications:

OperationTypical LatencyMax LatencyNotes
JWT Validation5-10ms50msCached tokens faster
Device Connection100-500ms2000msUSB fastest, BLE slowest
Configuration20-50ms100msDepends on parameters
Buffer InitLess than 1ms5msPre-allocated memory
Data Packet4ms8ms250Hz sampling rate
Pub/Sub Publish5-10ms20msAsync operation
WebSocket Broadcast2-5ms10msDirect connection

Buffering Strategy:

  • Ring buffer size: 1MB (holds ~10s of data)
  • Batch threshold: 1000 samples (~4 seconds)
  • Flush interval: 100ms (failsafe)

Authentication Sequence

This sequence diagram shows the complete authentication and authorization flow using JWT tokens.

JWT Token Structure:

{ "header": { "alg": "RS256", "typ": "JWT", "kid": "key_id_2024" }, "payload": { "sub": "user_uuid", "email": "user@example.com", "role": "researcher", "permissions": ["read:devices", "write:sessions"], "iat": 1705320000, "exp": 1705323600, "iss": "neurascale.io", "aud": "neurascale-api" }, "signature": "..." }

Token Lifetimes:

  • Access Token: 1 hour
  • Refresh Token: 30 days
  • Session Cache: 1 hour (sliding window)

Token Storage:

  • Client: Secure storage (HttpOnly cookies or secure local storage)
  • Server: Redis for session caching
  • Keys: Cloud KMS for signing keys

Clinical Workflow Sequence

This sequence diagram shows the complete clinical workflow from patient registration through session recording and report generation, including all HIPAA compliance checkpoints.

Clinical Workflow Steps:

StepDurationRequirementsOutput
Patient Registration5-10 minDemographics, Medical IDPatient record
Consent Process10-15 minSigned forms, WitnessLegal consent
Device Setup5-10 minImpedance < 10kΩReady device
Baseline Recording2-5 minStable signalBaseline data
Active Recording20-60 minClinical protocolNeural data
Data Review5-10 minQuality checkValidated data
Report Generation2-5 minAnalysis completeClinical report
EHR Integration1-2 minHL7/FHIR formatExported data

Session Types:

  • Diagnostic assessment
  • Treatment monitoring
  • Research protocol
  • Neurofeedback training
  • Pre/post intervention

GraphQL API Sequence

This sequence diagram shows how GraphQL requests are handled, including query planning, federation, and caching.

GraphQL Query Processing:

  1. Query Parsing

    • Syntax validation
    • Schema validation
    • Depth limiting (max: 10 levels)
    • Complexity scoring
  2. Authorization

    • Field-level permissions
    • Resource-based access control
    • Data filtering by user context
  3. Query Planning

    • Identify data sources
    • Optimize fetch order
    • Batch similar requests
    • Parallelize independent queries
  4. Execution

    • DataLoader for N+1 prevention
    • Concurrent resolver execution
    • Error boundary handling
    • Partial response on errors
# Example query with permissions query GetDeviceData($deviceId: ID!) @authenticated { device(id: $deviceId) @requirePermission(action: "read") { id name status sessions(last: 10) @cost(complexity: 5) { id startTime recordings @cost(complexity: 10) { id duration sampleCount quality @computed } } } }
Last updated on