A programming system comprising: a discovery service module that discovers a set of medical devices, the set including at least two medical devices, using one or more communication links by broadcasting a request for medical devices within range of the programming system to identify themselves, and receiving individual responses to the request from each medical device in the set of medical devices; and a device discovery manager that applies one or more search heuristics to the set of discovered medical devices to provide a subset of one or more medical devices of the set of discovered medical devices that are likely to be a medical device with which a user desires to interact and to display the subset to a user; the device discovery manager further configured to, identify one of the medical devices from the subset in response to input from the user selecting a medical device from the displayed subset, and to launch a device interaction software application associated with the identified medical device for use by a user to interact with the identified medical device via the programming system; wherein the device discovery manager applies one or more of the search heuristics while the discovery service module is discovering the medical devices, and wherein the system further comprises: a database that stores search heuristics associated with a patient; and a biometric reader to read a biometric indicator of the patient, wherein the device discovery manager applies the search heuristics associated with the patient when the biometric reader reads the biometric indicator of the patient. a discovery service module that discovers a set of medical devices, the set including at least two medical devices, using one or more communication links by broadcasting a request for medical devices within range of the programming system to identify themselves, and receiving individual responses to the request from each medical device in the set of medical devices; and a device discovery manager that applies one or more search heuristics to the set of discovered medical devices to provide a subset of one or more medical devices of the set of discovered medical devices that are likely to be a medical device with which a user desires to interact and to display the subset to a user; the device discovery manager further configured to, identify one of the medical devices from the subset in response to input from the user selecting a medical device from the displayed subset, and to launch a device interaction software application associated with the identified medical device for use by a user to interact with the identified medical device via the programming system; wherein the device discovery manager applies one or more of the search heuristics while the discovery service module is discovering the medical devices, and wherein the system further comprises: a database that stores search heuristics associated with a patient; and a biometric reader to read a biometric indicator of the patient, wherein the device discovery manager applies the search heuristics associated with the patient when the biometric reader reads the biometric indicator of the patient. a database that stores search heuristics associated with a patient; and a biometric reader to read a biometric indicator of the patient, wherein the device discovery manager applies the search heuristics associated with the patient when the biometric reader reads the biometric indicator of the patient.