NA-MIC Project WeeksStandardize Real-Time Front-End Integration of Healthcare Application
Add Cast hub API to Slicer Web Server with a AI prompt that generates the hub.
Add a Cast client to slicer with a AI prompt that generates the client service.
Implement events:
One user drving three applications:
Three users working on the same annotation:
<iframe width="800" height="400" src="https://youtube.com/embed/O-M0Y9JHcoQ" >
</iframe>
Cast is a standard protocol for real-time client to client event communication across healthcare applications. Built upon the foundational architecture of FHIRCast, Cast extends beyond FHIR-specific data and context management to support a wide range of healthcare data formats, user interactions, controller inputs and event types. DICOM, DICOMweb, FHIR and HL7v2 are server to server and client to server protocols.
Cast is a client to client protocol. Client to client protocols differ because they often deal with temporary objects such as user interactions. Even when FHIR or DICOM data exchange is exchanged, it is usually to refer an existing object or initiate a new object that may or may not be saved to the server. For example, a DICOM annotation can be communicated but may or may not become part of a DICOM structured report.
Cast serves as an umbrella standard that encompasses specialized variants such as FHIRCast (for FHIR context management), DICOMCast (for DICOM data exchange), NAVICast (for surgical navigation), and other domain-specific implementations. All variants share the same core infrastructure while defining specialized event types for their domains (see Cast Ecosystem below).
Healthcare environments sometimes involve multiple specialized applications working together to support clinical workflows. These applications need to communicate and coordinate in real-time, sharing events such as user interactions, data exchanges, state changes, and workflow transitions. A typical scenario is radiology reporting where a worklist, viewer, reporting and EMR integrate to produce the diagnostic report. This workflow is defined in the IHE Integrated Reporting Applications profile.
FHIRcast provides a solid foundation for FHIR-based context management, focusing specifically on synchronizing FHIR resource context across applications. However, the healthcare ecosystem includes many non-FHIR data formats, such as DICOM, openEHR and use cases that extend beyond context management such has navigation controllers, VR controllsers, joysticks and footswitches. Cast addresses this by providing a flexible, extensible framework that supports:
Cast supports bi-directional WebSocket communication. This enables low-latency, “gaming style” interactions where applications can exchange events in real-time with minimal delay, supporting use cases such as collaborative viewing, synchronized navigation, and interventional workflows that require immediate feedback and coordination.
Cast also supports collaborative multi-user workflows through the hub’s ability to group users together within sessions. The hub can coordinate multiple users, allowing them to share events and synchronize their applications in real-time. This enables scenarios such as tumor board meetings, where multiple radiologists and clinicians can simultaneously view and interact with the same DICOM study, with measurements, annotations, and navigation synchronized across all participants own viewers.
The hub-based architecture provides flexible integration because applications do not need to connect directly to each other—they only need to reach the hub. This enables applications running on different platforms and locations to seamlessly participate in the same workflow. For example, a 3D Slicer application running on trame in the cloud can communicate with a mobile device application, a web-based viewer, or local camera control , all through the hub without requiring direct network connections between them.
Cast serves as an umbrella standard that encompasses specialized “Cast” variants for different healthcare domains and use cases:
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ │
│ Cast │
│ (Core Standard) │
│ │
│ ┌──────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ ┌────────────┐ │
│ │ │ │ │ │ │ │ │ │
│ │ FHIRCast │ │ DICOMCast │ │ NAVICast │ │ Other │ │
│ │ │ │ │ │ │ │ Cast │ │
│ │ FHIR Context │ │ DICOM Data Exchange │ │ Surgical │ │ Variants │ │
│ │ Management │ │ (Front-end) │ │ Navigation │ │ │ │
│ │ │ │ │ │ │ │(Extensible)│ │
│ └──────────────────┘ └──────────────────────┘ └──────────────────┘ └────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────────────────────┘
Cast Variants:
All Cast variants share the same core hub-based architecture, protocol, and infrastructure, but define specialized event types and payloads for their specific domains. This allows applications to participate in multiple Cast variants simultaneously, enabling comprehensive workflow integration across different healthcare domains.
Cast enables healthcare applications to:
This specification defines:
This specification does not define:
Cast employs a hub-based publish-subscribe architecture with the following key components:
The Cast Hub is a centralized service that:
The hub infrastructure provides significant flexibility for integration because clients do not need to connect directly to each other—they only need to establish a connection to the hub. This architectural pattern offers several key advantages:
Simplified Connectivity: Applications don’t need to know about or maintain direct connections to other applications in the workflow. Each application only needs to connect to the hub, and from there, all other applications in the session can be reached automatically.
Platform and Location Independence: Applications can run on different computers, operating systems, and platforms. For example, a 3D Slicer application running on a workstation can seamlessly communicate with a mobile device application, a web-based viewer, or a server-based PACS system—all through the hub without requiring direct network connections between them.
Network Simplification: The hub acts as a single point of connectivity, eliminating the need for complex peer-to-peer networking, port forwarding, or direct IP address management between applications.
Scalability: New applications can join a workflow session by simply connecting to the hub, without requiring changes to existing applications or network configurations.
An Event Publisher is an application that:
An Event Subscriber is an application that:
The hub-based architecture eliminates the need for direct peer-to-peer connections:
┌─────────────┐ ┌──────────┐ ┌─────────────┐
│ Event │───────▶│ Cast │────────▶│ Event │
│ Publisher │ Event │ Hub │ Event │ Subscriber │
│ (3D Slicer) │ │ │ │ (Mobile) │
└─────────────┘ └──────────┘ └─────────────┘
│
│
┌────────────────────┼────────────────────┐
│ │ │
┌────▼────┐ ┌─────▼─────┐ ┌────▼────┐
│ Event │ │ Event │ │ Event │
│Subscriber│ │ Publisher │ │Subscriber│
│ (Web) │ │ (PACS) │ │(Workstation)│
└─────────┘ └──────────┘ └─────────┘
Key Points:
Flow:
This architecture enables flexible integration scenarios, such as:
No response
No response