Software Development Kit (SDK)

Software Development Kit for NeuroWorks/SleepWorks

 

Natus provides Software Development Kits (SDKs) for NeuroWorks® and SleepWorks®, enabling researchers and developers to access clinical study data and integrate research workflows with Natus systems. Two SDK options are available:

  1. Real-Time Streaming SDK: Provides near real-time access to data acquired from Natus headboxes and supports the insertion of annotations into an active NeuroWorks study.
  2. File-Based SDK: Provides access to archived NeuroWorks study data through a Python library, enabling conversion of study content into widely used research and analysis formats.

Real-Time Streaming SDK

Objectives

The SDK is designed to:

  • Enable convenient research access to patient, study, and sample data in modern programming languages.
  • Support asynchronous requests for patient and study information without requiring a restart of the intermediary proxy service.
  • Allow integration with clinical acquisition systems without requiring modifications to existing NeuroWorks installations.
  • Enable researchers to insert annotations into live NeuroWorks studies at a specified timestamp (samplestamp).
Compatibility

Compatible with NeuroWorks® and SleepWorks® versions 9 and 10.

 

New Functionality
  • The SDK software module can run on a separate user-provided Windows PC by connecting to the target acquisition station through its local or LAN IP address.
  • The SDK provides a simplified, cross-platform messaging interface using ZeroMQ, in addition to the legacy COM interface.
  • The SDK offers the following interfaces to ZeroMQ clients:
    • Data
      • Streams near real-time sample data, either individually or in registry-defined batches.
    • Info
      • Provides patient, study, and channel information in JSON format.
    • Events
      • Enables applications to send annotations back into the active study at a specified samplestamp/time point.
Supported Languages

Reference clients and sample applications are available for:

  • Python
  • C++
  • C#
  • MATLAB

Extensive ZeroMQ expertise is not required to use the SDK. Natus provides reference implementations and sample client applications to help accelerate development.

 

Legacy COM Interface (Still Available)

Previous SDK versions required developers to implement a Windows COM object, typically by modifying a Natus-provided Visual Studio project demonstrating a minimal C++ implementation.

Available legacy COM functionality includes:

  • Writing study, patient, and channel data to CSV files.

File-based SDK

 

The File-Based SDK enables researchers to access and analyze archived NeuroWorks study data without requiring access to a live acquisition system.

Key Capabilities
  • Read archived NeuroWorks study folders.
  • Extract waveform data, trends, and annotations.
  • Convert study data into common research formats, including:
    • Parquet
    • EDF / EDF+
    • JSON
  • Support downstream analysis workflows in Python and modern data science environments.

The File-Based SDK is designed for retrospective research, data science applications, algorithm development, and large-scale analysis of archived studies.


 

For questions regarding either SDK, please contact the Natus SDK Team at sdk@natus.com

Submit SDK access request

If you would like to request our EEG SDK package, please complete the form in our Natus Research Portal.