ACAPC.jpg (20997 bytes)
Materiais e Métodos

Equipamentos *

Desenvolvimento *

Estrutura para testes técnicos, composta por *

Linguagem de desenvolvimento e softwares de apoio *

Escolha da Linguagem de desenvolvimento e ambiente operacional *

Recursos Humanos *

Método *

Fases para administração e desenvolvimento de um software*

Fases de desenvolvimento do Tot-Win*

Aspectos de Iconografia *

Imagens digitais - formato de arquivo e modelagem dos bancos de dados *

Modelagem de dados - Unidade Celular de Informação *

Estruturação dos módulos do sistema *

Bancos de dados de apoio e padronização de termos médicos *

Desenvolvimento de aspectos Web*

 

Materiais e Métodos

Começamos o desenvolvimento do Tot-Win em 1994 e sua evolução tem sido contínua até hoje, resultante da constante interação com os usuários. As trocas de versão das linguagens de programação, bibliotecas de apoio e sistemas operacionais no decorrer do tempo foram conseqüentes à evolução do mundo computacional [], e contribuíram para criar a necessidade de manter o software atualizado em relação às novas tecnologias. Os materiais a seguir descritos são referentes aos utilizados atualmente. Dispersas ao longo do capítulo anterior, e quando for oportuno no restante deste capítulo, encontram-se algumas descrições relacionadas com a história particular da evolução do Tot-Clin e do Tot-Win, assim como menção às alterações provocadas pela evolução das linguagens, dossistemas operacionais e do hardwareutilizados em cada fase.

Equipamentos

Desenvolvimento

  • microcomputador notebookPentium 266 MMX (Windows 98);
  • 32 megabytes de memória RAM;
  • disco rígido de 4 gigabytes;
  • monitor colorido dual scan;
  • drive de 3,5 polegadas;
  • Fax-Modem de 56 Kpbs;
  • leitor de CD.

Estrutura para testes técnicos, composta por

  • três equipamentos desktopPentium IICeleron com 64 megabytes de memória RAM, e disco rígido de 6 gigabytes;
  • ZIP Drive de 100 megabytes;
  • gravador de CD externo (porta paralela);
  • impressora LaserHP;
  • impressora jato de tintaHP Desk jet 720c;
  • scanner de slides da marca Polaroid;
  • placa Vídeo Blaster para digitalização de vídeo;
  • HP Desk Scanner;
  • Fax-Modem de 33 kps;
  • Hub de 8 portas;
  • cabo de par trançado, categoria 5 (8 vias) e conectores RJ 45 para conexão dos equipamentos em rede[];
  • rede local ponto a ponto com Windows 95;
  • no-break inteligente;
  • estabilizadores de tensão;
  • vídeocassete.

A utilização de um notebook foi importante por oferecer portabilidade para que o ambiente de desenvolvimento (linguagem de programação, programa fonte, bibliotecas de rotina, compiladores e programas auxiliares) fosse transportado aos locais de implantação do sistema, para as manutenções que envolvessem correções de erros e adequações (personalizações) fossem facilitadas e ganhassem mais agilidade.

Linguagem de desenvolvimento e softwares de apoio

  • MicrosoftVisual FoxPro 6.0 - versão profissional [];
  • biblioteca de edição de texto em OCX - High Edit 4.0 [];
  • Paint Shop Pro 6.0 [];
  • Adobe Premiere [];
  • MicrosoftPowerpoint e Powerpoint Viewer;
  • MicrosoftWord e Word Viewer;

Escolha da Linguagem de desenvolvimento e ambiente operacional

A linguagem de desenvolvimento escolhida foi a MicrosoftVisual FoxPro 6.0, por ter herdado a sintaxe de programação das linguagens dBase/Clipper e mantido a compatibilidade com o padrão de dados DBF (formato que é acessado pela maioria dos aplicativos atualmente existentes). Outras características determinantes da escolha foram: velocidade de processamento (devido à tecnologia "Rushmore", segundo as especificações do fabricante da linguagem), baixo custo como ferramenta de desenvolvimento, e baixo custo para implementar um banco de dados, comandos poderosos (através de poucos comandos é possível controlar várias características de um sistema).

Por ser uma linguagem com herança dos comandos dBase, é de fácil aprendizado por programadores ou usuários que já possuem conhecimento prévio das linguagens dBase/Clipper. Como tecnologia Front-end, o Visual FoxPro, além de contar com várias facilidades de desenvolvimento, tem capacidade de acesso a banco de dados corporativos, como Oracle, MS-SQL, Sybase entre outros.

Apesar de ter algumas restrições (), como por exemplo o tamanho máximo do banco de dados (cada tabela individualmente não pode superar 2 gigabytes), estas capacidades foram consideradas como suficientemente amplas, pois o software sempre foi dirigido ao porte de dados de uma clínica/consultório.

A capacidade de gerar uma aplicação stand alone foi uma característica considerada, pois seria possível gerar um programa executável e distribuí-lo sem gerar outros gastos ao usuário final, como pagamento de royalties ou aquisição de gerenciadores de banco de dados.

Tabela : Características técnicas do Visual FoxPro 6.0

Arquivos de tabela e índice: 
No máximo de registros por arquivo de tabela

1 bilhão

Tamanho máximo de um arquivo de tabela

2 gigabytes

No máximo de caracteres por registro

65.500

No máximo de campos por registro

255

No máximo de tabelas abertas ao mesmo tempo

2551

No máximo de caracteres por campo de tabela

254

No máximo de bytes por chave de índice em um índice não compactado

100

No máximo de bytes por chave de índice em um arquivo compactado

240

No máximo de arquivos de índices abertos por tabela

ilimitado

No máximo de índices abertos em todas as áreas de trabalho

ilimitado

No máximo de relações

ilimitado

Comprimento máximo de expressões relacionais

ilimitado

Características de campos 
Tamanho máximo de campos de caractere

254

Tamanho máximo de campos numéricos (e flutuantes)

20

No máximo de caracteres nos nomes dos campos de uma tabela livre

10

No máximo de caracteres nos nomes dos campos de uma tabela contida em um banco de dados

128

Valor mínimo de um número inteiro

2.147.483.647

Valor máximo de um número inteiro

2.147.483.647

Dígitos de precisão em cálculos numéricos

16

Matrizes e variáveis de memória 
No padrão de variáveis de memória

1.024

No máximo de variáveis de memória

65.000

No máximo de matrizes

65.000

No máximo de elementos por matriz

65.000

Arquivos de programas e procedimentos

6.0

No máximo de linhas em arquivos de programas de origem

ilimitado

Tamanho máximo de 3 módulos de programas compilados

64K

No máximo de procedimentos por arquivo

ilimitado

No máximo de chamadas DO aninhadas

128

No máximo de níveis de aninhamento de READ

5

No máximo de comandos de programação estruturada aninhados

384

No máximo de parâmetros passados

27

No máximo de transações

5

Recursos do criador de relatórios 
No máximo de objetos em uma definição de relatório

ilimitado

Comprimento máximo de uma definição de relatório

20 polegadas

No máximo de níveis de agrupamento

128

Outros recursos 
No máximo de janelas abertas (todos os tipos)

ilimitado

No máximo de janelas Pesquisar abertas

255

No máximo de caracteres por seqüência de caracteres

2 gigabytes

No máximo de caracteres por linha de comando

8.192

No máximo de caracteres por controle de etiqueta em um relatório

252

No máximo de caracteres por linha de substituição de macro

8.192

No máximo de arquivos abertos

Limite do sistema

Pressionamentos de teclas máximos em macro de teclado

1.024

No máximos de campos selecionados pela instrução SQL SELECT

255

fonte: MicrosoftVisual FoxPro 6.0, 1999 []

Em síntese, a ferramenta de desenvolvimento Visual FoxPro 6.0 foi escolhida devido aos seguintes aspectos:

  • Compatibilidade com o MicrosoftWindows 95 ou superior.
  • Capacidade de gerenciar dados sem necessidade de adquirir um servidor de banco de dados.
  • Boa velocidade de processamento de dados proporcionada pela tecnologia "Rushmore".
  • Capacidade de gerar executáveis para distribuição, sem depender da linguagem original de desenvolvimento.
  • Rapidez de aprendizado (herança da sintaxe dBase) e facilidade para o desenvolvimento de aplicativos de banco de dados, sem necessidade de adquirir bibliotecas de desenvolvimento adicionais.
  • Possibilidade de migrar os dados do Visual FoxPro para uma arquitetura cliente/servidor e trabalhar com o novo banco de dados utilizando o mesmo programa, sem necessidade de alterar nenhum código original.
  • Capacidade intrínseca para gerenciar dados compartilhados em aplicativos utilizados em ambiente com muitos usuários trabalhando simultaneamente.
  • Possibilidade de implementar recursos de automação com outros aplicativos Windows através do OLE.
  • Recursos para programação orientada a objeto na linguagem.
  • Capacidade de intercambiar dados com HMTL para ambiente de Internet e Intranet.
  • Capacidade de acessar simultaneamente bancos de dados diferentes como, por exemplo, o acesso a banco de dadosOracle e SQL Server, para pesquisar informações.
  • Capacidade de gerenciar imagens digitais em diversos formatos, como JPG, GIF, BMP, etc.

O Visual FoxPro gerencia os bancos de dados em dois formatos::

    1. Tabelas livres, semelhantes aos modelos dBase e Clipper, no qual as informações são armazenadas em arquivos físicos independentes (com extensões DBF, FPT) e arquivos de índice (CDX e IDX). Tem a vantagem da modularidade das informações. Os arquivos DBF do Visual FoxPro receberam algumas implementações adicionais tornando-os mais estáveis e confiáveis do que o padrão DBF original.
    2. banco de dados relacional (usando arquivos DBC); as informações são incorporadas num único arquivo físico, embora do ponto de vista lógico comportem-se como tabelas independentes. Este é um modelo de gerenciamento que oferece funções de integridade referencial de dados, triggers, filtros, visualizadores de tabelas e outros recursos que automatizam e garantem a consistência dos dados. As informações armazenadas neste formato podem ser transferidas diretamente para um banco de dados padrão SQL.

Recursos Humanos

  • Médico com conhecimentos de informática, planejamento de informação, análise de sistemas e programação, organização e métodos e administração.
  • Dois profissionais de informática, cursando Ciência da Computação, para suporte e treinamento aos usuários.

Método

Fases para administração e desenvolvimento de um software

  • Análise e engenharia de sistemas: levantamento dos requisitos para os componentes de um sistema. O software é integrante de um conjunto mais amplo e é preciso considerar suas inter-relações com outros elementos, como, por exemplo, pessoas, hardware, e banco de dados.
  • Análise de requisitos de software: é fundamental ter o domínio da informação e dos processos, para entender a natureza dos módulos a serem desenvolvidos para que se possa definir as funções, o desempenho e as interfaces necessárias.
  • Projeto do sistema: sistematização e documentação das etapas anteriores, com a modelagem das tabelas de dados, elaboração da HCI, etc.
  • Codificação do sistema (também denominada de programação): fase de desenvolvimento que "materializa" o projeto.
  • Testes do sistema desenvolvido: detecção de erros.
  • Manutenção (depois que é entregue ao usuário): reparo de erros detectados durante o uso, necessidade de adaptações devido a mudanças ocorridas no ambiente, necessidades de novas funções e implementações que melhorem o conjunto como um todo e que não haviam sido previstas inicialmente.

O processo de elaboração de um software independe, em parte, da técnica de engenharia escolhida. A definição, o desenvolvimento e a manutenção sempre ocorrem independentemente da área de aplicação, tamanho ou complexidade do projeto.

A fase de definição focaliza-se na expressão "O Que...?" precedendo cada pensamento relacionado com a análise do sistema, seus requisitos e planejamento do software.

A fase de desenvolvimento (engloba o projeto, a codificação e os testes do software), focaliza-se em "Como...?", para definir a estrutura de dados, a arquitetura do software, os detalhes dos processos a serem implementados, a transcrição do projeto para uma linguagem de programação e os testes que deverão ser realizados, utilizando métodos que variam de acordo com a técnica empregada.

A fase de manutenção focaliza-se nas "Mudanças" que estão associadas à correção de erros, às adaptações exigidas à medida que o ambiente do software evolui, ao melhoramento funcional, e às ampliações produzidas por novas necessidades dos usuários [].

Fases de desenvolvimento do Tot-Win

Basili e Zelkowitz [], definem cinco fatores importantes que influenciam a produtividade do software:

  • Fatores humanos: o tamanho e a experiência da organização que está desenvolvendo o software.
  • Fatores do problema: a complexidade do problema a ser resolvido e o número de mudanças exigidas quando os requisitos ou restrições ao projeto estão sendo estabelecidos.
  • Fatores do processo: técnicas de análise que são usadas e técnicas de revisão empregadas.
  • Fatores do produto: confiabilidade e desempenho do sistema.
  • Fatores relacionados aos recursos: ferramentas de desenvolvimento (CASE), e recursos de hardware e de software disponíveis.

O processo de desenvolvimento do Tot-Win seguiu as fases tradicionais da engenharia de software, com algumas implementações adicionais. As etapas de desenvolvimento e manutenção foram fundidas para criar um núcleo de aprimoramento permanente, formando um "condomínio colaborativo de aperfeiçoamento" para o qual os usuários podiam contribuir com sugestões. Esta estratégia de trabalho visou a garantir o aprimoramento contínuo, porém mantendo o foco no desenvolvimento por objetivos. Além dos aspectos técnicos, foram incorporados conceitos metodológicos ao software, como será abordado na discussão. O conceito de "condomínio" diminui os custos diretos de cada usuário com as implementações, e permite que soluções sejam elaboradas antecipando as necessidades dos usuários.

O desenvolvimento do Tot-Win envolveu:

  • Entendimento das atividades e processos a serem informatizados, levantamento e documentação dos requisitos.
  • Escolha da linguagem, banco de dados e bibliotecas de apoio a serem utilizados (instrumentação).
  • Capacitação do desenvolvedor para a utilização das ferramentas escolhidas.
  • Modelagem dosbancos de dados baseado nos requisitos do software, levando-se em conta conceitos advindos de Data Warehouse.
  • Estruturação e definição dos módulos do sistema e sua dinâmica processual.
  • Desenvolvimento e codificação do sistema.
  • Implantação do sistema e treinamento dos usuários.
  • Avaliação do grau de otimização resultante do processo de automação obtido com o software.
  • Estruturação de um serviço de suporte ao usuário, para garantir orientação permanente quanto ao uso adequado do programa.
  • Estruturação do serviço de suporte como fonte de obtenção de sugestões para o aprimoramento permanente.
  • Análise das solicitações de melhorias, planejamento e execução de novas implementações.
  • Ajuste e generalização de novos módulos para torná-los compatíveis com os outros recursos do sistema. Quando um dos participantes do "condomínio" fazia uma solicitação, em um primeiro momento procurava-se suprir suas necessidades, sem nos preocuparmos com o grau de especificidade do desenvolvimento. Depois que o novo recurso era implementado e testado por este usuário, o módulo era generalizado para que o benefício pudesse ser estendido aos demais participantes do "condomínio", sem que novos erros fossem introduzidos, e sem perturbar os serviços em andamento.

Aspectos como capacidade de replicar e intercambiar dados, fechamento de registro com possibilidade de reconstituição temporal (histórico), fundamento técnico para viabilizar a auditoria pericial, e técnicas de modelagem dimensional do Data Warehouse [] foram levados em consideração durante a fase de modelagem das tabelas de dados do sistema. Redundância de informações foram aceitas considerando-se fatores como legibilidade e independência de dados, uma vez que não comprometesse os aspectos funcionais e a capacidade de armazenamento e processamento dos padrões de equipamentos existentes no momento, considerando-se o porte de dados de um consultório ou clínica. A configuração de equipamento considerada padrão muda constantemente []. Em abril de 2000 é um microcomputador Pentium IICeleron 466 com 64 megabytes de memória RAM, Windows 98, disco rígido de 6,4 gigabytes, placa de vídeo de 4 megabytes, placa de Fax-Modem 56K, leitor de CD-ROM 40x ou DVD, acionador de disco de 3,5 polegadas, portanto superior à configuração dos computadores que utilizamos para testar o sistema.

Aspectos dos dados que foram levados em consideração:

  • Abrangência: amplitude da vinculação dos dados com outros módulos do sistema e liberdade para serem consultados ou utilizados.
  • Duração: tempo em que a informação é mantida sem ser alterada ou apagada.
  • Periodicidade de atualização: freqüência com que a informação é atualizada.
  • Confiabilidade: grau de certeza de que os dados reflitam a realidade.
  • Categorização: capacidade das informações serem agrupadas segundo critérios escolhidos.
  • Modularidade: capacidade das informações manterem a legibilidade sem dependência de outras tabelas.
  • Padronização: capacidade de utilizar uma expressão constante para descrever uma mesma situação em momentos diferentes.
  • Possibilidade de intercâmbio de dados: característica que permite enviar ou receber dados digitais entre usuários que usam o mesmo sistema e/ou sistemas diferentes.
  • Capacidade e facilidade de recuperação: relacionado com a simplicidade para desenvolver módulos para levantamento de dados, uma vez que a padronização dos dados esteja garantida.
  • Facilidade de replicação sem dependência de tabelas de apoio: garantida pela modularidade, simplificando o intercâmbio de dados.
  • Redução de custos de desenvolvimento e manutenção: facilidade para o desenvolvimento de novos módulos em decorrência do planejamento de dados.

Para armazenar dados inseridos neste formato, foram definidos campos do tipo Memo (texto) na tabela, que no Visual FoxPro, tem como característica armazenar os dados num arquivo independente que aumenta de acordo com o tamanho do texto inserido, além da capacidade de ser processado como um campo do tipo caractere, o que permite selecionar registros segundo uma expressão de comparação.

Em relação ao armazenamento de dados clínicos no Tot-Win foram considerados os seguintes aspectos:

  • Inserção dos dados cadastrais e administrativos dos pacientes, e utilização do número de registro para agilizar a localização e recuperação dos prontuários físicos.
  • Concepção de recursos assistênciais que pudessem auxiliar na elaboração da prescrição de medicamentos, emissão de orientações médicas e de atestados aos pacientes.
  • Impressão de etiquetas de identificação e de fichas para utilização como história clínica, com os dados cadastrais preenchidos.
  • Armazenamento de dados clínicos sumarizados para consulta rápida pelo médico quando necessário, como por exemplo, em esclarecimento de dúvidas de pacientes pelo telefone.
  • Estruturação de aspectos que forneçam embasamentos técnicos para uso como critérios em auditorias periciais de dados exclusivamente eletrônicos.

Aspectos de Iconografia

Padrões utilizados no Tot-Win

Devido à falta de um padrão bem definido de iconografia computacional para a área médica, além dosícones do Windows, foram elaborados alguns outros para uso no Tot-Win. Apesar do sistema ser em Windows, consideramos que o uso de palavras para definir botões de comandos e legendas de campos ainda são mais eficientes que ícones, porém, as palavras precisam ser adequadamente escolhidas.

Padronização adotada para as legendas de campos:

  • Campos com comando Ponto *: possuem as legendas totalmente em letras maiúsculas.
  • Legendas vermelhas: expressam campos que são calculados automaticamente.
  • Legendas com quadro em azul: para designar a existência de bancos de dados externos ao sistema para pesquisa dos dados, como, por exemplo, lista de CEPs.

Devido à existência de muitas particularidades, divididas em especialidades, e de acordo com as doenças, o desenvolvimento de telas estruturadas e padronizadas para inserção de dados clínicos e assistenciais não foram feitas, uma vez que isto tornaria o software complexo demais para o uso no dia a dia. Mesmo dentro de uma especialidade, a padronização total dos formatos da história clínica nem sempre são de consenso.

Para atender mais adequadamente às características de algumas especialidades, foram elaboradas telas de evolução clínica específicas, como as de ginecologia e obstetrícia. Foi também criada uma ficha contábil para uso em agendamento de exames em anatomia patológica.

Imagens digitais - formato de arquivo e modelagem dos bancos de dados

Recurso para o armazenamento de fotografias clínicas dos pacientes juntamente com a ficha clínica evolutiva pode ser importante quando se abordam os aspectos assistenciais, pois ela permite documentar e acompanhar a evolução clínica do paciente com o tratamento. É mais importante em algumas especialidades do que em outras.

