Sequence Diagrams
Device Streaming Sequence
This sequence diagram shows the time-ordered interactions between components during real-time device streaming.
Timing Details
Timing Specifications:
Operation | Typical Latency | Max Latency | Notes |
---|---|---|---|
JWT Validation | 5-10ms | 50ms | Cached tokens faster |
Device Connection | 100-500ms | 2000ms | USB fastest, BLE slowest |
Configuration | 20-50ms | 100ms | Depends on parameters |
Buffer Init | Less than 1ms | 5ms | Pre-allocated memory |
Data Packet | 4ms | 8ms | 250Hz sampling rate |
Pub/Sub Publish | 5-10ms | 20ms | Async operation |
WebSocket Broadcast | 2-5ms | 10ms | Direct 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.
Token Details
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.
Workflow Steps
Clinical Workflow Steps:
Step | Duration | Requirements | Output |
---|---|---|---|
Patient Registration | 5-10 min | Demographics, Medical ID | Patient record |
Consent Process | 10-15 min | Signed forms, Witness | Legal consent |
Device Setup | 5-10 min | Impedance < 10kΩ | Ready device |
Baseline Recording | 2-5 min | Stable signal | Baseline data |
Active Recording | 20-60 min | Clinical protocol | Neural data |
Data Review | 5-10 min | Quality check | Validated data |
Report Generation | 2-5 min | Analysis complete | Clinical report |
EHR Integration | 1-2 min | HL7/FHIR format | Exported 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.
Query Processing
GraphQL Query Processing:
-
Query Parsing
- Syntax validation
- Schema validation
- Depth limiting (max: 10 levels)
- Complexity scoring
-
Authorization
- Field-level permissions
- Resource-based access control
- Data filtering by user context
-
Query Planning
- Identify data sources
- Optimize fetch order
- Batch similar requests
- Parallelize independent queries
-
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