Správca zariadení. Rozšírte MIS na zariadenia

Správca zariadení. Rozšírte MIS na zariadenia
Automatizované zdravotnícke centrum využíva mnoho rôznych zariadení, ktorých chod musí byť riadený lekárskym informačným systémom (MIS), ako aj zariadenia, ktoré neprijímajú príkazy, ale výsledky svojej práce musia odovzdávať do MIS. Všetky zariadenia však majú rôzne možnosti pripojenia (USB, RS-232, Ethernet atď.) a spôsoby interakcie s nimi. Podporovať ich všetky v MIS je takmer nemožné, preto bola vyvinutá softvérová vrstva DeviceManager (DM), ktorá poskytuje jednotné rozhranie pre MIS na priraďovanie úloh zariadeniam a získavanie výsledkov.

Správca zariadení. Rozšírte MIS na zariadenia
Pre zvýšenie odolnosti systému proti chybám bol DM rozdelený do sady programov umiestnených na počítačoch v zdravotnom stredisku. DM je rozdelený na hlavný program a sadu pluginov, ktoré interagujú s konkrétnym zariadením a odosielajú dáta do MIS. Obrázok nižšie zobrazuje všeobecnú štruktúru interakcie so správcom zariadení, MIS a zariadeniami.

Správca zariadení. Rozšírte MIS na zariadenia
Štruktúra interakcie medzi MIS a DeviceManager ukazuje 3 možnosti pre zásuvné moduly:

  1. Plugin neprijíma žiadne dáta z MIS a odosiela dáta skonvertované do formátu, ktorý je preň zrozumiteľný zo zariadenia (zodpovedá typu zariadenia 3 na obrázku vyššie).
  2. Plugin prijme z MIS krátku (z hľadiska času vykonania) úlohu, napríklad tlač na tlačiarni alebo skenovanie obrázka, vykoná ju a odošle výsledok ako odpoveď na požiadavku (zodpovedá typu zariadenia 1 na obrázku vyššie ).
  3. Plugin dostane od MIS dlhodobú úlohu, napríklad vykonať prieskum alebo zmerať ukazovatele, a ako odpoveď odošle stav prijatia úlohy (úloha môže byť odmietnutá, ak je v požiadavke chyba). Po dokončení úlohy sa výsledky prevedú do formátu zrozumiteľného pre MIS a nahrajú sa do rozhraní zodpovedajúcich ich typu (zodpovedá typu zariadenia 2 na obrázku vyššie).

Hlavný program DM sa spustí, inicializuje, reštartuje v prípade neočakávaného zastavenia (zrútenia) a ukončí všetky pluginy pri vypnutí. Zloženie pluginov na každom počítači je iné, spúšťajú sa len tie potrebné, ktoré sú špecifikované v nastaveniach.

Každý plugin je nezávislý program, ktorý spolupracuje s hlavným programom. Táto definícia doplnku umožňuje stabilnejšiu prevádzku vďaka nezávislosti všetkých inštancií doplnku a hlavy z hľadiska spracovania chýb (ak dôjde ku kritickej chybe, ktorá spôsobí zlyhanie doplnku, neovplyvní to ostatné doplnky a hlavu) . Jeden plugin vám umožňuje pracovať so zariadeniami jedného typu (často rovnakého modelu), pričom niektoré pluginy môžu interagovať iba s jedným zariadením, zatiaľ čo iné môžu spolupracovať s viacerými. Ak chcete k jednému DM pripojiť niekoľko zariadení rovnakého typu, spustite niekoľko inštancií toho istého doplnku.

Správca zariadení. Rozšírte MIS na zariadenia
Na vývoj DM bola použitá súprava nástrojov Qt, pretože nám vo väčšine prípadov umožňuje abstrahovať od konkrétneho operačného systému. To umožnilo podporovať prácu s počítačmi na báze Windows, Linux a MacOS, ako aj jednodoskové zariadenia Raspberry. Jediným obmedzením pri výbere operačného systému pri vývoji pluginov je dostupnosť ovládačov a/alebo špeciálneho softvéru pre konkrétne zariadenie.

K interakcii medzi pluginmi a hlavou dochádza prostredníctvom neustále aktívneho QLocalSocket s názvom konkrétnej inštancie pluginu podľa protokolu, ktorý sme vytvorili. Implementácia komunikačného protokolu na oboch stranách bola navrhnutá ako dynamická knižnica, čo umožnilo vyvíjať niektoré pluginy iných spoločností bez úplného odhalenia interakcie s hlavou. Vnútorná logika lokálnej zásuvky umožňuje hlave okamžite sa dozvedieť o páde pomocou signálu prerušenia spojenia. Po spustení takéhoto signálu sa problémový plugin reštartuje, čo vám umožní bezbolestnejšie zvládnuť kritické situácie.

Bolo rozhodnuté vybudovať interakciu medzi MIS a DM na základe protokolu HTTP, keďže MIS funguje na webovom serveri, čo uľahčuje odosielanie a prijímanie požiadaviek pomocou tohto protokolu. Na základe kódov odozvy je tiež možné rozlíšiť problémy, ktoré by mohli vzniknúť pri nastavovaní alebo vykonávaní úloh so zariadeniami.

V nasledujúcich článkoch bude na príklade niekoľkých miestností diagnostického centra preskúmaná prevádzka DM a niektorých zásuvných modulov.

Zdroj: hab.com

Pridať komentár