🏥 EVEP Mobile Reflection Unit

Data Flow Diagram - Medical Data Processing Workflow

Document Version: 1.0 | Last Updated: August 30, 2024 | Print-Friendly Format

🟢 LIVE SYSTEM - Production Ready

📊 Data Flow Overview

EVEP Mobile Reflection Unit Data Flow Diagram illustrates the complete data processing workflow from medical device input through various services to final output. This event-driven architecture handles vision screening data, patient information, and clinical results through a robust pipeline.

🎨 Data Flow Legend:

Data Source - Medical devices & input
Service - Processing services
Queue - Message buffers
Processor - Data processors
Storage - Database collections
Output - Final destinations

🔄 Complete Data Flow Workflow

📋 Medical Data Processing Pipeline:

Vision Screening Devices
Port: Various
Snellen charts, digital devices, mobile units
Mobile Unit API
Port: 8013
FastAPI backend for data ingestion
Frontend App
Port: 3013
React interface for data entry
Redis Cluster
Ports: 6395-6400
Message queue for async processing
Patient Data Processor
Internal
Patient registration & validation
Screening Data Processor
Internal
Vision screening results processing
Prescription Processor
Internal
Optical prescription calculation
MongoDB Primary
Port: 27030
Primary database storage
MongoDB Secondaries
Ports: 27031-27032
Replica set for redundancy
Patients Collection
Database
Patient demographic data
Screenings Collection
Database
Vision screening results
Prescriptions Collection
Database
Optical prescriptions
Deliveries Collection
Database
Glasses delivery tracking
Analytics Service
Internal
Data aggregation & insights
Integration Service
Internal
External system integration
Real-time Dashboard
Port: 3013
Live monitoring interface
API Endpoints
Port: 8013
RESTful API for external access
Documentation Server
Port: 8084
Static documentation hosting

📋 Detailed Data Flow Steps

🔍 Step-by-Step Data Processing:

1
Data Ingestion
Vision screening devices and mobile units send data to the Mobile Unit API (Port 8013) and Frontend App (Port 3013) for initial processing and validation.
2
Message Queuing
Processed data is sent to Redis Cluster (Ports 6395-6400) for asynchronous message queuing, ensuring reliable data delivery and system decoupling.
3
Data Processing
Specialized processors handle different data types: Patient Data Processor for registration, Screening Data Processor for vision results, and Prescription Processor for optical calculations.
4
Database Storage
Processed data is stored in MongoDB replica set with Primary (Port 27030) and Secondaries (Ports 27031-27032) for high availability and data redundancy.
5
Collection Organization
Data is organized into specialized collections: Patients, Screenings, Prescriptions, and Deliveries, each optimized for specific data types and query patterns.
6
Analytics & Integration
Analytics Service aggregates data for insights and reporting, while Integration Service handles external system connections and data exchange.
7
Output Distribution
Processed data is distributed to Real-time Dashboard for monitoring, API Endpoints for external access, and Documentation Server for system documentation.

🔗 API Endpoints & Integration

📡 Data Ingestion Endpoints:

POST /api/v1/mobile-screening/patients
POST /api/v1/mobile-screening/screenings
POST /api/v1/mobile-screening/prescriptions
POST /api/v1/mobile-screening/deliveries

📊 Data Retrieval Endpoints:

GET /api/v1/mobile-screening/patients/{id}
GET /api/v1/mobile-screening/screenings/{id}
GET /api/v1/mobile-screening/prescriptions/{id}
GET /api/v1/mobile-screening/deliveries/{id}

📈 Analytics Endpoints:

GET /api/v1/insights/history
GET /api/v1/insights/analytics
GET /api/v1/mobile-screening/inventory

🔧 System Health Endpoints:

GET /health
GET /docs