A cardiac rhythm management (CRM) system includes a programming device that determines parameters for programming an implantable medical device based on patient-specific information including indications for use of the implantable medical device. By executing an indication-based programming algorithm, the programming device substantially automates the process between the diagnosis of a patient and the programming of an implantable medical device using parameters individually determined for that patient.