O Ensino de Programação de Banco de Dados em Medicina

Cláudio R. Palombo e Renato M.E. Sabbatini


Núcleo de Informática Biomédica da Universidade Estadual de Campinas
WWW: http://home.nib.unicamp.br/~sabbatin Email:renato@sabbatini.com e palombo@fem.unicamp.br.

Revista Informédica, 1(1): 5-11, 1993.


No ensino da Informática Médica, um dos temas freqüentemente tratados é o referente a bancos de dados, devido às suas importantes aplicações em praticamente todos os domínios da Medicina, como no registro médico computadorizado (Sabbatini, 1987, Sabbatini, 1994). Na Faculdade de Ciências Médicas da Universidade Estadual de Campinas, por exemplo, este tópico é ministrado desde 1988, nas disciplinas eletivas de introdução e de aplicação da Informática na Medicina (Sabbatini, 1991), bem como na disciplina introdutória destinada a alunos de pós-graduação. De modo a favorecer a motivação dos alunos pelo uso da ferramenta, todos os exemplos apresentados no texto didático e no elenco de exercícios práticos recomendados procuram utilizar tópicos aplicativos de interesse para os estudantes e profissionais das ciências da saúde (Sabbatini, 1988, 1992), tal como a montagem de um cadastro simples de pacientes.

Entretanto, o ensino deste tópico geralmente limita o uso do sistema gerenciadores de bancos de dados (SGBDs) ensinado ao nível interativo, como, por exemplo, com a linguagem que tem sido de escolha na maioria dos cursos, o dBASE III Plus. Esta limitação se deve, em geral, ao temor de que os alunos, após cerca de seis horas de carga horária interativa no curso básico, pudessem achar que outras tantas horas de programação seriam sem interesse ou um tópico desnecessário, em meio ao já bastante extenso currículo da disciplina.

Entretanto, é amplamente reconhecido que o ensino de noções básicas de programação deve ser um elemento a ser incluído nos cursos de Informática Médica, não com o objetivo de formar programadores, mas para demonstrar de forma prática para o aluno como se implementa tarefas aplicativas em um computador, e qual é a natureza básica do desenvolvimento de sistemas. Linguagens de programação de quarta geração, voltadas à implementação de sistemas de informação, são ideais para esse objetivo, devido à sua extensa aplicabilidade prática e facilidade de aprendizado. Decidimos, pois, testar a validade de ensinar programação de sistemas de bancos de dados em nossa disciplina, MD-005 ("Aplicações da Informática em Medicina"), ministrada a alunos de graduação de Medicina. Através de uma primeira experiência, que obteve amplo sucesso, demonstramos que o temor acima referido era infundado. O que ficou patente, através da avaliação do curso elaborada pelos alunos de programação deste curso avançado é que, se a programação vai de encontro aos interesses médicos dos alunos, o curso passa a ter uma outra motivação, desperta enorme interesse, e sua eficácia chega a 80% de conceitos "muito bom" e "ótimo". O fato de termos escolhido um tópico adequado parece ter sido um fator importante dessa satisfação, como veremos adiante.

No presente artigo, relatamos brevemente nossa experiência, para que outros educadores possam avaliar o valor desta abordagem em seus cursos, e, ao mesmo tempo, dando noção, aos demais leitores interessados, sobre como se pode desenvolver um pequeno programa de apoio à decisão em Medicina, usando a linguagem dBASE III Plus (Sabbatini, 1993, Palombo et al., 1994).


O Tópico Escolhido

Os sistemas de apoio à decisão médica (bases de conhecimento) não apenas congregam especialistas em computação das mais diversas áreas, mas também apresentam-se como um tema já bem estabelecido em Informática Médica, exercendo grande fascínio em todos que, de uma forma ou de outra, já ouviram falar deles. Dentro deste espirito, e sabendo-se das limitações existentes no acesso tradicional dos profissionais da saúde à literatura científica sobre determinados temas, a informática impõe-se como instrumento de eficácia incomparável. De forma bastante patente, os bancos de dados apresentam facetas de versatilidade que jamais poderiam ser encontradas em um livro. Se a questão é cruzar um numero de informações com determinada finalidade, tal não é tarefa adequada para livros, mas sim para bancos de dados ou bases de conhecimento. Afinal, qual é o profissional que não gostaria de poder digitar em um computador os sinais e sintomas encontrados em seu paciente, e obter imediatamente um elenco das hipóteses diagnósticas mais prováveis ?

Por ser esta a grande vantagem do computador em relação a todos os outros meios informação é que o tópico escolhido para as aulas de programação foi o desenvolvimento um sistema de apoio ao diagnóstico baseado na busca automática de palavras-chave em uma base de dados. Além disso, o tópico escolhido daria aos alunos duas vantagens didáticas adicionais:

  • O nível de dificuldade de programação de um sistema desse tipo é de fácil para mediano, o que permite colocá-lo para os alunos de uma forma completa dentro do tempo alocado ao tema;
  • A implementação de um programa desse tipo exige o conhecimento das principais estruturas conceituais de programação estruturada e aplicativa de sistemas de gerenciamento de banco de dados (casos, alças de repetição, organização de menus, algoritmos de busca, etc.) bem como dos comandos de programação mais relevantes do dBASE III Plus; constituindo-se, portanto, em um exercício com profundidade necessária e suficiente;
  • A possibilidade de implementar um subdomínio do conhecimento médico, de aquisição fácil e intuitiva, a ser feita pelos próprios estudantes, constitui-se em um elemento de grande motivação para alunos que estão ainda nos anos pré-clínicos, como é o nosso caso.

    A Metodologia Interativa

    Escolhemos o dBASE III Plus como o sistema gerenciador de bancos de dados (SGBD) e a linguagem de programação para o nosso curso, por diversas razões:

    O êxito da metodologia do curso de programação está diretamente relacionado ao bom aprendizado que o aluno deve ter tido durante o curso inicial sobre uso interativo do dBASE III. Esta etapa é de fundamental importância. Nela, os alunos devem saber de forma prática como criar um banco de dados, quais os tipos de campos e seus parâmetros, como abrir e fechar os bancos de dados, como entrar e modificar dados nos registros, como usar os comandos básicos de busca, tais como o comando LOCATE, a função de substring $, etc. Em nosso curso básico de Informática, os alunos têm seis horas de aula prática para cumprir esse requisito mínimo de conhecimento. No curso avançado de programação, o instrutor deve ministrar uma aula de revisão do dBASE III interativo, para se atingir um bom aprendizado, principalmente quando os dois cursos forem separados entre si por vários meses.

    Como foi esclarecido na seção anterior, com o objetivo de exemplificar a programação em dBASE III+ em Medicina, escolhemos um sistema de auxilio ao diagnóstico em Medicina. A idéia do programa é simples: dado um banco de dados contendo conhecimentos médicos (diversas doenças e seus sintomas), o programa deve ser capaz de localizar doenças ao se fornecer uma combinação de um ou dois sintomas ou sinais. Outra possibilidade é a de listar todas as doenças relativas a uma determinada região anatômica ou sistema orgânico. Inicialmente, deve-se implementar o seguinte banco de dados, denominado DIAG.DBF (Tabela 1).


    Tabela 1 - Estrutura do arquivo com as patologias
    Nome do Campo Tipo Comprimento Comentário
    PATOLOGIA Character 40 Descrição resumida do nome da patologia ou doença
    REGIÃO Character 20 Região anatômica ou sistema orgânico onde ocorre
    SINTOMAS Character 254 Sintomas e sinais presentes na patologia ou doença

    Para preencher os registros com dados reais simplificados de uma determinada área da Medicina, foram escolhidas as diversas patologias mostradas na Tabela 2. Os alunos devem preencher o arquivo DIAG.DBF usando o dBASE III interativo (comandos USE e EDIT), seguindo um impresso distribuído pelo instrutor, contendo os registros da base de dados.


    Tabela 2 - Dados de exemplo no arquivo de patologias
    Patologia Região Sintomas
    PNEUMONIA PULMAO DOR AO RESPIRAR, FEBRE, DISPNEIA, TOSSE, ACIDOSE RESPIRATORIA
    INSUFICIENCIA CARDIACA CORACAO, PULMAO EDEMA PULMONAR, DISPNEIA, EDEMA PERIFERICO, FRAQUEZA, OLIGURIA, OPRESSAO PRECORDIAL, TAQUICARDIA
    ESQUISTOSSOMOSE FIGADO, BACO, ESOFAGO ASCITE, CAPUT MEDUSAE, HIPERTENSAO PORTAL, VARIZES, HEPATOMEGALIA

    A Metodologia de Programação

    No ensino da programação, o instrutor deve seguir uma ordem lógica, inicialmente conceituando o que é um programa, através da produção dos arquivos .PRG, contendo comandos que eles já conheçam das aulas de uso interativo. Por exemplo, o instrutor pode ilustrar o que é execução deferida e interpretação, fazendo os alunos entrarem o seguinte programa e o executarem:

    USE DIAG
    CLEAR
    ? "PATOLOGIA","REGIAO"
    LIST PATOLOGIA,REGIAO

    Em seguida, deve começar a ministrar os elementos que diferenciam a programação do uso interativo, tais como a utilidade dos comandos sobre o ambiente, como SET TALK OFF, SET BELL OFF, SET SCOREBOARD OFF, etc. Em seguida, deve-se proceder, passo a passo, e sempre com exemplos em cada passo, a teoria do comando GET, dos laços (DO WHILE...ENDDO), da execução modular (CASE...ENDCASE), do IF..ELSE..ENDIF e do comando DO para executar outros programas. A motivação básica para ensinar esses comandos é a de produzir um programa principal contendo o menu de escolha.

    Fundamental, sobretudo, é ensinar para os alunos a esquematização do fluxograma de programação, compreendendo o menu principal e os módulos, com suas finalidades.

    A utilização de três módulos separados tem aqui uma finalidade pedagógica (ensino da programação modular, e exemplificação do uso do menu e do comando DO.


    As Figuras 1 a 2 do artigo contêm as listagens dos programas ensinados para os alunos:

    Como exercício de fixação, o professor pode propor que os alunos realizem a implementação de outros exemplos de utilização de bancos de dados em Medicina, utilizando programação. Tais exercícios devem ser apresentados ao professor em diversas formas: disquete, listagem comentada e demonstração ao vivo da operação do programa, uma vez pronto. Dessa forma, o docente poderá ter uma boa idéia da proficiência do estudantes quanto aos objetivos educacionais.


    Resultados e Conclusões

    Ao nosso ver, os resultados do curso ilustrado neste artigo têm sido muito bons. Os alunos demonstram excelente motivação e envolvimento no desenvolvimento do sistema, possivelmente devido ao tema ligado à Medicina, e aos resultados do funcionamento do programa, que são imediatamente visíveis, úteis, e com pouco retardo entre a atividade de programação e a visualização de resultados. Julgamos esta última característica uma das mais importantes, pois o excesso de detalhes de comandos de programação, o uso de programas massivos (não modulares) e as dificuldades de depuração dos erros tendem a desmotivar os alunos e tornar menos efetivo o processo instrucional.

    Como a estrutura do programa DIAG é genérica, os alunos podem ser incentivados a criar outras bases de dados, em diferentes áreas da Medicina. Uma sugestão interessante é também dar aos alunos a tarefa de refinar o programa, manipulando o lay-out de cores e telas, aumentar o número de campos de busca, melhorar a interatividade do programa, etc.


    Referências Bibliográficas

    1. Palombo, C.R.; Maccari Filho, M.; El-Guindy, M.M.; Sabbatini, R.M.E. - DIAGFACE: Um banco de co-nhecimentos e sistema especialista para o diagnóstico de patologias orofaciais. Anais do IV Congresso Brasileiro de Informática em Saúde. Sociedade Brasileira de Informática em Saúde, Porto Alegre, p. 154-6, 1994.
    2. Sabbatini, R.M.E. - Automação de arquivos médicos em microcomputadores. In: Rodrigues, R.J. (Ed.) - A Informática e o Administrador Hospitalar. São Paulo: Pioneira, 1987.
    3. Sabbatini, R.M.E. - Bancos de Dados em Medicina. São Paulo: Instituto Brasileiro de Informação em Saúde e Editora, 1ª edição, 20 pp., junho de 1988.
    4. Sabbatini, R.M.E. - An improved undergraduate curriculum for teaching Medical Informatics to medical and nursing students. In: Van Bemmel, J.H. & Zvárová, J. (Eds.) - Knowledge, Information and Medical Education. Amsterdam: North Holland, p. 67-78, 1991.
    5. Sabbatini, R.M.E. - Curso Prático de Microinformática para Usuários em Saúde. Campinas, SP: Dataquest Informática, 5ª edição, 1992.
    6. Sabbatini, R.M.E. -O diagnóstico médico por computador. Informédica, 1(1): 5-10, março/abril de 1993.
    7. Sabbatini, R.M.E. - O ensino da Informática Médica. Roteiros e bibliografia básica. Informédica, 2(8): 5-12, maio/junho de 1994.

    Voltar à HomePage Voltar ao Índice de Artigos Enviar email p/o Editor
    Copyright (c) 1995 Renato M.E. Sabbatini