SISTEMA DE IMPORTAÇÃO DE DADOS DE CLÍNICAS RADIOLÓGICAS PARA O PROJETO INVESALIUS: DESENVOLVENDO A CAMADA DE APRESENTAÇÃO

Documentos relacionados
FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER.

SISTEMA DE IMPORTAÇÃO DE DADOS DE CLÍNICAS RADIOLÓGICAS PARA O PROJETO INVESALIUS: AMBIENTE DE DESENVOLVIMENTO E OS PASSOS DA CRIAÇÃO DO PROJETO

GUIA INTEGRA SERVICES E STATUS MONITOR

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Manual de digitação de contas Portal AFPERGS

Guia ineocontrol. iphone e ipod Touch

Sistema de Controle de Solicitação de Desenvolvimento

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

Sistemas Distribuídos

PROJETO INFORMÁTICA NA ESCOLA

Manual do Visualizador NF e KEY BEST

Manual do Usuário Android Neocontrol

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Microsoft Access XP Módulo Um

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

ISO/IEC 12207: Gerência de Configuração

Schooltool: Software de Gestão Escolar Para Criação e Manutenção de Quadro de Horários

Aplicação Prática de Lua para Web

CURSO DE ESPECIALIZAÇÃO EM GESTÃO ESCOLAR MODALIDADE A DISTÂNCIA.

Integração com o Ambiente Virtual de Aprendizagem Moodle

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Compras de Software do Governo.

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

MONTAGEM DE PROCESSO VIRTUAL

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Manual de configuração do sistema

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Como funciona? SUMÁRIO

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Um Driver NDIS Para Interceptação de Datagramas IP

Manual Xerox capture EMBRATEL

Manual Geral do OASIS

BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

Manual de Utilização do GLPI

Manual Portal Ambipar

Software Livre e proprietário: Coexistência de diferentes formas de Licenciamento, interoperabilidade e eficiência na inclusão digital e social.

Entendendo como funciona o NAT

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Importação de Dados para o Educacenso 2013

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Figura 1 - Arquitetura multi-camadas do SIE

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

Tutorial Moodle Visão do Aluno

Microsoft Lync Manual de Instalação e Uso

EQUIPE: ANA IZABEL DAYSE FRANÇA JENNIFER MARTINS MARIA VÂNIA RENATA FREIRE SAMARA ARAÚJO

Processos Técnicos - Aulas 4 e 5

Desenvolvendo Websites com PHP

Manual Captura S_Line

BH PARK Software de Estacionamento

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

MANUAL BACKUP XDENTAL 2012

NetEye Guia de Instalação

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

MÓDULO 5 Movimentações

Manual de Utilização das Funções Básicas do Sistema ClinicWeb

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Software automatizado para controle de consultas da clínica de fisioterapia

Cenário atual de uso e das ferramentas de software livre em Geoprocessamento

IMPORTANTE: O PNM4R2 não entra em estado funcional enquanto o Windows não

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Lógica de Programação

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Manual SAGe Versão 1.2 (a partir da versão )

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile

Prof. Marcelo Machado Cunha

Manual - Versão 1.2 1

PACS. III Encontro Sul Brasileiro de Engenharia Clínica. Santa Casa de Porto Alegre, RS. 24 de Novembro de 2012

Manual BitFarmácia Popular Versão 2 Software Autorizador Farmácia Popular

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

RADIOLOGIA DIGITAL. Conceitos Básicos. Eizo Soluções Médicas

MANUAL DO PVP SUMÁRIO

MANUAL DE USO DO COMUNICADOR INSTANTÂNEO

Manual Administrador - Mídia System

02 - Usando o SiteMaster - Informações importantes

Sistema de Gestão de Recursos de Aprendizagem

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

UNIVERSIDADE FEDERAL DE MINAS GERAIS Faculdade de Direito - Ciências do Estado e Governança Mundial

16:21:50. Introdução à Informática com Software Livre

Salvando arquivos em PDF nos Sistemas Mainframes, utilizando emuladores de terminal

Transcrição:

UNIVERSIDADE FEDERAL DE LAVRAS SISTEMA DE IMPORTAÇÃO DE DADOS DE CLÍNICAS RADIOLÓGICAS PARA O PROJETO INVESALIUS: DESENVOLVENDO A CAMADA DE APRESENTAÇÃO FLAVIO RODRIGUES SILVA LAVRAS MINAS GERAIS BRASIL 2008

FLAVIO RODRIGUES SILVA SISTEMA DE IMPORTAÇÃO DE DADOS DE CLÍNICAS RADIOLÓGICAS PARA O PROJETO INVESALIUS: DESENVOLVENDO A CAMADA DE APRESENTAÇÃO Monografia apresentada ao Departamento de Ciência da Computação da Universidade Federal de Lavras, como parte das exigências do curso de Pós-Graduação Lato Sensu em Produção de Software Livre, para a obtenção do título de especialização. Orientadora Professora Ângela Maria Alves LAVRAS MINAS GERAIS BRASIL 2008 2

FLAVIO RODRIGUES SILVA SISTEMA DE IMPORTAÇÃO DE DADOS DE CLÍNICAS RADIOLÓGICAS PARA O PROJETO INVESALIUS: DESENVOLVENDO A CAMADA DE APRESENTAÇÃO Monografia apresentada ao Departamento de Ciência da Computação da Universidade Federal de Lavras, como parte das exigências do curso de Pós-Graduação Lato Sensu em Produção de Software Livre, para a obtenção do título de especialização. APROVADA em de de. Prof. Prof. Prof. UFLA (Orientador) LAVRAS MINAS GERAIS BRASIL 2008 3

Dedico este trabalho a toda minha família que me sempre me apoiou e sempre se orgulhou de mim. Aos meus amigos que me ensinaram o caminho do Rock and Roll. 4

Agradecimentos Em primeiro lugar quero agradecer o Carpinteiro do Universo, que sempre me guiou pelo caminho da Luz. A minha orientadora, Professora Ângela Maria Alves, que transmitiu segurança ao meu grupo de estudos ao longo do desenvolvimento do trabalho. Aos professores da pós-graduação da turma PSL207/UFLA que me mostraram outros horizontes no mundo do software livre. E a todos os meus grandes amigos Fernando, Saulo, Sérgio e Sandro que contribuíram demais neste projeto e me guiaram ao longo do curso de pós-graduação. 5

SUMÁRIO LISTA DE FIGURAS... 07 INTRODUÇÃO... 08 1. SOFTWARE LIVRE, CÓDIGO ABERTO E SOFTWARE PÚBLICO BRASILEIRO... 09 1.1 História do Software Livre... 09 1.2 Software Livre e Código Aberto... 10 1.3 Software Público... 11 2. SOFTWARE INVESALIUS... 11 2.1 Um pouco de história: Quem foi Vesalius?... 11 2.2 Sobre o Software InVesalius... 12 2.3 Objetivos e Funcionalidades do Software InVesalius... 13 3. DICOM e PACS... 14 3.1 DICOM... 14 3.2 PACS... 14 4. DESENVOLVENDO A CAMADA DE APRESENTAÇÃO... 15 4.1 Ferramentas necessárias para a criação das Janelas... 16 4.1.1 Plataforma Python... 16 4.1.2 wxpython... 17 4.1.3 Boa Constructor... 17 4.2 Prototipagem das Janelas... 18 4.2.1 Janela do ponto DICOM receptor... 18 4.2.2 Janela do ponto DICOM transmissão... 20 4.2.3 Janela do ponto DICOM importar busca... 21 5. CONCLUSÃO... 22 6. REFERÊNCIAS BIBLIOGRÁFICAS... 23 ANEXOS... 24 ANEXO A... 25 ANEXO B... 32 6

LISTA DE FIGURAS Figura 1. Logo da Free Software Foundation... 10 Figura 2. Logo do Movimento Open Source... 10 Figura 3. Andréas Vesalius... 12 Figura 4. Software InVesalius... 13 Figura 5. Equipamentos que compõem o PACS... 15 Figura 6. Esboço do esquema dos Cliente-Servidor PACS... 16 Figura 7. Plataforma Python... 17 Figura 8. wxpython... 17 Figura 9. Boa-Constructor - IDE Python... 18 Figura 10. Janela ponto DICOM receptor Documentada... 19 Figura 11. Prototipagem da Janela ponto DICOM receptor... 19 Figura 12. Janela ponto DICOM transmissão Documentada... 20 Figura 13. Prototipagem da Janela ponto DICOM transmissão... 21 Figura 14. Janela ponto DICOM importar Documentada... 21 Figura 15. Prototipagem da Janela ponto DICOM importar... 22 7

Sistema de importação de dados de clínicas radiológicas para o projeto InVesalius: Desenvolvendo a Camada de Apresentação Flávio Rodrigues Silva Departamento de Ciência e Computação Universidade Federal de Lavras (UFLA) Caixa Postal 3142 37.200-000 Lavras MG Brasil flaviosorocaba@gmail.com Abstract. This paper describes the development of the presentation layer of the module "point DICOM" project implemented in InVesalius free software. Resumo. Esta monografia descreve o desenvolvimento da camada de apresentação do módulo "ponto DICOM" implementado no projeto de software livre InVesalius. Introdução Com o objetivo de desenvolver um projeto de software livre, reuniu-se uma equipe de alunos da UFLA, através da orientadora professora Ângela Maria Alves e foi realizado um contato com um dos responsáveis pelo portal do Software Público Brasileiro (SPB), Corinto Meffe. Uma lista de projetos que precisavam de colaboração foi enviada para o grupo, desta lista os alunos da UFLA escolheram o projeto InVesalius, um Software Livre e Público, atualmente desenvolvido e mantido pelo Centro Tecnológico de Informação CTI. Dentro das propostas do InVesalius havia 3 demandas de desenvolvimento da qual escolhemos o: SISTEMA DE IMPORTAÇÃO DE DADOS DE CLÍNICAS RADIOLÓGICAS. O projeto consiste na criação de um módulo para o InVesalius que adicionará a funcionalidade de importar imagens diretamente de servidores PACS. Esse documento tem como objetivo descrever o desenvolvimento da camada de apresentação do módulo ponto DICOM. Esta monografia está estruturada na seguinte forma: 8

Capítulo 1 Software Livre, Código Livre e Software Público Brasileiro: o objetivo deste capítulo é mostrar os conceitos básicos de cada um. Capítulo 2 Software InVesalius: o objetivo deste capítulo é descrever qual é a finalidade dessa ferramenta. Capítulo 3 Dicom e Pacs: citar de uma maneira geral os conceitos de DICOM e PACS. Capítulo 4 Desenvolvendo a camada de apresentação: o objetivo é dar uma introdução a plataforma Python e as bibliotecas usadas no desenvolvimento do software InVesalius e prototipagem das janelas camada de apresentação. Por fim serão apresentadas as conclusões do trabalho. 1. SOFTWARE LIVRE, CÓDIGO ABERTO E SOFTWARE PÚBLICO BRASILEIRO Software Livre é qualquer programa produzido, que pode ser usado, copiado, estudado, modificado e redistribuído com algumas restrições (GNU, 2008), segundo a definição da Free Software Foundation (FSF). Por mais que estes softwares tenham sucesso, eles geralmente são produzidos não profissional através de ferramentas simples. É justamente a percepção informal que faz o sucesso destes softwares, como é o caso do Python, PHP, Apache, Ubuntu Linux dentre outras ferramentas. Entretanto, para ser considerado software livre, é necessário que existam determinadas liberdades : - De executar o programa; - De modificar o programa; - De distribuir livremente o programa original; - De distribuir cópias da versão modificada. 1.1 História do Software Livre A história do software livre tem início com o sistema operacional Unix, pois era um sistema que usufruía do conceito de portabilidade, possibilitando o uso por diversas arquiteturas de computadores. E baseado nesses conceitos, os softwares livres foram produzidos com muito êxito. Em 1975 foi fundada a FSF por Richard Stalman, com o objetivo de criar um sistema operacional completamente livre. Porém, para que esta liberdade fosse garantida, foi preciso criar a GNU GPL, ou seja, a licença de software livre (a qual é a mais utilizada atualmente). A formulação da GPL ao invés de limitar a distribuição do software por ela protegido, impede que este software seja integrado em software proprietário. Já em 1991, Linnus Torvalds, quando ainda era um estudante, começou a desenvolver um núcleo de sistema operacional o Linux. Para que este software fosse desenvolvido, Linnus convidou desenvolvedores a fim de ajudá-lo a pôr o Sistema Operacional em prática e torná-lo uma realidade. O impasse principal foi à constatação 9

de que construir um sistema operacional seria uma tarefa difícil de ser concluída a partir do uso de um software com o código fonte fechado. Sendo assim, Linnus prontificou-se a criar um sistema operacional com o código aberto a fim de ser aperfeiçoado através de contribuições de colaboradores com o objetivo de aperfeiçoar e corrigir defeitos. Comunidade de software livre ou Open Source é a denominação do grupo de colaboradores ( ou interessados) em desenvolver softwares livres. As características mais importantes dos colaboradores são: tem como objetico desenvolver um software para ser redistribuído livremente; desenvolve software com excelência técnica, modularidade, reuso, portabilidade e observância a padrões publicados; com a Internet, não há distância geográfica entre eles e os projetos de software. Os softwares livres se apóiam uns nos outros, incentivando, desta forma, a interação dos mesmos. E o sucesso do sistema operacional Linux, deu-se ao uso da licença GPL escolhida, garantindo a preservação do trabalho contribuído. Diante do exposto nessa introdução, podemos afirmar que o software livre e Código Aberto estão evoluindo cada vez mais, trazendo inúmeras contribuições à sociedade mundial. 1.2 Software Livre e Código Aberto Os defensores do software livre argumentam que a liberdade é valiosa não só do ponto de vista técnico, mas também sob a ótica da moral e ética. Esse movimento é encabeçado Free Software Foundation (Figura 1). Figura 1. Free Software Foundation Os defensores do código aberto ou open source (Figura 2) argumentam a respeito das virtudes pragmáticas do software livre ao invés das questões morais. Esse movimento é encabeçado pela OSI - Open Systems Interconnection. Figura 2. Movimento Open Source A discordância básica dos movimentos está no discurso. Enquanto o foco do movimento encabeçado pela FSF chama a atenção para valores morais, éticos, direitos e liberdade o movimento encabeçado pela OSI defende um discurso mais agradável às empresas. Por este fato, o movimento de software livre condena o uso e desenvolvimento de software proprietário, enquanto o movimento de código aberto é conivente com o desenvolvimento de software proprietário. 10

As definições oficiais de software livre e de código aberto são praticamente as mesmas, porém escritas de formas distintas. E partindo deste princípio todo software de código aberto é também software livre. O movimento software livre não costuma tomar uma posição sobre trabalhos que não sejam software e documentação dos mesmos, mas alguns defensores do software livre acreditam que outros trabalhos que servem um propósito prático também devem ser livres. Para o movimento do software livre, que é um movimento social, não é ético aprisionar conhecimento científico, que deve estar sempre disponível, para assim permitir a evolução da humanidade. Já o movimento pelo código aberto, que é um movimento mais voltado ao mercado, prega que o software desse tipo traz diversas vantagens técnicas e econômicas. Ou seja, o movimento do Código Aberto surgiu para levar as empresas a adotarem o modelo de desenvolvimento de software livre. E como a diferença entre os movimentos "software livre" e "Código Aberto" está apenas na argumentação em prol dos mesmos softwares, é comum que esses grupos se unam em diversas situações. 1.3 Software Público O conceito do Software Público Brasileiro - SPB é utilizado como um dos alicerces para definir a política de uso e desenvolvimento de software pelo setor público no Brasil. Tal política compreende a relação entre os entes públicos, em todas as unidades da federação e demais esferas de poder, e destes com as empresas e a sociedade. A idéia para estruturação de um portal de soluções livres surgiu no ano de 1995 em função de uma proposta feita pela ABEP - Associação Brasileira de Entidades Estaduais de Tecnologia da Informação e Comunicação, durante um encontro entre a diretoria executiva da entidade e o Conselho Nacional de Secretários de Administração (Consad). Inicialmente a proposta da ABEP tinha como principal objetivo o compartilhamento de soluções entre as instituições públicas, em particular as instituições de informática pública. Com a experiência do sistema de inventário CACIC, disponibilizado pela Dataprev, sob a Licença Pública Geral-GPL, a visão deste compartilhamento foi ampliada para toda sociedade. A iniciativa do Portal do Software Público Brasileiro facilita a implantação de novas ferramentas nos diversos setores administrativos dos estados, promove a integração entre as unidades federativas e oferece um conjunto de serviços públicos para sociedade com base no bem software. 2. SOFTWARE INVESALIUS 2.1 Um pouco de história: Quem foi Vesalius? O nome do software, InVesalius, é uma homenagem ao médico belga Andreas Vesalius (Figura 3), que nasceu em Bruxelas a 31 de dezembro de 1514. Os conhecimentos de anatomia e fisiologia da época limitavam-se às descobertas feitas na Antigüidade, baseadas na dissecação de animais. A ausência de aulas práticas de anatomia na 11

Universidade de Paris o levou a freqüentar cemitérios em busca de ossadas de criminosos executados e vítimas de praga. Graduou-se doutor em Medicina pela Universidade de Pádua, na Itália, e em 1538 publicou seu primeiro trabalho, as Tabulae Sex, um conjunto de seis desenhos de anatomia feitos por ele mesmo. Figura 3. Andréas Vesalius A obra máxima de Andréas Vesalius, De Humani Corporis Fabrica, foi concluída em 1543, após inúmeras dissecações de cadáveres humanos. Dividida em sete partes ossos, músculos, sistema circulatório, sistema nervoso, abdômen, tórax e cérebro, o atlas traz magníficas ilustrações das estruturas do corpo e representa o marco inicial da anatomia moderna. Vesalius morreu em 1564, provavelmente em um naufrágio, na volta de uma peregrinação à Terra Santa. É considerado o pai da anatomia moderna. 2.2 Sobre o Software InVesalius InVesalius é um software público que busca revolucionar os procedimentos cirúrgicos em hospitais brasileiros. A partir de imagens bidimensionais (no formato DICOM) de equipamentos de Tomografia Computadorizada ou Ressonância Magnética, o programa permite criar modelos virtuais tridimensionais de estruturas anatômicas, fornecendo ao cirurgião uma visão mais clara da situação clínica de seu paciente. Desenvolvido desde julho de 2001 no contexto do projeto ProMED (Prototipagem Rápida na Medicina), sob responsabilidade da Divisão para Desenvolvimento do Produto (DDP) do Centro de Pesquisas Renato Archer (CenPRA), o programa tem sido amplamente empregado por cirurgiões e hospitais brasileiros desde 2004. Entretanto, apenas em agosto de 2007 o software aderiu ao conceito de Software Público, obtendo dentre muitas vantagens a possibilidade de se ter uma excelente infraestrutura de desenvolvimento e de suporte - o Portal do Software Público. O software InVesalius (Figura 4)permite criar, a partir de imagens médicas tomográficas, modelos virtuais e até mesmo réplicas tridimensionais em tamanho natural de estruturas anatômicas como crânios, mandíbulas e sistemas vasculares, através da técnica de prototipagem rápida. 12

A metodologia proposta é resultado da estreita colaboração entre engenharia e medicina, tendo nascido da convergência das tecnologias de aquisição de imagens médicas, computação gráfica e prototipagem rápida. Tanto o modelo virtual gerado pelo software como o modelo real obtido através da aplicação de prototipagem possibilitam planejar e simular intervenções cirúrgicas, a fim de se modelar implantes exclusivos para cada paciente, de acordo com suas características individuais. Figura 4. Software InVesalius Os protótipos são gerados com base nos dados obtidos em exames de tomografia computadorizada e ressonância magnética. As imagens são processadas pelo software, que reconstrói computacionalmente um modelo tridimensional da estrutura de interesse. Este volume é então transformado em um modelo físico preciso e detalhado por meio da prototipagem rápida. Embora seja relativamente nova na área médica, a técnica de biomodelagem vem demonstrando ótimos resultados no planejamento de cirurgias complexas, principalmente as bucomaxilofaciais e de reconstrução craniofacial. Além da Medicina, o software InVesalius está sendo aplicado em outras áreas, como: antrolopologia; paleontologia e veterinária. 2.3 Objetivos e Funcionalidades do Software InVesalius O Software InVesalius tem como objetivo: auxiliar no diagnóstico e planejamento cirúrgico; auxiliar no ensino de medicina, odontologia, veterinária, paleontologia; oferecer ferramentas de computação gráfica e processamento de imagens de modo acessível a profissionais da área de saúde. As principais funcionalidades suportadas são: reconstrução tridimensional de imagens médicas bidimensionais no formato DICOM; visualização bi e tridimensional dos dados; simulação de câmera endoscópica; segmentação de estruturas de interesse; geração de malha STL usada para prototipagem rápida, a fim de fazer reconstruções físicas. 13

3. DICOM e PACS 3.1 DICOM DICOM (Digital Imaging Communications in Medicine) ou comunicação de imagens digitais em medicina é um conjunto de normas para tratamento, armazenamento e transmissão de informação médica (imagens médicas) em um formato eletrônico, estruturando um protocolo. As dificuldades de se criar um padrão estão no seu planejamento e desenvolvimento, o que envolve os interesses das empresas. A padronização só será eficiente se os usuários forem beneficiados com as mudanças feitas e se for amplamente utilizado. Grande parte do tempo é perdida nas negociações. O sistema DICOM vem sendo desenvolvido há uma década, e, só agora está sendo posto em funcionamento. O sistema DICOM foi desenvolvido pela indústria de imagem, representada por membros do NEMA (National Electric Manufacturers Association dos EUA) e pela comunidade de usuários de imagens médicas, como o American College of Radiology, o American College of Cardiology e o European Society of Cardiolgy. Atualmente existe o DICOM Standars Committee formado pelas companhias que geram as imagens e representantes de grandes sociedades médicas. O comitê se reúne três vezes por ano e discute as mudanças necessárias para o sistema, bem como a utilização do padrão em outras áreas da medicina. DICOM é a terceira versão do padrão de imagens, pois já existiam o ACR/NEMA 1.0 e 2.0 que foram desenvolvidos em meados da década de 80. A tendência é que, no futuro, esse sistema seja amplamente utilizado no mundo e para isso alguns grupos presentes na Europa, Ásia e América tentam difundir a utilização do sistema dentro dos países. 3.2 PACS Com o surgimento da Tomografia Computadorizada no inicio dos anos 70 iniciou-se o uso de imagens digitais no diagnóstico. Conseqüentemente, um Sistema de Informação Hospitalar (SIH) contém um grande conjunto de informações digitais, as quais incluem dados financeiros, gerenciais, informações de paciente. Devido ao tipo de tecnologia empregada, as imagens médicas são consideradas como um sistema à parte, e são organizadas em um sistema de transmissão e arquivamento de imagens médicas chamado PACS (Figura 5). O PACS é um sistema que proporciona o armazenamento e comunicação de imagens geradas por equipamentos médicos que trabalham com imagens originadas em equipamento de Raio-X, Ressonância Magnética, Tomografia Computadorizada, Ultrassonografia, Mamografia, Endoscopia, etc., de uma forma normalizada possibilitando que as informações dos pacientes e suas respectivas imagens digitalizadas e, armazenadas em mídia eletrônica sejam compartilhadas e visualizadas em monitores de alta resolução, distribuídos em locais fisicamente distintos. 14

Figura 5 - Equipamentos que compõem o PACS Os principais elementos a serem observados na estrutura do PACS são: Dispositivos de entrada (Raio-X, Ressonância Magnética, Tomografia Computadorizada, Ultrassonografia, Mamografia, Endoscopia, etc.); Rede de computadores; Servidor de DICOM; Integração com o Sistema de Informação Radiológica (SIR) e o Sistema de Informação Hospitalar (SIH) ; Dispositivos de saída (monitores, impressoras, gravadoras). 4. DESENVOLVENDO A CAMADA DE APRESENTAÇÃO A camada de apresentação do módulo ponto DICOM foi desenvolvida a partir criação do documento Escopo do ponto DICOM (ANEXO A) e especifica as informações a respeito do sistema, mostrando as funcionalidades que serão agregadas ao software InVesalius, ou seja, tem como objetivo fornecer um módulo de software livre que satisfaça as necessidades do próprio Projeto InVesalius. Essa implementação é um módulo para importação de dados dos PACS (Picture Archiving and Communication System) para o Software Invesalius pela intranet ou internet (Figura 6). 15

Figura 6. Esboço do esquema dos Cliente-Servidor PACS 4.1 Ferramentas necessárias para a criação das Janelas As ferramentas necessárias para criação das janelas da camada de apresentação no projeto serão: O código fonte do software InVesalius; Plataforma Python 2.5.2; Biblioteca wxpython 2.8; IDE Boa Constructor 0.6.1; 4.1.1 Plataforma Python Python é uma linguagem de programação de alto nível interpretada, interativa, orientada a objetos e de tipagem dinâmica e forte, lançada por Guido van Rossum em 1991. Atualmente possui um modelo de desenvolvimento comunitário e aberto gerenciado pela organização sem fins lucrativos Python Software Foundation (Figura 7). Apesar de várias partes da linguagem possuírem padrões e especificações formais, a linguagem como um todo não é formalmente especificada. A linguagem foi projetada com a filosofia de enfatizar a importância do esforço do programador sobre o esforço computacional. Prioriza a legibilidade do código sobre a velocidade ou expressividade. Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por terceiros. Python suporta a maioria das técnicas da programação orientada a objeto. Qualquer objeto pode ser usado para qualquer tipo, e o código funcionará enquanto haja métodos e atributos adequados. O conceito de objeto na linguagem é bastante abrangente: classes, funções, números e módulos são todos considerados objetos. 16

