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.