Lepidus R3: Implementação De Sistema De Apoio à Decisão Médica Em Arquitetura Distribuída Usando Serviços Web

May 28, 2017 | Autor: Antonio Carlos | Categoria: Computer Aided Diagnosis, Healthcare Information System Market
Share Embed


Descrição do Produto

Lepidus R3: Implementação de Sistema de Apoio à Decisão Médica em Arquitetura Distribuída Usando Serviços Web Ivan Torres Pisa1, Andréia Cristina Galina2, Paulo Roberto de Lima Lopes3, Claudia Novoa Barsottini4, Antonio Carlos Roque da Silva Filho5 1,3,4

Departamento de Informática em Saúde (DIS), Universidade Federal de São Paulo (UNIFESP/EPM), Brasil 2,5 Departamento de Física e Matemática (DFM), Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto (FFCLRP), Universidade de São Paulo (USP), Brasil

Resumo - O sistema de apoio à decisão médica Lepidus foi desenvolvido para auxiliar médicos e profissionais qualificados da área de saúde a diagnosticarem doenças a partir de sinais e sintomas clínicos. Apesar do sistema oferecer excelente resposta – cerca de 84% de acerto considerando as primeiras 37 sugestões – a arquitetura e tecnologia empregadas em seu desenvolvimento dificultam o uso em experimentações científicas e aplicações reais. O ambiente atual ainda não permite que o acesso ao sistema seja realizado por aplicativos automatizados, impossibilitando uma avaliação estatística ou interoperação com sistemas legados de informação em saúde. Somente acesso manual foi considerado. O projeto Lepidus R3 tem por objetivo desenvolver, implementar e avaliar uma arquitetura distribuída que permita oferecer interoperabilidade para o sistema Lepidus através do uso de tecnologias de Serviços Web baseados em SOAP/XML. Esse projeto conta com o suporte financeiro da FAPESP processo no. 03/01839-2. Palavras-chave: Lepidus, Sistemas de Apoio à Decisão Médica, Arquiteturas Distribuídas, Serviços Web. Abstract – The computer-aided diagnostic system Lepidus was developed to help physicians and healthcare professionals to diagnosis illnesses from clinical signals and symptoms. Despite the excellent response - about 84% correct considering the first suggestions - the architecture and technology defined in its development make it difficult to use in critical situations and scientific experiments. Moreover, it does not offer automated access, not supporting statistics evaluation or interoperability with legacy healthcare information systems. Manual access was the only access considered. The project Lepidus release 3 has for objective to develop, to implement and to evaluate a distributed architecture to offer to interoperability for the Lepidus system through SOAP/XML webservices technologies. This project is funded by FAPESP under grant no. 03/01839-2. Key-words: Lepidus, Computer-Aided Diagnosis Systems, Distributed Architectures, Webservices.

Introdução O desenvolvimento de sistemas informatizados de representação e gerenciamento de dados médicos foi fundamental para auxiliar a evolução da prática da medicina nas últimas três décadas. Entre as modalidades de aplicação de sistemas informatizados à área de saúde e medicina encontram-se os chamados sistemas de apoio à decisão médica (SADM) [1]. Esses sistemas foram desenvolvidos com o intuito de auxiliar os profissionais da saúde a tomar decisões que influenciem diretamente no diagnóstico de pacientes ou no gerenciamento de processos que levem ao diagnóstico. Uma das principais motivações para o uso de sistemas automatizados de apoio à decisão em medicina é a esperança de que eles possam ajudar a superar algumas das dificuldades intrínsecas à

própria natureza do conhecimento médico, que é incerto, impreciso e incompleto [2]. Aproveitando os recursos da informática, os sistemas automatizados de apoio à decisão possuem a capacidade de incorporar e representar uma enorme quantidade de informação médica e de codificar estratégias de seleção e decisão que levem a respostas úteis para o processo de tomada de decisão de um profissional de saúde. Os primeiros sistemas computadorizados de apoio à decisão médica surgiram na década de 1970. Considera-se que o primeiro SADM foi desenvolvido por De Dombal na Universidade de Leeds, Inglaterra, para auxiliar no diagnóstico de dor abdominal [3]. Um outro sistema que surgiu na mesma época é o MYCIN [4], dedicado ao diagnóstico de doenças infecciosas, inovador por adotar estratégias de inteligência artificial. Posteriormente

outros sistemas foram desenvolvidos incluindo desde sistemas de amplo escopo, cobrindo toda a medicina interna como os sistemas do projeto Internist1/QMR [5,6] e o DXPlain [7], até sistemas voltados para domínios específicos [8,9,10,11,1]. No Brasil, sistemas de apoio à decisão médica têm sido desenvolvidos para as áreas de fonoaudiologia, cardiologia, dermatologia, homeopatia, medicina chinesa, neurologia, oftalmologia, pediatria, psiquiatria, entre outras [12]. Com seus sucessos e fracassos, o desenvolvimento e a aplicação de sistemas de apoio à decisão médica tem sido crescente. Apesar das discussões e questionamentos relacionados ao tema [13], sua participação na evolução da prática da Medicina, juntamente com a de toda a informática, se mostra irreversível [14,15]. Para continuar o desenvolvimento do sistema de apoio à decisão médica Lepidus torna-se, portanto, pertinente estudar, avaliar e implementar inovações tecnológicas e avaliar os processos nos quais o sistema Lepidus se enquadra para oferecer subsídios para o planejamento de sua evolução. Este projeto tem por objetivo desenvolver, implementar e avaliar uma arquitetura distribuída para o sistema Lepidus – aqui denominado Lepidus R3 que ofereça um excelente nível de interoperabilidade através do uso de tecnologias de Serviços Web baseados em SOAP/XML. Metodologia O SADM Lepidus teve sua primeira versão desenvolvida por Roberto Silva e Antônio Carlos Roque da Silva Filho entre 1997 e 2000 como parte de um programa de doutoramento no Departamento de Física e Matemática (DFM), Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto (FFCLRP), Universidade de São Paulo (USP). Essa primeira versão foi ganhadora do prêmio de melhor trabalho do Congresso Brasileiro de Informática em Saúde de 2000 (CBIS’2000). Esse sistema utiliza uma forma de representação dos sinais e sintomas médicos através de funções senoidais amortecidas [12,16]. Para construir essa representação, a palavra usada para descrever um determinado sinal ou sintoma é analisada semanticamente para que três categorizações sejam extraídas: região do corpo na qual se manifesta, tipo de processo fisiopatológico associado e intensidade. A associação de três diferentes escalas numéricas às categorias permite representar cada palavra através de uma função

S = Asen(ω.x)e

−bx

(1)

na qual ω é o valor da freqüência que codifica a região do corpo, A é o valor da amplitude que codifica a intensidade e b representa a taxa que amortecimento que codifica o tipo de processo fisiopatológico. Nessa forma de representação, uma doença é codificada como a superposição das funções senoidais associadas aos sinais e sintomas que a caracterizam, n

D = ∑ Si

(2)

i =1

na qual D é a doença codificada e {Si}, i=1,..,n é o seu conjunto de sintomas. O sistema Lepidus utiliza uma rede neural artificial para processar os sinais senoidais amortecidos associados aos sinais e sintomas informados na sua entrada e compará-los com os padrões oscilatórios das doenças armazenadas em sua base de dados. Como saída, o Lepidus oferece uma lista de possíveis doenças relacionadas com os dados de entrada e sua proximidade. A base de dados original contém 1130 doenças e 400 sinais e sintomas [12]. Resultados O desempenho do Lepidus foi avaliado tomando-se 132 casos reais do arquivo do Hospital das Clínicas da Faculdade de Medicina de Ribeirão Preto (HCFMRP – USP) e de revistas especializadas [12]. Considerou-se como acerto a colocação do diagnóstico correto entre as primeiras 37 doenças da lista apresentada na saída [17]. O sistema Lepidus apresentou índice de acerto de 84%, apresentando eficácia semelhante aos sistemas Meditel e Iliad [12]. Quando consideradas apenas as 20 primeiras hipóteses, o índice de acerto foi de 68%. Adotando esse mesmo parâmetro, outros sistemas de diagnóstico médico geral apresentam índices de acerto de 71% (Meditel), 69% (DXPlain), 61% (Iliad), e 52% (QMR) [18]. Causas de erro no sistema Lepidus são atribuídas ao quadro indiferenciado do paciente (38%), diagnóstico não contido no sistema (19%), quadro incompleto na base de dados (19%), quadro oligossintomático (9,5%) e diferença semântica médico/sistema (5%) [16]. Discussão O código-fonte original do sistema Lepidus foi desenvolvido usando Microsoft Visual Basic para ser executado localmente em computadores com sistema operacional compatível com Microsoft Windows. A metodologia utilizada para armazenar a