Também há suporte para metaclasses, polimorfismo, e herança (inclusive herança múltipla). Há um suporte limitado para variáveis privadas. A linguagem e seu interpretador estão disponíveis para as mais diversas plataformas, desde Unix (Linux, FreeBSD, Solaris, MacOS X, etc.), Windows, versões antigas de MacOS até consoles de jogos eletrônicos ou mesmo alguns celulares, como a série 60 da Nokia e palmtops. O nome Python teve a sua origem no grupo humorístico britânico Monty Python, criador do programa Monty Python's Flying Circus, embora muitas pessoas façam associação com o réptil do mesmo nome (em português, Pitão). Figura 7. Plataforma Python 4.1.2 wxpython A wxpython (Figura 8) é uma ferramenta de GUI para a linguagem de programação Python. Permite aos programadores Python gerarem programas com a interface gráfica de interação com o usuário, de um modo simples e fácil. É implementado como uma extensão módulo Python (código nativo) que envolve a popular biblioteca GUI wxwidgets (escrito em C++). Assim como Python e wxwidgets, wxpython é Open Source, o que significa que ele é livre para qualquer um poder usar o código fonte e está disponível para qualquer um contribuir com correções ou melhorias para o projeto. Além disso, wxpython é multi-plataforma. Isto significa que o mesmo programa será executado em múltiplas plataformas sem qualquer modificação. Figura 8. wxpython 4.1.3 Boa Constructor Boa Constructor é uma IDE para plataforma Python e que utiliza wxpython para construir as interfaces de interação com o usuário. Muito parecido com o ambiente de trabalho do VB/Delphi, o Boa-Constructor cria automaticamente os códigos em Python, a medida que você vai "desenhando" as janelas. Além do mais essa IDE tem : uma grande variedades de controles; um ótimo depurador; integração com FTP, CVS e Zope; recurso de autocompletar ("CTRL+<ESPAÇO>"); gera o UML das suas classes; desenvolvida totalmente em Python. No presente momento essa IDE (Figura 9) está na versão beta 0.6.1. 17

Figura 9. Boa-Constructor - IDE Python 4.2 Prototipagem das Janelas A prototipagem das janelas foram criadas a partir do documento ponto DICOM Prototipagem das Janelas (ANEXO B) e foram geradas utilizando a IDE Boa- Constructor. 4.2.1 Janela do ponto DICOM receptor O ponto DICOM receptor vai permitir ao usuário configurar e ver as configurações do seu ponto DICOM local. O ponto DICOM receptor terá acesso através do menu PREFERÊNCIAS submenu TRANSMISSÃO VIA REDE item RECEPTOR. Ao clicar no item receptor será aberta uma janela (Figura 10) onde terá os seguintes campos: AETitle, TCP/IP, Número da porta do TCP/IP, Nome Computador + Domínio, Verificação de atualização, Time-out de comunicação, Tempo de armazenamento de log e Diretório. Para cada campo haverá ao lado uma opção de ajuda que permitirá o usuário a ter um melhor entendimento do termo utilizado no campo e como deverá ser preenchido este campo, caso necessário. 18

Figura 10. Janela ponto DICOM receptor Documentada Abaixo segue uma tabela mostrando as características de cada campo, sendo que todos os campos poderão ser alterados pelo usuário: AETitle --> Será gerado um nome automático (INVESALIUS-CLIENTE- XXX). Endereço TCP/IP --> Deverá ser capturado automaticamente do computador. Porta TCP/IP --> Padrão: 4096 (mas deverá poder ser alterado pelo usuário) Nome Computador + Domínio --> Exemplo: laptop.empresa.com.br. Deverá ser capturado automaticamente do computador. Verificação de atualização --> Padrão: 30 segundos. Irá verificar se há novos arquivos de 30 em 30 segundos. Time-out de comunicação --> Padrão: 2 segundos. Tempo máximo para aguardar requisição de determinado conjunto de arquivo DICOM. Tempo de armazenamento de log --> Padrão: semanalmente. Tempo de armazenamento de logs contendo informações de transmissão e possíveis erros. Diretório Padrão --> /home/nome-usuario/invesalius ou C:\Documents and Settings\usuario\invesalius. Diretório onde serão armazenados localmente os arquivos. Após análise do User Story foi criado uma versão alfa dessa janela através da IDE Boa-Constructor conforme demonstrado abaixo (Figura 11). Figura 11. Prototipagem da Janela ponto DICOM receptor 19

