Gerenciador de Dispositivos. Prorrogar MIS até dispositivos

Gerenciador de Dispositivos. Prorrogar MIS até dispositivos
Em um centro médico automatizado, diversos dispositivos são utilizados, cuja operação deve ser gerenciada por um sistema de informação médica (SIM), além de dispositivos que não aceitam comandos, mas devem transmitir os resultados de seu trabalho ao SIM. No entanto, todos os dispositivos possuem diferentes opções de conexão (USB, RS-232, Ethernet, etc.) e formas de interação. Manter todos eles no SIM é praticamente impossível, portanto, foi desenvolvido um software intermediário chamado DeviceManager (DM), que oferece ao SIM uma interface única para enviar tarefas aos dispositivos e receber resultados.

Gerenciador de Dispositivos. Prorrogar MIS até dispositivos
Para aumentar a robustez do sistema DM, ele foi dividido em um conjunto de programas distribuídos em computadores no centro médico. O DM compõe-se de um programa principal e um conjunto de plugins que realizam a interação com dispositivos específicos e enviam dados ao SIM. Na figura abaixo, está apresentada a estrutura geral de interação entre o DeviceManager, o SIM e os dispositivos.

Gerenciador de Dispositivos. Prorrogar MIS até dispositivos
Na estrutura de interação entre o SIM e o DeviceManager, são mostrados 3 modos de operação dos plugins:

  1. O plugin não recebe dados do SIM e envia dados do dispositivo transformados em um formato compreensível para ele (corresponde ao dispositivo tipo 3 na figura acima).
  2. O plugin recebe uma tarefa curta (em termos de tempo de execução) do SIM, como impressão em uma impressora ou digitalização de uma imagem, executa-a e envia o resultado como resposta à solicitação (corresponde ao dispositivo tipo 1 na figura acima).
  3. O plugin recebe uma tarefa longa do SIM, como realizar um exame ou medir parâmetros, e envia o status da aceitação da tarefa em resposta (a tarefa pode ser negada em caso de erro na solicitação). Após a conclusão da tarefa, os resultados são convertidos para um formato compreensível para o SIM e exportados para as interfaces correspondentes ao seu tipo (corresponde ao dispositivo tipo 2 na figura acima).

O programa principal do DM inicia, inicializa, reinicia em caso de parada inesperada (falha) e encerra todos os plugins ao final do trabalho. A composição dos plugins em cada computador é única, sendo iniciados apenas os necessários, conforme especificado nas configurações.

Cada plugin é um programa independente que interage com o programa principal. Essa definição de plugin garante um funcionamento mais estável, devido à independência de todas as instâncias dos plugins e do programa principal na gestão de erros (se ocorrer um erro crítico que faça um plugin falhar, isso não afetará os outros plugins e o programa principal). Um plugin permite operar com dispositivos de um único tipo (frequentemente de um único modelo); ao mesmo tempo, alguns plugins podem interagir apenas com um único dispositivo, enquanto outros podem lidar com múltiplos. Para conectar vários dispositivos do mesmo tipo a um DM, pode-se iniciar várias instâncias do mesmo plugin.

Gerenciador de Dispositivos. Prorrogar MIS até dispositivos
Para o desenvolvimento do DM, utilizou-se a ferramenta Qt, pois esta permite em muitos casos abstrair do sistema operacional específico. Isso possibilitou a compatibilidade com computadores baseados em Windows, Linux e MacOS, assim como com placas únicas Raspberry. A única limitação na escolha do sistema operacional para o desenvolvimento de plugins é a disponibilidade de drivers e/ou software especial para o dispositivo específico.

A interação entre os plugins e o programa principal ocorre através de um QLocalSocket sempre ativo com o nome da instância específica do plugin, utilizando o protocolo que criamos. A implementação do protocolo de comunicação de ambos os lados foi realizada como uma biblioteca dinâmica, permitindo que outras empresas desenvolvessem alguns plugins sem revelar totalmente a interação com o programa principal. A lógica interna do funcionamento do socket local permite que o programa principal rapidamente identifique uma falha através de um sinal de desconexão. Quando esse sinal é ativado, o plugin problemático é reiniciado, permitindo uma abordagem menos dolorosa para situações críticas.

A interação entre o MIS e o DM foi planejada utilizando o protocolo HTTP, pois o MIS opera com base em Servidores Web, que facilita o envio e a recepção de solicitações através deste protocolo. Também é possível diferenciar problemas que podem surgir na configuração ou na execução de tarefas pelos dispositivos com base nos códigos de resposta.

Nos próximos artigos, será analisado o funcionamento do DM e de alguns plugins, usando como exemplo diversos consultórios do centro de diagnóstico.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster