DE69702273T2 - Aktive implantierbare medische Vorrichtung und dazugehörende externe Programmiereinrichtung mit automatischer Aktualisierung von integrierter Software - Google Patents
Aktive implantierbare medische Vorrichtung und dazugehörende externe Programmiereinrichtung mit automatischer Aktualisierung von integrierter SoftwareInfo
- Publication number
- DE69702273T2 DE69702273T2 DE69702273T DE69702273T DE69702273T2 DE 69702273 T2 DE69702273 T2 DE 69702273T2 DE 69702273 T DE69702273 T DE 69702273T DE 69702273 T DE69702273 T DE 69702273T DE 69702273 T2 DE69702273 T2 DE 69702273T2
- Authority
- DE
- Germany
- Prior art keywords
- programmer
- implant
- program
- objects
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 239000007943 implant Substances 0.000 claims description 75
- 238000012546 transfer Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 16
- 238000005259 measurement Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000036387 respiratory rate Effects 0.000 description 3
- 230000000747 cardiac effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- UDHXJZHVNHGCEC-UHFFFAOYSA-N Chlorophacinone Chemical compound C1=CC(Cl)=CC=C1C(C=1C=CC=CC=1)C(=O)C1C(=O)C2=CC=CC=C2C1=O UDHXJZHVNHGCEC-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
- A61N1/37252—Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
- A61N1/37264—Changing the program; Upgrading firmware
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/40—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
- A61N1/37235—Aspects of the external programmer
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Radiology & Medical Imaging (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Veterinary Medicine (AREA)
- Software Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- Epidemiology (AREA)
- Electrotherapy Devices (AREA)
- Stored Programmes (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Description
- Die vorliegende Erfindung betrifft die aktiven implantierbaren medizinischen Vorrichtungen und die Geräte, die "Programmierer" genannt werden, die dazu bestimmt sind, die Daten mit diesen letzteren auszutauschen.
- Die Erfindung wird hauptsächlich für den Fall eines Herzschrittmachers beschrieben werden, jedoch handelt es sich dabei nur um ein Beispiel einer Ausführungsform der Erfindung, die auf viel allgemeinere Weise auf eine sehr große Vielfalt "aktiver implantierbarer medizinischer Vorrichtungen" anwendbar ist, wie sie durch die Direktive 90/385/CE vom 20. Juni 1990 vom Rat der Europäischen Gemeinschaft definiert ist, eine Definition, die unter anderen die Herzschrittmacher, die Defibrillatoren und/oder Kardioverter, die Diffusionspumpen mit medizinischen Substanzen, die kochlearen Implantate, die implantierten Biosensoren, etc., einschließt.
- Diese Vorrichtungen (im folgenden einfach als "Implantate" bezeichnet) sind, sobald sie einmal plaziert sind, von außen mittels einer Konsole programmiert, die "Programmierer" genannt wird, welcher im allgemeinen aus einem Kleinrechner gebildet ist, der mit einem Programmierkopf ausgestattet ist, der hinsichtlich des Ortes des Implantats plaziert ist. Der Programmierer kann auf elektromagnetischem Weg ("Telemetrie") Daten, die im Implantat gespeichert sind, lesen (z. B. Funktionsparameter, Biosignale, die aufgezeichnet wurden, etc.), und andererseits eventuell bestimmte Daten zu diesem Implantat schicken, um es zu "reprogrammieren", d. h., seine Funktionsparameter zu modifizieren.
- Diese Programmierer sind alle auf einen Typ von Implantat spezifiziert oder für eine Familie von Implantaten eines selben Herstellers, derart, daß das Auf-den- Markt-Bringen eines neuen Implantats dem Hersteller im allgemeinen eine ent sprechende Aktualisierung von Programmieren auferlegt. Darüber hinaus werden, selbst ohne ein Auf-den-Markt-Bringen eines neuen Implantats Verbesserungen regelmäßig vorgenommen, die zu einer Aktualisierung des Programms des Programmierers führen können.
- Diese Aktualisierungen sind besonders heikel.
- In der Tat müßten sie aus selbstverständlichen Gründen der Sicherheit nach einem sehr strikten Protokoll realisiert werden: Besuch in jedem Zentrum, Änderung des Programms durch eine qualifizierte Person, Rückgewinnung der alten Programme, Erstellen und Unterschrift von Zertifizierungsdokumenten, etc.. Diese Prozeduren sind schwerfällig und unbequem, derart, daß man vermeidet, sie zu häufig anzuwenden (z. B. für kleinere Modifikationen des Programms). Darüber hinaus eliminieren die Sicherheitsprozeduren, wie umfassend sie auch immer sind, nicht vollkommen das Risiko des Fehlens einer Aktualisierung (eines Programmierers, der durch den Hersteller nicht lokalisiert würde), noch das Problem von Übergangsperioden und vor allem die unangebrachte Verwendung einer alten Version des Programms.
- Eines der Ziele der Erfindung ist es, diese Schwierigkeiten zu überwinden, durch Vorschlagen eines neuen Konzepts eines Programmierers, dessen Programm auf vollkommen automatische Weise ohne menschlichen Eingriff aktualisiert werden kann und der sich somit von allen Schwerfälligkeiten, Kosten und den mit aktuellen Prozeduren verbundenen Risiken befreit.
- Die Erfindung impliziert die Einführung der Bezeichnung "Objekt" im Software- Sinn des Ausdrucks, d. h. eine Gesamtheit von Elementen, im breitestmöglichen Sinn des Ausdrucks (Daten, Konstrukte, Destrukte und Methoden), die es erlauben, Daten auf eine sehr strukturierte Weise zu verwalten und darzustellen. Insbesondere bewerkstelligt sich der Zugriff auf Daten im allgemeinen nur über dem Objekt eigene Methoden, was es ermöglicht, diese letzteren gegen ein Beschrei ben außerhalb der Grenze zu schützen und das Programm besonders verläßlich zu machen. Das Konzept eines "Erbens" vereinfacht ebenso die Konzeption des Programms, wobei ein Objekt von einem anderen erben kann, was es diesem ermöglicht, direkt die Methoden dieses letzteren zu verwenden.
- Beispiele von Programmierobjekten und ihren Anwendungen auf dem Gebiet von Herzschrittmachern werden weiter unten beschrieben werden.
- Auf allgemeine Weise kann auf die Literatur bezüglich dieses Themas Bezug genommen werden, beispielsweise auf das Werk von Max Bouche, La demarche objet - Concepts et outils, AFNOR, 1994, sowie auf die Dokumentation von "objektorientierten" Programmiersprachen, wie dem C++, das eine typische objektorientierte Programmiersprache ist.
- Im wesentlichen besteht die Idee der Erfindung darin (i), im Implantat selbst Programmobjekte zu speichern, die es zulassen, die Sichtbarmachung, die Behandlung und die Programmierung ihrer Daten durch einen externen Programmierer zu definieren, (ii) durch den Programmierer die Liste von Objekten, die dieser Programmierer enthält, mit der Liste von Objekten, die das Implantat enthält, zu vergleichen und (iii) vom Implantat zum Programmierer die Objekte fernzuladen, die fehlen oder neuer sind, um das Programm des Programmierers zu aktualisieren.
- Diese Vorgehensweise, welche in weiteren Einzelheiten durch das folgende beschrieben werden wird, schafft vier größere Vorteile im Verhältnis zum Stand der Technik:
- 1. Sicherheit: Jeder Programmierer, der mit einem Kern einer minimalen Basis ausgestattet ist, d. h. Objekten, die es ermöglichen, die Kommunikation mit einem Implantat einzurichten und Verbindungen zwischen Objekten zu verwalten, kann das gesamte Implantat lesen, selbst wenn dieses viel später als der Programmierer entwickelt worden ist. Der Bediener kann sich somit nicht mehr in der Situation einer Unmöglichkeit des Lesens und Re- Programmierens von Funktionen eines neuen Modells eines Implantats wiederfinden, wenn er über einen kompatiblen, wenn auch alten Programmierer, verfügt. Darüber hinaus verfügt jeder Parameter über seinen eigenen Verwaltungsmodus, der durch ein Programm im Implantat selbst definiert ist und die Kontrollen einer Erfassung dieser Parameter durch den Bediener können nicht falsch sein, da sie nicht mehr durch ein vorexistierendes Objekt des Programmierers kontrolliert werden, sondern durch ein Objekt, das vom Implantat selbst ausgegeben ist.
- 2. Wirtschaftlichkeit: Die Aktualisierungskosten von Programmierern sind beträchtlich reduziert und entstehen bei wichtigen Veränderungen an einem Gerät (neue Generationen von Programmierern). Somit werden alle Kosten von klassischen Sicherheitsprozeduren, die diese Veränderungen begleiten, vermieden: Herstellung von Disketten und Anleitungen für eine Aktualisierung, Reisen eines qualifizierten Bedieners an jeden Ort, Unterschrift eines Registers, welches die Aktualisierung attestiert, Einziehen der alten Disketten, etc..
- 3. Vereinfachung der Programmierung: Die Fortentwicklung des Programms des Programmierers bewerkstelligt sich automatisch und auf "transparente" Weise für den Benutzer. Einzig sehr allgemeine Funktionen können die Verwaltung von Basisobjekten vervollständigen, und die Liste von am Anfang gelieferten Objekten wird durch die Objekte vervollständigt werden, die in jedem neuen Implantat definiert sind.
- 4. Standardisierung: Die Flexibilität einer Anwendung der Erfindung erlaubt es jetzt, die Schaffung eines Standards anzustreben, der es jedem Programmierer ermöglicht, jedes Implantat zu lesen, was auch immer sein Modell oder sein Hersteller sein mag. Jeder Hersteller kann den graphischen Aspekt seines Programmierers, die Verwaltungsmöglichkeiten von Daten, zusätzliche Berechnungen, etc., auf eine Weise definieren, um eine bestimmte Originalität zu bewahren, aber, da die Basisobjekte auf identische Weise definiert sind, wird das Lesen eines "fremden" Implantats vollkommen möglich. Man kann somit die Verwirklichung von universellen Programmierern anstreben, was bisher nicht nur aus Gründen der Kosten und der Komplexität, sondern auch aus Sicherheitsgründen ausgeschlossen war (Risiken unvorhergesehener Inkompatibilitäten).
- Präziser kann man die Erfindung definieren durch eine Gesamtheit, die einerseits ein Implantat vom Typ einer aktiven implantierbaren medizinischen Vorrichtung aufweist und andererseits einen externen Programmierer für das Implantat, wobei die Gesamtheit dadurch gekennzeichnet ist, daß:
- - der Programmierer einen Speicher aufweist, der ein auf modulare Weise strukturiertes Programm vom objektorientierten Typ aufweist, das aus einer Gesamtheit von Programm-Modulen vom Objekttyp zusammengesetzt ist,
- - das Implantat einen Speicher aufweist, der zum einen Daten zur Parametrierung der Funktion des Implantats und zum anderen eine Gesamtheit von Programmobjekten aufweist, die zum Funktionieren des Programmierers in Beziehung mit den Daten der Parametrierung des Implantats notwendig sind,
- - der Programmierer und das Implantat Einrichtungen aufweisen, die dazu geeignet sind, zwischen ihnen eine bidirektionale Verbindung zum Austausch von Informationen aufzubauen, die insbesondere den selektiven Transfer von allen oder einem Teil der Daten und der Objekte des Implantats, die in dem Programm des Programmierers fehlen, in Richtung des Programmierers erlaubt, und
- - der Programmierer Einrichtungen zur Aktualisierung aufweist, die dazu geeignet sind, das Fernladen ausgehend von dem Implantat zumindest eines Teils der Objekte, die in dem Speicher dieses letzteren enthalten sind, zu steuern und diese Objekte denjenigen des Programms des Programmierers hinzuzufügen und/oder sie zu ersetzen.
- Vorteilhafterweise weisen die Einrichtungen zur Aktualisierung des Programmierers auf: Einrichtungen, die dazu geeignet sind, durch Lesen des Speichers des Implantats eine Liste von Objekten aufzubauen, die sich dort mit ihrer jeweiligen Version befinden; Einrichtungen, die dazu geeignet sind, diese Liste mit derjenigen der Objekte des Programms des Programmierers zu vergleichen; Einrichtungen, die dazu geeignet sind, das Fernladen ausgehend von dem Implantat von Objekten, die nicht in dem Programm des Programmierers enthalten sind, zu steuern und diese Objekte dem Programm hinzuzufügen; und/oder Einrichtungen, die dazu geeignet sind, das Fernladen ausgehend von dem Implantat von Objekten zu steuern, die in dem Programm des Programmierers vorhanden sind, deren Version aber älter ist als diejenige, die sich in dem Implantat befindet, und dazu, diese Objekte in dem Programm zu ersetzen.
- Die Erfindung umfaßt ebenfalls als unabhängiges Produkt das Implantat oder den Programmierer des Implantats, der die vorgenannten Merkmale aufweist.
- Im folgenden wird ein Beispiel einer Ausführungsform der Erfindung beschrieben werden.
- Wie bereits weiter oben angezeigt, ist das Programm des Programmierers genauso wie das des Implantats in "Programmobjekten" organisiert.
- Im Fall eines Herzschrittmachers kann man durch ein Objekt jedes Element des Schrittmachers darstellen, das programmierbar oder einfach auf dem Bildschirm eines Programmierers anzeigbar ist.
- Somit kann eine Kurve, welche die Herzfrequenz in Abhängigkeit der Zeit liefert, durch ein spezielles Objekt Herzfrequenz dargestellt werden, das von einem viel allgemeineren Objekt, das man Kurve nennen kann, erbt, und eine Folge von Daten, die einer Kurve entsprechen, aufweist, mit seinem Format, seinen Skalen in der Abszisse und Ordinate, seinem Titel, einem Anzeigeverfahren, einem Druckverfahren, etc..
- Der Programmierer seinerseits verfügt über ein Objekt Verbindungsverwaltungsprogramm, das die Daten, die der Herzfrequenz entsprechen, die in dem Schrittmacher gespeichert sind, aufrufen kann, unter Anwendung der notwendigen Protokolle für Transfer, Komprimierung/Dekomprimierung von Daten, etc.. Der Programmierer kann danach ein Fenster anzeigen, welches diese Daten darstellt, mit Hilfe des Objektes Kurve, welches alle gängigen Funktionen ermöglicht: Zoom, Rollmodus im Fenster, Messungen mit Hilfe von Cursorn, etc..
- Das Konzept der Erfindung ruht auf drei grundlegenden Hypothesen:
- - Das Programm des Programmierers ist "offen", d. h., daß es sich durch Aufnehmen und Integrieren neuer Objekte, welche das Anzeigen von Daten, das Behandeln dieser Daten und die Programmierung des Implantats betreffen, anreichern kann. Diese Objekte können entweder vom Implantat (das ist das Kennzeichen der Erfindung) oder von einer Diskette oder jedem anderen Informatik-Hilfsmittel auf an sich klassische Weise herrühren, beispielsweise für das vorherige Laden des Objektes Verbindungsverwaltungsprogramm.
- - Das Implantat speichert in sich selbst alle Objekte, die das Anzeigen, die Behandlung und die Programmierung von Daten, die in diesem Implantat enthalten sind, zu definieren zulassen. Später wird zu erkennen sein, daß die Größe dieser Objekte relativ reduziert sein kann, in dem Maße, wie die Objekte, von denen sie erben (beispielsweise das Objekt Kurve, welches die Anzeige und die Verwaltung einer Kurve im allgemeinen durch den Programmierer definiert), schon in dem Programmierer präsent sind.
- - Die Versionen der Objekte sind datiert (beispielsweise durch eine Versionsnummer) und jede jüngere Version muß im Programmierer eine ältere Version ersetzen. Die Entwicklungen der Objekte bewirken sich durch Auferlegen einer ansteigenden Kompatibilität, d. h., daß eine jüngere Version mit allen Datenaustauschen bezogen auf ältere Versionen kompatibel bleibt.
- Am Anfang des Datenaustausches zwischen Implantat und Programmierer ruft dieser letztere systematisch einen Block auf, der Objektliste genannt wird, auf der ein Verzeichnis von im Implantat verfügbaren Objekten mit ihrer Version ist. Er vergleicht also die Codes dieser Objekte mit jenen, die er kennt (Liste der verfügbaren Objekte in dem Programm des Programmierers, dynamisch geleitet und gesichert in einer Konfigurationsdatei). Wenn eines oder mehrere dieser Objekte dem Programmierer unbekannt sind, ruft er also durch die Verbindungsverwaltung eine Fernlade-Prozedur dieser Objekte auf, um sein Programm zu vervollständigen und es so an das Implantat anzupassen. Diese Fernlade- und Aktualisierungs- Prozedur besteht für jedes unbekannte Objekt darin, die Verbindungsverwaltung ablaufen zu lassen, wovon dieses Objekt erbt; die Verbindungsverwaltung schickt die Objektnummer zum Schrittmacher und umgekehrt schickt dieser einen entsprechenden Informationsblock.
- Dasselbe gilt für die Objekte, die, obwohl sie im Programm des Programmierers vorliegen, einer viel älteren Version entsprechen als jener; die in dem Implantat enthalten ist.
- Nach dieser Phase kann der Programmierer alle im Implantat enthaltenen Daten aufrufen, die gewünschten Resultate anzeigen, das Implantat reprogrammieren, etc.. Im Falle eines Implantats, welches über das Objekt Herzfrequenz verfügt, das durch einen Programmierer gelesen ist, der dieses nicht kennt, ortet dieser das Objekt in der Objektliste, die durch den Schrittmacher geliefert wird. Er verlangt den Transfer des Objekts und fügt es seinen Programmbasen hinzu, wobei der Aufruf an den Erzeuger des Objekts zuläßt, einen Speicherbereich zu reservieren, um im nachhinein die Frequenzkurve, die Auswahl eines Anzeigefensters und die Initialisierung verschiedener Variablen zu erhalten. Der Code des Objektes Herz frequenz fügt sich also der dynamischen Liste der verfügbaren Objekte im Programm des Programmierers hinzu.
- Wenn der Bediener die Kurve anzeigen will, ruft er auf dem Programmierer das entsprechende Fenster auf. Das Programm testet also das Vorhandensein der Kurve im Speicher und im negativen Fall veranlaßt es ein Lesen von Frequenzdaten, die in dem Schrittmacher gespeichert sind. Die Kurve wird dann in einem Fenster angezeigt, das über klassische Einstellbefehle (Verstärkung, Zoom, Rollen), Meßbefehle (Cursor) und eventuell Druckbefehle verfügt, wobei diese verschiedenen Funktionen durch das allgemeine Objekt Kurve, das schon im Programmierer vorliegt, verwaltet werden.
- Im folgenden werden nun zwei detaillierte Beispiele von Objekten eines Schrittmachers beschrieben: ein Objekt Nominalfrequenz (fester programmierter Wert) und ein Objekt Atmungsfrequenz (eine sich im Laufe der Zeit entwickelnde Dateneinheit).
- Die Beschreibung von Objekten kann in verschiedenen Formen realisiert sein, die man als drei Fälle unterteilen kann: Maschinencode, vorkompilierter Code und Meta-Sprachcode:
- - Der Maschinencode ist zu sehr mit dem Prozessor verbunden, um eine Verwendung auf lange Sicht zuzulassen.
- - Der vorkompilierte Code (wie der alte "P-Code") ist höchst leistungsfähig, wobei er alle Daten und alle Verfahren neuer Objekte beschreiben kann. Er bleibt dagegen bei einem beachtlichen Umfang, schlecht angepaßt an Implantate schwacher Kapazität.
- - Die Meta-Sprache präzisiert nur den Wert von Variablen, die bei Eltern- Objekten vorkommen, die durch den Programmierer vordefiniert sind. Der Datenumfang ist deshalb extrem reduziert. Die meisten Daten eines Implantats können sich mit einer Beschreibung in Form einer Meta-Sprache begnügen, jedoch muß der Rückgriff auf einen vorkompilierten Code für die Integration ursprünglicher Objekte zugänglich bleiben.
- Im hier beschriebenen Beispiel ist die gewählte Sprache eine Meta-Sprache, die eine reduzierte Größe von Objekten verschafft und eine völlige Unabhängigkeit von einer Programmiersprache. Im Gegensatz dazu kann sie nur auf Basisobjekte des Programmierers Bezug nehmen, ohne sie direkt fortschreiten zu lassen. Die Grenzen werden nur dann erreicht, wenn ein vollkommen neues Konzept nicht durch diese integriert werden kann, derart, daß die Entwicklung dieser Basisobjekte ausnehmend gut realisiert sein muß, um das zu häufige Eintreten jener Art von Vorfall zu vermeiden, der eine herkömmliche Aktualisierung von Programmen des Programmierers auferlegen würde.
- Die Nominalfrequenz, die ein wesentlicher Parameter eines jeden Herzschrittmachers ist, kann durch ein Objekt dargestellt werden, das auf folgende Weise beschrieben ist:
- - Obiektnummer: Eindeutiger Code, der dem Objekt zugewiesen ist, beispielsweise über acht Zeichen (zwei Buchstaben für den Hersteller, vier Buchstaben für den Gegenstand und zwei Ziffern für die Versionsnummer), der es zuläßt, einen sowohl eindeutigen als auch leicht dechiffrierbaren Code zu wählen.
- - Vorfahrobjekt: Eine Objektnummer liefert den Code des Vorfahrobjektes, der sich in diesem Fall in dem Programmierer seit dem Ursprung befindet und der es zuläßt, alle Anzeige-, Erfassungs-, Druck- und Speicherprozesse eines numerischen Wertes zu verwalten. Dieses Objekt erbt selbstverständlich zumindest von einem viel allgemeineren Objekt, welches das Verbindungs-Verwaltungsprogramm ist. Da es sich um eine Programmie rung nach vordefinierten Schritten handelt, sind die Werte nach Anzahl von Schritten kodiert. Diese Dateneinheit belegt fünft Zeichen.
- Die folgenden Daten parametrieren das Vorfahrobjekt:
- - beschreibender Programmsatz (100 Zeichen), der den numerischen Wert für das Anzeigen begleitet (z. B. zwanzig Zeichen, ergibt hundert Zeichen insgesamt für fünf verschiedene Sprachen).
- - Meßeinheit (10 Zeichen).
- - Schrittwert, vom Minimum, vom Maximum und vom Nominalwert (16 Zeichen): Die Grenzen liegen im Vorfahrobjekt, um die Erfassung eines numerischen Wertes außerhalb einer Grenze zu vermeiden. Diese Grenzen werden durch das Maximum und das Minimum aktualisiert und der Nominalwert ersetzt den im Objekt vorhandenen Wert während des Aufrufs der Methode eines "Setzen auf nominal", das alle programmierbaren Objekte erben. Der Schritt kann mit konstantem, logarithmischem oder inversem Wert definiert sein, um auf verschiedene Fälle von Formen zu antworten, die in den Schrittmachern vorliegen.
- - Referenzfenster (5 Zeichen): Jede Dateneinheit muß in einem der Bildschirme des Programmierers angezeigt sein, der selbst eines oder mehrere Fenster enthalten kann. Jedes Fenster ist durch den Schrittmacher mit zumindest einem Titel, einem Format (eine Spalte, zwei Spalten, etc.) und Aktionen definiert, die man durchführen kann (Verschiebung, Aufruf eines momentanen oder kontinuierlichen Lesens des Schrittmachers, lokalen Menüs, etc.).
- - Position im Referenzfenster (5 Zeichen): Spalte, Höhe, etc., die sich in Form einer Zahl bis zu fünf Ziffern darstellen können: Die erste gibt die Spalte an, die drei folgenden eine Prioritätsreihenfolge im Verhältnis zu den anderen; der Kern einer Steuerung des Bildschirms plaziert sie also von oben nach unten nach Prioritätsreihenfolge.
- Die Gesamtheit dieser Daten belegt somit 56 Zeichen im Mono-Sprach-Modus und 136 Zeichen im Multi-Sprach-Modus.
- Im Fall eines Schrittmachers, welcher die Atmungsfrequenz analysiert, kann diese über Perioden mehrerer Stunden, mehrerer Tage und selbst mehrerer Monate gespeichert sein. Das Objekt kann in Meta-Sprache auf folgende Weise beschrieben sein:
- - Obiektnummer (8 Zeichen): siehe oben.
- - Vorfahrobjekt (5 Zeichen): Es handelt sich um einen Kurvengenerator in f(t), der eine vertikale Skala besitzt und eine horizontale Skala, ein Datenformat und einen Anzeigemodus (Linie, Minimum-Maximum, etc.), Methode einer Skalen-, Anzeige- und Druckänderung. Dieses Objekt ist ein Teil der Objekte, die sich in dem Programmierer befinden.
- Die folgenden Daten parametrieren das Vorfahrobjekt:
- - Beschreibender Programmsatz (20 Zeichen pro Sprache, ergibt 100 Zeichen im Multi-Lingual-Modus): siehe oben.
- - Meßeinheit (10 Zeichen).
- - Datenformat (5 Zeichen): Folge ganzer Zahlen (8, 16, 24 oder 32 Bits), von reellen Zahlen, etc.. Dieses Format ist selbst ein residentes Objekt, das von der Verbindungsverwaltung erbt, um diese in die Lage zu versetzen, den Datentransfer zwischen Schrittmacher und Programmierer zu verwalten.
- Zeitperiode, die jede Dateneinheit trennt (4 Zeichen): Periode in Millisekunden, kodiert durch ein Wort von vier Bytes, die somit eine Dynamik von einer ms auf 1137 Stunden zulassen.
- - Beschreibung der vertikalen Skala (12 Zeichen): unterer Wert, oberer Wert, Schritt.
- - Referenzfenster (5 Zeichen): wie im Fall der Nominalfrequenz.
- - Position im Referenzfenster (5 Zeichen): Wie für die Nominalfrequenz stellt sich das Anzeigen der Graphik gemäß einer bestimmten Prioritätsreihenfolge dar; die Zahl von Spalten und die Zahl angezeigter Elemente werden durch das Fenster in Betracht gezogen, um jedem das Maximum verfügbaren Platzes zuzuordnen: So zeigt ein Fenster mit einer Spalte, die nur eine Kurve enthält, diese über die gesamte verfügbare Oberfläche an, ein Fenster mit zwei Spalten und vier Kurven zeigt jede auf einem Viertel der Gesamtoberfläche an, etc.
- Die Gesamtheit dieser Daten belegt somit 74 Zeichen im Mono-Lingual-Modus und 154 im Multi-Lingual-Modus.
- Auf dieselbe Weise können somit alle Funktionsparameter des Schrittmachers beschrieben werden.
- Im Fall eines relativ komplizierten Herzschrittmachers, der 20 Kurven im Speicher aufweist und 50 programmierbare Parameter, ist die Gesamtgröße der Objekte somit, im Multi-Lingual-Modus, 50 · 136 = 6800 Zeichen für die Parameter und 20 · 154 = 3080 Zeichen für die Kurven, das bedeutet eine Summe von 9880 Zeichen, zu welchen man den Block Objektliste hinzufügen muß, der zum Programmierer vor jeder Aktualisierung übertragen werden wird, nämlich 70 · 8 = 540 Bytes.
- Die gesamte zur Speicherung von Objekten im Schrittmacher reservierte Größe erreicht nur ungefähr knapp 10 Kilobyte in den komplexesten Fällen (z. B. ein getriggerter DDD-Schrittmacher der letzten Generation), und diese Elemente können leicht in einen Chip vom ROM-Typ des Schrittmachers eingefügt werden, ohne einen Überverbrauch herbeizuführen, solange dieser Chip nicht aktiv ist.
Claims (8)
1. Gesamtheit, die zum einen ein Implantat vom Typ einer aktiven implantierbaren
medizinischen Vorrichtung und zum anderen einen externen Programmierer für das
Implantat aufweist, dadurch gekennzeichnet, daß:
- der Programmierer einen Speicher aufweist, der ein auf modulare Weise strukturiertes
Programm vom objektorientierten Typ enthält, das aus einer Gesamtheit von
Programmmodulen vom Objekttyp zusammengesetzt ist,
- das Implantat einen Speicher aufweist, der zum einen Daten zur Parametrierung der
Funktion des Implantats und zum anderen eine Gesamtheit von Programmobjekten
aufweist, die zum Funktionieren des Programmierers in Beziehung mit den Daten der
Parametrierung des Implantats notwendig sind,
- der Programmierer und das Implantat Einrichtungen aufweisen, die dazu geeignet sind,
zwischen ihnen eine bidirektionale Verbindung zum Austausch von Informationen
aufzubauen, die insbesondere den selektiven Transfer in Richtung des Programmierers
von allen oder einem Teil der Daten und der Objekte des Implantats erlaubt, die in dem
Programm des Programmierers fehlen,
- der Programmierer Einrichtungen zur Aktualisierung aufweist, die dazu geeignet sind,
das Fernladen ausgehend von dem Implantat zumindest eines Teils der Objekte, die in
dem Speicher dieses letzteren enthalten sind, zu steuern und diese Objekte denjenigen
des Programms des Programmierers hinzuzufügen und/oder sie zu ersetzen.
2. Gesamtheit des Anspruchs 1, bei der die Einrichtung zur Aktualisierung des Programmiers
aufweist:
- Einrichtungen, die dazu geeignet sind, durch Lesen des Speicher des Implantats eine
Liste von Objekten aufzubauen, die sich dort mit ihrer jeweiligen Version befinden,
- Einrichtungen, die dazu geeignet sind, diese Liste mit derjenigen der Objekte des
Programms des Programmierers zu vergleichen,
- Einrichtungen, die dazu geeignet sind, das Fernladen ausgehend von dem Implantat von
Objekten, die nicht in dem Programm des Programmierers enthalten sind, zu steuern
und diese Objekte dem Programm hinzuzufügen, und/oder
- Einrichtungen, die dazu geeignet sind, das Fernladen ausgehend von dem Implantat von
Objekten zu steuern, die in dem Programm des Programmierers vorhanden sind, deren
Version aber älter als diejenige ist, die sich in dem Implantat befindet, und diese
Objekte in dem Programm zu ersetzen.
3. Gesamtheit gemäß Anspruch 1, bei der die Programmobjekte jeweils zumindest einen
Objektidentifizierer, einen Versionsidentifizierer und einen Programmanweisungsblock
aufweisen.
4. Implantat vom Typ einer aktiven implantierbaren medizinischen Vorrichtung, das dazu
bestimmt ist mit einem Programmierer für die Gesamtheit gemäß Anspruch 1
zusammenzuwirken, wobei das Implantat dadurch gekennzeichnet ist, daß es aufweist:
- einen Speicher, der zum einen Daten zur Parametrierung der Funktion des Implantats
und zum anderen eine Gesamtheit von Programmobjekten aufweist, die notwendig zum
Funktionieren eines Programmierers in Beziehung mit den Daten zur Parametrierung
des Implantats sind, wobei diese Objekte dazu geeignet sind, in Richtung des
Programmierers gesandt zu werden, um das Programm dieses letzteren durch den
selektiven Transfer in Richtung des Programmierers aller oder eines Teils der Daten und
der Objekte, die in dem Programm des Programmierers fehlen, zu vervollständigen oder
zu aktualisieren.
5. Implantat gemäß Anspruch 4, bei dem die Programmobjekte jeweils zumindest einen
Objektidentifizierer, einen Versionsidentifizierer und einen Programmanweisungsblock
aufweisen.
6. Externer Programmierer, der dazu bestimmt ist, mit dem Implantat vom Typ einer aktiven
implantierbaren medizinischen Vorrichtung der Gesamtheit gemäß Anspruch 1
zusammenzuwirken, wobei der Programmierer dadurch gekennzeichnet ist, daß er
aufweist:
- einen Speicher, der ein auf modulare Weise strukturiertes Programm vom
objektorientierten Typ enthält, das aus einer Gesamtheit von Programmmodulen vom
Objekttyp zusammengesetzt ist,
- Einrichtungen, die dazu geeignet sind, mit dem Implantat eine bidirektionale
Verbindung zum Austausch von Informationen aufzubauen, die insbesondere den
selektiven Transfer vom Implantat in Richtung des Programmierers von allen oder
einem Teil der Daten zur Parametrierung der Funktion des Implantats und von
Programmobjekten erlaubt, die notwendig zum Funktionieren eines Programmierers in
Beziehung mit den Daten zur Parametrierung des Implantats sind, die in dem Programm
des Programmierers fehlen, und
- Einrichtungen zur Aktualisierung, die dazu geeignet sind, das Fernladen ausgehend von
dem Implantat zumindest eines Teiles der Objekte zu steuern, die in dem Speicher
dieses letzteren enthalten sind, und diese Objekte denjenigen des Programmes des
Programmierers hinzuzufügen und/oder sie zu substituieren.
7. Programmierer gemäß Anspruch 4, bei dem die Einrichtungen zur Aktualisierung
aufweisen:
- Einrichtungen, die dazu geeignet sind, durch Lesen des Speichers des Implantats eine
Liste von Objekten aufzubauen, die sich mit ihrer jeweiligen Version dort befinden,
- Einrichtungen, die dazu geeignet sind, diese Liste mit derjenigen der Objekte des
Programmes des Programmierers zu vergleichen,
- Einrichtungen, die dazu geeignet sind, das Fernladen ausgehend von dem Implantat von
Objekten, die nicht in dem Programm des Programmierers enthalten sind, zu steuern
und diese Objekte dem Programm hinzuzufügen und/oder
- Einrichtungen, die dazu geeignet sind, das Fernladen von dem Implantat von Objekten,
die in dem Programm des Programmierers enthalten sind, deren Version aber älter als
diejenige ist, die sich in dem Implantat befindet, zu steuern und diese Objekte in dem
Programm zu ersetzen.
8. Programmierer gemäß Anspruch 6, bei dem die Programmobjekte jeweils zumindest einen
Objektidentifizierer, einen Versionsidentifizierer und einen Programmanweisungsblock
aufweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9601564A FR2744817B1 (fr) | 1996-02-08 | 1996-02-08 | Dispositif medical implantable actif et son programmateur externe a mise a jour automatique du logiciel |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69702273D1 DE69702273D1 (de) | 2000-07-20 |
DE69702273T2 true DE69702273T2 (de) | 2001-02-22 |
Family
ID=9488993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69702273T Expired - Lifetime DE69702273T2 (de) | 1996-02-08 | 1997-02-07 | Aktive implantierbare medische Vorrichtung und dazugehörende externe Programmiereinrichtung mit automatischer Aktualisierung von integrierter Software |
Country Status (5)
Country | Link |
---|---|
US (1) | US5800473A (de) |
EP (1) | EP0791373B1 (de) |
JP (1) | JP4057670B2 (de) |
DE (1) | DE69702273T2 (de) |
FR (1) | FR2744817B1 (de) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7787647B2 (en) | 1997-01-13 | 2010-08-31 | Micro Ear Technology, Inc. | Portable system for programming hearing aids |
US6356789B1 (en) | 1997-11-07 | 2002-03-12 | Medtronic Inc. | Medical information device |
US6088618A (en) * | 1998-07-07 | 2000-07-11 | Vitatron Medical, B.V. | Pacemaker system and method for providing manual display concurrent with pacemaker software modification |
FR2784765B1 (fr) | 1998-10-19 | 2001-07-27 | Ela Medical Sa | Dispositif medical actif, comprenant des registres proteges pour l'ajustement numerique de parametres de fonctionnement |
US6308099B1 (en) * | 1998-11-13 | 2001-10-23 | Intermedics Inc. | Implantable device and programmer system which permits multiple programmers |
US6285909B1 (en) * | 1999-05-27 | 2001-09-04 | Cardiac Pacemakers, Inc. | Preserving patient specific data in implantable pulse generator systems |
US6804558B2 (en) | 1999-07-07 | 2004-10-12 | Medtronic, Inc. | System and method of communicating between an implantable medical device and a remote computer system or health care provider |
US7181505B2 (en) * | 1999-07-07 | 2007-02-20 | Medtronic, Inc. | System and method for remote programming of an implantable medical device |
US7149773B2 (en) * | 1999-07-07 | 2006-12-12 | Medtronic, Inc. | System and method of automated invoicing for communications between an implantable medical device and a remote computer system or health care provider |
US6449624B1 (en) * | 1999-10-18 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Version control and audit trail in a process control system |
US6363282B1 (en) | 1999-10-29 | 2002-03-26 | Medtronic, Inc. | Apparatus and method to automatic remote software updates of medical device systems |
US7039810B1 (en) * | 1999-11-02 | 2006-05-02 | Medtronic, Inc. | Method and apparatus to secure data transfer from medical device systems |
US6904402B1 (en) * | 1999-11-05 | 2005-06-07 | Microsoft Corporation | System and iterative method for lexicon, segmentation and language model joint optimization |
DE19953837A1 (de) | 1999-11-09 | 2001-05-23 | Fresenius Medical Care De Gmbh | Software-Update für ein medizinisches Gerät |
AU1618401A (en) | 1999-12-06 | 2001-06-12 | Advanced Bionics Corporation | Implantable device programmer |
SE9904626D0 (sv) * | 1999-12-16 | 1999-12-16 | Pacesetter Ab | Programming system for medical devices |
US7050857B2 (en) * | 1999-12-16 | 2006-05-23 | St. Jude Medical Ab | Programming system for medical devices |
SE9904627D0 (sv) * | 1999-12-16 | 1999-12-16 | Pacesetter Ab | Programming system for medical devices |
WO2001052934A1 (en) | 2000-01-18 | 2001-07-26 | Medtronic, Inc. | System and method of communicating between an implantable medical device and a remote computer system or health care provider |
ATE527827T1 (de) | 2000-01-20 | 2011-10-15 | Starkey Lab Inc | Verfahren und vorrichtung zur hörgeräteanpassung |
AU2001255727A1 (en) * | 2000-04-27 | 2001-11-07 | Medtronic, Inc. | Component architecture for medical device system networks |
US7130701B1 (en) * | 2000-05-24 | 2006-10-31 | Schneider Automation Inc. | System for remote configuration monitoring of an industrial control system |
TW587929B (en) * | 2000-05-31 | 2004-05-21 | Matsushita Electric Ind Co Ltd | Medical checkup network system |
US7665082B2 (en) * | 2000-06-30 | 2010-02-16 | Microsoft Corporation | Methods and systems for adaptation, diagnosis, optimization, and prescription technology for network-based applications |
SE0002751D0 (sv) * | 2000-07-21 | 2000-07-21 | St Jude Medical | Programming system for medical devices |
DE10060206A1 (de) * | 2000-12-04 | 2002-06-13 | Siemens Ag | Programmiergerät |
US7574368B2 (en) * | 2000-12-15 | 2009-08-11 | Ric Investments, Llc | System and method for upgrading a pressure generating system |
US6622040B2 (en) * | 2000-12-15 | 2003-09-16 | Cardiac Pacemakers, Inc. | Automatic selection of stimulation chamber for ventricular resynchronization therapy |
US7181285B2 (en) * | 2000-12-26 | 2007-02-20 | Cardiac Pacemakers, Inc. | Expert system and method |
EP2410449A3 (de) * | 2001-06-22 | 2013-07-17 | Arkray, Inc. | Informationsübertragungssystem |
CA2417008A1 (en) * | 2001-07-06 | 2003-01-16 | Cochlear Limited | Configuration of implanted devices |
US10576275B2 (en) | 2001-07-06 | 2020-03-03 | Cochlear Limited | System and method for configuring an external device using operating parameters from an implanted device |
US6648823B2 (en) * | 2001-07-31 | 2003-11-18 | Medtronic, Inc. | Method and system of follow-up support for a medical device |
SE0102918D0 (sv) * | 2001-08-30 | 2001-08-30 | St Jude Medical | Method for providing software to an implantable medical device system |
US7383088B2 (en) | 2001-11-07 | 2008-06-03 | Cardiac Pacemakers, Inc. | Centralized management system for programmable medical devices |
US6957102B2 (en) * | 2001-12-10 | 2005-10-18 | Medtronic Emergency Response Systems, Inc. | Enhanced interface for a medical device and a terminal |
US8391989B2 (en) | 2002-12-18 | 2013-03-05 | Cardiac Pacemakers, Inc. | Advanced patient management for defining, identifying and using predetermined health-related events |
US20040122487A1 (en) | 2002-12-18 | 2004-06-24 | John Hatlestad | Advanced patient management with composite parameter indices |
US7468032B2 (en) | 2002-12-18 | 2008-12-23 | Cardiac Pacemakers, Inc. | Advanced patient management for identifying, displaying and assisting with correlating health-related data |
US7983759B2 (en) | 2002-12-18 | 2011-07-19 | Cardiac Pacemakers, Inc. | Advanced patient management for reporting multiple health-related parameters |
US7043305B2 (en) | 2002-03-06 | 2006-05-09 | Cardiac Pacemakers, Inc. | Method and apparatus for establishing context among events and optimizing implanted medical device performance |
US8043213B2 (en) | 2002-12-18 | 2011-10-25 | Cardiac Pacemakers, Inc. | Advanced patient management for triaging health-related data using color codes |
US20040122294A1 (en) | 2002-12-18 | 2004-06-24 | John Hatlestad | Advanced patient management with environmental data |
US6952612B1 (en) * | 2002-04-24 | 2005-10-04 | Pacesetter, Inc. | Method and apparatus for programming a rate responsive implantable cardiac stimulation device using user specified rate response functions |
US7113825B2 (en) | 2002-05-03 | 2006-09-26 | Cardiac Pacemakers, Inc. | Method and apparatus for detecting acoustic oscillations in cardiac rhythm |
US7110823B2 (en) * | 2002-06-11 | 2006-09-19 | Advanced Bionics Corporation | RF telemetry link for establishment and maintenance of communications with an implantable device |
DE10240584A1 (de) * | 2002-08-28 | 2004-03-11 | Pilz Gmbh & Co. | Sicherheitssteuerung zum fehlersicheren Steuern von sicherheitskritischen Prozessen sowie Verfahren zum Aufspielen eines neuen Betriebsprogrammes auf eine solche |
DE10251523A1 (de) * | 2002-11-04 | 2004-05-19 | Siemens Ag | System und Verfahren zur Bereitstellung von Daten und Diensten für Geräte, sowie Gerät, welches die bereitgestellten Daten und Dienste verwendet |
US7972275B2 (en) | 2002-12-30 | 2011-07-05 | Cardiac Pacemakers, Inc. | Method and apparatus for monitoring of diastolic hemodynamics |
US7136707B2 (en) | 2003-01-21 | 2006-11-14 | Cardiac Pacemakers, Inc. | Recordable macros for pacemaker follow-up |
US20040215291A1 (en) * | 2003-04-24 | 2004-10-28 | Van Bentem Maarten | Programmer storage of implantable medical device settings |
US20040230456A1 (en) * | 2003-05-14 | 2004-11-18 | Lozier Luke R. | System for identifying candidates for ICD implantation |
US8460243B2 (en) | 2003-06-10 | 2013-06-11 | Abbott Diabetes Care Inc. | Glucose measuring module and insulin pump combination |
US7539803B2 (en) * | 2003-06-13 | 2009-05-26 | Agere Systems Inc. | Bi-directional interface for low data rate application |
US7722536B2 (en) | 2003-07-15 | 2010-05-25 | Abbott Diabetes Care Inc. | Glucose measuring device integrated into a holster for a personal area network device |
US20050137641A1 (en) * | 2003-12-08 | 2005-06-23 | Alexandra Naughton | User interface for cardiac rhythm management device programmer |
JP4461878B2 (ja) | 2004-03-31 | 2010-05-12 | パナソニック株式会社 | 産業用ロボット |
US20050251227A1 (en) * | 2004-05-04 | 2005-11-10 | Cardiac Pacemakers, Inc. | Transferring software over a wireless radio frequency link onto external programmers for implantable medical devices |
CA3090413C (en) | 2004-06-04 | 2023-10-10 | Abbott Diabetes Care Inc. | Glucose monitoring and graphical representations in a data management system |
US7167755B2 (en) | 2004-10-05 | 2007-01-23 | Cardiac Pacemakers, Inc. | Adaptive software configuration for a medical device |
US7979119B2 (en) * | 2005-04-26 | 2011-07-12 | Boston Scientific Neuromodulation Corporation | Display graphics for use in stimulation therapies |
US7922669B2 (en) | 2005-06-08 | 2011-04-12 | Cardiac Pacemakers, Inc. | Ischemia detection using a heart sound sensor |
US20090222064A1 (en) * | 2005-07-08 | 2009-09-03 | Advanced Bionics, Llc | Autonomous Autoprogram Cochlear Implant |
US8108034B2 (en) | 2005-11-28 | 2012-01-31 | Cardiac Pacemakers, Inc. | Systems and methods for valvular regurgitation detection |
USRE48038E1 (en) | 2006-02-10 | 2020-06-09 | Cochlear Limited | Recognition of implantable medical device |
US20090187426A1 (en) * | 2006-05-31 | 2009-07-23 | Kerstna Juergen | Implantable medical device system and method for adapting functions of the clinician's workstation thereof |
CA2601662A1 (en) | 2006-09-18 | 2008-03-18 | Matthias Mullenborn | Wireless interface for programming hearing assistance devices |
US20080269569A1 (en) * | 2007-04-30 | 2008-10-30 | Volker Kukla | Follow-up support system for implantable medical devices |
US8352038B2 (en) * | 2007-10-01 | 2013-01-08 | Medtronic, Inc. | Medical device function configuration post-manufacturing |
US8285386B2 (en) * | 2008-02-19 | 2012-10-09 | Codman Neuro Sciences Sárl | Implant revision recognition by exchanging the revision data during transmission |
US8572459B2 (en) * | 2008-10-16 | 2013-10-29 | Codman Neuro Sciences Sárl | Insuring proper communication with chosen implant among multiple implants in proximity to one another |
DE102008043451A1 (de) * | 2008-11-04 | 2010-05-06 | Biotronik Crm Patent Ag | Modulares Universalprogrammiergerät |
US20100234708A1 (en) * | 2009-03-16 | 2010-09-16 | Harvey Buck | Wirelessly configurable medical device for a broadcast network system |
US8600504B2 (en) | 2010-07-02 | 2013-12-03 | Cardiac Pacemakers, Inc. | Physiologic demand driven pacing |
US10136845B2 (en) | 2011-02-28 | 2018-11-27 | Abbott Diabetes Care Inc. | Devices, systems, and methods associated with analyte monitoring devices and devices incorporating the same |
US20130289657A1 (en) * | 2012-04-25 | 2013-10-31 | Cyberonics, Inc. | Programmer upgrading methods, implantable medical device programmers, and articles of manufacture |
WO2015047381A1 (en) | 2013-09-30 | 2015-04-02 | Advanced Bionics Ag | Backup sound processor with multi-user functionality |
US10105539B2 (en) | 2014-12-17 | 2018-10-23 | Cochlear Limited | Configuring a stimulation unit of a hearing device |
US10602284B2 (en) | 2016-07-18 | 2020-03-24 | Cochlear Limited | Transducer management |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4513743A (en) * | 1982-11-12 | 1985-04-30 | Vitatron Medical B.V. | Physiological devices such as pacemakers and method for providing histogram data |
US4712179A (en) * | 1984-08-15 | 1987-12-08 | Cordis Corporation | Method and apparatus for calibrating internal measurements of an implanted cardiac pacer |
WO1986002567A1 (en) * | 1984-10-23 | 1986-05-09 | Zion Foundation | Method and apparatus for delivering a prescriptive electrical signal |
JPH0336328Y2 (de) * | 1989-03-30 | 1991-08-01 | ||
US5321618A (en) * | 1990-05-29 | 1994-06-14 | Lawrence Gessman | Apparatus and method for remotely monitoring implanted cardioverter defibrillators |
US5161222A (en) * | 1990-08-20 | 1992-11-03 | Human Microprocessing, Inc. | Software engine having an adaptable driver for interpreting variables produced by a plurality of sensors |
US5456692A (en) * | 1993-09-03 | 1995-10-10 | Pacesetter, Inc. | System and method for noninvasively altering the function of an implanted pacemaker |
US5456691A (en) * | 1993-11-12 | 1995-10-10 | Pacesetter, Inc. | Programming system having multiple program modules |
EP0730882A3 (de) * | 1995-03-08 | 1997-08-06 | Telectronics Nv | Verbessertes implantierbares Herzschrittmachersystem |
-
1996
- 1996-02-08 FR FR9601564A patent/FR2744817B1/fr not_active Expired - Fee Related
-
1997
- 1997-02-07 US US08/797,379 patent/US5800473A/en not_active Expired - Lifetime
- 1997-02-07 EP EP97400277A patent/EP0791373B1/de not_active Expired - Lifetime
- 1997-02-07 JP JP2564297A patent/JP4057670B2/ja not_active Expired - Fee Related
- 1997-02-07 DE DE69702273T patent/DE69702273T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69702273D1 (de) | 2000-07-20 |
EP0791373B1 (de) | 2000-06-14 |
EP0791373A1 (de) | 1997-08-27 |
US5800473A (en) | 1998-09-01 |
JP4057670B2 (ja) | 2008-03-05 |
FR2744817A1 (fr) | 1997-08-14 |
FR2744817B1 (fr) | 1998-04-03 |
JPH1069388A (ja) | 1998-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69702273T2 (de) | Aktive implantierbare medische Vorrichtung und dazugehörende externe Programmiereinrichtung mit automatischer Aktualisierung von integrierter Software | |
DE69923384T2 (de) | Programmiersystem für implantierte medizinische Geräte | |
DE60010420T2 (de) | Automatisches Regressionstesten von Arbeitsplatz-Software | |
DE69230117T2 (de) | Verfahren und Gerät, die es Rechnerschaltkreisen ermöglichen, mit aktualisierten Versionen von Rechnersoftware zu funktionieren | |
DE69023386T2 (de) | Dynamisches, den Fortgang anzeigendes Ikon. | |
EP1382002B1 (de) | Zahnidentifikation auf digitalen röntgenaufnahmen und zuordnung von informationen zu digitalen röntgenaufnahmen | |
DE19781804B4 (de) | Vorrichtung zur Simulation einer Echtzeit-Prozesssteuerung | |
DE69631633T2 (de) | Verbesserte graphische Schnittstelle für Programmiereinrichtungen für Herzschrittmacher | |
DE69717788T2 (de) | Komprimierte speicherung eines patientenberichts und wiederaufbau des kompletten textes in implantierbare medizinische vorrichtungen | |
DE3853818T2 (de) | Interaktives programmier- und diagnostiksystem zur anwendung mit einem implantierbaren herzschrittmacher. | |
DE4109258A1 (de) | Verfahren zum umwandeln der hardwarekonfiguration einer programmierbaren verknuepfungssteuerung und des entsprechenden steuerprogramms zur verwendung bei einer zweiten programmierbaren verknuepfungssteuerung | |
DE68919678T2 (de) | Instrument zur Erfassung und Speicherung von löschbaren Daten. | |
EP3396572A1 (de) | Verfahren zum betrieb einer bildaufnahmeeinrichtung, bildaufnahmeeinrichtung, computerprogramm und elektronisch lesbarer datenträger | |
DE102005042129A1 (de) | Verfahren und Vorrichtung zum automatisierten Bewerten der Qualität eines Software-Quellcodes | |
DE10048941A1 (de) | Zeitdiagramm-Compiler und Laufzeitumgebung für die interaktive Erzeugung von ausführbaren Testprogrammen zur Logiküberprüfung | |
DE69121113T2 (de) | Verfahren zur bestimmung von benutzerschnittstellen und programmiersystem fur einen rechner mit mehreren benutzerschnittstellen | |
EP3800480B1 (de) | Konvertierung eines mr-messprotokolls | |
DE112022003325T5 (de) | Schnittstelle zwischen einer herzpumpen-controller-datenbank und einem krankenhaus | |
DE102009033967A1 (de) | Verfahren zum Programmieren einer speicherprogrammierbaren Steuerung mit resistenter Abspeicherung von Daten | |
EP1570346A2 (de) | System zur bereitstellung eines standard-frameworks für automatisierungsgeräte | |
EP0708941B1 (de) | Verfahren zum test eines objektorientierten programms | |
DE102020203951A1 (de) | Verfahren zur dynamischen Datenminimierung eines Datensatzes mittels Whitelisting | |
DE10322684A1 (de) | Verfahren zur Verarbeitung einer Versionsänderung eines medizinische Therapiehinweise umfassenden Datensatzes | |
EP1376339A2 (de) | Anzeigesystem und Verfahren zur Anzeige von Information von wenigstens einer Überwachungseinrichtung eines Arbeitsgeräts | |
EP3625676B1 (de) | Verfahren zur unterstützung eines anwenders bei einer erstellung einer software-applikation und computerprogramm mit einer implementation des verfahrens sowie im rahmen eines solchen verfahrens verwendbare programmierschnittstelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |