Inspiration

The idea for this project struck very personally. One of our teammates had to get a CT scan of their hand, and what should have been a simple diagnostic process turned into 4–5 hours of waiting. The time wasn’t just spent on scanning - it included processing the data and then transmitting it to the doctor for interpretation.

During this time, the uncertainty and frustration were palpable. We realized that if such delays occur for minor cases, critical medical conditions, where time is of the essence, could have catastrophic consequences. Doctors also struggled to access scans promptly due to limited infrastructure and local equipment constraints.

This situation inspired us to design a system that prioritizes important medical information, enabling critical diseases to be diagnosed quickly so that appropriate action can be taken immediately. We also wanted to integrate external clinics, allowing scans and medical imaging equipment to be shared without restrictions imposed by physical space or local hardware.

What it does

We created a web-based cloud simulation system for secure, priority-based medical imaging transfer. The system consists of three main components:

  1. Client Agent – extracts series metadata from DICOM files, chunks and uploads critical series first, and persists upload state for resiliency.
  2. Backend Server – handles resumable uploads, validates integrity via SHA-256 checksums, maintains audit logs, and schedules series based on priority.
  3. Clinician Dashboard – displays real-time upload progress, priority statuses, and notifications when urgent series are available.

We implemented priority queues mathematically as a preemptive scheduling system:

$$ Q_{\text{urgent}} > Q_{\text{high}} > Q_{\text{normal}} > Q_{\text{background}} $$

Chunks are sized dynamically (1 MB in our hackathon demo) and verified with:

$$ \text{SHA256}(C_i) \stackrel{?}{=} h_i $$

Ensuring integrity even over unstable network links.

Workflow Diagrams

Chunked Upload Workflow

flowchart LR
    A[Clinic Agent: Read DICOM Series] --> B[Split into Chunks (1MB)]
    B --> C[Compute SHA-256 for each chunk]
    C --> D[Send chunks to Backend Server]
    D --> E{Server Receives Chunk}
    E -->|Valid SHA| F[Store Chunk, Update DB]
    E -->|Invalid SHA| G[Reject & Retry]
    F --> H[All chunks received?]
    H -->|Yes| I[Finalize Series & Notify Clinician]
    H -->|No| D

How we built it

  • We distributed the work equally among our team:
    • One teammate focused on series extraction and rules engine.
    • Another implemented resumable, chunked uploads with integrity checks.
    • Another worked on the backend scheduler and priority queueing logic.
    • The last teammate designed the real-time clinician dashboard using React and WebSockets.
  • The system is cloud-simulated using Docker Compose, with multiple client agents representing different clinics.
  • This allows external clinics to utilize shared medical equipment efficiently.
  • Critical series are sent full-resolution first, ensuring rapid access for urgent diagnosis.

Challenges we ran into

  1. Unstable network simulation – We had to ensure uploads would resume and maintain integrity under high latency and packet loss conditions.

  2. Priority handling – Designing a fair yet preemptive scheduler so that urgent series always get bandwidth without starving normal uploads.

  3. Real-time status updates – Implementing WebSocket communication that scales with multiple concurrent clients and provides clinicians with live progress notifications.

  4. Data integrity and audit – Every chunk and series had to be verified and logged for security and clinical reliability.

  5. Team coordination – Integrating backend, frontend, and client agent modules while maintaining a consistent API for priority handling and notifications.

Accomplishments that we're proud of

  • Successfully implemented priority-based file transfer, ensuring critical series reach clinicians first.
  • Built resumable chunked uploads with SHA-256 integrity verification.
  • Created a real-time dashboard displaying upload progress, priorities, and notifications.
  • Developed a cloud-simulated architecture that allows multiple clinics to operate together efficiently.

What we learned

  • The importance of prioritizing critical data in medical workflows. Even minor delays can impact patient outcomes.

  • Practical experience in building resumable, chunked file uploads and real-time monitoring dashboards.

  • Challenges of distributed teamwork in hackathons, requiring careful interface design between client agents, backend, and frontend.

  • How to integrate real-world rules into automated systems, such as series-level prioritization based on DICOM metadata.

  • Designing systems that handle failures gracefully and notify users in real-time for critical operations.

What's next for Medical Imaging File Transfer

  • Add mTLS authentication and token-based secure access for clinics.
  • Integrate cloud object storage (S3/MinIO) for scalable file handling.
  • Implement network error resilience using FEC or retry strategies for extremely unstable links.
  • Extend clinician-facing prioritization rules for dynamic, customizable workflows.
  • Create a single-page visual summary dashboard combining all workflow diagrams for easier oversight.

Built With

Share this project:

Updates

Submission history