A aquisição de imagens pode ser feita por meio de máquinas fotográficas convencionais com posterior escaneamento das fotos, ou ser feita através de máquinas fotográficas digitais. Estas últimas tiveram significativa evolução e redução de custo nestes últimos anos.

O formato de arquivo escolhido para armazenamento das imagens digitais foi o JPG, pois é compatível com a Web, é de tamanho relativamente pequeno pela capacidade de compactação, armazena as imagens em 16 milhões de cores, e tem resolução suficiente para diagnóstico [, ].

No Windows, cada imagem é armazenada como um arquivo independente. Quando uma pasta tem mais que 1.000 arquivos, o acesso começa a se tornar perceptivelmente mais lento, além do inconveniente de dificultar a localização das imagens de um determinado paciente pela grande quantidade de arquivos com nomes nem sempre mnemônicos. Para resolver estes problemas, foram definidos na tabela de dados da evolução clínica seis campos do tipo Memo Binário, para armazenamento dos arquivos de foto. Como as fotos são capturadas e guardadas dentro da tabela, evitam-se os problemas decorrentes do aumento do número de arquivos no disco, e quando se localiza a ficha evolutiva do paciente, as respectivas fotografias são automaticamente apresentadas.

Este mesmo conceito foi utilizado para os módulos de Banco de Imagem e Memento.

Modelagem de dados - Unidade Celular de Informação

A redundância de dados em tabelas relacionadas teve como objetivo implementar a independência e aumentar a legibilidade das informações, individualmente, em cada tabela, o que passamos a denominar de unidade celular de informação (UCI). Isto possibilitou desenvolver recursos como replicação de dados clínicos através de discos magnéticos [], lançamento de pacotes de fechamento de dados clínicos para arquivo de auditoria e viabilização do envio de pacotes de dados para uso da Web como contra-referência. São exemplos de redundâncias que foram aceitas: nome do paciente, registro, sexo e idade nas tabelas de prescrição médica (medicamentos prescritos), evolução clínica, ficha financeira da agenda e ficha cadastral ().

Exemplo de relacionamento entre diferentes tabelas com redundância de campos (acima) e tabelas auxiliares para a padronização de termos (abaixo).

Estruturação dos módulos do sistema

Os recursos do sistema foram subdivididos em 3 grandes grupos:

  • Assistenciais - reúne recursos para a atividade de atendimento ao paciente e banco de dados de apoio para padronização de termos médicos [].
  • Administrativo - Financeiros - com módulos para o controle gerencial e financeiro da clínica ou consultório, como sistema de segurança de dados, cadastro de convênios, tabela de honorários [], estatísticas gerenciais, entre outros.
  • Científico - Didáticos - possuindo módulos que visam a auxiliar a recuperação de dados para levantamentos de casos, protocolos científicos, banco de dados de casos clínicos, diapositivos clínicos, mementos (cadastro de medicamentos com imagens), entre outros.

Bancos de dados de apoio e padronização de termos médicos

Para que o Tot-Win pudesse ser utilizado de forma imediata e eficaz, foram preparados alguns bancos de dados de apoio, como cadastro de medicamentos, CID, lista de procedimentos da AMB e SNOMed para utilização nos principais módulos assistenciais do sistema e facilitar a padronização dos termos clínicos e terapêuticos; banco de imagens e seqüências de vídeos; memento como apoio educativo aos pacientes; banco de casos clínicos, doenças e síndromes como literatura de referência aos médicos, etc.

Desenvolvimento de aspectos Web

Para estruturação dos recursos operacionais em ambiente Web, foi definido o uso do MicrosoftOutlook como software para envio de e-mail e o MicrosoftInternet Explorer como browser das páginas Web, baseado no fato de que ambos são freeware para usuários que tenham Windows. Para implementação de listas de discussão, foi definida a utilização de CGIs baseadas em Perl, que estão disponíveis gratuitamente na Web para criação de ambiente para debates e esclarecimento de dúvidas.

 

Agradecimentos Resumo Introdução
Objetivos Materiais e Métodos Resultados Discussão
Conclusão Glossário Referências Bibliográficas Anexo

 

voltar para índice principalsetaup.jpg (1061 bytes)