1460915670-9553feb2-cc23-4e1a-949c-bebf977cd146

What is claimed is:

1. A method for programming an implantable device, wherein the method comprises:
verifying that a programming device is aware of an implantable device’s current parameters; and
communicating updated parameters from the programming device to the implantable device.
2. The method of claim 1, wherein the verifying includes:
the programming device transmitting a programming device identification number to the implantable device; and
the implantable device comparing the programming device identification number to a stored identification number which identifies a programming device that has made a most-recent inquiry of the implantable device.
3. The method of claim 2, further comprising:
sending a status message from the implantable device to the programming device, wherein the status message is a confirmation if the verification is successful and the updated parameters are successfully received, and wherein the status message is a denial if the verification is unsuccessful.
4. The method of claim 1, wherein the verifying includes:
the implantable device transmitting a stored identification number to the programming device, wherein the stored identification number identifies a programming device that has made a most recent inquiry of the implantable device; and
the programming device comparing the stored identification number to the programming device’s own programming device identification number.
5. The method of claim 4, further comprising:
aborting the communication of updated parameters from the programming device to the implantable device if the verification is unsuccessful.
6. The method of claim 1, wherein the verifying includes:
the programming device determining if a predetermined time interval has elapsed since the programming device’s most recent inquiry.
7. The method of claim 6, further comprising:
aborting the communication of updated parameters from the programming device to the implantable device if the predetermined time interval has elapsed.
8. The method of claim 6, wherein the predetermined time interval is within an inclusive range between 5 minutes and 60 minutes.
9. The method of claim 6, wherein the predetermined time interval is within an inclusive range between 10 minutes and 20 minutes.
10. The method of claim 1, wherein the verifying includes:
the implantable device determining if a predetermined time interval has elapsed since a most recent inquiry of the implantable device.
11. The method of claim 10, further comprising:
sending a status message from the implantable device to the programming device, wherein the status message is a confirmation if the predetermined time interval has not elapsed and the updated parameters are successfully received, and wherein the status message is a denial if the predetermined time interval has elapsed.
12. The method of claim 10, wherein the predetermined time interval is within an inclusive range between 5 minutes and 60 minutes.
13. The method of claim 10, wherein the predetermined time interval is within an inclusive range between 10 minutes and 20 minutes.
14. The method of claim 1, wherein the verifying includes:
the programming device transmitting an inquiry time to the implantable device; and
the implantable device comparing the inquiry time to a stored time which indicates a time at which a most-recent inquiry of the implantable device was made.
15. The method of claim 14, further comprising:
sending a status message from the implantable device to the programming device, wherein the status message is a confirmation if the verification is successful and the updated parameters are successfully received, and wherein the status message is a denial if the verification is unsuccessful.
16. The method of claim 1, wherein the verifying includes:
the implantable device transmitting a stored time to the programming device, wherein the stored time indicates a time at which a most-recent inquiry of the implantable device was made; and
the programming device comparing the stored time to the programming device’s last inquiry time.
17. The method of claim 16, further comprising:
aborting the communication of updated parameters from the programming device to the implantable device if the verification is unsuccessful.
18. The method of claim 1, wherein the verifying includes:
the programming device transmitting a stored time to the implantable device, wherein the stored time indicates a time at which a most-recent programming of the implantable device was performed; and
the implantable device comparing the stored time to the implantable device’s most-recent programming time.
19. The method of claim 18, further comprising:
communicating a current time along with the updated parameters from the programming device to the implantable device; and
storing the current time as the most-recent programming time if the verification is successful and the updated parameters are successfully received.
20. The method of claim 18, further comprising:
sending a status message from the implantable device to the programming device, wherein the status message is a confirmation if the verification is successful and the updated parameters are successfully received, and wherein the status message is a denial if the verification is unsuccessful.
21. The method of claim 1, wherein the verifying includes:
the implantable device transmitting a most-recent programming time to the programming device; and
the programming device comparing the most-recent programming time to a stored time which indicates a time at which a most-recent programming of the implantable device was performed.
22. The method of claim 21, wherein the stored time is provided to the programming device from the implantable device during an inquiry operation.
23. The method of claim 21, further comprising:
communicating a current time along with the updated parameters from the programming device to the implantable device; and
the implantable device storing the current time as the most-recent programming time if the verification is successful and the updated parameters are successfully received.
24. The method of claim 21, further comprising:
aborting the communication of parameters from the programming device to the implantable device if the verification is unsuccessful.
25. The method of claim 1, wherein the verifying includes:
the implantable device transmitting current parameters to the programming device; and
the programming device comparing the current parameters to stored parameters from the programming device’s last inquiry of the implantable device.
26. The method of claim 25, further comprising:
aborting the communication of parameters from the programming device to the implantable device if the verification is unsuccessful.
27. A multiprogrammer system for monitoring and optimizing implantable device performance, wherein the system comprises:
an implantable device that includes:
a memory configured to store configuration parameters;
a telemetry module configured to transmit and receive external communications; and
a microprocessor coupled to the memory to read and write configuration parameters, and further coupled to the telemetry module to send and receive configuration parameters, wherein the microprocessor is configured to perform an algorithm in a manner governed by the configuration parameters; and

