Adaptive system for medical monitoring distributes data processing among computing devices connected to a network to optimize usage of computational resources, network communication speed and user experience. Data processing is distributed into several levels with bi-directional communication between the levels (computing devices) to coordinate and adjust data compression, filtering, and analysis, as well as the size of buffered data available for transmission and/or receiving.