Systems and methods for adjusting a therapy delivered to a patient include detecting a value of at least one sensed patient parameter and adjusting a therapy program to accommodate different patient parameter values. A data structure including a plurality of patient parameter values and associated therapy programs may be stored within a medical device or a programming device. Upon detecting a patient parameter value, an associated therapy program from the data structure may be selected. If no therapy program is associated with the detected patient parameter value, an intermediate program that best suits the detected patient parameter value may be generated by interpolating between the most recently implemented therapy program and a stored therapy program. In some embodiments, the rate of shifting between parameters of two stored or interpolated therapy programs may be based on the rate of change of the patient parameter value over time.