Desenvolvimento de Aplicações DICOM com o Uso de Tecnologias Web: Um Servidor e Cliente DICOM Marcelo dos Santos1, 2, 3, Evandro Eduardo Seron Ruiz3 1 Instituto do Coração (InCor) - HC-FMUSP, Universidade de São Paulo (USP), Brasil 2 Departamento de Engenharia Elétrica, Escola Politécnica da Universidade de São Paulo (EPUSP), Universidade de São Paulo (USP), Brasil 3 Computação de Imagens - ImagCom Departamento de Física e Matemática - Faculdade de Filosofia Ciências e Letras de Ribeirão Preto Universidade de São Paulo (USP), Brasil Resumo - O advento dos equipamentos digitais de diagnóstico médico possibilitou a menor utilização de filmes em radiologia, assim o gerenciamento de imagens médicas (IM) em formato digital tornou-se uma tarefa crítica. Neste trabalho apresentamos um protótipo, baseado em tecnologias World Wide Web (WWW), que realiza esta tarefa. O protótipo contempla um servidor de IM que viabiliza a pesquisa e recuperação dessas imagens armazenadas como arquivos DICOM (Digital Imaging and Communications in Medicine), como também, recebe requisições de serviços de equipamentos/aplicações compatíveis com este padrão. As IM podem ser visualizadas e manipuladas dentro de um navegador Web (o cliente da aplicação) por meio de uma aplicação Java (applet ). Esta abordagem oferece algumas vantagens em relação aos tradicionais sistemas de arquivamento e comunicação de imagens (PACS – Picture Archiving and Communication Systems), como: facilidade de instalação e manutenção, independência de plataformas, além das facilidades de distribuição de dados e integração com outros sistemas existentes na instituição. O sistema pode ser utilizado dentro e fora da instituição, bastando a implementação de políticas de segurança. A simplicidade e flexibilidade das tecnologias Web viabilizam o uso desta aplicação que provê recursos para gerenciamento e manipulação de IM. Palavras-chave: DICOM, Imagem Médica, Internet, Teleradiologia. Abstract - The advent of the digital devices for medical diagnosis has decreased the use of the regular films in radiology, like this the management of medical images in digital format has become a critical task. In this work we present a prototype, based on World Wide Web (WWW) technologies that carries out this task. The prototype involves a medical image server, which allows query and retrieval of medical images stored on DICOM (Digital Imaging and Communications in Medicine) archives, as also it receives and handles service requests from devices and applications compliant with the DICOM standard. The medical images can be viewed and handled inside a Web browser (the application client) by means of a Java application (applet). This approach offers some advantages over the traditional Picture Archiving and Communications Systems (PACS), such as: facility of installation and maintenance, platforms independence, and also contributes to the distribution and integration with others existing systems in the institution. The system can be used inside and outside from the health institution, which demands the implementation of security policies. The simplicity and flexibility of the Web technologies enable the use of this application that provides and enhances resources for management and handling of medical images in digital format. Key-words: DICOM, Medical Image, Internet, Teleradiology. Introdução As IM são amplamente utilizadas em instituições hospitalares, tornando-se ferramentas importantes na prática da Medicina moderna, pois tais imagens têm oferecido, não apenas uma forma de visualização não-invasiva de órgãos, tecidos, ossos e outras estruturas do corpo de um paciente, mas também um meio para monitorar os efeitos de tratamentos e planejar cirurgias. No entanto, devido à grande utilização de equipamentos digitais de diagnóstico, uma instituição que mantém um Centro ou Departamento de Radiologia gera uma enorme quantidade de dados sobre IM, o que torna crítica a realização das tarefas de armazenamento, distribuição e manipulação desses dados. Aliado a isto, está a incompatibilidade do formato das informações digitais geradas pelos diferentes sistemas de aquisição existentes no meio clínico. Somente em 1993 foi homologada, pelo comitê ACR-NEMA (American College of Radiology – National Electrical Manufacturers Association), a última versão de uma especificação completa de um padrão, designado DICOM (Digital Imaging and Communications in Medicine), com ampla aceitação pelos fabricantes de equipamentos e comunidade usuária, para comunicação e arquivamento de IM em formato digital. DICOM é o resultado do aperfeiçoamento de especificações anteriores: ACR-NEMA 1.0 (1985) e ACR-NEMA 2.0 (1988) [1]. O padrão DICOM contempla um conjunto de especificações envolvendo um protocolo de comunicação para troca de informações clínicas, um conjunto de serviços para o gerenciamento das atividades num Departamento de Radiologia, bem como o formato e codificação dos arquivos de IM e requisições (mensagens) de serviços deste padrão. Muitos PACS têm sido desenvolvidos com o intuito de gerenciar este enorme volume de dados gerados pelos diferentes sistemas de aquisição de IM, oferecendo funções de armazenamento, recuperação, processamento e visualização destes dados num ambiente clínico. Nestes sistemas as IM e suas informações associadas podem ser recuperadas rápida e eletronicamente [2]. Porém, o alto custo destes sistemas, muitas vezes, inviabiliza usufruir por completo dos recursos trazidos pela digitalização das IM [3] e o fato de muitos destes sistemas constituírem soluções proprietárias dificulta a possibilidade de compartilhamento de informações clínicas e interoperabilidade entre os diferentes sistemas das instituições de assistência à saúde, principalmente aquelas que mantêm atividades ligadas ao ensino e pesquisa. Em adição ao desenvolvimento de metodologias e abordagens para aquisição e processamento de IM, o uso da Internet e tecnologias complementares em aplicações clínicas não é novidade. Tais tecnologias têm sido utilizadas na transmissão de arquivos, acesso às informações de um PACS e propostas de teleradiologia e telemedicina. O sistema de comunicação Web, baseia-se na troca de informações e hipertextos, operando sobre um modelo baseado numa arquitetura cliente-servidor que envolve três componentes básicos: o cliente (navegador Web), o servidor (servidor Web) e a rede (Internet ou Intranet). A distribuição de IM e informações associadas com o uso de tais tecnologias torna-se uma solução atrativa, a qual faz uso de padrões e equipamentos já disponíveis em muitos ambientes clínicos [4]. Este trabalho apresenta a implementação de um conjunto de aplicações composto por um servidor e um cliente DICOM. Tal conjunto, disponível como um protótipo, faz uso do canal de comunicação disponibilizado pela Internet, com o intuito de prover os serviços de gerenciamento de IM e informações associadas, envolvendo a transmissão, armazenamento e recuperação, bem como a eficiente manipulação destas imagens. Todas as operações realizadas por este conjunto de aplicações são executadas em conformidade com a especificação do padrão DICOM. Metodologia Aliado ao rápido avanço da Internet, a linguagem Java, desenvolvida pela Sun Microsystems, revolucionou as aplicações Web [5]. Java é uma linguagem estritamente orientada a objetos, robusta, segura, de arquitetura neutra, portável, de alta performance, multithreaded, dinâmica e que oferece um número de extensões que suportam o desenvolvimento tanto de aplicações cliente/servidor como stand-alone [6]. A portabilidade e facilidade de desenvolvimento de aplicações Web fazem de Java uma boa opção para o desenvolvimento e implementação de aplicações clínicas, considerando a heterogeneidade e natureza distribuída do ambiente clínico. As aplicações desenvolvidas neste trabalho foram escritas em Java, com o uso de um conjunto de classes oferecido por um toolkit DICOM, também escrito em Java e desenvolvido em um trabalho de mestrado [7], o qual encapsula toda a especificação deste padrão. Primeiramente, construímos o servidor DICOM de IM, chamado ImagCom DICOM Image Server (IDIS). Esta aplicação recebe, executa e reage coerentemente às requisições de serviço originadas de equipamentos e/ou aplicações compatíveis com o padrão DICOM. O IDIS reúne diferentes módulos que fazem o armazenamento, pesquisa e recuperação de IM de diferentes modalidades, mantendo uma base de IM DICOM. Esta aplicação oferece os seguintes serviços: • Gerenciamento da base de IM, recebendo imagens de diferentes modalidades, a partir de fontes externas, como equipamentos de ultra-sonografia (US), tomografia computadorizada (CT) e ressonância magnética (RM), entre outros; • Concessão de permissões para que clientes DICOM distribuídos geograficamente possam interrogar a base de IM, respeitando-se as normas de segurança implementadas na instituição; • Controle das conexões e acesso à base de IM; • Disponibilização dos serviços de armazenamento, pesquisa e recuperação de • IM, independentemente do fabricante do equipamento, por meio de comandos e requisições de serviços DICOM para troca de informações; Conexão de clientes, tanto por uma porta TCP/IP (Transmission Control Protocol / Internet Protocol), quanto via HTTP (Hypertext Transfer Protocol), por meio de um navegador Web. ImagCom DICOM Image Server Camada de Dados Base de IM D Camada de Aplicação I C (Armazenamento, Pesquisa e Recuperação) O HTTP M Internet Internet ... Clientes Web Navegador Web ... Navegador Web Navegador Web Figura 1 – Contextualização do IDIS. A Figura 1 mostra a contextualização do ambiente onde servidor (IDIS) pode ser inserido. O IDIS possui duas interfaces, DICOM e HTTP, para troca de informações entre os sistemas clínicos, por meio de protocolos padrão. Internamente, o servidor está dividido em duas camadas: camada de dados e camada de aplicação. A camada de dados contempla as funções relativas ao gerenciamento da base de IM e informações clínicas. Para tanto, esta camada dispõe de um conjunto de métodos (rotinas) que implementam a funcionalidade dos serviços especificados pelo padrão DICOM, manipulando as informações contidas na base de IM. Ao lado desta camada está a camada de aplicação que mantém uma infra-estrutura de forma a suportar a comunicação (recebimento e envio) de mensagens DICOM provenientes de equipamentos e sistemas clínicos. Além da interface DICOM, o IDIS também disponibiliza uma interface HTTP que possibilita a conexão de clientes para realização de consultas e recuperação de informações DICOM na base IM do IDIS ou de outras bases de IM que o IDIS pode acessar. O IDIS e a aplicação cliente foram implementados e testados sob a plataforma Microsoft Windows NT. Para desenvolvimento e testes utilizamos um computador pessoal (PC) com processador Athlon 900MHZ, com 256MB de memória RAM, com sistema operacional MSWindows NT server 4.0 com o servidor de HTTP Apache 1.3.23 [8]. Para implementação do IDIS, começamos investigando a troca de informações entre um equipamento de US e um PC. Inicialmente, pretendíamos escrever o serviço de verificação (C-ECHO), porém antes de um par de aplicações DICOM iniciar a troca de serviços é preciso que estas aplicações executem um processo que trata da negociação da associação. Este processo cria um canal para troca de mensagens entre as partes envolvidas na comunicação e define os papéis de provedor e usuário (cliente e servidor) dos serviços DICOM, quais serviços uma aplicação pode oferecer, bem como, as regras de codificação dos dados e mensagens. Após a implementação, teste e validação do funcionamento do serviço C-ECHO, incorporamos ao servidor as classes de armazenamento, pesquisa e recuperação DICOM. Na camada aplicação, o IDIS contempla um módulo próprio que realiza os serviços de pesquisa e recuperação DICOM requisitados pelas aplicações clientes. A camada provê os serviços de pesquisa, recuperação e armazenamento de IM, em resposta às requisições de equipamentos e/ou aplicações DICOM de diferentes modalidades. Para manter a localização dos estudos disponíveis na base, o IDIS, na camada de dados, manipula um banco de dados relacional, o MySQL 3.22 [10], para indexar as séries de IM pertencentes aos estudos clínicos. Quando o usuário interroga a base sobre um paciente específico, o IDIS pesquisa sua base de IM e as diferentes bases de IM DICOM disponíveis na rede, pela execução do serviço DICOM C-FIND. A mesma base é atualizada quando é atendida uma requisição do comando C-STORE. Analogamente ao servidor e, novamente utilizando o toolkit DICOM, implementamos os clientes, chamados DICOM Web Viewer, com a função de requisitar os serviços de pesquisa e recuperação, exibir e possibilitar a manipulação de IM. Os clientes estão implementados em duas versões, uma como sendo uma aplicação standalone e outra como sendo uma applet Java, ambas com a mesma interface gráfica para o usuário. Pelo fato da aplicação manipular informações clínicas de diversos pacientes, o acesso a este servidor está restrito a usuários devidamente cadastrados e autorizados, de forma a considerar os aspectos éticos, de privacidade e segurança das informações. Após a conexão e autenticação do usuário, este pode acessar as IM da base do IDIS, enviando requisições de pesquisa, baseadas no comando C-FIND, pelo nome do paciente, identificação, modalidade do exame ou data do estudo. Com base no critério da pesquisa, o IDIS retorna uma lista dos pacientes que satisfazem a requisição de busca, com seus respectivos estudos. A Figura 2 mostra o módulo de gerenciamento dos estudos, onde o usuário pode pesquisar e recuperar as informações contidas na base de IM da instituição. Na parte superior estão disponíveis os parâmetros de configuração da conexão com o servidor de IM, juntamente com o critério para buscas na base. No lado esquerdo é apresentada a lista de pacientes (como uma estrutura de árvores) com seus estudos clínicos, pela qual o usuário pode selecionar e recuperar os estudos de um determinado paciente. Figura 2 – Gerenciador de Estudos. Quando um estudo é selecionado, as imagens que o compõem são carregadas, por meio de uma requisição do serviço C-GET, a partir da base do IDIS e das demais bases de IM DICOM disponíveis na rede. As imagens que compõem o estudo selecionado são mostradas na janela ao lado direito, para uma visualização prévia destas (como thumbnails). Inicialmente, é apresentada uma visualização com baixa resolução, até que todas as imagens que compõem o estudo estejam completamente carregadas. Apesar do IDIS ter uma interface Web e os clientes também serem executados num navegador Web, os arquivos das IM armazenadas em sua base são arquivos DICOM e em nenhum momento estes arquivos são comprimidos ou convertidos para qualquer outro formato, como os formatos padrão da Internet, tais como, JPEG (Joint Photographics Experts Group) ou GIF (Graphic Interchange File). O visualizador de IM DICOM do cliente pode exibir imagens com 8, 12 ou 16 bits por pixel e, adicionalmente, imagens com algum tipo de compressão DICOM e paleta de cores, como as obtidas em ultra-sonografia e medicina nuclear. Figura 3 – O negatoscópio virtual. Após selecionar o estudo, o usuário pode visualizar as imagens componentes deste estudo, como um thumbnail, dispostas numa janela, uma ao lado da outra, como que num negatoscópio (Figura 3), com a possibilidade de interagir, individualmente, com cada uma delas, com o suporte às funções básicas de processamento de imagens, como alteração de brilho e contraste, alteração de escala (zoom), rotação, adição de tabelas de cores falsas e animação dos frames componentes do estudo, incluindo funções de seleção de regiões de interesse. Nenhuma das operações, realizadas nas imagens neste módulo da aplicação, altera o arquivo original da IM. Para imagens dinâmicas, pode-se salvar a animação dos frames. As regiões de interesse, juntamente com as respectivas imagens, podem ser salvas para futura utilização. Algumas das funções da seleção de regiões de interesse incluem: 1. Linhas, retângulo, círculo, contorno à mão livre; 2. Textos de anotação; 3. Algumas funções para seleção de cores do texto e da caneta de desenho. Tanto o cliente quanto o servidor utilizam técnicas de processamento multithread. No caso do cliente, esta técnica é utilizada para acelerar o processo de carregamento da imagem. Enquanto uma linha de execução cuida de carregar a IM a partir do servidor, outra cuida da decodificação e visualização das informações. Resultados O acesso e manipulação de IM digitais utilizando ferramentas Web oferece um relevante conjunto de vantagens que se inicia na natureza onipresente da Internet e potencialidade de qualquer computador, equipado com um navegador Web, executar aplicações Java, inclusive aplicações de âmbito clínico. A abordagem apresentada neste trabalho foi testada somente em ambiente de desenvolvimento, em laboratório e para validar a funcionalidade, fizemos testes numa sala de exames de ultra-sonografia, de uma clínica de diagnóstico por imagens de Ribeirão Preto - SP. Nos testes iniciais destinamos o uso da aplicação exclusivamente à modalidade de ultra-som. Verificada a funcionalidade para esta modalidade, estendemos seu uso para outras modalidades. E, com novos testes, validamos a funcionalidade da aplicação para diferentes modalidades de estudos clínicos. Com esta abordagem conseguimos, além da manipulação e visualização eficientes de IM disponíveis num PACS, algumas vantagens em relação aos tradicionais PACS para acesso e manipulação de dados sobre IM: • A Web, dada à sua natureza onipresente, oferece uma interface de rede com funcionalidade universal e independente de plataforma; • Facilidade de instalação e manutenção do software; • Facilidade de integração com outros sistemas existentes na instituição. Uma outra característica relevante nesta abordagem é que as imagens devem “viajar” da base de IM DICOM do servidor até o navegador do usuário cliente. Assim, o sistema fica mais dependente da rede, neste caso a Internet. Assim, a velocidade de transmissão dos dados dependerá da estrutura da rede. Porém, esta abordagem supre a necessidade de troca de informações entre diferentes setores da instituição e outras instituições. Além disso, o problema de desempenho do sistema, devido à velocidade de transmissão dos dados, é contornado pelo pré-carregamento das IM da base do IDIS. Figura 4 – PACS tradicional. Figura 5 – Utilização do IDIS. A Figura 4 ilustra um PACS tradicional. O arquivo central de IM, normalmente, é “sobrecarregado” por imagens enviadas a partir dos equipamentos da instituição e deve responder a todas as requisições de serviços de pesquisa e recuperação dos equipamentos da rede. Em nossa abordagem (Figura 5), com a utilização do IDIS, podemos, praticamente, minimizar e, até mesmo, descartar o acesso exclusivo ao PACS com a diminuição do fluxo das requisições feitas ao servidor deste sistema. Dentre os resultados obtidos, destaca-se a apresentação deste conjunto aplicações, juntamente com outras aplicações, em uma das conferências do JavaOne 2002 [11], relatando a experiência do Brasil no desenvolvimento de aplicações clínicas com a tecnologia Java. Discussão e Conclusões Nosso sistema oferece algumas vantagens em relação aos tradicionais PACS. Pelo fato do sistema estar baseado num modelo cliente/servidor em que o cliente necessita apenas ter um navegador Web instalado, isto torna fácil a instalação e manutenção do sistema. Além disso, o sistema também está baseado numa interface Web, viabilizando sua utilização numa rede heterogênea (multiplataforma). Adicionalmente, se existir na instituição uma política de segurança implementada, o sistema também pode ser facilmente utilizado fora do ambiente clínico. Nos tradicionais PACS, o servidor de arquivo de IM está sempre ocupado recebendo exames de diversas modalidades e respondendo às requisições das estações de visualização e equipamentos de aquisição. Com esta abordagem tende a ocorrer uma diminuição no fluxo de requisições enviadas ao arquivo central da rede PACS (como mostra a Figura 5). Podendo este, ser substituído pelo IDIS, numa situação de diminuição de custos. Nossa aplicação oferece um acesso eficiente e flexível à base de IM digitais, viabilizando manipulá-las sobre a Internet, reduzindo custos de aquisição de equipamentos para a construção de uma infra-estrutura dedicada à transmissão, gerenciamento e manipulação de IM digitais, dentro e fora de um departamento de radiologia. A solução é independente de plataforma, viabilizando a integração de diferentes sistemas e aplicações DICOM. Além disso, em complemento às tecnologias WWW, Java permite a manipulação e exibição eficiente de IM. A disponibilidade de uma aplicação, como esta, desenvolvida para uma arquitetura aberta como a Web favorecerá o desenvolvimento de aplicações de pronto atendimento, fornecendo ao corpo clínico responsável plenas condições de monitoramento remoto do estado do paciente, bem como auxílio à tomada de decisões. Agradecimentos À Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP), pelo apoio e financiamento do projeto de pesquisa que viabilizou o desenvolvimento e implementação deste trabalho. Referências 1. American College of Radiology, National Electrical Manufacturers Association (1993), Digital Imaging and Communications in Medicine (DICOM) Part 1: Introduction and Overview., ACR-NEMA Commitee, Washington, DC. 2. Huang, H.K. (1999), PACS: Basic Principles and Applications, New York: Wiley Computer Publishing. 3. Ernest, R., Le, V.T., Kawashima, A., Caskey, C., Zelitt, D., Tamm, E., Sandler, C.M. (1999), “A Picture Archiving and Communications Systems Featuring Multiple Monitors Using Windows 98”, Journal of Digital Imaging, v. 12, n. 2, Suppl 1 (May), p. 106-108. 4. Bennet, W.F., Spigos, D.G., Tzalonikou, M.T., Terrell, J.E., Augustyn, M.A. (1999), “WebBased Viewing of Picture Archiving and Communications Systems – Part I: Optimal Personal Computer Configuration”, Journal of Digital Imaging, v. 12, n. 2, Suppl 1 (May), p 112-115. 5. Yourdon, E. (1996), “Java, the Web, and Software Development”, Computer, v. 29, n.8, 1996, p. 25-30. 6. Deitel, H.M., Deitel, P.J. (2001), Java: Como Programar, Porto Alegre-RS: Bookman. 7. Santos, M. (2001), Implementação de Módulos para Comunicação de Imagens Médicas em Protocolo DICOM, Dissertação de Mestrado, Programa Física Aplicada à Medicina e Biologia, FFCLRP-USP, 97p., dez. 8. Apache (2001), The Apache Foundation Softaware, http://www.apache.org. 9. Santos, M. , Ruiz, E.E.S. (2000), “Implementação de Módulos para Comunicação de Imagens Médicas em Protocolo DICOM”, Anais do Congresso Brasileiro de Informática em Saúde CBIS’2000, São Paulo, 14 - 18 de out. 10. MySQL (2001), http://www.mysql.com. MySQL, TM 11. Nardon, F.B., Leão, B.F. (2002), "How Java Technology Can Change Health Care: The Brazilian Experience", in http://servlet.java.sun.com/javaone/sf2002/co nf/bofs/display-2798.en.jsp Contato Marcelo dos Santos, MSc. Aluno de Doutorado [email protected] Serviço de Informática - InCor - HC-FMUSP Av. Dr. Enéas de Carvalho Aguiar, 44 CEP 05403-000 - São Paulo - SP Fone: +55 11 3069-5545, Fax: +55 11 3069-5311 Evandro Eduardo Seron Ruiz, PhD. [email protected] Av. dos Bandeirantes, 3900 CEP 14040-901 Fone: +55 16 602-3773, Fax: +55 11 633-9949