base de dados foi simplesmente incorporar os dados diretamente no código-fonte através de matrizes. Posteriormente, essa versão foi convertida para VBScript de maneira que pudesse atender a requisições remotas via Internet usando navegadores Web [19]. Como acoplamento remoto utilizou-se componentes ActiveX. Nenhum padrão de intercâmbio entre aplicações foi definido, implementado ou avaliado. O acesso remoto ao sistema Lepidus nunca foi disponibilizado para sua utilização em situações reais. Apesar da sua excelente resposta em comparação com resultados da literatura [12], a maneira como o sistema Lepidus foi desenvolvido não facilita o desenvolvimento de extensões e de testes estatísticos em simulações ou casos reais. A interface desenvolvida exige o envio de toda a base de dados para possíveis avaliadores do sistema e não oferece robustez e padronização em seu modelo de dados e na implementação de casos de uso. Além disso, há a necessidade de reavaliar e possivelmente aumentar a base de dados utilizada para melhorar a precisão em suas respostas. Com o objetivo de evoluir o sistema Lepidus, uma segunda versão está em desenvolvimento, desde 2002, por Antônio Carlos Roque da Silva Filho e estudantes do grupo de Sistemas Neurais (SisNe) do Departamento de Física e Matemática (DFM), Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto (FFCLRP), Universidade de São Paulo (USP). As metas incluem aumentar a base de dados para um número em torno de 2000 doenças e um número significativamente maior de sinais e sintomas, aumentar a capacidade de trabalhar com diretivas sobre o paciente como sexo e idade e desenvolver uma interface mais amigável para o uso do sistema Lepidus em situações reais e para avaliações via Internet. A versão original do sistema Lepidus não se fundamentou em uma arquitetura adequada e as últimas iniciativas em se escrever um novo códigofonte para implementar a sua operação representam um avanço, no entanto, ainda estão longe de implementar um salto de qualidade que permita explorá-lo ao máximo, tanto em termos científicos como tecnológicos. O acesso remoto ao sistema está sendo solucionado através da reescrita do código-fonte usando a linguagem PHP [20], que permite executar o código diretamente no servidor. Também já está em uso o gerenciador de banco de dados MySQL [21] para armazenar a informação utilizada no processamento para obter o diagnóstico. Para integrar a funcionalidade do sistema Lepidus com outros sistemas de informação em saúde torna-se necessário desenhar uma arquitetura distribuída que permita oferecer acesso automa-

