A non-transitory computer readable medium executable on an external controller configured to communicate with a spinal cord stimulator comprising an implantable pulse generator, IPG, and a plurality of electrodes implantable in a patient, wherein the non-transitory computer readable medium comprises instructions, which when executed by the external controller , configure the external controller to: use a graphical user interface, GUI, on a screen of the external controller to determine an indication of efficacy of stimulation provided to the patient by the IPG , based on the indication of efficacy, automatically determine via an evaluation algorithm in the external controller , whether to perform a reprogramming algorithm in the external controller to adjust one or more stimulation parameters, wherein the reprogramming algorithm: changes stimulation from sub-perception stimulation to supra-perception stimulation, obtains an indication from the patient indicating the patient's satisfaction with the supra-perception stimulation, if the patient is dissatisfied with the supra-perception stimulation, enables the IPG to move the supra-perception stimulation from a first location to a new location, obtains an indication from the patient of the patient's satisfaction with the supra-perception stimulation at the new location, and if the patient is satisfied with the supra-perception stimulation at the new location, changes stimulation from supra-perception stimulation to sub-perception stimulation at the new location. use a graphical user interface, GUI, on a screen of the external controller to determine an indication of efficacy of stimulation provided to the patient by the IPG , based on the indication of efficacy, automatically determine via an evaluation algorithm in the external controller , whether to perform a reprogramming algorithm in the external controller to adjust one or more stimulation parameters, wherein the reprogramming algorithm: changes stimulation from sub-perception stimulation to supra-perception stimulation, obtains an indication from the patient indicating the patient's satisfaction with the supra-perception stimulation, if the patient is dissatisfied with the supra-perception stimulation, enables the IPG to move the supra-perception stimulation from a first location to a new location, obtains an indication from the patient of the patient's satisfaction with the supra-perception stimulation at the new location, and if the patient is satisfied with the supra-perception stimulation at the new location, changes stimulation from supra-perception stimulation to sub-perception stimulation at the new location. changes stimulation from sub-perception stimulation to supra-perception stimulation, obtains an indication from the patient indicating the patient's satisfaction with the supra-perception stimulation, if the patient is dissatisfied with the supra-perception stimulation, enables the IPG to move the supra-perception stimulation from a first location to a new location, obtains an indication from the patient of the patient's satisfaction with the supra-perception stimulation at the new location, and if the patient is satisfied with the supra-perception stimulation at the new location, changes stimulation from supra-perception stimulation to sub-perception stimulation at the new location. <EOS>