A programming device for establishing a protocol for a plurality of electrodes in one or more medical leads coupled to an electrical stimulation generator, the programming device adapted to be in communication with the electrical stimulation generator and a patient feedback device; the programming device comprising: a first communication port for communication with the electrical stimulation generator; a second communication port for communication with the patient feedback device; a user interface; and a controller coupled to the first communication port, the second communication port, and the user interface, the controller configured to create the protocol for providing electrical stimulation to treat the patient; characterized in that the controller is further configured to initiate the automated and systematic sweeping of the plurality of electrodes with respective electrical stimulus from the electrical stimulation generator, wherein the automated and systematic sweeping includes automatically generating a respective electrical stimulus for a time period with each electrode in a systematic sequence, wherein the controller is further configured to determine when each respective electrical stimulus is generated, and associate the patient provided feedback with the respective electrical stimulus, receive from the patient feedback device whether the patient provided a physical feedback, wherein the patient feedback is provided by squeezing his hand, by biting or by pressing one of his feet or by squering his hand and by pressing one of his feet or by biting and by pressing one of his feet, while performing the automated and systematic sweeping, and wherein the creating the protocol is based on the sweeping of the plurality of electrodes and the patient provided feedback. a first communication port for communication with the electrical stimulation generator; a second communication port for communication with the patient feedback device; a user interface; and a controller coupled to the first communication port, the second communication port, and the user interface, the controller configured to create the protocol for providing electrical stimulation to treat the patient; characterized in that the controller is further configured to initiate the automated and systematic sweeping of the plurality of electrodes with respective electrical stimulus from the electrical stimulation generator, wherein the automated and systematic sweeping includes automatically generating a respective electrical stimulus for a time period with each electrode in a systematic sequence, wherein the controller is further configured to determine when each respective electrical stimulus is generated, and associate the patient provided feedback with the respective electrical stimulus, receive from the patient feedback device whether the patient provided a physical feedback, wherein the patient feedback is provided by squeezing his hand, by biting or by pressing one of his feet or by squering his hand and by pressing one of his feet or by biting and by pressing one of his feet, while performing the automated and systematic sweeping, and wherein the creating the protocol is based on the sweeping of the plurality of electrodes and the patient provided feedback.