tizado e padronizado para usuários e aplicações [22]. Nesse caso, busca-se o uso de tecnologias simples, padronizadas, de código aberto e independentes de linguagem, sistema operacional, desempenho de equipamentos e localização geográfica. Pretende-se utilizar a tecnologia de Serviços Web baseados em SOAP/XML para implementar um mecanismo de publicação, transferência e integração da funcionalidade do sistema Lepidus com outros sistemas de informação em saúde. Além disso, o sistema Lepidus ainda requer uma avaliação de sua base de dados e algoritmo em uso real e crítico. A partir da evolução do sistema Lepidus pretende-se incrementar a parceria com o Departamento de Informática em Saúde (DIS) e com o Centro Alfa de Humanização do Ensino em Saúde, ambos da Universidade Federal de São Paulo (UNIFESP/EPM), para incorporá-lo a rotinas controladas de assistência médica para realizar uma avaliação em uso real. Serviços Web Serviços Web são representações baseadas na linguagem Extensible Markup Language (XML) de programas, objetos, mensagens ou documentos que são acessíveis pela Internet para interação direta aplicativo-aplicativo [23]. Os Serviços Web podem ser acessados usando-se navegadores, porém estes não são necessários, pois os serviços oferecem um mecanismo independente para expor de forma programada o acesso a funções usando protocolos e formatos padronizados. Com o crescimento no uso da Internet para fins comerciais e acadêmicos, especialmente na área da saúde, a infra-estrutura de comunicação torna-se mais disponível e viável financeiramente. Conseqüentemente, a adoção de Serviços Web permite alcançar maior eficiência e reduzir custos na integração de sistemas, permitindo construir sistemas de informação mais complexos e abrangentes [24]. A implementação mais popular de Serviços Web é denominada SOAP/XML e utiliza um conjunto de padrões abertos como o protocolo Simple Object Access Protocol (SOAP) [25], a linguagem de descrição Service Web Description Language (WSDL) [26], identificação de serviços pela Universal Description, Discovery, and Integration (UDDI) [27] e a linguagem XML [28]. Esses padrões são suportados em diferentes redes e arquiteturas como CORBA, DCOM e EJB e por diversos sistemas operacionais e fabricantes [29,30]. SOAP é um protocolo simples de comunicação baseado em XML que permite que aplicações troquem informação usando uma conexão Hypertext Transfer Protocol (HTTP), entre outras. As aplicações atuais que trocam mensagens em gran-

de parte utilizam Remote Procedure Calls (RPC) entre objetos DCOM ou CORBA, mas HTTP não foi desenhado para esse propósito. RPC apresenta problemas de compatibilidade e segurança, conseqüentemente, firewalls e servidores proxy geralmente bloqueiam o acesso a esse tipo de tráfego. Uma maneira mais abrangente de implementar essa comunicação entre aplicações é usar um protocolo sobre o HTTP, pois este é suportado por todos os navegadores e servidores de Internet independentemente de sistema operacional e linguagem de programação. A partir da implementação do sistema Lepidus a partir de uma arquitetura distribuída usando Serviços Web, conforme esquema resumido apresentado na Figura 1, torna-se possível atender de maneira padronizada e através do mesmo códigofonte diferentes tipos de acesso, incluindo: acesso direto de aplicações clientes; acesso indireto de aplicações clientes que utilizam aplicações servidoras locais para acessar funcionalidades externas; e

aplicações baseadas em navegadores e páginas Web. De maneira resumida, o acesso ao sistema Lepidus ocorre em três passos. Primeiramente, obtém-se a interface do Serviço Web do Lepidus de maneira direta ou através de uma agência de publicação. Em seguida, busca-se a autenticação para acesso ao serviço requisitado. Por fim, acessa-se o serviço diretamente no computador no qual está disponível. Esse esquema resumido representa uma metodologia de processo para acesso a Serviços Web em sistemas distribuídos que permite implementar uma rede colaborativa baseada em modelos peer-to-peer (P2P) com bom nível de escalabilidade e interoperabilidade [31]. Conclusões A adoção de Serviços Web permitirá que aplicações desenvolvidas pelo grupo SisNe, ou mesmo por outras instituições, possam acessar o

sistema Lepidus de maneira padronizada e direta. Por exemplo, para experimentar diferentes métricas no sistema Lepidus será necessário examinar um grande conjunto de casos que possam ser comparados. Na versão atual o sistema Lepidus exige que esses testes sejam feitos manualmente ou diretamente no código-fonte, usando a linguagem PHP. Esse panorama não é adequado para implementar acesso massivo no sistema Lepidus, especialmente para pesquisas realizadas por parceiros do grupo SisNe. Através do uso de Serviços Web será possível publicar a descrição, usando WSDL, de uma classe e seus métodos que implementam uma consulta ao Lepidus. A partir dessa descrição, qualquer pesquisador do SisNe ou de outra instituição, com acesso autorizado, poderá implementar em seu projeto de software, usando sua própria linguagem de programação, um objeto dessa classe que poderá acessar diretamente a funcionalidade do sistema Lepidus, remotamente. Portanto, o acesso estará embutido no programa cliente de maneira padronizada e eficiente, usando apenas tecnologias abertas para sua implementação. Muitas outras aplicações poderão ser desenvolvidas a partir da incorporação de Serviços Web no sistema Lepidus de maneira que o código-fonte original possa ser preservado. Agradecimentos Os autores agradecem o suporte financeiro da FAPESP e às instituições parceiras pelo suporte às pesquisas em desenvolvimento. Referências [1] Musen, M.A., Shahar, Y., Shortliffe, E.H. (2001), “Clinical Decision-Support Systems”, In: Medical Informatics: Computer Applications in Health Care and Biomedicine, Second Edition, Eds.: E. H. Shortliffe and L. E. Perreault, New York: Springer-Verlag, p. 573-609. [2] Bouchon-Meunier, B. (2000), “Uncertainty Management in Medical Applications”, In: Nonlinear Biomedical Signal Processing, Volume I: Fuzzy Logic, Neural Networks, and New Algorithms, Ed.: M. Akay, New York: IEEE Press, p. 1-26. [3] De Dombal, F.T., Leaper, D.J., Staniland, J.R., McCann, A.P., Horrocks, J.C. (1972), “Computer-aided diagnosis of acute abdominal pain”, British Medical Journal, n. 1, p. 376-380. [4] Shortliffe, E.H. (1976), Computer-Based Medical Consultation, MYCIN, New York: Elsevier/North Holland.

[5] Miller, R.A., Pople, H.E., Myers, J.D. (1982), “INTERNIST-1: An experimental computerbased diagnostic consultant for general internal medicine”, New England Journal of Medicine, n. 307, p. 468-476. [6] Miller, R.A., McNeil, M.A., Challinor, S.M., Masarie, F.E., Myers, J.D. (1986), “The INTERNIST-1/Quick Medical Reference project: status report”, Western Journal of Medicine, n. 145, p. 816-822. [7] Barnett, G.O., Cimino, J.J., Hupp, J.A., Hoffer, E.P. (1987), “Dxplain: an evolving diagnostic decision-support system”, Journal of the American Medical Association, n. 258, p. 67-74. [8] Kulikowski, C.A. (1980), “Artificial intelligence methods and systems for medical consultation”, IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-2, p. 464-476. [9] Adlassnig, K.P., Kolarz, G. (1982), “Cadiag-2: Computer-assisted medical diagnosis using fuzzy subsets”, In: Approximate Reasoning in Decision Analysis, Eds.: M. M. Gupta and E. Sanchez, Amsterdam: North Holland, p. 219247. [10] Szolovits, P. (Ed.) (1982), Artificial Intelligence in Medicine, Boulder CO: Westview Press. [11] David, J.M., Krivine, J.P., Simmons, R. (Eds.) (1993), Second Generation Expert Systems, Berlin: Springer-Verlag. [12] Silva, R. (2000), LEPIDUS: Sistema Especialista em Medicina Geral, Tese de Doutorado, Programa de Física Aplicada à Medicina e Biologia, Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto, Universidade de São Paulo, Ribeirão Preto, 123p. [13] Short, D., Frisher, M., Bashford, J. (2004), “Barriers to the adoption of computadorized decision support system in general practice consultations: a qualitative study of GP’s perspectives”, In: International Journal of Medical Informatics, v. 73, n. 4, p. 357-362. [14] Shortliffe, E.H. (1989), “Testing reality: the introduction of support technologies for physicians”, Methods of Information in Medicine, n. 28, p. 1-5.

[15] Berg, M. (1997), Rationalizing Medical Work: Decision Support Techniques and Medical Practices. Cambridge MA: MIT Press. [16] Silva, R, Roque, A.C. (2000), “Clinical medical diagnosis using a signal-processing approach”, In: Proceedings of the International Conference on Mathematics and Engineering Techniques in Medicine and Biological Sciences-METMBS’00, Ed.: F. Valafar, Las Vegas NV: CSREA Press, p. 13-18.

