fig1 schematically shows an arrangement for programming an implanted medical device . in the illustrated embodiment , the medical device is a cardiac pacer implanted in a patient . the pacer has a pacer control unit 10 , which is generally implanted pectorally near the shoulder of the patient under the skin and one or more electrodes 14 , which are anchored in the patient &# 39 ; s heart 5 . one or more leads 12 connect the electrodes 14 to the pacer control unit 10 . the pacer is capable of operating autonomously and is powered by a battery ( not shown ). the electrodes 14 are used to apply stimulating pulses to the heart tissue and may also sense the electrical activity of the heart and possibly other physiological activities , such as respiration . this information is stored in the pacer control unit 10 , for example in the form of an intracardial electrogram ( iegm ) for later consultation by a medical practitioner during a routine check . other information collected and stored in the pacer control unit 10 can include data relating to the condition of the pacer , such as the residual battery power or the impedance of the leads 12 . the information stored in a pacer can be consulted using a programmer 20 which is preferably computer - or microprocessor based . the programmer 20 includes a control unit 22 , a display 24 , a telemetry head 26 , internal storage unit 28 and some form of data input device 32 that may be a keyboard , a mouse , a touch - sensitive screen , or the like , or some combination of these . a disk drive 30 may also be provided in the programmer 20 for receiving a diskette , cd rom or similar portable storage element capable of carrying computer - readable code . software used for controlling the operation of the programmer is stored in the storage unit 28 ad executed by the control unit 22 using the storage unit 28 . additional software applications can be provided on a removable diskette and read with the aid of the disk drive 32 . these additional software applications may be used to optionally extend the functions of the programmer . alternatively , additional software applications may assure more basic functions that are specific to a class of implantable device ; this may be of interest when the internal storage unit 28 of the programmer 20 are of limited capacity , for example . communication between the programmer 20 and the pacer control unit 10 is effected via a telemetry link , whereby the telemetry head 26 , which preferably includes an inductive coil , is placed over the implantation site of the pacer control unit 10 . once a link has been established , the programmer 20 interrogates the pacer control unit 10 and downloads the stored information . modifications to the pacer settings programmed by the programmer 20 are also uploaded to the pacer control unit via the telemetry link . exchanges of information between the pacer control unit 10 and the programmer 20 may occur throughout a programming session , for example to obtain recent ecg or iegm signals recorded by the pacer 10 when testing a modified parameter value . interaction between the operator and the programmer 20 is through the display 24 and input device 32 and more particularly through a graphical user interface of the programmer 20 . through the graphical user interface , the operator may use the programmer 20 to set programmable parameter values , carry out tests on the implantable device and also view diagnostic data . in accordance with the present invention , the programmer 20 displays parameter values in graphical form . more specifically , the programmer 20 displays a representation of a quantity that is influenced by the operation of the implanted medical device . preferably this quantity is also measured by the implanted medical device . preferably the quantity represents a physiological activity influenced by the device and commonly used by a clinician for evaluating the patient &# 39 ; s condition and also the operation of the implanted device 10 . the parameters used for controlling the operation of the medical device are mapped to this representation in such a way that a variation in the shape of the representation causes the programmer to effect a corresponding variation in the value of the mapped parameters . the representation of a physiological activity is preferably in the form of a waveform . in the present example which relates to a cardiac pacer 10 , the waveform is an ecg or iegm , which is routinely measured during programmer sessions . data representing the measured electrical activity of the heart in the form of an ecg or iegm is also readily available from the pacer device itself . by displaying parameters in such a graphical form , and moreover , permitting the modification of parameters by manipulating the graphical representation , the operator knows immediately what effect the programmed parameters will have on the patient &# 39 ; s condition . this is described in more detail with reference to fig2 . fig2 shows a parameter programming window of the graphical user interface . it is assumed that this window is displayed by the programmer following the selection by the operator of the programmable parameter in a graphical user interface of the programmer 20 . the parameter selected is the base rate of the pacer 10 . the waveform 400 depicted in this window represents one cycle of an ecg in which atrial stimulation pulses 401 and ventricular stimulation pulses 402 are shown . the atrial stimulation pulse 403 for the following cycle is also shown in the waveform . for this waveform , the programmable parameter for the basic interval br of the pacer is mapped to the distance between the two atrial stimulation pulses 401 , 403 . the basic interval is the period between two consecutive paced events without intervening intrinsic activity . while the basic interval is not a common programmable parameter for most pacers , it is inversely proportional to the base rate , which is commonly used . the programmer may associate either base rate values or basic interval values with this distance . a further parameter , namely the av delay , av , is also mapped to a portion of the waveform , specifically to the distance between the first atrial stimulation pulse 401 and the ventricular stimulation pulse 402 . select points on the curve are defined as movable or fixed . in fig2 , the starting point 404 represented by a square is a movable point , while the end point 405 represented by a circle is a fixed point . by selecting and dragging the movable point 404 , either using a cursor control device , such as a mouse , or by keyboard or keypad controls , the operator can alter the length of the curve 400 , and specifically the mapped portions of the curve . since both the basic interval br and the av delay av depend on distances measured in parallel to the horizontal axis of the curve 400 , the movable point 404 is constrained to move along a straight line defined by the axis ( the time axis ) of the curve 400 . the programmer 20 , and specifically the control unit 22 automatically adjusts the parameter values linked to the dimensions of the curve 400 . for example if the operator moves the movable point to the left in fig2 to lengthen the curve , the basic interval will be lengthened and the base rate reduced accordingly . similarly , a reduction in the curve length by moving the movable point to the right in the figure will reduce the basic interval . once an operator has made the desired adjustment to the curve , he may program the pacer device 10 with the associated parameter values . this is preferably achieved by providing a separate “ program ” command button on the screen . on registering this command , the control unit 22 of the programmer 20 sends the new parameter values to the pacer device 10 through the telemetry head 26 . only basic interval or base rate values allowed by the pacer device will be programmed . thus if the pacer permits specific discrete values of base rate only , the programmer will set the permitted value that is closest to that defined by the modified curve . in the same way , the upper and lower limits of any parameter value is similarly observed . the upper and lower limits of a parameter are preferably also illustrated graphically by preventing further movement of the curve when a limit has been reached . in addition , the two end points of any parameter value may be illustrated graphically as limits to the curve variation to aid the operator in scaling any adjustment . when the movable point 404 of the curve is shifted , this causes a stretching of the curve throughout its length . thus all the intervals defined along its length will be modified in scale with the increase in length . in other words , the curve 400 retains its relative proportions in the direction of movement in analogy with normal physiological processes . thus in the curve depicted in fig2 , an increase in the basic interval br or reduction of the base rate caused by the extension of the curve width will automatically cause an in - scale variation of the av delay ( interval ). when the operator programs a modified base rate , the control unit 22 will automatically send the adjusted av delay value to the pacer 10 . other parameters that are likewise affected by a variation in the basic interval , such as the pv delay or the refractory period , could also be associated with the curve . this permits different parameters to be altered and programmed using the same curve . for example supposing that at a base rate of 90 pulses per minute ( ppm ), the av interval must not exceed 300 ms . the restriction in the value of av delay may be automatically implemented by the programmer when the operator adjusts the base rate by altering the total length of the curve 400 . different parameters may also be programmed independently using the same curve . for the programming of each separate parameter , a different set of fixed 405 and movable points 404 are displayed . the different programmable parameters may be selected by the operator using an appropriate command from a menu bar incorporated in the parameter programming window . alternatively , or in addition , the desired parameter may be selected by selecting the appropriate portion of the curve 400 to make movable 404 ad fixed points 405 appear . the representation of parameters in terms of their effect on a physiological activity as illustrated in fig2 is preferably also utilized for the depiction of diagnostic tests and measured data . this is shown as an example in fig3 which shows a further screen of the graphical user interface . here the same curve 400 is depicted as in fig2 . two threshold levels 406 , 407 are shown in the form of horizontal lines . the uppermost line 406 in fig3 represents the atrial capture threshold and the lower line 407 represents the evoked response ( er ) sensitivity threshold , which relates to ventricular stimulation . fixed points 405 are located on the central horizontal axis of the curve 400 . movable points 404 are located on the lines 406 , 407 . these lines 406 , 407 are thus movable with respect to the central ( horizontal ) axis of the curve , whereby an increase in the distance between a threshold line and the central axis causes an increase in threshold value , and a decrease in distance results in a decrease in threshold value . in the illustrated example , the evoked response sensitivity threshold value 407 can be viewed or set by moving the line . the atrial capture threshold is preferably used to indirectly adjust the atrial pulse width , and so adjust the atrial pulse energy . reducing the threshold level by moving the line 406 towards the central axis of the curve 400 results in an increase in the atrial pulse width , while an increase in the threshold level 406 causes a reduction in atrial pulse width . for the example of a cardiac pacer described with reference to fig2 and 3 , it is possible to represent substantially all programmable parameters and illustrate all tests utilizing waveforms which are graphical representations of a ecg cycle showing pacer stimulation pulsed and a ecg waveform of spontaneous activity . as mentioned above , the waveform used to represent programmable parameters of an implanted medical device 10 may be derived from data collected by the device 10 itself or even from the programmer 20 . thus , for example , a programmer 20 of an implantable cardiac pacer 10 may utilize ecg or iegm curves which are routinely recorded by the pacer 10 and sometimes by programmer 20 during follow - up visits by the patient at a clinic or surgery to depict the parameters . this brings with it the possibility of utilizing a waveform that is generated from the recorded data , to provide a real picture of the effects of programming parameters . this possibility is utilized in a further embodiment of the invention using a parameter programming screen as depicted in fig4 . the screen in fig4 is divided into an upper and a lower portion , with two windows 408 , 409 in the upper portion and a single window 412 in the lower portion . the two upper windows 408 , 409 show waveforms used for programming parameters . the waveform 400 representing an ecg cycle showing atrial and ventricular stimulation is depicted in the right - hand upper window 409 and a waveform 410 representing a spontaneous ecg cycle 410 is depicted in the left - hand upper window 408 . as mentioned above , these two waveforms 400 , 410 can be used to program substantially all programmable parameters of a cardiac pacer , as well as illustrating tests and diagnostics . in the third window 412 depicted in the lower half of the screen there is displayed a continuously rolling waveform 411 constructed from data recorded by the pacer device or the programmer . the operator changes the shape of the waveforms 400 , 410 in the two uppermost windows 408 , 409 to program parameters and can observe the result on the recorded waveform 411 depicted in the lower window 412 . in order to compare the results between the desired programmed values input via the waveforms 400 or 410 and the resulting measured waveform 411 , the programming waveforms 400 and 410 may be copied and superimposed on parts of the measured waveform 411 . this is illustrated in the lower window 412 of fig4 . preferably this is implemented using a drag and drop function so that the operator may simply select the programming waveform 400 , 410 and drag this down to the measured waveform 412 for comparison . the displaced waveform is automatically modified to the scale of the measured waveform 412 to enable a useful comparison . a freeze function is associated with the recorded waveform 411 and may be invoked to facilitate this comparison . the waveforms 400 and 410 may be stylized waveforms stored in the programmer before use . alternatively , the waveforms 400 and 410 may be generated from data recorded by the pacer device 10 or the programmer 20 some time previously or during programming of the cardiac pacer 10 . this may be achieved in different ways . for example , when the programmer 20 is started , the initial waveforms 400 , 410 displayed in the uppermost windows 408 and 409 will be simulated waveforms that are stored in the programmer 20 . as a follow - up procedure progresses and measured data is obtained from the cardiac device 10 or the programmer 20 , the waveforms 400 and 410 are replaced by a waveform based on the measured data . for example , the stimulated ventricular pulse amplitude may be measured by the pacer output stage . this values combined with the iegm measured by the pacer 10 can then be combined to form a waveform 400 for programming . since the measured ecg or iegm waveform will vary slightly from cycle to cycle , the displayed waveforms 400 and 410 may be generated using the averaged data for several measured ecg or iegm cycles . in a further embodiment of the invention , the effects of varying the parameters as described with reference to fig3 and 4 is not shown using a continuously varying waveform as depicted in the lower window of fig4 . rather the most recently available single waveform cycle is depicted with a number of earlier cycles shown offset from the most recent cycle . this is illustrated in fig5 . a current waveform 420 is depicted by a continuous line , earlier cycles 421 and 422 are depicted with dashed lines . in addition to being offset , earlier cycles are preferably also depicted in a contrasting shade or color as illustrated by the different broken lines in fig5 . this provides the operator with immediate feedback of the effects of altering one or more parameters . in the exemplary embodiment using a programmer for a cardiac pacer , the parameters are linked to a representation of an ecg or iegm signal . it will be appreciated that a measured or simulated ecg or iegm waveform could equally be used to control intracardial devices ( icd ) and devices for emerging indications ( ei ), for instance . in the case of devices for emerging indications ( ei ), which stimulate both sides of the heart , iegm curves representing or measured from different sides of the heart can be compared and manipulated relative to one another to modify parameters that control the timing between the sides of the heart . it will be understood that the invention is not limited to ecg or iegm waveforms . any quantity that may be represented graphically and that is influenced by or influences the operation of an implantable medical device can be used for programming the device . the choice of quantity depends on the workings of the device and the types of parameters to be programmed . for example programmers for drug pumps may utilize a representation of the heart rate or respiration rate , neurostimulators may utilize waveforms representing electrical activity in the brain . although modifications and changes may be suggested by those skilled in the art , it is the invention of the inventors to embody within the patent warranted heron all changes and modifications as reasonably and properly come within the scope of their contribution to the art .
in a programmer for an implantable medical device , a method for operating and controlling a implantable medical device , and in a computer software product , a graphical representation of a quantity influenced by the operation of the medical device is displayed , and parameters relating to the control of the device are associated with portions of the graphical representation . when an operator selects and alters the shape of the displayed graphical representation to illustrate a desired operational effect of the medical device on the quantity , a value associated with the altered shape is automatically modified and communicated to the implanted medical device . the operator thus is able to select parameters on the basis of the intended effect , rather than setting parameter values and then observing the effect .