at least two programming devices each configurable to communicate with the telemetry module to receive configuration parameters from the implantable device and to send updated configuration parameters to the implantable device,
wherein each one of the programming devices is configured to verify that configuration parameters retrieved by said one of the programming devices are current before said one of the programming devices sends updated configuration parameters to the implantable device.
28. The multiprogrammer system of claim 27, wherein said one of the programming devices verifies that the retrieved configuration parameters are current by retrieving a stored programming device identification number from the implantable device and comparing the stored programming device identification number to an identification number of said one of the programming devices, whereby said one of the programming devices determines whether said one of the programming devices has made a most-recent inquiry of the implantable device.
29. The multiprogrammer system of claim 27, wherein said one of the programming devices verifies that the retrieved configuration parameters are current by determining if a predetermined time interval has elapsed since a most recent inquiry by said one of the programming devices.
30. The multiprogrammer system of claim 27, wherein said one of the programming devices verifies that the retrieved configuration parameters are current by retrieving a stored time from the implantable device and comparing the stored time to a last inquiry time of said one of the programming devices, whereby said one of the programming devices determines whether said one of the programming devices has made a most-recent inquiry of the implantable device.
31. The multiprogrammer system of claim 27, wherein said one of the programming devices verifies that the retrieved configuration parameters are current by receiving a most-recent programming time from the implantable device and comparing the most-recent programming time to a stored programming time provided by the implantable device during a last inquiry by said one of the programming devices.
32. The multiprogrammer system of claim 27, wherein said one of the programming devices verifies that the retrieved configuration parameters are current by retrieving the current configuration parameters from the implantable device and comparing the current configuration parameters to the previously retrieved configuration parameters.
33. A programming device for an implantable device, wherein the programming device comprises:
a user interface;
a memory configured to store configuration parameters;
a communications circuit configurable to communicate with an implantable device; and
a microprocessor coupled to the memory to read and write configuration parameters, coupled to the user interface to display the configuration parameters, and further coupled to the communications circuit to retrieve configuration parameters from the implantable device and to send configuration parameters to the implantable device, wherein the microprocessor is configurable to retrieve, write, read, alter, and send the configuration parameters in response to input from the user interface,
wherein the microprocessor is configured to verify that the retrieved configuration parameters are current before sending altered configuration parameters to the implantable device.
34. The programming device of claim 33, wherein the microprocessor verifies that the retrieved configuration parameters are current by retrieving a stored programming device identification number from the implantable device and comparing the stored programming device identification number to an identification number of the implantable device programming device, whereby the microprocessor determines whether the implantable device programming device has made a most-recent inquiry of the implantable device.
35. The programming device of claim 33, wherein the microprocessor verifies that the retrieved configuration parameters are current by determining if a predetermined time interval has elapsed since a most recent inquiry of the implantable device by the microprocessor.
36. The programming device of claim 33, wherein the microprocessor verifies that the retrieved configuration parameters are current by retrieving a stored time from the implantable device and comparing the stored time to a last inquiry time of the programming device, whereby the microprocessor determines whether the programming device has made a most-recent inquiry of the implantable device.
37. The programming device of claim 33, wherein the microprocessor verifies that the retrieved configuration parameters are current by receiving a most-recent programming time from the implantable device and comparing the most-recent programming time to a stored programming time provided by the implantable device during a last inquiry by the microprocessor.
38. The programming device of claim 33, wherein the microprocessor verifies that the retrieved configuration parameters are current by retrieving the current configuration parameters from the implantable device and comparing the current configuration parameters to the previously retrieved configuration parameters.
39. A multiprogrammer-aware implantable device which comprises:
a memory configured to store configuration parameters;
a telemetry module configured to transmit and receive external communications; and
a microprocessor coupled to the memory to read and write configuration parameters, and further coupled to the telemetry module to send configuration parameters to a programming device and to receive configuration parameters from the programming device, wherein the microprocessor is configured to perform an algorithm in a manner governed by the configuration parameters, and
wherein the microprocessor is configured to verify that the programming device has received a current version of the configuration parameters before accepting altered configuration parameters.
40. The implantable device of claim 39, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by receiving a programmer identification number from the programming device and compares the programmer identification number to a stored identification number which identifies a programming device that has made a most-recent inquiry of the implantable device.
41. The implantable device of claim 39, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by determining if a predetermined time interval has elapsed since a most recent inquiry of the implantable device.
42. The implantable device of claim 39, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by receiving an inquiry time from the programming device and comparing the inquiry time to a stored time which indicates a time at which a most-recent inquiry of the implantable device was made.
43. The implantable device of claim 39, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by receiving a programming time from the programming device and comparing the programming time to a stored time which indicates a time at which a most-recent programming of the implantable device was performed.
44. A method, comprising:
programming parameters in a medical implant;
determining if the parameters have been altered since the programming parameters;
modifying the parameters if the parameters have not been altered; and
halting modifying the parameters if the parameters have been altered.
45. The method of claim 44, wherein programming parameters includes programming the parameters with a programmer, and wherein halting modifying the parameters includes notifying an operator that the programmer was not a last device to interact with the medical implant.
46. The method of claim 44, wherein programming parameters includes programming the parameters with a first programmer and subsequently altering the parameters with a second programmer.
47. The method of claim 46, wherein modifying the parameters includes modifying the parameters with the second programmer.
48. The method of claim 46, wherein halting modifying the parameters includes halting modifying the parameters when modification is attempted using the first programmer.
49. A method, comprising:
storing a program in an implantable device;
storing configuration parameters in an implantable device, the stored configuration parameters being capable of controlling operation of the program;
electronically transferring verification data between the implantable device and a programming device; and
verifying the configuration parameters are current configuration parameters from a comparison of the transferred verification data with the stored data.
50. The method of claim 49, including communicating updated parameters from the programming device to the implantable device when the configuration parameters are verified as current configuration parameters.
51. The method of claim 50, wherein electronically transferring verification data includes
determining a present inquiry time and transferring a stored last access time from the implant device to the programming device; and
wherein verifying the configuration parameters includes comparing the present inquiry time to the last access time.
52. The method of claim 51, wherein storing configuration parameters includes:
communicating a current time along with the configuration parameters from the programming device to the implantable device; and
storing the current time as the last access time.
53. The method of claim 49, wherein verifying includes sending a confirmation status message if the verification is successful and sending a denial status message if the verification is unsuccessful.
54. The method of claim 49, wherein verifying includes aborting communication of updated parameters from the programming device to the implantable device if the verification is unsuccessful.
55. The method of claim 54, wherein electronically transferring verification data includes
determining a present inquiry time and transferring a stored last access time from the implant device to the programming device; and
wherein verifying the configuration parameters includes comparing the present inquiry time to the last access time.
56. The method of claim 49, wherein storing configuration parameters includes:
communicating a current time along with the configuration parameters from the programming device to the implantable device; and
storing the current time as a most-recent programming time.
57. The method of claim 49, wherein storing configuration parameters includes sending a status message from the implantable device to the programming device, wherein the status message is a confirmation when the verification is successful and the updated parameters are successfully received, and wherein the status message is a denial when the verification is unsuccessful.
58. The method of claim 49, wherein verifying configuration parameters includes verifying operational parameters that control therapy provided by an implantable pacemaker are current.
59. The method of claim 49, wherein verifying configuration parameters includes verifying configuration parameters that control the therapy provided by an implantable cardioverterdefibrillator are current.
60. The method of claim 49, wherein storing the program includes storing a parameterized program in read only memory, and controlling operation of the parameterized program by the configuration parameters.
61. The method of claim 49, wherein the verification data includes a most recent programming time for the implantable device and the stored data includes a stored time wherein the stored time indicates a time at which a most-recent programming of the implantable device was performed, and wherein verifying includes:
the implantable device transmitting the stored time to the programming device; and
the programming device comparing the stored time to the most-recent programming time of the implantable device.
62. The method of claim 61, including providing the stored time to the programming device from the implantable device during an inquiry operation.
63. The method of claim 61, further comprising:
communicating a current time along with the updated parameters from the programming device to the implantable device; and
the implantable device storing the current time as the most-recent programming time if the verification is successful and the updated parameters are successfully received.
64. The method of claim 61, further comprising:
aborting the communication of parameters from the programming device to the implantable device when the verification is unsuccessful.
65. A programming device for an implantable device, wherein the implantable device has configuration parameters that are used by a program to control a therapy provided to a patient, wherein the programming device comprises:
a user interface;
a memory configured to store configuration parameters;
a communications circuit configurable to communicate with the implantable device; and
a microprocessor coupled to the memory and the user interface, and further coupled to the communications circuit adapted to retrieve configuration parameters from the implantable device and send configuration parameters to the implantable device;
wherein the communication circuit is configured to electronically transfer verification data between the implantable device and the programming device, and the microprocessor compares the transferred verification data with stored data, and verifies configuration parameters of the implantable device are current configuration parameters from the comparison of the transferred verification data with the stored data.
66. The programming device of claim 65, wherein the microprocessor is configurable to retrieve, write, read, alter, and send the configuration parameters in response to input from the user interface and to communicate updated configuration parameters from the programming device to the implantable device when the configuration parameters are verified as current configuration parameters.
67. The programming device of claim 66, wherein the microprocessor verifies that the retrieved configuration parameters are current by retrieving a stored time from the implantable device and comparing the stored time to a last inquiry time of the programming device, whereby the microprocessor determines whether the programming device has made a most-recent inquiry of the implantable device.
68. The programming device of claim 65, wherein the microprocessor verifies that the retrieved configuration parameters are current by receiving a most-recent programming time from the implantable device and comparing the most-recent programming time to a stored programming time provided by the implantable device during a last inquiry by the microprocessor.
69. The programming device of claim 65, wherein the microprocessor verifies that he retrieved configuration parameters are current by retrieving the current configuration parameters from the implantable device and comparing the current configuration parameters to the previously retrieved configuration parameters.
70. A method, comprising:
storing a program and programmable configuration parameters in an implantable device, the configuration parameters controlling operation of the program stored in the implantable device;
transferring verification data between the implantable device and a programming device; and
verifying that configuration parameters presently stored in the implantable device are the same configuration parameters that are known to the programming device by comparing the transferred verification data with the stored data.
71. An implantable device, comprising:
a memory configured to store configuration parameters;
a telemetry module configured to transmit and receive external communications; and
a microprocessor coupled to the memory to read and write configuration parameters, and further coupled to the telemetry module to send configuration parameters to a programming device and to receive configuration parameters from the programming device; and
wherein the microprocessor is configured to verify that the programming device has received a current version of the configuration parameters before accepting altered configuration parameters.
72. The implantable device of claim 71, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by receiving a programmer identification number from the programming device and compares the programmer identification number to a stored identification number which identifies a programming device that has made a most-recent inquiry of the implantable device.
73. The implantable device of claim 72, wherein the microprocessor aborts the communication of updated parameters from the programming device to the implantable device when the stored identification number and the programer identification number do not match.
74. The implantable device of claim 73, wherein the microprocessor sends a request to the programming device to transmit configuration parameters, the microprocessor receives the configuration parameters and starts a timer after the configuration parameters are received, wherein the microprocessor determines when the timer has expired and transmits a denial to the implantable device when the timer has expired and transmits the updated parameters to the implantable device when the timer has not expired.
75. The implantable device of claim 71, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by receiving an inquiry time from the programming device and comparing the inquiry time to a stored time which indicates a time at which a most-recent inquiry of the implantable device was made.
76. The implantable device of claim 71, wherein the microprocessor verifies that the programming device has received a current version of the configuration parameters by receiving a programming time from the programming device and comparing the programming time to a stored time which indicates a time at which a most-recent programming of the implantable device was performed.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A device for retaining a supra pubic catheter having an expansible balloon at one end of said catheter for maintaining such catheter in place and a flange slidably received by said other end of said catheter.
2. A device as claimed in claim 1 wherein said flange includes a hole for co-axially receiving said catheter.
3. A device as claimed in claim 2 wherein said flange includes a cylinder collar presenting said hole.
4. A device as claimed in claim 3 wherein said catheter and said flange are comprised of plastic.
5. A device as claimed in claim 4 wherein said catheter defines a longitunal axis and said flange is axially displaceable along said catheter.
6. The combination of:
(a) a supra pubic catheter adapted to be placed through a stomal tunnel, said catheter having one end with an inflatable balloon adapted to be inflated inside the bladder;
(b) a device actually moveable along said catheter towards a balloon.
7. The combination of claim 6 wherein said device includes a cylinder having a hole there through for slidable receiving said catheter.
8. The combination of claim 7 wherein said device includes a radially extending flange at one end out said cylinder for contacting the abdomen of the patient.
9. The combination of claim 8 wherein said device comprises of plastic.
10. The combination as claimed in claim 9 wherein said catheter comprises of plastic.
11. The combination as claimed in claim 10 wherein said device is friction engaged along said catheter.
12. The combination of claim 11 wherein said catheter includes a central passage way for voiding urine from said bladder.
13. A method of treating a bladder comprising:
a) placing a supra pubic catheter through a stoma in an abdomen of a patient in the bladder;
b) inflating a balloon disposed at one end of said catheter in said bladder to maintain said one end of catheter in said bladder;
c) moving a retainer along said catheter towards said abdomen to draw said catheter balloon against said bladder.
14. A system is claimed in claim 14 wherein said catheter between said balloon and said retainer is in tension.
15. A system is claimed in claim 15 wherein said retainer is selectively moveable along said catheter.
16. A system is claimed in claim 16 wherein said retainer is frictionally engaged along said catheter.
17. A system is claimed in claim 17 where in said catheter is substantially leak free.
18. The use of supra pubic catheter for a bladder compressing:
a) inserting a supra pubic catheter through a stomal tunnel in an abdomen of a patient into the patient’s bladder.
b) inflating a balloon disposed at one end of the catheter in the bladder.
c) moving a retainer allay the catheter toward the abdomen to draw the catheter tube against the bladder.