Správce zařízení. Rozšiřte MIS na zařízení

Správce zařízení. Rozšiřte MIS na zařízení
Automatizované zdravotnické centrum využívá mnoho různých zařízení, jejichž provoz musí být řízen lékařským informačním systémem (MIS), a také zařízení, která nepřijímají příkazy, ale musí výsledky své práce předávat do MIS. Všechna zařízení však mají různé možnosti připojení (USB, RS-232, Ethernet atd.) a způsoby interakce s nimi. Podporovat je všechny v MIS je téměř nemožné, proto byla vyvinuta softwarová vrstva DeviceManager (DM), která poskytuje jednotné rozhraní pro MIS pro přidělování úloh zařízením a získávání výsledků.

Správce zařízení. Rozšiřte MIS na zařízení
Pro zvýšení odolnosti systému proti chybám byl DM rozdělen do sady programů umístěných na počítačích ve zdravotnickém středisku. DM se dělí na hlavní program a sadu pluginů, které interagují s konkrétním zařízením a odesílají data do MIS. Obrázek níže ukazuje zobecněnou strukturu interakce s DeviceManagerem, MIS a zařízeními.

Správce zařízení. Rozšiřte MIS na zařízení
Struktura interakce mezi MIS a DeviceManager ukazuje 3 možnosti zásuvných modulů:

  1. Plugin nepřijímá žádná data z MIS a posílá data převedená do formátu pro něj srozumitelného ze zařízení (odpovídá typu zařízení 3 na obrázku výše).
  2. Plugin přijme z MIS krátkou (z hlediska doby provedení) úlohu, například tisk na tiskárně nebo skenování obrázku, provede ji a odešle výsledek jako odpověď na požadavek (odpovídá typu zařízení 1 na obrázku výše ).
  3. Plugin obdrží od MIS dlouhodobý úkol, například provést průzkum nebo změřit ukazatele, a jako odpověď odešle stav přijetí úkolu (úkol může být odmítnut, pokud je v požadavku chyba). Po dokončení úlohy jsou výsledky převedeny do formátu srozumitelného pro MIS a nahrány do rozhraní odpovídajících jejich typu (odpovídá typu zařízení 2 na obrázku výše).

Hlavní program DM se spustí, inicializuje, restartuje v případě neočekávaného zastavení (selhání) a ukončí všechny pluginy při vypnutí. Skladba pluginů na každém počítači je jiná, spouštějí se pouze ty potřebné, které jsou uvedeny v nastavení.

Každý plugin je nezávislý program, který spolupracuje s hlavním programem. Tato definice pluginu umožňuje stabilnější provoz díky nezávislosti všech instancí pluginu a hlavy, pokud jde o zpracování chyb (pokud dojde ke kritické chybě, která způsobí pád pluginu, nebude to mít vliv na ostatní pluginy a hlavu) . Jeden plugin vám umožňuje pracovat se zařízeními jednoho typu (často stejného modelu), zatímco některé pluginy mohou komunikovat pouze s jedním zařízením, zatímco jiné mohou komunikovat s několika zařízeními. Chcete-li k jednomu DM připojit několik zařízení stejného typu, spusťte několik instancí stejného pluginu.

Správce zařízení. Rozšiřte MIS na zařízení
K vývoji DM byla použita sada nástrojů Qt, protože nám ve většině případů umožňuje abstrahovat od konkrétního operačního systému. To umožnilo podporovat práci s počítači na bázi Windows, Linux a MacOS a také jednodeskovými zařízeními Raspberry. Jediným omezením při výběru operačního systému při vývoji pluginů je dostupnost ovladačů a/nebo speciálního softwaru pro konkrétní zařízení.

Interakce mezi pluginy a hlavou probíhá prostřednictvím neustále aktivního QLocalSocket s názvem konkrétní instance pluginu, podle námi vytvořeného protokolu. Implementace komunikačního protokolu na obou stranách byla navržena jako dynamická knihovna, což umožnilo vyvíjet některé pluginy jiných firem, aniž by byla zcela odhalena interakce s hlavou. Vnitřní logika místní zásuvky umožňuje hlavě okamžitě se dozvědět o pádu pomocí signálu přerušení spojení. Při spuštění takového signálu se problematický plugin restartuje, což vám umožní bezbolestněji řešit kritické situace.

Bylo rozhodnuto vybudovat interakci mezi MIS a DM na základě protokolu HTTP, protože MIS funguje na webovém serveru, což usnadňuje odesílání a přijímání požadavků pomocí tohoto protokolu. Na základě kódů odezvy je také možné rozlišit problémy, které by mohly nastat při nastavování nebo provádění úloh se zařízeními.

V následujících článcích bude na příkladu několika místností diagnostického centra prozkoumána činnost DM a některých zásuvných modulů.

Zdroj: www.habr.com

Přidat komentář