[26] Chinnici, R., Gudgin, M., Moreau, J., Weerawarana, S. (2003), Web Services Description Language (WSDL) version 1.2, working draft, http://www.w3.org/TR/wsdl12/, W3C Web Services Description Working Group; http://www.w3.org/2002/ws/desc/, January.

[17] Kassirer, J.P., Gorry, G. (1978), “Clinical problem solving: a behavioral analysis”, In: Annals of Internal Medicine, n. 89, p. 245-255.

[27] Bellwood, T., Clément, L., Ehnebuske, D., Hately, A., Hondo, M., Husband, Y.L, Januszewski, K., Lee, S., Munter, J., von Riegen, C. (2002), Universal Description Discovery and Integration (UDDI) version 3.0, OASIS, http://www.uddi.org/specification.html, July 19.

[18] Berner, E.S. (1994), “Performance of four computer-based diagnostic systems”, New England Journal of Medicine, v. 330, p. 1792-96.

[28] Ferris, C., Farrell, J. (2003), “What Are Web Services?”, In: Communications of the ACM, v. 46, n. 6, 2003, p. 31.

[19] Silva, R., Galina, A., Macchetti, C., Carvalho, V., Oliveira, R.F., Roque, A.C. (2002), “Lepidus on line: sistema de apoio à decisão médica na internet”, In: Anais do VIII Congresso Brasileiro de Informática em Saúde - CBIS’02, Natal RN, 29/set-02/out.

[29] Evans, C., Chappell, D., Bunting, D., Tharakan, G., Shmamura, H., Durand, J., Mischkinsky, J., Nihei, K., Iwasa, K., Chapman, M., Shimamura, M., Kassem, N., Yamamoto, N., Kunisetty, S., Hashimoto, T., Rutt, T., Nomura, Y. (2003), Web Services Reliability (WS-Reliability) version 1.0, http://www.hitachi.co.jp/Prod/comp/soft1/wsrm/ WS-ReliabilityV1.0.pdf, January.

[20] The PHP Group, PHP: HyperText Preprocessor (PHP), http://www.php.net, 17/jun/2004. [21] MySQL AB, MySQL Database Manager, http://www.mysql.com, 17/jun/2004. [22] Belian, R., Salgado, A.C. (2002), “Integração de Informações em Saúde na WEB: Uma Visão Tecnológica”, In: Anais do VIII Congresso Brasileiro de Informática em Saúde - CBIS’02, Natal RN, 29/set-02/out. [23] Newcomer, E. (2002), Understanding Web Services: XML, WSDL, SOAP, and UDDI, Addison Wesley Professional. [24] Clark, M., Fletcher, P., Hanson, J.J., Irani, R., Waterhouse, M., Thelin, J. (2002), Web Services Business Strategies and Architectures, Expert Press. [25] Gudgin, M., Hadley, M., Mendelson, N., Moreau, J., Nielsen, H. (2003), Simple Object Access Protocol (SOAP) version 1.2, http://www.w3.org/TR/soap12-part1, http://www.w3.org/TR/soap12-part2, W3C XML Protocol Working Group, http://www.w3.org/2000/xp/Group, May 07, 2003.

[30] Cerami, E. (2002), Web Services Essentials – Distributed Applications with XML-RPC, SOAP, UDDI & WSDL, O’Reilly & Associates, Inc. [31] Pisa, I.T. (2003), MIDster – Uma Arquitetura de Compartilhamento de Imagens Médicas Baseada em Modelos Peer-to-Peer (P2P) e Serviços Web, Tese de Doutorado, Programa de Física Aplicada à Medicina e Biologia, Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto, Universidade de São Paulo, Ribeirão Preto, 110p. Contato Ivan Torres Pisa, Dr, Setor de Telemedicina, Departamento de Informática em Saúde (DIS), Universidade Federal de São Paulo (UNIFESP/EPM), Rua Botucatu 862, Vila Clementino, 04032-062, São Paulo, SP, Telefone (11) 5574-5659 / 55740158 ramal 246, [email protected]. Os demais autores podem ser contatados a partir deste e-mail.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.