Cached Plug-in Drivers for Neurostimulator Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current implantable neurostimulation systems require clinicians to have specific programming software for each device model, leading to inefficiencies in updating and managing software packages, especially with the development of new models and regulatory review processes.

Innovation Solution

A system with a processor, memory, and transceiver that caches and dynamically selects plug-in software drivers to communicate with multiple neurostimulation device models, allowing for easy programming and updating without the need for separate software packages for each model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate programming software packages are used for each neurostimulation device model, then device-specific programming requirements are met, but software management complexity and updating difficulty increase

Engineering Contradiction:
Improvedevice compatibilityVSAvoidsoftware management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal programming system that can interface with multiple neurostimulation device models through a common architecture. The host computer runs a single programming application that automatically detects the connected device model and loads the appropriate driver, eliminating the need for separate software packages for each device type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces software drivers as intermediary components that bridge the host computer's programming application and specific neurostimulation device models. These drivers handle model-specific communication protocols and data formats, allowing the main programming application to remain model-agnostic while still supporting diverse devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple programming software packages are maintained for different device models, then comprehensive device support is provided, but updating and validation procedures become more burdensome

Engineering Contradiction:
Improvedevice model supportVSAvoidsoftware updating
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the programming software into two distinct components: a core programming application that handles universal programming functions, and separate driver modules that handle model-specific operations. This segmentation allows the core application to remain unchanged while only the driver components need to be updated when new device models are introduced.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements automatic driver detection and loading mechanisms that prepare the system in advance for device connection. When a device is connected, the system automatically detects the device model, retrieves the appropriate driver, and configures the programming environment without requiring manual software installation or selection, thereby eliminating time loss during device setup.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a single programming system supports multiple device models, then workflow efficiency is improved, but the system must handle diverse communication protocols and data formats

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidcommunication handling
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses drivers as intermediary translation layers that handle diverse communication protocols and data formats between different device models and the universal programming application. The drivers convert device-specific protocols into standardized interfaces that the main application can process uniformly, thereby maintaining programming efficiency without requiring the application to handle protocol diversity directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic parameter configuration within the driver layer that adapts communication parameters such as data rates, packet formats, and register addresses based on the detected device model. This allows the system to optimize communication for each specific device while maintaining a consistent programming interface for the user.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9119969B2System and method for programming neurostimulation devices using cached plug-in software drivers
Publication Date: 2015.09.01 BOSTON SCI NEUROMODULATION CORP
  • US9119969B2 patent drawing
  • US9119969B2 patent drawing
  • US9119969B2 patent drawing

AI summary

A system for programming a plurality of different models, or generations, of neurostimulation devices includes a plurality of plug in software drivers stored on a hard drive of the system, wherein the plurality of plug-in software drivers are respectively configured for facilitating communication between the plurality of different models of neurostimulation devices and the system processor via a transceiver. In a method of programming a plurality of different models of neurostimulation devices, the system processor dynamically identifies the model of an interrogated neurostimulator and determines which plug-in software driver to use for programming the interrogated neurostimulator. The plug-in software drivers are cached into memory upon start-up of the system.