Správca zariadení. Predĺžiť MIS na zariadenia

Správca zariadení. Predĺžiť MIS na zariadenia
V automatizovanom zdravotníckom centre sa používa množstvo rôznych prístrojov, ktorých činnosť by mala byť riadená zdravotníckym informačným systémom (ZIS), ako aj zariadení, ktoré neprijímajú príkazy, ale musia prenášať výsledky svojej činnosti do ZIS. Všetky zariadenia však majú rôzne možnosti pripojenia (USB, RS-232, Ethernet atď.) a spôsoby interakcie s nimi. Udržať všetky tieto zariadenia v ZIS je prakticky nemožné, preto bola vyvinutá softvérová vrstva DeviceManager (DM), ktorá poskytuje systému ZIS jednotné rozhranie na zadávanie úloh zariadeniam a prijímanie výsledkov.

Správca zariadení. Predĺžiť MIS na zariadenia
Aby sa zvýšila odolnosť systému DM voči chybám, bol rozdelený na súbor programov umiestnených na počítačoch v zdravotníckom centre. DM sa delí na hlavnú program a sadu pluginov, ktoré realizujú interakciu s konkrétnym zariadením a odosielajú dáta do ZIS. Na obrázku nižšie je znázornená zjednodušená štruktúra interakcie s DeviceManagerom, ZIS a prístrojmi.

Správca zariadení. Predĺžiť MIS na zariadenia
Na štruktúre interakcie ZIS s DeviceManagerom sú zobrazené 3 možnosti práce pluginov:

  1. Plugin neprijíma žiadne údaje zo ZIS a odosiela na formulovaný pre ňu formát údaje z prístroja (odpovedá prístroju typu 3 na obrázku vyššie).
  2. Plugin dostáva zo ZIS krátku (časovo obmedzenú) úlohu, napríklad tlač na tlačiarni alebo skenovanie obrazu, vykonáva ju a posiela výsledok ako odpoveď na požiadavku (odpovedá prístroju typu 1 na obrázku vyššie).
  3. Plugin dostáva zo ZIS dlhú úlohu, napríklad vykonanie vyšetrenia alebo meranie ukazovateľov, v odpovedi posiela stav prijatia úlohy (zadaní úlohy môže byť zamietnuté v prípade chyby v požiadavke). Po vykonaní úlohy sú výsledky pretransformované do formátu zrozumiteľného pre ZIS a odoslané do príslušných rozhraní podľa ich typu (odpovedá prístroju typu 2 na obrázku vyššie).

Hlavný program DM spúšťa, inicializuje, reštartuje v prípade nepredvídanej zastávky (pádu) a ukončuje všetky pluginy po skončení práce. Sada pluginov na každom počítači je vlastná, spúšťajú sa len tie, ktoré sú uvedené v nastaveniach.

Každý plugin predstavuje samostatný program, ktorý interaguje s hlavným programom. Toto definovanie pluginu umožňuje zabezpečiť stabilnejšiu prácu vďaka nezávislosti všetkých inštancií pluginov a hlavy pri spracovaní chýb (ak dôjde k kritickej chybe, kvôli ktorej plugin zlyhá, na ostatných pluginoch a hlave to nebude mať vplyv). Jeden plugin umožňuje pracovať s prístrojmi jedného druhu (často jedného modelu), pričom časť pluginov môže interagovať iba s jedným zariadením, a iné — s niekoľkými. Pre pripojenie viacerých zariadení rovnakého typu k jednému DM sa používa spustenie niekoľkých inštancií jedného pluginu.

Správca zariadení. Predĺžiť MIS na zariadenia
Na vývoj DM bol použitý nástroj Qt, pretože umožňuje vo väčšine prípadov abstrahovať od konkrétneho operačného systému. To umožnilo podporu práce s počítačmi na báze Windows, Linux a MacOS, ako aj jednodeskovými počítačmi Raspberry. Jediné obmedzenie pri výbere operačného systému pri vývoji pluginov je existencia ovládačov a/alebo špeciálneho softvéru pre konkrétne zariadenie.

Interakcia medzi pluginmi a hlavou prebieha cez neustále aktívny QLocalSocket s menom konkrétnej inštancie pluginu, podľa naším vytvoreného protokolu. Implementácia komunikačného protokolu z obidvoch strán bola vytvorená vo forme dynamickej knižnice, čo umožnilo vývoj niektorých pluginov inými spoločnosťami, bez toho aby sa úplne odhalilo interakciu s hlavou. Interná logika práce lokálneho socketu umožňuje hlave okamžite zistiť pád pomocou signálu prerušenia pripojenia. Pri aktivácii takého signálu dochádza k reštartu problematického pluginu, čo umožňuje bezbolestnejšie spracovanie kritických situácií.

Interakcia medzi MIS a DM bola rozhodnutá postaviť na základe HTTP protokolu, pretože MIS funguje na báze web servers, v ktorom je jednoduchšie posielať a prijímať požiadavky podľa tohto protokolu. Existuje tiež možnosť rozlíšiť problémy, ktoré mohli vzniknúť pri zadávaní alebo vykonávaní úloh prístrojmi na základe kódov odpovede.

V nasledujúcich článkoch na príklade niekoľkých skríň diagnostického centra bude preskúmaná práca DM a niektorých pluginov.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster