Ierīču pārvaldnieks. Paplašiniet MIS līdz ierīcēm

Ierīču pārvaldnieks. Paplašiniet MIS līdz ierīcēm
Automatizētajā medicīnas centrā tiek izmantotas daudzas dažādas ierīces, kuru darbība jākontrolē ar medicīniskās informācijas sistēmu (MIS), kā arī ierīces, kas nepieņem komandas, bet jāpārraida sava darba rezultāti uz MIS. Tomēr visām ierīcēm ir dažādas savienojuma iespējas (USB, RS-232, Ethernet utt.) un veidi, kā ar tām mijiedarboties. Tos visus atbalstīt MIS ir gandrīz neiespējami, tāpēc tika izstrādāts DeviceManager (DM) programmatūras slānis, kas nodrošina vienotu interfeisu MIS uzdevumu piešķiršanai ierīcēm un rezultātu iegūšanai.

Ierīču pārvaldnieks. Paplašiniet MIS līdz ierīcēm
Lai palielinātu sistēmas kļūdu toleranci, DM tika sadalīts programmu komplektā, kas atrodas medicīnas centra datoros. DM ir sadalīts galvenajā programmā un spraudņu komplektā, kas mijiedarbojas ar konkrētu ierīci un nosūta datus uz MIS. Tālāk esošajā attēlā parādīta vispārēja mijiedarbības struktūra ar DeviceManager, MIS un ierīcēm.

Ierīču pārvaldnieks. Paplašiniet MIS līdz ierīcēm
MIS un DeviceManager mijiedarbības struktūra parāda 3 spraudņu iespējas:

  1. Spraudnis nesaņem nekādus datus no MIS un no ierīces nosūta datus, kas pārveidoti sev saprotamā formātā (atbilst 3. ierīces tipam attēlā iepriekš).
  2. Spraudnis saņem īsu (izpildes laika ziņā) uzdevumu no MIS, piemēram, drukā uz printera vai skenē attēlu, izpilda to un nosūta rezultātu, atbildot uz pieprasījumu (atbilst 1. ierīces tipam attēlā augstāk ).
  3. Spraudnis saņem no MIS ilgtermiņa uzdevumu, piemēram, veikt aptauju vai izmērīt rādītājus, un atbildot uz to nosūta uzdevuma pieņemšanas statusu (ja pieprasījumā ir kļūda, uzdevums var tikt atteikts). Pēc uzdevuma izpildes rezultāti tiek pārveidoti MIS saprotamā formātā un augšupielādēti to veidam atbilstošās saskarnēs (atbilst 2. ierīces tipam attēlā augstāk).

Galvenā DM programma tiek startēta, inicializēta, restartēta negaidītas apstāšanās (avārijas) gadījumā un izslēdz visus spraudņus. Spraudņu sastāvs katrā datorā ir atšķirīgs, tiek palaisti tikai nepieciešamie, kas norādīti iestatījumos.

Katrs spraudnis ir neatkarīga programma, kas mijiedarbojas ar galveno programmu. Šī spraudņa definīcija nodrošina stabilāku darbību visu spraudņa gadījumu un galvas neatkarības dēļ kļūdu apstrādes ziņā (ja rodas kritiska kļūda, kas izraisa spraudņa avāriju, tas neietekmēs citus spraudņus un galviņu). . Viens spraudnis ļauj strādāt ar viena veida ierīcēm (bieži viena un tā paša modeļa), savukārt daži spraudņi var mijiedarboties tikai ar vienu ierīci, savukārt citi var mijiedarboties ar vairākām ierīcēm. Lai vienam DM pievienotu vairākas viena veida ierīces, palaidiet vairākus viena spraudņa gadījumus.

Ierīču pārvaldnieks. Paplašiniet MIS līdz ierīcēm
Qt rīku komplekts tika izmantots, lai izstrādātu DM, jo tas ļauj mums vairumā gadījumu abstrahēties no konkrētas operētājsistēmas. Tas ļāva atbalstīt darbu ar datoriem, kuru pamatā ir Windows, Linux un MacOS, kā arī Raspberry vienas plates ierīcēm. Vienīgais ierobežojums, izvēloties operētājsistēmu, izstrādājot spraudņus, ir draiveru un/vai īpašas programmatūras pieejamība konkrētai ierīcei.

Mijiedarbība starp spraudņiem un galviņu notiek, izmantojot pastāvīgi aktīvu QLocalSocket ar konkrēta spraudņa instances nosaukumu saskaņā ar mūsu izveidoto protokolu. Sakaru protokola ieviešana abās pusēs tika veidota kā dinamiska bibliotēka, kas ļāva izstrādāt dažus citu uzņēmumu spraudņus, pilnībā neatklājot mijiedarbību ar galvu. Vietējās kontaktligzdas iekšējā loģika ļauj galvai nekavējoties uzzināt par kritienu, izmantojot savienojuma pārtraukuma signālu. Kad šāds signāls tiek iedarbināts, problemātiskais spraudnis tiek restartēts, kas ļauj nesāpīgāk tikt galā ar kritiskām situācijām.

Tika nolemts veidot mijiedarbību starp MIS un DM, pamatojoties uz HTTP protokolu, jo MIS darbojas Web serverī, kas atvieglo pieprasījumu nosūtīšanu un saņemšanu, izmantojot šo protokolu. Ir iespējams arī atšķirt problēmas, kas varētu rasties, uzstādot vai veicot uzdevumus ar ierīcēm, pamatojoties uz atbildes kodiem.

Turpmākajos rakstos, izmantojot vairāku diagnostikas centru telpu piemēru, tiks apskatīta DM un dažu spraudņu darbība.

Avots: www.habr.com

Pievieno komentāru