4.2.2 Janela do ponto DICOM transmissão O ponto DICOM transmissão permitirá ao usuário visualizar servidores DICOM central previamente instalados, os quais já estarão na intranet, sendo possível configurá-los e também cadastrar novos servidores DICOM central, onde será necessário ao utilizar a internet para acesso ao servidor. O ponto DICOM transmissão terá acesso através do menu PREFERÊNCIAS submenu TRANSMISSÃO VIA REDE item TRANSMISSÃO. Ao clicar no item transmissão será aberta uma janela (Figura 12) onde será mostrada em tipo de lista os servidores já cadastrados, mostrando os campos AETitle, Endereço TCP/IP, Porta TCP/IP, Descrição e Status (onde será informado se o servidor está ou não disponível) e no fim um botão permitindo a configuração manual. Nessa janela também haverá um botão para que possa ser acrescentado novos servidores DICOM, ao clicar neste botão aparecerá uma nova janela com os seguintes campos para serem preenchidos: AETitle, Endereço TCP/IP, Porta TCP/IP, Descrição, sendo que apenas os campos Endereço TCP/IP, Porta TCP/IP serão obrigatórios. Caso o servidor DICOM central necessite de senha para autenticação, o usuário pode já deixar a senha armazenada. Para saber o status do servidor(s), será feito uma verificação através de testes como ping, C-Echo. Figura 12. Janela ponto DICOM transmissão Documentada Abaixo é mostrado exemplos de dados de servidores: 1) AETitle = PACS_X ; Endereço TCP/IP = 192.0.0.1; Porta TCP/IP = 4445 ;Descrição = Servidor X;Status = Ativo 2) AETitle = PACS_Y ; Endereço TCP/IP = 192.0.0.2; Porta TCP/IP = 4444 ;Descrição = PACS da Clinica Y;Status = Inativo Após análise do User Story foi criado uma versão alfa dessa janela através da IDE Boa-Constructor conforme demonstrado abaixo (Figura 13). 20

Figura 13. Prototipagem da Janela ponto DICOM transmissão 4.2.3 Janela do ponto DICOM importar busca O ponto DICOM importar permitirá ao usuário pesquisar dados em um determinado servidor DICOM central e fazer a importação dos dados que o usuário estiver necessitando. O ponto DICOM importar terá acesso através do menu NOVO item IMPORTAR DO SERVIDOR. Ao clicar em Importar do Servidor, será aberta uma janela (Figura 14) mostrando ao usuário os servidores encontrados e se estão ou não ativos, ao selecionar o servidor almejado (se necessitar de autenticação, será pedida ao usuário), depois abrirá uma nova janela onde o usuário poderá fazer uma busca no servidor DICOM central, ele poderá pesquisar utilizando um dos seguintes campos ou uma combinação deles, Nome do Paciente, Modalidade (TC, MR, US,...), Data de Aquisição, Idade, Sexo. Figura 14. Janela ponto DICOM importar Documentada 21

Após análise do User Story foi criado uma versão alfa dessa janela através da IDE Boa-Constructor conforme demonstrado abaixo (Figura 15). Figura 15. Prototipagem da Janela ponto DICOM importar 5. CONCLUSÃO A filosofia do software livre e do código aberto é uma energia que contagia os colaboradores novatos, comunidades de software, empresas e instituições governamentais. Todos com um objetivo em comum de criar uma solução em software com baixo custo, alto nível técnico e acessível a todos os interessados. Pois os colaboradores entram com as idéias, as comunidades organizam as informações (e direcionam o projeto) e as empresas e as instituições governamentais dão o suporte necessário à execução do projeto de software. O InVesalius é um software livre que foi desenvolvido em cima da plataforma Python que é código aberto. Mas o mais importante é o fato do projeto de software livre InVesalius estar cativando mais e mais colaboradores para a sua comunidade, não apenas pelo motivo de ser uma solução de software para área médica, mas também por estar se mostrando muito útil em outras áreas. Este trabalho teve como objetivo mostrar o desenvolvimento da camada de apresentação do módulo ponto DICOM, onde esta camada permitirá o usuário a visualizar seu exame independente de onde esteja, sendo que o maior beneficiário será o médico, que poderá analisar os exames de qualquer lugar do mundo. Para trabalhos futuros, pode-se ajudar a comunidade do InVesalius a agregar mais valores ao software e/ou ajudar nos diversos projetos existente no portal do software livre brasileiro. 22