Das automatisierte medizinische Zentrum verwendet viele verschiedene GerĂ€te, deren Arbeit vom medizinischen Informationssystem (MIS) gesteuert werden muss, sowie GerĂ€te, die keine Befehle annehmen, aber die Ergebnisse ihrer Arbeit an das MIS ĂŒbertragen mĂŒssen. Alle GerĂ€te verfĂŒgen jedoch ĂŒber unterschiedliche Verbindungsoptionen (USB, RS-232, Ethernet usw.) und Interaktionsmöglichkeiten. Es ist fast unmöglich, alle im MIS zu unterstĂŒtzen. Daher wurde die Softwareschicht DeviceManager (DM) entwickelt, die dem MIS eine einzige Schnittstelle zum Festlegen von Aufgaben fĂŒr GerĂ€te und zum Erhalten von Ergebnissen bietet.

Um die Fehlertoleranz des Systems zu erhöhen, wurde der DM in eine Reihe von Programmen unterteilt, die auf Computern im medizinischen Zentrum gehostet werden. DM ist in das Host-Programm und eine Reihe von Plug-Ins unterteilt, die mit einem bestimmten GerÀt interagieren und Daten an das MIS senden. Die folgende Abbildung zeigt eine allgemeine Struktur der Interaktion mit DeviceManager, MIS und GerÀten.
Die Struktur der Interaktion von MIS mit DeviceManager zeigt 3 Optionen fĂŒr die Arbeit mit Plugins:
- Das Plugin empfĂ€ngt keine Daten vom MIS und sendet die vom GerĂ€t in ein fĂŒr ihn verstĂ€ndliches Format konvertierten Daten (entspricht einem GerĂ€t vom Typ 3 in der obigen Abbildung).
- Das Plugin empfĂ€ngt vom MIS eine kurze Aufgabe (in Bezug auf die AusfĂŒhrungszeit), z. B. das Drucken auf einem Drucker oder das Scannen eines Bildes, fĂŒhrt es aus und sendet das Ergebnis als Antwort auf eine Anforderung (entspricht dem GerĂ€t vom Typ 1 in der obigen Abbildung).
- Das Plugin erhĂ€lt von der IIA eine langfristige Aufgabe, beispielsweise eine Umfrage durchzufĂŒhren oder Indikatoren zu messen, und sendet als Antwort den Status der Annahme der Aufgabe (die ErklĂ€rung der Aufgabe kann abgelehnt werden, wenn die Anforderung falsch ist). Nach Abschluss der Aufgabe werden die Ergebnisse in ein MIS-freundliches Format konvertiert und auf die entsprechenden Schnittstellentypen hochgeladen (entspricht einem GerĂ€t vom Typ 2 in der obigen Abbildung).
Das DM-Kopfprogramm startet, initialisiert, startet im Falle eines unerwarteten Stopps (Absturzes) neu und beendet alle Plugins nach Abschluss der Arbeit. Die Zusammensetzung der Plug-Ins auf jedem Computer ist unterschiedlich. Es werden nur die erforderlichen Plug-Ins gestartet, die in den Einstellungen angegeben sind.
Jedes Plug-In ist ein unabhĂ€ngiges Programm, das mit dem Host-Programm interagiert. Eine solche Definition des Plug-Ins ermöglicht einen stabileren Betrieb aufgrund der UnabhĂ€ngigkeit aller Instanzen der Plug-Ins und des Kopfes hinsichtlich der Fehlerbehandlung (wenn ein kritischer Fehler auftritt, aufgrund dessen das Plug-In abstĂŒrzt, hat dies keine Auswirkungen auf andere Plug-Ins). Mit einem Plug-In können Sie mit GerĂ€ten desselben Typs (hĂ€ufig desselben Modells) arbeiten, wĂ€hrend einige Plug-Ins nur mit einem GerĂ€t und andere mit mehreren GerĂ€ten interagieren können. Um mehrere GerĂ€te desselben Typs an einen DM anzuschlieĂen, werden mehrere Instanzen desselben Plugins gestartet.

Das Qt-Toolkit wurde zur Entwicklung des DM verwendet, da es in den meisten FĂ€llen die Abstraktion von einem bestimmten Betriebssystem ermöglicht. Dies ermöglichte die UnterstĂŒtzung der Arbeit mit Computern, die auf Windows, Linux und MacOS basieren, sowie mit Raspberry-Einplatinencomputern. Die einzige EinschrĂ€nkung bei der Auswahl eines Betriebssystems bei der Entwicklung von Plugins ist das Vorhandensein von Treibern und / oder spezieller Software fĂŒr ein bestimmtes GerĂ€t.
Die Interaktion zwischen den Plugins und dem Kopf erfolgt ĂŒber das stĂ€ndig aktive QLocalSocket mit dem Namen einer bestimmten Instanz des Plugins gemÀà dem von uns erstellten Protokoll. Die Implementierung des Kommunikationsprotokolls auf beiden Seiten wurde in Form einer dynamischen Bibliothek gestaltet, die die Entwicklung einiger Plugins durch andere Unternehmen ermöglichte, ohne die Interaktion mit dem Kopf vollstĂ€ndig offenzulegen. Die interne Logik der lokalen Buchse ermöglicht es dem Kopf, mithilfe eines Verbindungsunterbrechungssignals sofort ĂŒber den Sturz zu informieren. Wenn ein solches Signal ausgelöst wird, wird das Problem-Plug-In neu gestartet, wodurch kritische Situationen schmerzloser behandelt werden können.
Es wurde beschlossen, die Interaktion zwischen MIS und DM auf der Grundlage des HTTP-Protokolls aufzubauen, da das MIS auf der Basis eines Webservers arbeitet, auf dem das Senden und Empfangen von Anforderungen mit diesem Protokoll einfacher ist. Es ist auch möglich, zwischen Problemen zu unterscheiden, die beim Einstellen oder AusfĂŒhren von Aufgaben mit GerĂ€ten basierend auf Antwortcodes auftreten können.
In den folgenden Artikeln wird als Beispiel fĂŒr mehrere RĂ€ume des Diagnosezentrums der Betrieb von DM und einigen Plug-Ins betrachtet.