Seadmehaldus. Laiendage MIS seadmetele

Seadmehaldus. Laiendage MIS seadmetele
Automatiseeritud meditsiinikeskuses kasutatakse palju erinevaid seadmeid, mille tööd peab juhtima meditsiiniinfosüsteem (MIS), samuti seadmeid, mis ei võta käske vastu, kuid peavad edastama oma töö tulemused MIS-i. Kõigil seadmetel on aga erinevad ühendusvõimalused (USB, RS-232, Ethernet jne) ja nendega suhtlemise viisid. Neid kõiki on MIS-is peaaegu võimatu toetada, seetõttu töötati välja DeviceManager (DM) tarkvarakiht, mis pakub MIS-ile ühtset liidest seadmetele ülesannete määramiseks ja tulemuste saamiseks.

Seadmehaldus. Laiendage MIS seadmetele
Süsteemi tõrketaluvuse suurendamiseks jagati DM programmide komplektiks, mis paiknesid meditsiinikeskuse arvutites. DM on jagatud põhiprogrammiks ja pluginate komplektiks, mis suhtlevad konkreetse seadmega ja saadavad andmeid MIS-i. Alloleval joonisel on kujutatud DeviceManageri, MIS-i ja seadmetega suhtlemise üldine struktuur.

Seadmehaldus. Laiendage MIS seadmetele
MIS-i ja DeviceManageri vahelise suhtluse struktuur näitab pistikprogrammide jaoks kolme valikut:

  1. Plugin ei saa MIS-ist andmeid ja saadab seadmest talle arusaadavasse vormingusse teisendatud andmed (vastab ülaloleval joonisel seadme tüübile 3).
  2. Plugin saab MIS-ilt lühikese (täitmisaja osas) ülesande, näiteks printib printerile või skannib pilti, täidab selle ja saadab vastuse päringule tulemuse (vastab ülaloleval joonisel seadme tüübile 1 ).
  3. Plugin saab MIS-ist pikaajalise ülesande, näiteks küsitluse läbiviimiseks või indikaatorite mõõtmiseks, ja vastuseks saadab ülesande aktsepteerimise oleku (päringus oleva vea korral võidakse ülesande täitmisest keelduda). Pärast ülesande täitmist teisendatakse tulemused MIS-i jaoks arusaadavasse vormingusse ja laaditakse üles nende tüübile vastavatesse liidestesse (vastab ülaloleval joonisel seadmetüübile 2).

DM-i põhiprogramm käivitub, initsialiseerub, taaskäivitub ootamatu seiskumise (krahhi) korral ja lõpetab sulgemisel kõik pistikprogrammid. Iga arvuti pistikprogrammide koostis on erinev, käivitatakse ainult vajalikud, mis on seadetes määratud.

Iga pistikprogramm on iseseisev programm, mis suhtleb põhiprogrammiga. See pistikprogrammi definitsioon võimaldab stabiilsemat tööd, kuna kõik pistikprogrammi eksemplarid ja pea on veakäsitluses sõltumatud (kui ilmneb kriitiline viga, mis põhjustab pistikprogrammi krahhi, ei mõjuta see teisi pluginaid ega pea) . Üks pistikprogramm võimaldab töötada ühte tüüpi seadmetega (sageli sama mudeliga), samas kui mõned pistikprogrammid saavad suhelda ainult ühe seadmega, teised aga mitme seadmega. Mitme sama tüüpi seadme ühendamiseks ühe DM-iga käivitage sama pistikprogrammi mitu eksemplari.

Seadmehaldus. Laiendage MIS seadmetele
DM-i arendamiseks kasutati Qt tööriistakomplekti, kuna see võimaldab meil enamikul juhtudel konkreetsest operatsioonisüsteemist eemalduda. See võimaldas toetada tööd nii Windowsil, Linuxil ja MacOS-il põhinevate arvutitega kui ka Raspberry üheplaadiga seadmetega. Ainus piirang opsüsteemi valimisel pluginate väljatöötamisel on draiverite ja/või spetsiaalse tarkvara olemasolu konkreetse seadme jaoks.

Pistikprogrammide ja pea vaheline interaktsioon toimub pidevalt aktiivse QLocalSocketi kaudu, millel on konkreetse pistikprogrammi eksemplari nimi, vastavalt meie loodud protokollile. Sideprotokolli rakendamine mõlemal poolel oli kujundatud dünaamilise raamatukoguna, mis võimaldas arendada mõnda pistikprogrammi teiste ettevõtete poolt ilma peaga suhtlemist täielikult paljastamata. Kohaliku pistikupesa sisemine loogika võimaldab peas ühenduse katkemise signaali abil kohe kukkumisest teada saada. Sellise signaali käivitumisel taaskäivitatakse probleemne pistikprogramm, mis võimaldab kriitilisi olukordi valutumalt käsitleda.

MIS-i ja DM-i interaktsioon otsustati üles ehitada HTTP-protokolli alusel, kuna MIS töötab veebiserveris, mis muudab selle protokolli abil päringute saatmise ja vastuvõtmise lihtsamaks. Samuti saab vastusekoodide alusel eristada probleeme, mis võivad tekkida seadmetega ülesannete seadmisel või täitmisel.

Järgnevates artiklites vaadeldakse mitme diagnostikakeskuse ruumi näitel DM-i ja mõningate pistikprogrammide toimimist.

Allikas: www.habr.com

Lisa kommentaar