Building High-Performance Medical Diagnostics Software for Real-Time Signal Analysis

Client background

Our client is one of the leading medical technology companies in Ukraine, specializing in functional diagnostic systems. Their product line includes Electroencephalography (EEG), Electrocardiography (ECG), Fetal and Holter ECG monitoring, Rheography (REG/ICG), and Spirometry (SPR) systems — all designed to provide precise, data-driven insights for clinicians. Their products combine multi-channel biosignal acquisition, advanced signal processing, and automated report generation. 

Business challenge

The company sought to develop a suite of desktop applications — including NeuroCom (EEG), ReoCom (REG/ICG), and SpiroCom (SPR) — that could deliver deep signal analysis and maximum computational efficiency on standard Windows-based computers, even on older or low-spec machines.  

Main Objectives
  • Real-time multi-channel data acquisition and visualization
  • High-throughput post-processing and analysis pipelines
  • Stable operation and guaranteed data integrity on failure
  • Cross-version Windows compatibility and intuitive UI for clinicians

How did we make it work?

We focused on efficiency, modularity, and low-level optimization. The core system is implemented in C++ with a modular architecture and a small, centralized application kernel managing dependencies. Performance-critical modules use hardware-optimized math libraries and multi-threading to accelerate signal processing while keeping memory usage minimal. 

Architecture highlights
  • Modular components with weak linking — load only what’s needed
  • Application kernel for dependency orchestration
  • Parallel processing pipelines for heavy numerical tasks
Performance approach
  • Hardware-optimized math (IPP / ACML)
  • Multi-threading with PPL / ConcRT and native C++ threads
  • Immediate persistence to avoid data loss

Main technical challenges & solutions

Real-time registration & preprocessing
linebg

C++ applications typically interact directly with the operating system (handling files, networking, graphics, etc.), but browsers operate in a more secure and restricted environment. We had to rework significant portions of the code, and in some cases, remove native components entirely and replace them with JavaScript equivalents. 

Post-processing & advanced analysis
linebg

C++ UI code—windows, buttons, dialogs—doesn’t translate to the web. We rebuilt the entire interface from the ground up using modern web technologies like HTML, CSS, and JavaScript. 

Central data storage & secure exchange
linebg

WebAssembly doesn’t support native threading APIs like POSIX or Windows threads. Instead, it relies on Web Workers, which behave differently and introduce overhead. We had to adapt and rewrite the core’s multithreading and synchronization logic to work reliably within the browser environment. 

User interface
linebg

Many native C++ libraries are not compatible with WebAssembly. To overcome this, we audited and replaced several dependencies with alternatives that function well in the browser context. 

Value delivered by devPulse
  • Consistent real-time performance on standard and legacy PCs (including dual-core machines)
  • Robust data integrity with immediate persistence and fault-tolerant design
  • Significantly faster signal analysis due to parallelized, hardware-optimized pipelines
  • Modular architecture enabling rapid integration of new research algorithms
Request A Free No-Obligation Quote

    By clicking "Send A Message", You agree to devPulse's Terms of Use and Cookie Policy

    Anna Tukhtarova
    Chief Technology Officer
    Hi — I’m Anna, CTO at DevPulse. For 15+ years I’ve guided teams from legacy code to modern, browser-native stacks. Let’s spend 30 minutes mapping the safest upgrade path for your product.
    What's next?
    01 Submit the request—takes <1 minute.
    02 Receive confirmation (and optional NDA) within 12 hours.
    03 Meet our solution architect to discuss goals & success metrics.