Moderne medizinische Geräte gibt es in allen erdenklichen Größen und Formen. Angefangen bei sehr großen und hochwertigen Systemen mit Strahlungsquellen bis hin zu kleinen implantierbaren Schrittmachern mit Batterieversorgung. Die Bedeutung ihrer Funktionen ist je nach Gerät verschieden. Jede Diskussion über Software oder Spezifikationen für Medizingeräte muss auf jeden Fall mit der übergeordneten Tatsache beginnen, dass diese Art von Geräten das Leben von Menschen unmittelbar beeinflusst.
Entwickler können bei der Realisierung von Medizingeräten auf eine Reihe von Softwareangeboten zurückgreifen. Das Spektrum reicht von kundenspezifischen Lösungen oder kommerziellen Off-the-Shelf-Produkten über Echtzeitbetriebssysteme (RTOS) oder ein General-Purpose-OS wie zum Beispiel Linux oder Android.
Die primäre Überlegung gilt dem Einsatzfall. Muss das Gerät Daten sammeln und speichern? Wird es von Patienten oder Technikern oder von beiden Gruppen eingesetzt? Gibt es spezielle Service-Betriebsarten, die nur von Technikern benutzt werden dürfen? Wie wird das betreffende Gerät versorgt? Muss es auch beim Aufladen des internen Akkus funktionsfähig sein (Bild 1)?
Echtzeiteigenschaften sind bei kleinen, implantierbaren Systemen normalerweise vernachlässigbar. Die Software muss lediglich das Monitoring weniger Sensoren übernehmen und einen kleinen Anteil der Behandlung administrieren. In der Wartungs- oder Datensammlungs-Betriebsart kann das Gerät eventuell ein Funksignal von außerhalb des Körpers empfangen. Dies lässt sich mithilfe eines relativ einfachen Mikrocontrollers mit geringem Energieverbrauch realisieren. Hingegen erfordern große und komplexe Maschinen wie zum Beispiel bildgebende Systeme ein General-Purpose-OS. Die physikalischen Abmessungen oder Einschränkungen des Speichers sind bei solchem Medizinequipment meist unbedeutend.
Die Mehrheit der portablen, elektronischen Medizingeräte ist jedoch zwischen diesen beiden Extremen angesiedelt. Die meisten Geräte arbeiten batteriegespeist, sind vernetzbar, haben bestimmte Anforderungen an die Speicherung von Daten und benötigen eventuell Echtzeitverhalten.
Alle Medizingeräte müssen ein bestimmtes Maß an Systemzuverlässigkeit aufweisen, sich einfach bedienen lassen und fehlertolerant sein. Ein Defibrillator zum Beispiel sollte als Basis-Systemanforderungen folgende Merkmale aufweisen: lange Lagerbeständigkeit, ganz gleich ob netz- oder batterieversorgt, einfache Mensch-Maschine-Schnittstelle (HMI), sichere und stabile Kommunikation und Multi-CPU-Design für effiziente Leistungsfähigkeit und Power-Management.