Gestor de dispositius. Esteneu el MIS als dispositius

Gestor de dispositius. Esteneu el MIS als dispositius
Un centre mèdic automatitzat utilitza molts dispositius diferents, el funcionament dels quals ha de ser controlat per un sistema d'informació mèdica (MIS), així com dispositius que no accepten ordres, però han de transmetre els resultats del seu treball al MIS. Tanmateix, tots els dispositius tenen diferents opcions de connexió (USB, RS-232, Ethernet, etc.) i maneres d'interactuar amb ells. És gairebé impossible suportar-los tots en el MIS, per això es va desenvolupar la capa de programari DeviceManager (DM), que proporciona una única interfície per al MIS per assignar tasques als dispositius i obtenir resultats.

Gestor de dispositius. Esteneu el MIS als dispositius
Per augmentar la tolerància a fallades del sistema, DM es va dividir en un conjunt de programes situats en ordinadors del centre mèdic. DM es divideix en un programa principal i un conjunt de connectors que interactuen amb un dispositiu específic i envien dades al MIS. La figura següent mostra una estructura generalitzada d'interacció amb DeviceManager, MIS i dispositius.

Gestor de dispositius. Esteneu el MIS als dispositius
L'estructura d'interacció entre MIS i DeviceManager mostra 3 opcions per als connectors:

  1. El connector no rep cap dada del MIS i envia dades convertides en un format comprensible per a aquest des del dispositiu (correspon al tipus de dispositiu 3 de la figura anterior).
  2. El connector rep una tasca curta (en termes de temps d'execució) del MIS, per exemple, imprimir en una impressora o escanejar una imatge, l'executa i envia el resultat en resposta a la sol·licitud (correspon al tipus de dispositiu 1 de la figura anterior). ).
  3. El connector rep una tasca a llarg termini del MIS, per exemple, per dur a terme una enquesta o mesurar indicadors, i en resposta envia l'estat d'acceptació de la tasca (la tasca es pot rebutjar si hi ha un error a la sol·licitud). Després de completar la tasca, els resultats es converteixen en un format comprensible per al MIS i es pengen a les interfícies corresponents al seu tipus (correspon al tipus de dispositiu 2 de la figura anterior).

El programa DM principal s'inicia, inicialitza, es reinicia en cas d'aturada inesperada (fallida) i finalitza tots els connectors quan s'apaga. La composició dels connectors de cada ordinador és diferent; només s'inicien els necessaris, que s'especifiquen a la configuració.

Cada connector és un programa independent que interactua amb el programa principal. Aquesta definició d'un connector permet un funcionament més estable a causa de la independència de totes les instàncies del connector i del cap pel que fa a la gestió d'errors (si es produeix un error crític que fa que el connector es bloquegi, això no afectarà els altres connectors i el cap). . Un connector us permet treballar amb dispositius d'un tipus (sovint el mateix model), mentre que alguns connectors només poden interactuar amb un dispositiu, mentre que altres poden interactuar amb diversos. Per connectar diversos dispositius del mateix tipus a un DM, inicieu diverses instàncies del mateix connector.

Gestor de dispositius. Esteneu el MIS als dispositius
El conjunt d'eines Qt es va utilitzar per desenvolupar DM perquè ens permet abstraure'ns d'un sistema operatiu específic en la majoria dels casos. Això va permetre suportar el treball amb ordinadors basats en Windows, Linux i MacOS, així com amb dispositius de placa única Raspberry. L'única limitació a l'hora de triar un sistema operatiu quan es desenvolupen connectors és la disponibilitat de controladors i/o programari especial per a un dispositiu específic.

La interacció entre els connectors i el cap es produeix mitjançant un QLocalSocket constantment actiu amb el nom d'una instància de connector específica, segons el protocol que hem creat. La implementació del protocol de comunicació a banda i banda es va dissenyar com una biblioteca dinàmica, que va permetre desenvolupar alguns complements d'altres empreses sense revelar completament la interacció amb el cap. La lògica interna de l'endoll local permet que el cap s'assabenti immediatament de la caiguda mitjançant un senyal de trencament de connexió. Quan s'activa aquest senyal, es reinicia el connector problemàtic, la qual cosa us permet gestionar situacions crítiques amb més facilitat.

Es va decidir construir la interacció entre MIS i DM basant-se en el protocol HTTP, ja que MIS funciona en un servidor web, la qual cosa facilita l'enviament i la recepció de peticions mitjançant aquest protocol. També és possible distingir els problemes que podrien sorgir en configurar o realitzar tasques amb dispositius basant-se en codis de resposta.

En els articles següents, utilitzant l'exemple de diverses sales del centre de diagnòstic, s'examinarà el funcionament del DM i alguns complements.

Font: www.habr.com

Afegeix comentari