IV Workshop de Informática aplicada à Saúde – CBComp 2004 Relatos de Pesquisa A Engenharia de Software no Desenvolvimento de um Prontuário Eletrônico do Paciente. O caso da Clinica Sabedotti de Ponta Grossa no Estado do Paraná R. Ranthum, Professor, CEFET-PR, e A. C. de Franciso, Professor Dr., CEFET-PR Abstract -- The computer science started to be part of the medicine professionals' day by day, of this form companies and teaching institutions it has been guiding several efforts in the sense of implementing solutions to integrate the great range of information originated in equipments of images and administrative systems. In this work a proposal of development of an Electronic Handbook of the Patient will be presented (PEP), for it Practices medicine her Sabedotti, located in the city of Ponta Grossa in the State of Paraná, that is formed by a highly qualified clinical body in the area of diagnoses through images. Using the most modern techniques of software engineering with the objective of creating an innovative product. One of the focuses of this project is the adoption of products on the license GLP (free software), and totally gone back to the internet, creating this way a product with costs reduced, high acting, of easy maintenance and distribution.. Index Terms-- Electronic Handbook of the Patient, Software Engineer, UML, software free, DICOM. Resumo - A informática passou a fazer parte do dia-a-dia dos profissionais de medicina. Dessa forma, empresas e instituições de ensino têm orientado diversos esforços no sentido de implementar soluções que integrem a grande gama de informações originadas em equipamentos de imagens e sistemas administrativos. Neste trabalho será apresentada uma proposta de desenvolvimento de um Prontuário Eletrônico do Paciente – (PEP), para a Clinica Sabedotti, localizada na cidade de Ponta Grossa, no Estado do Paraná, que é formada por um corpo clínico altamente qualificado na área de diagnósticos através de imagens, utilizando-se as mais modernas técnicas de engenharia de software com o objetivo de criar um produto inovador. Um dos enfoques deste projeto é a adoção de produtos sobre a licença GLP (software livre), e totalmente voltado para a internet, criando, dessa forma, um produto com custos reduzidos, alto desempenho, de fácil manutenção e distribuição. Palavras-chave - Prontuário Eletrônico do Paciente, Engenharia de Software, UML, software livre, DICOM. I. INTRODUÇÃO A informação atualizada e correta tem sido uma das buscas constantes das organizações. Por conseguinte, os investimentos em tecnologias que as viabilizem têm sido o grande foco de empresas de desenvolvimento de sistemas de informação. O software de computador é uma dentre poucas tecnologias-chave que causaram impacto sobre quase todos os aspectos da sociedade. Ele é um mecanismo para automatizar negócios, a indústria e o governo, um meio de transferir novas tecnologias, um modo de captar valiosa experiência para ser usada por outros, uma janela para o conhecimento corporativo coletivo. O software é fundamental em quase todos os aspectos dos negócios. Encontramos o software (freqüentemente sem nos darmos conta dele) quando nos dirigimos ao trabalho, fazemos qualquer compra no varejo, paramos no banco, fazemos uma chamada telefônica, visitamos o médico ou realizamos qualquer uma das centenas de atividades do dia-a-dia que refletem a vida moderna (PRESSMAN, 1995). Oliveira e Neto (2003), entendem que o estágio atual da Tecnologia da Informação (TI) determina que softwares são constituídos por módulos ou peças menores que são acopladas para a montagem do produto final. Esses módulos possibilitam que partes individuais possam ser desenvolvidas independentemente das demais, desde que planejadas. Para Brooks (1987), Software é um conjunto de construções conceituais, complexas e não-lineares, sujeitas a mudanças e modificações, e invisível, destacando, ambos, desta maneira a dificuldade e complexidade envolvida na atividade de construção de um software, muitas metodologias para a criação de software apontam para a aproximação cada vez maior com a abordagem da criação de produtos na gestão da manufatura. Uma das áreas que mais tem se mobilizado na busca de dados confiáveis e integrados, tem sido a área médica. Nesse sentido, destacamos os esforços no desenvolvimento dos chamados Prontuários Eletrônicos dos Pacientes (PEP). O PEP, segundo Waegemann (1996), presidente do Medical Record Institute, é dividido em cinco níveis evolutivos: 1. Registro Médico Automatizado: este nível de sistema representa a maioria dos casos na atualidade. A informação é armazenada em computadores pessoais e não está de acordo com os requisitos legais e, portanto, o prontuário em papel é mantido em conjunto. Desta forma, 522 IV Workshop de Informática aplicada à Saúde – CBComp 2004 papel e registro eletrônico coexistem. 2. Registro Médico Computadorizado: neste nível, médicos e toda a equipe coletam a informação no papel e a imagem dos documentos resultantes é armazenada de forma digitalizada no sistema computacional. Em geral, esse tipo de sistema é departamentalizado, com pouca, mas já atinge alguns dos requisitos legais, podendo dispensar o papel em alguns casos. 3. Registro Médico Eletrônico: consiste em um modelo interdepartamental, reunindo os requisitos legais para confidencialidade, segurança e integridade dos dados. 4. Registro Eletrônico do Paciente: sistemas neste nível interligam todas as informações do paciente. Inclusive dados fora da instituição (interinstitucional). Para se chegar a este estágio, é necessária uma maneira de identificar o paciente de forma unívoca e nacional. 5. Registro Eletrônico de Saúde: neste último nível, além das características evolutivas dos anteriores, a responsabilidade de manter o prontuário é dividida entre profissionais de saúde e pacientes. Para Massad (2003), o desenvolvimento de prontuários padronizados baseados em sistemas de processamento digital, a possibilidade de manter registros longitudinais que abarcam toda a vida do indivíduo e a criação de bases de dados contendo informações agregadas clínicas e administrativas são reconhecidos como de grande impacto e benefícios na melhoria da eficácia, eficiência, segurança e qualidade da prática de saúde. Conforme descrito acima, PEP é um sistema de informações médicas. Para se alcançar um programa de computador com tais características, é necessário o uso de técnicas e métodos que possam garantir um desenvolvimento com qualidade, rapidez, segurança e de fácil manutenção. E isso só será conseguido com a utilização dos conceitos de engenharia de software, que é definida como: “Estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais”. (PRESMAN, 1995, p. 31) Com o objetivo de integrar os processos de um PEP com as imagens digitais dos equipamentos de diagnóstico pertencentes à Clínica Sabedotti, tomamos a decisão de utilizar aplicações baseadas nos conceitos da Engenharia de Software e diretamente relacionada à área médica. O objetivo principal deste trabalho é o desenvolvimento de um produto que centralize em uma mesma aplicação dados Relatos de Pesquisa dos pacientes e suas imagens geradas no padrão Digital Image and Communication in Medice (DICOM). O DICOM é um padrão de arquivamento digital de imagens médicas utilizado para garantir interoperabilidade e comunicação entre os equipamentos médicos e a aplicação em questão. Muitos fabricantes aderiram a esse padrão, e seus equipamentos mais modernos produzem então imagens digitais que podem ser enviadas diretamente ao computador, seja através de uma rede de computadores, seja através da gravação de meios óticos ou magnéticos como cd-rom ou fitas. II. METODOLOGIA Atualmente, a construção de sistemas de prontuário eletrônico está em grande fase de desenvolvimento por todo o mundo. Muitas empresas possuem equipes aptas e especializadas em produzir softwares de qualidade; outras, entretanto, não possuem visão definida do processo de desenvolvimento e acabam produzindo sistemas de má qualidade técnica, sem atingir as expectativas esperadas. (COSTA, 2001) O modelo utilizado para a construção deste projeto será de objetos orientados, para garantir confiabilidade, escalabilidade, dentre outras características para a aplicação, requisitos esses fundamentais para uma engenharia de software bem aplicada. A utilização desse conceito tem como objetivo agilizar o processo produtivo do sistema em desenvolvimento e garantir também flexibilidade, para a utilização de padrões de projetos (Design Patterns) e componentes de software (frameworks). Ciclos de Desenvolvimento Um ambiente de desenvolvimento é normalmente visto como o conjunto de um kit (linguagem de desenvolvimento e um ambiente integrado (IDE/RAD)). Porém, um ambiente de desenvolvimento pode englobar ainda muitos outros itens, como ferramentas auxiliares para implementação, testes, versionamento, automatização de processos e cooperação, além de políticas que determinarão a utilização dessas ferramentas de forma mais otimizada e integrada. O Conjunto de tais ferramentas, tecnologias e políticas são chamadas de Gestão de Configuração de Software (SCM - Software Configuration Manager). Os métodos utilizados, desde a fase de análise de requisitos até a homologação e transferência da aplicação de um ambiente de produção para um ambiente de execução em relação a sua configuração e gerenciamento de softwares, tecnologias e padrões são: Ciclo de requisitos e análise do sistema. Os requisitos referem-se às necessidades dos usuários. É de fundamental importância a compreensão para se ter sucesso no desenvolvimento de uma aplicação, 523 IV Workshop de Informática aplicada à Saúde – CBComp 2004 À análise de requisitos resta também garantir uma estrutura de dados adequada, para que futuras aplicações tais como estudos clínicos possam ser implementados e contar com todas as informações necessárias. A técnica de análise utilizada, e que atualmente mais se destaca, é a Análise Orientada a Objetos (OOA – Object Oriented Analising), que traz diversos benefícios, tais como funcionalidades complexas que podem ser desenvolvidas com uma codificação menor, melhor e mais objetiva, onde um rápido desenvolvimento será alcançado, tendo uma aplicação que poderá ser reutilizada e mantida facilmente. Ciclo de Projeção e modelagem do sistema. Considerando-se um estudo realizado por Costa (2001), que demonstra que até 75% de todo o código produzido em uma aplicação são destinados a construção de interfaces e problemas de interação com o usuário, adotou-se uma técnica decorrente da decisão tomada na fase anterior à modelagem/projeção do sistema, onde, seguindo as mesmas características da AOO (Análise Orientada à Objetos), adotouse a o Design Orientado a Objetos (OOD - Object Oriented Design), construindo assim uma interessante técnica de desenvolvimento para fechar a 2ª fase de desenvolvimento do projeto, a Análise e Design Orientados a Objetos (OOAD). Essa técnica ajuda na obtenção de ferramentas de 4 ª geração, como as Ferramentas CASE, que ajudarão na modelagem da aplicação, facilitando assim a construção de protótipos no ciclo de desenvolvimento e contribuindo para o aceleramento de diversas fases do sistema, dentre elas a codificação da aplicação e geração de bases de dados para armazenamento de informações. Como linguagem de modelagem e unificação dos requisitos do sistema será utilizada a Unified Modeling Language (UML), desenvolvida para especificar, criar, padronizar e documentar entidades do sistema onde, através de uma linguagem natural e capaz de traduzir do mundo real os problemas reais encontrados para que os mesmos, possam ser computadorizados e aplicados. Relatos de Pesquisa tratamento de objetos distribuídos para garantir a segurança, confiabilidade do sistema, onde os chamados Enterprise Java Beans (Sun MicroSystem), componentes de negócio, serão utilizados para suprir necessidades de desenvolvimento de regras de negócio para aplicação, podendo ser reutilizados de acordo com a necessidade do projeto. De acordo com as características de configuração e gerenciamento de software, Software Configuration Manager (SCM), serão descritas todas as necessidades e aplicações desses componentes, de acordo com a arquitetura da aplicação. Para atingirmos os objetivos propostos, serão utilizadas diversas ferramentas de desenvolvimento como: J2sdk1.4.2, Eclipse IDE, Lomboz 3.2, Eclipse Modeling Framework, Jboss Aplication Server, Ant Framework, Struts Framework 1.1, Xdoclet Framework, CVS Framework, Log4j. Todas essas ferramentas utilizam o conceito de software livre; reduzindo assim os custos com o desenvolvimento. Ciclo de Testes Várias estratégias de testes podem ser implementadas para assegurar que o software está realmente em acordo com suas especificações e livre de erros: testes de unidade, testes de integração, testes de sistema e testes de instalação são exemplos de estratégias que poderão ser utilizadas. De acordo com as necessidades do projeto, testes de unidades serão aplicados na fase de implementação do projeto. Ciclo de homologação e transferência. Através dos componentes como Ant, para scripts automatizados de compilação e o componente Jboss, servidor de aplicação, técnicas serão aplicadas para que a aplicação seja polimórfica. De acordo com os comandos dados, a aplicação será criada de uma forma, ou seja, tanto para testes unitários em ambiente de produção como testes em ambiente de execução, além de reformular várias características de acordo com a necessidade de execução e colocar a versão do sistema em execução no servidor de aplicações (deploy) da aplicação. Ciclo de implementação Será adotada a linguagem de desenvolvimento JAVA, por ser uma linguagem 100% orientada a objetos, portavél, extensível e equandradada no conceito de software livre. Essa linguagem tem tais características, pois não é uma linguagem híbrida como Delphi e Visual Basic, que não são puramente orientada a objetos. Sua portabilidade dá-se pelo fato de poder rodar em qualquer plataforma de sistema operacional, extensível devido ao seu código fonte ser aberto e várias comunidades de desenvolvimento produzirem diversos módulos que poderão ser integrados ao projeto. O ciclo de codificação também apresenta como característica a utilização de uma técnica de implementação, conhecida como Programação Orientada a Objetos (POO). A implementação do sistema terá como grande característica o III. DISCUSSÃO E CONCLUSÕES Baseado na Engenharia de Software, o desenvolvimento do PEP produzirá um produto flexível, expansível, interoperável e inovador. Além disso, o mesmo conta com uma interface para internet, o que permitirá o acesso de todas as funcionalidades do sistema local ou remotamente, contando com a segurança de aplicações baseada na linguagem Java. Os custos de desenvolvimento do projeto foram reduzidos a níveis totalmente acessíveis para os padrões nacionais. Será possível a realização de diagnósticos à distância após a implantação e certificação do programa, através dos padrões definidos pelo Conselho Regional de Medicina, encontrados no "Manual de Requisitos de Segurança, Conteúdo e 524 IV Workshop de Informática aplicada à Saúde – CBComp 2004 Relatos de Pesquisa Funcionalidades para Sistemas de Registro Eletrônico em Saúde” (LEÃO, 2004) Espera-se que a implantação do referido sistema oportunize à clínica acesso a informações de diversos tipos, tais como: geográficas, imagens e/ou diagnóstico. Isto se deve ao fato de que as informações estarão armazenadas em uma única base de dados integrada, agilizando a consulta das mesmas, quando necessário. Aliado a esse benefício, espera-se uma redução de custos operacionais, pois as imagens passarão a ser armazenadas em meios magnéticos, sendo descartada, parcialmente, a utilização de filmes. Outro benefício esperado com a proposta é a possibilidade da realização de diagnósticos à distância pelos especialistas, trazendo assim uma redução de seus custos e tempos, pois não necessitarão estar presente no local da realização do exame, normalmente feito por um responsável técnico. IV. REFERÊNCIAS BIBLIOGRÁFICAS BROOKS, F. No Silver Bullet: Essence and accidents of software engineering. IEEE Computer. 1987. COSTA, C. G. A. Desenvolvimento e Avaliação Tecnológica de um sistema de prontuário eletrônico do paciente, baseado no paradigma da Word Wide Web e da engenharia de software. (Dissertação de mestrado apresentada à Faculdade de Engenharia Elétrica e de Computação da Universidade Estadual de Campinas), Campinas: 2001. LEÃO, B. F.; e et al. Manual de Requisitos de Segurança, Conteúdo e Funcionalidades para Sistemas de Registro Eletrônico em Saúde (RES). São Paulo: 2004. MASSAD, E.; e et al. O prontuário eletrônico do paciente na assistência, informação e conhecimento médico. São Paulo: H. De F. Marin, 2003. OLIVEIRA, D.; NETO, A. Fábrica de Software: Promovendo a Criação de Empresas Competitivas em Tecnologia da Informação. In: ENEGEP, Ouro Preto. Anais Eletrônicos... ABEPRO. 1 CD. Minas Gerais, 2003. PRESSMAN, R. S. Engenharia de Software.São Paulo: Makron Books,1995. WAEGEMANN, P. The Five Livels of Eletronic Health Records. M. D. Computing, v13, n3, 1996. 525