• Nenhum resultado encontrado

4.8 V ALIDAÇÃO

4.8.2 Processo de desenvolvimento e implantação no HU/UFSC 61

61 Para verificar a influência da latência de rede, decidiu-se simular quatro possíveis velocidades de conexão de sistemas clientes: 128 kbps, 400 kbps, 1 Mbps (1.024 kbps) e 1 Gbps (1.048.576 kbps). Para isto, instalou-se um sistema que atua como um limitador da largura de banda nos computadores que irão enviar solicitações de informações de pacientes, tanto com uso do HL7Middleware quanto com o acesso direto ao banco de dados.

Para simular o ambiente real, o HL7Server foi instalado no computador que contém o servidor web do Portal de Telemedicina, com isto os tempos de acesso ao banco de dados serão equivalentes. As métricas referentes ao uso do HL7Middleware com largura de banda de 128 kbps, 400 kbps e 1 Mbps foram capturadas de um mesmo computador. Já para medir o tempo de acesso ao banco de dados sem o HL7Middleware, cada modalidade de exame foi processada em um computador diferente. Para calcular a carga de processamento do HL7Middleware as solicitações de informações de exames de imagem (com e sem o HL7Middleware) foram enviadas de um mesmo computador sem limitação da largura de banda, ou seja, 1 Gbps.

62 através do HL7Middleware.

Figura 13. Integração do SAH e Portal de Telemedicina no HU/UFSC O processo de implantação do envio e recuperação de mensagens através do uso do HL7Middleware envolveu oito etapas:

a) Compor mensagem – a linguagem Centura também apresenta outra deficiência: não tem suporte a manipulação de documentos XML como XPath. Sendo assim, foram utilizadas funções comuns de manipulação de arquivo para buscar e repassar caracteres de uma mensagem HL7 template com os valores apropriados (dados demográficos de pacientes, identificação única da mensagem, data de criação da mensagem, entre outros) em tempo de execução;

b) Codificar mensagem – a mensagem template utilizada para o teste de integração entre SAH e Portal de Telemedicina, é uma mensagem para solicitar inclusão de dados de pacientes já armazenados no banco de dados do SAH. Durante o processo de substituição de caracteres da mensagem template, verificou-se incompatibilidade entre a codificação do banco de dados utilizado pelo sistema SAH e a codificação padrão das mensagens HL7. O banco de dados do SAH utiliza a codificação CP-850 para armazenar informações, enquanto que as mensagens HL7 utilizam UTF-8. Por isso, é necessário que o SAH substitua os valores da mensagem template com os valores recuperados do banco de dados, para em seguida, executar um sistema externo responsável pela conversão dos

63 caracteres da mensagem gerada para UTF-8;

c) Salvar mensagens – como a linguagem Centura não possui API para manipulação de sockets, tornou-se necessário criar uma pasta acessível na rede interna do HU/UFSC para armazenar temporariamente as mensagens geradas pelo SAH.

d) Transferir mensagens – para a implantação do HL7Middleware foi necessário tomar algumas medidas para enviar as mensagens para o HL7Server tendo em vista a segurança das informações trafegando em redes distintas. Foi criado um script para mover as mensagens entre as redes internas do HU/UFSC, ou seja, as mensagens são criadas pelo SAH na pasta “Message” da rede x.x.10.x e em um determinado intervalo de tempo (configurado para 10 minutos) são transferidas para a rede x.x.160.x na pasta

“XMLs”;

e) Recuperar mensagem – devido às deficiências apresentadas pela linguagem Centura, foi desenvolvido um sistema cliente - o CycClient – que tem como uma de suas atribuições atuar como um wrapper, ou seja, para recuperar mensagens de um repositório, transmiti-las para o HL7Server e receber mensagens de resposta do processamento. Este sistema foi instalado em um servidor localizado na rede interna do HU/UFSC (x.x.160.x) e que tem permissão de acessar a rede de telemedicina (x.x.67.x) onde está localizado o HL7Server;

f) Transmitir mensagem – o sistema CycClient monitora constantemente uma pasta (“XMLs”) que recebe as mensagens geradas pelo SAH. Quando for constatada a presença de uma mensagem nesta pasta, o CycClient realiza uma análise sintática da mensagem para verificar sua consistência, estabelece uma conexão via sockets com o HL7Server e então envia a mensagem;

g) Avaliar mensagem recebida – assim que receber uma mensagem HL7 de resposta do HL7Server via sockets, o CycClient verifica o tipo de mensagem recebida. Dependendo do conteúdo da mensagem retornada pelo HL7Server, a mensagem pode ser armazenada em pastas diferentes: as mensagens que foram processadas corretamente pelo HL7Server são armazenadas na pasta "Success", enquanto que as mensagens que retornaram erro são armazenadas na pasta

64

"Failed";

h) Capturar informações da mensagem recebida – como a implantação do HL7Middleware no HU/UFSC é um projeto piloto, com o objetivo inicial de enviar apenas mensagens que inserem informações no sentido SAH - Portal de Telemedicina, as mensagens de retorno enviadas pelo HL7Server ainda não estão sendo analisadas pelo SAH.

4.8.3 Desenvolvimento e utilização de uma biblioteca HL7

Com o objetivo de agilizar o desenvolvimento e integração de sistemas de saúde legados, implementou-se um componente HL7 - uma biblioteca responsável pelo envio e recebimento de mensagens HL7. Dessa forma, um sistema de saúde deve localizar e substituir elementos indicados em uma mensagem template, e então usar as funções disponibilizadas pela biblioteca para se comunicar com o HL7Server. Para testar as funcionalidades da biblioteca desenvolveu-se um sistema que simula o comportamento do Dicomizer para inserir um exame de imagem no banco de dados do Portal de Telemedicina. Para avaliar o custo de implantação, foi medido o tempo de desenvolvimento de uma biblioteca HL7, o tempo necessário para que um sistema legado utilize suas funcionalidades e o tempo para que um sistema legado componha e recupere informações de uma mensagem HL7.

65 5 RESULTADOS

Documentos relacionados