interpretador de mensagens para comunicação em sistemas de

Propaganda
INTERPRETADOR DE MENSAGENS PARA COMUNICAÇÃO EM
SISTEMAS DE INFORMAÇÃO NA SAÚDE
Gonçalo Salvador Ribeiro e Castro
Estágio realizado na Siemens SA
Orientador da FEUP: Prof. Doutor António Pimenta Monteiro
1.
Motivação
O estágio decorreu no âmbito do projecto “Healthy
Talkie” do grupo operacional Medical Solutions
(MED) da Siemens, no contexto dos sistemas de
informação na saúde.
Os sistemas de informação na saúde em Portugal, na
sua generalidade, não utilizam o protocolo standard
de comunicação de mensagens HL7. Este facto
prejudica a interligação entre sistemas, gerando-se
assim ilhas de informação não coerentes entre si.
O objectivo principal do projecto Healthy Talkie é
permitir a comunicação entre sistemas não
compatíveis com HL7 e sistemas compatíveis com
HL7, o que permite a partilha de informação entre as
diferentes aplicações de uma instituição de saúde.
Facilitam-se assim migrações, ao mesmo tempo que
se protege o investimento feito no passado. Desta
forma, o número de interfaces proprietárias entre
aplicações será também reduzido, integrando toda a
comunicação através do standard HL7.
A Missão da MED inclui o objectivo de ser a maior
empresa, na área da saúde, em Portugal, oferecendo
aos seus clientes produtos e serviços da mais elevada
qualidade. O Healthy Talkie surge como um projecto
alinhado nesta Missão, uma vez que permite
solucionar problemas de integração comuns a todos
os clientes da MED. Assim, é uma solução com
aplicação transversal a todos os clientes, que
contribui para uma relação positiva, e de criação de
valor, entre estes e a MED.
Para o desenvolvimento deste projecto foi constituída
uma equipa de quatro pessoas. Este resumo aborda o
módulo do projecto que permite a formatação de
mensagens HL7 e, no sentido inverso, o parsing das
mesmas, módulo esse que constituiu o núcleo deste
estágio. Por outro lado, durante o estágio foram
implementadas as Filas de Espera que permitem
guardar a informação que circula entre os módulos do
sistema.
2.
Objectivos
O estágio teve como objectivo principal o
desenvolvimento de um módulo de Parsing e
Formatação para o Healthy Talkie. Para além desta
tarefa principal, era importante desenvolver todo um
estudo preparatório de contextualização com a área
de integração de sistemas de informação na saúde.
Por fim, era fulcral integrar e testar o módulo com os
restantes, de forma a ter um único sistema.
Orientador da Instituição: Doutor Paulo Cruz
Nesse sentido, no início do estágio foram propostos
os seguintes objectivos:
•
Traçar o estado da arte no que se refere à
integração de sistemas não compatíveis com o
protocolo standard HL7. Esta pesquisa deve ser
baseada na intranet corporativa da Siemens,
livros, artigos científicos e produtos existentes
comercialmente;
•
Comparar diferentes produtos existentes (entre
eles o desenvolvido pela Siemens em Portugal,
C-Gate) em termos de custos de aquisição (e ou
desenvolvimento) e implementação com outros
sistemas;
•
Desenvolver uma lista de requisitos funcionais
e não funcionais para o módulo de
parsing/interpretação;
•
Estudar, implementar, testar e documentar um
novo módulo que terá como objectivo a
interpretação “parsing” de mensagens HL7, e a
intercalação de informação proveniente de
bases de dados de aplicações;
•
Colaborar activamente nas actividades de
desenvolvimento/integração/divulgação/
documentação da aplicação Healthy Talkie no
seu todo;
•
Participar nos testes de fiabilidade e integração
com os responsáveis pelos restantes módulos da
aplicação.
3.
Descrição do Trabalho
3.1.
Análise do Problema
Os diferentes departamentos de instituições de saúde
possuem necessidades informáticas distintas, o que
leva a que necessitem de sistemas de informação
muito específicos. É por esta razão que ao longo dos
anos se desenvolveram múltiplos sistemas
departamentais, específicos para os diferentes
serviços das unidades de saúde. Ainda assim, há uma
necessidade comum a todos: coerência de
informação.
Sendo os sistemas departamentais desenvolvidos por
diversos fornecedores, não é de estranhar que para
comunicarem entre si necessitem de interfaces
específicas a cada caso para que essa comunicação
seja possível. Foi para ultrapassar estas dificuldades
de comunicação entre sistemas que, no final dos anos
oitenta, surgiu o protocolo de mensagens standard
HL7. Ainda assim, a implementação do standard
HL7 tem sido lenta em Portugal. Nesta medida,
existem ainda muitos sistemas em produção que não
funcionam, sem adaptações, em conformidade com
esta norma.
Assim, sempre que surge a situação em que se
pretende que dois sistemas – dos quais pelo menos
um não segue a norma HL7 – comuniquem, é
necessário a criação de uma interface própria,
adaptada à situação específica, com todos os custos
de desenvolvimento associados.
Fig. 1 - Healthy Talkie: “Hub” de interfaces
Neste sentido, era importante encontrar um sistema
de interfaces que fosse mais flexível, para que a cada
nova necessidade de integração não seja necessário
um novo projecto, mas apenas a configuração desse
sistema. O Healthy Talkie (Fig. 1) foi idealizado com
esta ideia como base.
Assim, o sistema efectua a conversão entre dados
guardados numa base de dados e dados registados em
mensagens HL7, e vice-versa. Durante o projecto foi
decido que, além dos tipos de interfaces BD-HL7 e
HL7-BD, seria relevante implementar as interfaces
BD-BD e HL7-HL7.
3.2.
Módulos desenvolvidos
O sistema implementado pela equipa incluiu vários
módulos. No âmbito específico deste estágio foi
implementado o módulo de Formatação e de Parsing.
Por outro lado foram também desenvolvidas as Filas
de Espera.
As Filas de Espera suportam a actividade do sistema,
armazenando os dados em trânsito entre módulos.
Assim, as Filas armazenam ocorrências de eventos ou
mensagens HL7, que aguardam processamento.
Como tal, as principais operações sobre as Filas
incluem inserção, remoção e leitura do próximo
registo a ser processado. As Filas foram
implementadas em Berkeley DB, através da API
deste sistema de bases de dados para Java, linguagem
adoptada no desenvolvimento do Healthy Talkie.
Os sub-módulos de Parsing e Formatação, apesar de
possuírem objectivos diferentes, e de serem
estruturalmente diferentes, têm vários procedimentos
em comum. Ambos têm o mesmo output: criação de
uma mensagem HL7 ou criação de um conjunto de
registos para inserção em base de dados. A única
diferença prende-se com a origem dos dados, que
num caso é HL7 e no outro é BD. Assim, as
principais diferenças operacionais entre os módulos
são ao nível da extracção dos dados a partir da sua
origem e da correspondente interpretação dos
ficheiros XML de configuração relativos a essas
origens.
Assim, a partir de dados simples originários de base
de dados (Formatação), ou de dados presentes numa
mensagem
HL7
(Parsing),
estes
módulos
transformam esses dados e mapeiam-nos para uma
mensagem HL7 ou para dados para inserção em base
de dados. A transformação dos dados é efectuada
recorrendo a funções de formatação, que podem ser
internas ou externas. As primeiras são escritas em
Java, e como tal compiladas de origem com o
sistema. No caso das externas, estas são funções
JavaScript que o utilizador pode definir, para que
sejam interpretadas pelo sistema. Esta interpretação é
efectuada através de funcionalidades constantes da
versão SE 6 de Java.
Todo o processamento do sistema depende dos
ficheiros de configuração. Estes ficheiros XML são
interpretados através da implementação do standard
DOM para Java. Assim, as configurações do sistema
estão organizadas em ficheiros “humanamente”
legíveis, e facilmente acessíveis, quer pelo utilizador,
quer pela aplicação.
Para efeitos de logging da aplicação foi utilizada a
ferramenta Log4j, que disponibiliza uma API para
Java.
4.
Conclusões
O saldo final do estágio realizado é claramente
positivo. Os objectivos propostos foram cumpridos e
o estágio permitiu pôr em práctica conhecimentos
adquiridos durante o curso, proporcionando uma
primeira abordagem ao mundo profissional.
Os módulos desenvolvidos foram concluídos e
integrados no Healthy Talkie, o que causa elevados
índices de satisfação pelo sucesso alcançado em
resultado do trabalho desenvolvido durante o estágio.
O facto da Siemens planear já a instalação do sistema
em unidades clínicas com as quais desenvolve a sua
actividade, é a prova evidente da pertinência do
projecto para a empresa.
A integração na empresa foi bastante boa, fruto do
bom ambiente de trabalho vivido. Este contexto, em
conjunto com o desenrolar positivo do projecto,
contribuiu para a consolidação de índices elevados de
motivação, sendo o estágio já de si motivante à
partida.
Download