Cooperative telemedicine environments are required for many situations such as consultations between residents and senior doctors, case correlations, and for teaching and research purposes. The mode of collaboration may vary with different situations, in terms of the synchronisation of tasks, the sharing of data and the extent of collaboration among participants. It is essential for participants to be able to remotely view and manipulate visual data (images, two-dimensional and three-dimensional graphics, animation, and video) as well as interactively run application programs that involve visual data in real-time. However, this is not possible with current network bandwidth limitations when large amount of visual data are involved. In this article, we first provide an analysis of functional requirements by participants in cooperative diagnosis in different types of situations, before discussing technical requirements, which form the basis for our system architecture design. A new approach is also presented for efficient handling of programs, which involve visual data in real time. This is achieved via the construction and transmission of small messages that encapsulate the operations in a pipelined or hierarchical fashion.