40
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia de Sistemas e Informática Disciplina de Projecto Ano Lectivo de 2002/2003 Desenvolvimento de um sistema de Informação Geográfica para o Instituto Português do Sangue (IPS) Orlando Jorge Carvalho Ribeiro Carla Sofia de Almeida Coutinho Fevereiro, 2003

Desenvolvimento de um sistema de Informação Geográfica ...synergy.intergraph.com/orl/proposal/401402.pdf · Cap´ıtulo 1 Introdu¸c˜ao O IPS ´e respons´avel pela realiza¸c˜ao

Embed Size (px)

Citation preview

Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia de Sistemas e Informática Disciplina de Projecto Ano Lectivo de 2002/2003

Desenvolvimento de um sistema de Informação Geográfica para o Instituto Português do Sangue (IPS)

Orlando Jorge Carvalho RibeiroCarla Sofia de Almeida Coutinho

Fevereiro, 2003

Data de RecepcaoResponsavelAvaliacaoObservacoes

Desenvolvimento de um sistema de Informacao Geograficapara o Instituto Portugues do Sangue (IPS)

Realizador Por :Orlando Ribeiro No27649 [email protected] Coutinho No27596 [email protected]

Orientado por :Pedro Rangel Henriques [email protected] Joana Silva [email protected] Faria [email protected]

Fevereiro de 2003

2

Resumo

Com este relatorio descreve-se um projecto integrado no sistema SARTS (Sis-tema para Analise da Recolha e Tratamento do Sangue), em que se pretendedesenvolver uma aplicacao de suporte ao IPS, o qual devera facilitar as fasesde Planeamento, Promocao e Preparacao das Brigadas destinadas a colheita desangue em varios pontos do paıs. Esta aplicacao devera permitir obter variasinformacoes e padroes existentes nos dados, com base numa area geografica.Assim, entre outras operacoes, devera permitir: obter zonas com mais inuti-lizacoes e tambem com menos; detectar patologias especıficas numa determinadazona; obter os hospitais com mais pedidos e com mais devolucoes; identificarpredominancia de grupos sanguıneos por zona; obter percentagens de aptidao,suspensao e eliminacao de dadores inscritos nas varias fases da colheita.

Conteudo

1 Introducao 4

2 Descricao detalhada do Projecto 62.1 Enquadramento do Problema . . . . . . . . . . . . . . . . . . . . 62.2 Objectivos do Projecto . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Analise dos Requisitos e Planeamento da Resolucao 93.1 Especificacao dos Objectivos . . . . . . . . . . . . . . . . . . . . . 93.2 Arquitectura do Sistema a desenvolver . . . . . . . . . . . . . . . 10

4 Desenvolvimento do Projecto 124.1 Meios Disponıveis . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1.1 Ferramentas Relacionadas com o Projecto . . . . . . . . . 134.1.2 Dados Fornecidos e Problemas Encontrados . . . . . . . . 15

4.2 Resolucao do Problema . . . . . . . . . . . . . . . . . . . . . . . 174.3 Funcoes de Visualizacao . . . . . . . . . . . . . . . . . . . . . . . 18

4.3.1 Funcao de Visualizacao de freguesias . . . . . . . . . . . . 184.3.2 Funcao de Visualizacao de Concelhos . . . . . . . . . . . . 194.3.3 Funcao de Visualizacao para Estatıstica Global . . . . . . 19

4.4 Estatıstica de Inutilizacoes . . . . . . . . . . . . . . . . . . . . . . 204.4.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . 204.4.2 Extraccao de Conhecimento . . . . . . . . . . . . . . . . . 21

4.5 Patologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.5.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . 224.5.2 Extraccao de Conhecimento . . . . . . . . . . . . . . . . . 23

4.6 Devolucoes/Entregas por Hospital . . . . . . . . . . . . . . . . . 244.6.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . 244.6.2 Extraccao de conhecimento . . . . . . . . . . . . . . . . . 25

4.7 Seleccao de Dadores . . . . . . . . . . . . . . . . . . . . . . . . . 264.7.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . 264.7.2 Extraccao de Conhecimento . . . . . . . . . . . . . . . . . 27

4.8 Grupos Abo(Rh)/Hemoglobina por zona . . . . . . . . . . . . . . 284.8.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . 284.8.2 Extraccao de Conhecimento . . . . . . . . . . . . . . . . . 29

5 Conclusoes e Trabalho Futuro 31

6 Referencias WWW 34

1

A Mapas usados 35A.1 Esquema da Base de Dados do IPS Original . . . . . . . . . . . . 36A.2 Esquema da Base de Dados do IPS em Microsoft Access . . . . . 37A.3 Esquema da Base de Dados do IPS em SQL Server 2000 . . . . . 38A.4 Esquema do Warehouse do GeoMedia . . . . . . . . . . . . . . . 39A.5 Mapa Utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2

Lista de Figuras

3.1 Esquema da Arquitectura do Sistema Desenvolvido . . . . . . . . 11

4.1 Registo do Comando no GeoMedia . . . . . . . . . . . . . . . . . 174.2 Screenshot da aplicacao: Opcao de Inutilizacoes . . . . . . . . . . 214.3 Exemplo de Aplicacao: Opcao de inutilizacoes . . . . . . . . . . . 224.4 Screenshot da aplicacao: Opcao de Patologias . . . . . . . . . . . 234.5 Exemplo da Aplicacao: Opcao de Patologias . . . . . . . . . . . . 244.6 Screenshot da aplicacao: Opcao de Entregas/Devolucoes de Sangue 254.7 Exemplo da Aplicacao: Opcao de Entregas/Devolucoes de Sangue 264.8 Screenshot da Aplicacao: Opcao de Seleccao de Dadores . . . . . 274.9 Screenshot da Aplicacao: Opcao de Seleccao de Dadores . . . . . 284.10 Exemplo da Aplicacao: Opcao de Grupos ABO/Rh e Hemoglobina 294.11 Exemplo da Aplicacao: Opcao de grupos ABO/Rh e Hemoglobina 30

A.1 Esquema da Base de Dados do IPS sem relacoes ou chaves . . . . 36A.2 Esquema da Base de Dados do IPS com relacoes e chaves em

formato Microsoft Access . . . . . . . . . . . . . . . . . . . . . . 37A.3 Esquema final da Base de Dados do IPS em SQL Server 2000 . . 38A.4 Esquema do Warehouse do GeoMedia em Access . . . . . . . . . 39A.5 Workspace do Geomedia: Local onde sao mostrados todos os

resultados de queries espaciais . . . . . . . . . . . . . . . . . . . . 40

3

Capıtulo 1

Introducao

O IPS e responsavel pela realizacao de colheitas de sangue por todo opaıs, acto que se revela cada vez mais importante para salvar vidas. Para isso,periodicamente sao organizadas brigadas em varios locais destinadas a colheitade sangue.

Assim, torna-se essencial manter numa base de dados completa e estrutu-rada toda a informacao acerca dos dadores inscritos, bem como das colheitas erespectivas analises e dos hospitais onde as colheitas foram entregues, para alemdas proprias brigadas.

Verifica-se, entao, uma crescente necessidade de elaborar uma ferramenta desuporte ao planeamento dessas brigadas, que permita obter varias informacoes(estatısticas, padroes, relacoes) baseadas na area geografica onde os dados seinserem. Consequentemente, essa ferramenta iria facilitar a fase de Promocaoe de Preparacao das brigadas, bem como detectar anomalias em determinadaszonas, como por exemplo um numero anormal de inutilizacoes ou de patologiasnuma zona.

Para isto, sera necessario o uso de um Sistema de Informacao Geografica(SIG). Um SIG e um sistema computacional capaz de integrar, armazenar, ma-nipular e visualizar informacao georeferenciavel. E um sistema de informacaoque permite uma melhoria substancial na gestao de recursos pois a percepcaodaquilo que nos rodeia e global, dada a quantidade e organizacao de informacaoaliada a facilidade de consulta e possibilidade de cruzamento de informacao. Assuas potencialidades decorrem da habilidade em integrar grandes quantidadesde informacao e na capacidade de utilizar inumeras ferramentas analıticas paraa exploracao dos dados.

Assim, ao longo deste relatorio, iremos descrever todos os passos efectuadosna criacao dessa aplicacao, bem como toda a fase precedente, a qual envolve umacuidada analise de requisitos e um planeamento rigoroso de todos as operacoesa realizar. Ao longo dos varios capıtulos poderemos encontrar: uma descricaodetalhada do problema (Capıtulo 2); uma analise aprofundada de todos os req-uisitos e o modo como pensamos resolve-los (Capıtulo 3); a fase de desenvolvi-mento do projecto em si, onde estao incluidas as seccoes que descrevem os meiose ferramentas utilizadas, a propria resolucao do problema e os resultados obti-dos (Capıtulo 4); as conclusoes obtidas com base nesses resultados e sugestoespara trabalhos futuros(Conclusoes).

4

Capıtulo 2

Descricao detalhada doProjecto

Neste capıtulo serao descritos os objectivos do projecto, bem como o en-quadramento do problema. O capıtulo esta dividido em duas seccoes. O en-quadramento do problema onde se explicam as mais valias deste sistema para oIPS e os objectivos do projecto onde se explicam as nossas intencoes em relacaoa implementacao do projecto.

2.1 Enquadramento do Problema

Na seccao em causa ira ser explicada a importancia e as vantagens da adopcaodeste sistema por parte do IPS.

O IPS mantem um historico de todas as dadivas de sangue (associadas abrigada que realizou a colheita), bem como os resultados das analises previasfeitas ao dador, e posteriores a dadiva efectuada. Todas estas analises visamdeterminar se o dador esta apto a dar sangue e se depois da dadiva tal aptidaose confirma no sangue recolhido. Alem das analises a base de dador contemainda informacao sobre a distribuicao e devolucoes do sangue. Este historicoesta na forma de uma base de dados que serve de suporte a todo o trabalhoefectuado.

Assim, este sistema propoe-se fornecer, ao dispor geograficamente os variosatributos da base de dados, uma visao global de toda a informacao disponıvel,com o objectivo de facilitar a consulta dos dados e, sempre que possıvel, rela-cionar esses dados com as varias zonas do paıs.

Sempre que a disposicao geografica nao for possıvel devido, por exemplo,a inexistencia de dados geo-referenciaveis na opcao pedida, os resultados saomostrados numa tabela no ecra. Esta tabela permite visualizar relacoes impor-tantes que nao devem ser ignoradas apenas por nao estarem associados a umafreguesia ou a um concelho. Um exemplo deste tipo de relacoes e a relacaoexistente entre o numero de inutilizacoes e uma determinada profissao a nıvelglobal.

Em suma, a criacao deste sistema vai permitir visualizar a informacao ge-ografica referente a alguns atributos, facilitando a compreensao dos mesmos.

5

Por exemplo, com a visualizacao do numero de inutilizacoes por zona consegue-se detectar condicoes desfavoraveis a qualidade do sangue colhido, bem como aszonas onde se verificam essas condicoes.

2.2 Objectivos do Projecto

O grande objectivo deste projecto e facilitar ao IPS a analise geograficade varios factores, colocando a sua disposicao um vasto leque de estatısticas,baseadas nas suas proprias bases de dados, dispondo geograficamente as variaveisenvolvidas neste processo.

Torna-se, entao, importante permitir as seguintes operacoes:

• distribuicao do numero de inutilizacoes por local de dadiva, sexo, profissao,idade, estado civil, brigada e dador;

• determinacao de zonas com maior incidencia de uma determinada patolo-gia;

• obtencao dos hospitais com mais devolucoes e mais pedidos;

• visualizacao de algumas estatısticas atraves da utilizacao de mapas tematicospara agrupar os resultados de uma forma facil de interpretar;

• distribuicao de grupos ABO(Rh) por local de dadiva, sexo, profissao,idade, estado civil, brigada e dador;

• obtencao do valor da hemoglobina relacionado com o sexo, profissao, idade,dador, brigadas e estado civil;

• Analise geografica de:

– percentagem de dadores inscritos que ficam aptos, suspensos ou elim-inados na triagem clınica;

– percentagem de dadores aptos na triagem clınica que ficam aptos,suspensos ou eliminados na colheita;

– percentagem de dadores aptos na colheita que ficam aptos/suspensos/eliminadosno laboratorio;

– percentagem total dos dadores inscritos que ficam aptos/suspensos/eliminados(pode ser explorado pela causa de suspensao e por causa de elim-inacao).

6

Capıtulo 3

Analise dos Requisitos ePlaneamento da Resolucao

Neste capıtulo serao descritos mais em pormenor os objectivos especificados nocapıtulo anterior; e tambem especificada a arquitectura do sistema a desenvolver,sendo apresentado um esquema ilustrativo do sistema.

3.1 Especificacao dos Objectivos

Serao agora explicados mais em pormenor todos os objectivos apresentadosno capıtulo anterior.

Com a estatıstica de inutilizacoes pretende-se estudar tanto a sua distribuicaoespacial como a relacao entre o numero obtido com factores tais como o sexo,a idade, a profissao, entre outros. Com a distribuicao espacial pode-se estudarpredominancias de inutilizacoes em certas zonas.

No caso da estatıstica de devolucoes e entregas por hospitais, esta permitedetectar os hospitais que fazem mais pedidos e mais devolucoes, de maneira apoder fazer uma melhor alocacao de recursos.

A estatıstica com a qual se obtem o numero de hospitais com mais de-volucoes e pedidos de cada tipo de recurso tem o objectivo de permitir alocareficientemente os recursos disponıveis, baseando-se no numero de devolucoese/ou numero e tipo de recursos pedidos.

Obtendo informacao acerca dos grupos ABO(Rh) torna-se possıvel pesquisara predominancia de um dado tipo de sangue local de dadiva, sendo estas zonasdevidamente assinaladas no mapa. Para alem disso, essa predominancia podetambem ser associada a outros factores tais como idade, sexo, estado civil, dador,brigadas e profissao.

A obtencao do valor da hemoglobina relacionado com os diversos factoresdescritos anteriormente permite verificar se estes dois factores (por exemplo, ostress no trabalho) interferem na qualidade do sangue.

Com a identificacao do tipo de patologias por cada zona pode-se detectarpredominancias, ou seja permite verificar a proliferacao de determinada patolo-gia nessa zona.

O calculo das percentagens de dadores que ficam aptos/suspensos/eliminadosem cada fase da colheita permite obter dados informativos e geograficos acerca

7

das tres fases, podendo esses dados ser visualizados no mapa. Assim, pode-se detectar, por exemplo, as causas de eliminacao ou suspensao dos dadoresassociadas as respectivas zonas geograficas.

3.2 Arquitectura do Sistema a desenvolver

Este trabalho ira ter como fontes de dados uma base de dados com informacoessobre dadores, colheitas e analises de sangue fornecida pelo Instituto Portuguesdo Sangue e uma base de dados que contem um mapa que vai ser utilizadoconjuntamente com o GeoMedia e que possui informacoes geograficas de todasas freguesias e todos os concelhos da Zona Norte e Centro de Portugal.

O sistema disponibilizara ao utilizador a sua funcionalidade atraves de umcomando que engloba todas as estatısticas e operacoes descritas anteriormente. Este comando corresponde a um ficheiro .dll, previamente registado no Geo-Media (comando GeoMedia) e implementado em Visual Basic. Cada operacaodeste comando acede directamente a base de dados do IPS para efectuar assuas pesquisas retornando o seu resultado ou em tabelas no Visual Basic ou nomapa referido. Para retornar o resultado das pesquisas no mapa o comandointerage entao, com a base de dados geografica, pesquisando o(s) concelho(s) oufreguesia(s) a mostrar.

As ligacoes a base de dados do IPS e feita por ODBC e o acesso utilizando aslivarias ADODB (atraves de objectos ADODB.connection e ADODB.Recordset’s)enquanto que a ligacao a base de dados geografica e feita utilizando a API (ob-jecto GDatabase e GRecordset) do Geomedia. Em alguns pontos do trabalhofoi necessario aceder a base de dados geografica sem o intermedio do GeoMe-dia, como tal fez-se uma ligacao por ODBC ao GeoMedia, utilizando o mesmometodo que se usou para aceder a base de dados do IPS.

Figura 3.1: Esquema da Arquitectura do Sistema Desenvolvido

8

Capıtulo 4

Desenvolvimento doProjecto

Neste capıtulo vao ser discutidas todas as fases de implementacao desteprojecto. Primeiramente vao ser descritos os meios fornecidos e os problemasencontrados. De seguida vai ser descrito o metodo de implementacao da In-terface propriamente dita. A descricao subdivide-se em cinco categorias, umapara cada uma das cinco opcoes principais do programa. Sao elas a estatısticade inutilizacoes, a estatıstica de patologias, a estatıstica de devolucoes/entregaspor hospital, a estatıstica de analises na fase de pre-colheita e as estatısticasreferentes aos grupos ABO, RH e Hemoglobina.

4.1 Meios Disponıveis

Para a implementacao deste projecto foram facultados todos os programas ebases de dados necessarias.

Os programas disponibilizados foram os seguintes:

• Microsoft Access XP

• Microsoft Visual Studio v6.0

• Microsoft SQL Server 2000

• Intergraph GeoMedia Professional v4.

• MiKTeX 2.2

• WinEdt v5.3

Foram ainda fornecidas duas bases de dados. A base de dados do IPS emformato Access que depois de normalizada foi transferida para SQLServer e abase de dados Geografica que e a warehouse da ligacao ao GeoMedia. Esta basede dados foi tambem fornecida em Access.

9

4.1.1 Ferramentas Relacionadas com o Projecto

O Geomedia Professional

O Geomedia e uma ferramenta de analise e visualizacao de informacao ge-ografica. E uma plataforma extensıvel que permite que os utilizadores acrescen-tem novas potencialidades provenientes de diversas fontes e formatos de dados,com o objectivo de realizar complexas queries para analise espacial.

O GeoMedia pode ser utilizado como ferramenta orientada ao utilizador final(aplicacao normal) ou como plataforma de desenvolvimento de aplicacoes novas,usando por exemplo ferramentas como o Visual Basic ou o Visual C++.

Entre outras, o GeoMedia apresenta as seguintes funcionalidades:

• O GeoMedia permite que o utilizador efectue analises sem ter que transfor-mar dados em outros formatos. Utilizando internamente transformacoesde coordenadas provenientes de varios formatos possibilita a visualizacaode fontes de dados heterogeneas como um unico mapa com toda a in-formacao integrada.

• Atraves da tecnologia OLE, O GeoMedia pode ser facilmente acedidoatraves de Visual Basic, por exemplo, permitindo a extensao das capaci-dades do GeoMedia com comandos ou aplicacoes.

• Uma Legenda interactiva. A legenda do GeoMedia permite escolher, deuma lista de caracterısticas presentes na mesma, quais vao ser, efectiva-mente, mostradas no mapa.

Os utilizadores podem criar uma vasta gama de aplicacoes para GeoMedia.Usando os objectos do GeoMedia, os programadores podem construir frame-works, executaveis e DLLs facilmente.

Existem dois grandes tipos de aplicacoes que e possıvel programar para oGeoMedia. As aplicacoes modal e modeless. As aplicacoes modal caracterizam-se por apresentarem um formulario ao utilizador assim que ele decide executara aplicacao. Estas aplicacoes tomam o controlo do GeoMedia e de todos os seusobjectos ate que o utilizador acabe de usar a aplicacao. As aplicacoes modelesscaracterizam-se por correrem em background sendo activadas por um eventodespoletado pelo utilizador. Estas aplicacoes nao tomam o controlo do GeoMe-dia, ou seja, podem estar varias a correr em simultaneo sem que o utilizador seaperceba disto. A aplicacao que foi desenvolvida para este projecto e do tipomodal.

Para alem disso, os utilizadores podem usar os objectos do GeoMedia paracriar aplicacoes que acedam ao produto directamente.

O GeoMedia funciona implementando o modelo cliente/servidor. O Geo-media e o cliente. Os dados geograficos (warehouse) podem residir local ouremotamente. O acesso a estes dados e efectuado atraves de um componente desoftware designado por servidor GDO.

O servidor GDO (Geographic Data Objects) e uma extensao ao OLE quepossibilita a automatizacao do acesso a informacao geografica a clientes de au-tomatizacao como o Visual Basic ou o Visual C++.

10

O Visual Basic

A linguagem de programacao utilizada para codificar a solucao destetrabalho foi o Visual Basic pela boa integracao com as bases de dados em gerale o GeoMedia em particular. Alem da facilidade de integracao com estas, ovisual basic proporciona ainda uma maneira de desenvolver ambientes graficosrapida e facilmente.

O Visual Basic e uma linguagem de programacao orientada ao objecto conce-bida a pensar nos sistemas operativos Windows. Dadas as caracterısticas destessistemas, nomeadamente no que se refere as suas potencialidades graficas, asaplicacoes que funcionam nestes sistemas sao estruturalmente diferentes das de-senvolvidas ”tradicionalmente”(por exemplo, para DOS ou Linux em modo detexto).

Ao contrario das aplicacoes puramente imperativas (por exemplo, desen-volvidas usando C ou Pascal), em que o fluxo da aplicacao segue um caminhodefinido por uma sequencia de instrucoes, executando procedimentos de acordocom as necessidades, as aplicacoes orientadas a eventos (aplicacoes do VisualBasic), executam porcoes de codigo de acordo com eventos produzidos peloutilizador ou pelo sistema (Interaccao Melhorada com o utilizador final).

Consequentemente, a ordem de execucao do codigo depende dos eventosproduzidos, que, por sua vez, dependem das accoes do utilizador e/ou eventosdo sistema.

Como as accoes do utilizador nao sao previsıveis, o codigo devera consideraras diversas opcoes que poem ao utilizador face a um dado interface. Quandonao o fizer, devera pelo menos indisponibilizar as operacoes susceptıveis de co-lidirem com a normal execucao do programa. Por exemplo, nao permitir queo utilizador entre numa determinada opcao do menu ou pressione determinadobotao, quando a execucao dessas tarefas nao faz sentido ou provoca erro.

A construcao do interface de uma aplicacao Visual Basic consiste em in-corporar os controlos graficos disponibilizados e configura-los de acordo com asnossas necessidades. Logo, a forma de construcao do interface com o utilizadore facilitada aumentando a qualidade e produtividade no desenvolvimento daaplicacao.

Para alem das facilidades de desenho, as aplicacoes Visual Basic apresentamoutras vantagens, como sejam:

• utilizam os recursos do ambiente (impressoras, tipos de letra, etc.);

• incluem potencialidades de interligacao a Bases de Dados permitindo oacesso a dados em formatos especıficos (por exemplo: Access, DBase,SqlServer, etc.);

• permitem a troca de dados entre aplicacoes.

• permitem o desenvolvimento de API’s que permitem extender as poten-cialidades do Visual Basic (Integrando-o com outras aplicacoes como porexemplo o GeoMedia).

O SqlServer

11

O Microsoft SqlServer foi o SGBD (Sistema Gestor de Bases de Dados)escolhido para alojar a base de dador do Instituto Portugues do Sangue. Estesistema e reconhecidamente mais robusto do que o Access (SGBD original daBase de dados do IPS) o que torna a execucao dos queries mais rapida, alem davelocidade, este SGBD possuı uma panoplia de instrucoes SQL bastante maisabrangente relativamente ao Access, atraves da incorporacao do Transact-SQL,o que permite que a maior parte das estatısticas sejam quase completamentedescritas em SQL, o que nao acontecia quando se utilizava a base de dados emAccess.

4.1.2 Dados Fornecidos e Problemas Encontrados

Toda a informacao a analisar esta disponıvel numa base de dados que foifornecida pelo Instituto Portgues do Sangue (ver esquema da Base de Dados emAnexo). Depois da sua analise, foram encontrados os seguintes problemas:

• As tabelas nao tinham relacoes nem chaves definidas. A princıpio, naoera possıvel definir chaves nas tabelas de dadores e colheitas pois os cam-pos candidatos apresentavam valores nulos e repetidos. Como solucao,foram definidas duas novas tabelas, uma para os codigos dos dadores(TabDadores) e outra para os codigos das colheitas (TabColheitas), pas-sando estas duas tabelas a referenciar as tabelas de dadores e colheitas.Estas tabelas devem existir na base de dados original, no entanto, pos-sivelmente devido a razoes de confidencialidade dos dados (ex:dadores),nao nos foram fornecidas. Como sao essenciais a integridade da base dedados, elas tiveram de ser criadas.

• Para tratar os valores nulos foi acrescentado um novo codigo (-1) as duastabelas que ira passar a referenciar todos os campos vazios,uma vez quefacilita o tratamento dos dados.

• Existiam dadores na tabelas de colheitas que nao existiam na tabela dedadores. Do mesmo modo, existiam colheitas na tabela de dadores quenao existiam na tabela de colheitas. Para resolver este problema, foramacrescentados tambem as novas tabelas criadas.

• Na tabela de dadores verificou-se a existencia de codigos de brigadas quenao estavam referenciadas na tabela de brigadas. O mesmo se verificounas profissoes. Estes registos foram, entao, acrescentados as respectivastabelas com a designacao DESCONHECIDA.

Depois de resolvidos estes problemas, foram entao definidas as chaves paraas tabelas. Assim:

TabColheitas A chave e o campo colheita.

TabDadores A chave e o campo dador.

Dadores A chave e constituıda pelos campos data e dador.

Colheitas A chave e constituıda pelos campos data, num colh e comp colh.

Analises A chave e constituıda pelos campos data e dador.

12

Alem da informacao do Instituto Portugues do Sangue, foi tambem fornecidoum mapa do norte e centro de portugal continental na forma de uma base dedados em Access para ser utilizada com o GeoMedia. Esta base de dados in-clui todos os concelhos e freguesias do paıs identificadas de forma unıvoca comuma chave primaria. Todos os concelhos e freguesias incluem ainda um campoGeometry em formato binario que indica ao GeoMedia a localizacao exacta doconcelho ou freguesia a que esta associado. Utilizando uma conexao a estabase de dados, foi possıvel criar o nosso espaco de trabalho no GeoMedia (Ge-oWorkSpace). O trabalho vai ser desenvolvido para visualizacao neste mesmoespaco de trabalho.

Da Interaccao entre a base de dados do IPS e a base de dados geograficasurgiram os seguintes problemas:

• Na base de dados do IPS o unico campo que se pode considerar geografi-camente mais abrangente que a freguesia, e o codigo postal. No entanto, abase de dados geografica nao possui esta informacao. Em vez disso possuıum campo ainda mais abrangente: o concelho. Dado que um codigo postale caracterıstica de um unico concelho (o contrario ja nao e verdade masneste caso isso e irrelevante), e possıvel mapear univocamente um codigopostal no concelho respectivo e mostrar essa informacao no mapa. Paratal, e visto que esta informacao estava indisponıvel, foi necessario criaruma tabela para fazer a ligacao entre o codigo postal proveniente da basede dados do IPS e o concelho existente na base de dados geografica. Estatabela foi criada com todos os codigos postais existentes e os respectivosconcelhos (informacao obtida do site na internet dos CTT). Durante acriacao desta tabela foram detectados ainda alguns problemas adicionaisrelacionados com a inexistencia de alguns codigos postais (por lapso naintroducao de dados provavelmente). Esses problemas foram resolvidosindividualmente atraves de uma pesquisa mais profunda ou em casos ex-tremos, pela eliminacao dos registos ambıguos (tal aconteceu apenas umavez com uma freguesia e codigo postal inexistentes no site dos CTT).

• Depois de criada a tabela de codigos postais foi necessario percorrer osregistos da base de dados geografica e, um a um, resolver ambiguidadesprovocadas por erros na introducao do nome dos concelhos ou ambigu-idades na acentuacao dıspar do nome dos concelhos (o mesmo concelhoaparecia escrito de maneiras diferentes ex: SANTA MARIA DA FEIRA eSTA MARIA D FEIRA)

• O mesmo tipo de procedimento acima referido teve de ser repetido, masdesta vez para as freguesias. Com o auxılio de editores de texto quepermitem o uso de expressoes regulares para detectar padroes de erroscomuns (ex: UltraEdit) foi possıvel automatizar ate certo ponto este pro-cesso, visto o numero de freguesias existentes dificultar qualquer tentativade correccao integral manual. Depois de esgotadas as possibilidades de au-tomatizacao deste processo, todas as freguesias foram percorridas manual-mente com o objectivo de eliminar qualquer ambiguidade mais resistente...Este processo teve uma percentagem de exito bastante boa, uma vez quefoi possıvel corrigir mais de 90% das freguesias. As ambiguidades quesubsistem estao relacionadas com freguesias do sul do paıs (nao presentesna base de dados geografica) e pouco mais de meia duzia de freguesias

13

do norte e centro do paıs que, simplesmente, nao estao na base de dadosgeografica (ex: vila das aves)

Resolvidos os problemas de integridade da base de dados e de interligacaoentre as duas bases de dados iniciou-se a resolucao do problema. No Entantonao passou muito tempo ate serem encontrados novos problemas, desta vez deperformance. A Base de dados do IPS e bastante grande (centenas de milhar deregistos por tabela), o que prejudica a performance de pesquisas sobre a mesma.Este problema e impossıvel de resolver na totalidade, no entanto, algumas me-didas foram tomadas para o minimizar como a mudanca do sistema gestor debase de dados para um sistema reconhecidamente mais robusto, o MicrosoftSQL Server 2000 e disponibilizacao uma grande quantidade de espaco em discopara a cache dos ’Queries’

4.2 Resolucao do Problema

Como foi referido no capıtulo que descreve a sua arquitectura, este sistemae composto por um conjunto de opcoes, contidas num comando programadoem Visual Basic que interage com duas bases de dados, de maneira a mostraros conteudos de uma (BD do IPS) por intermedio da outra (BD Geografica eGeoMedia). Assim sendo foi desenvolvido um comando que foi instalado noGeoMedia (ver imagem abaixo), que pode ser acedido directamente do menu’Projecto’ que foi instalado na barra de menus do Geomedia.

Figura 4.1: Registo do Comando no GeoMedia

Neste comando existem quatro caixas de seleccao globais. A caixa que per-mite escolher o concelho e a caixa que permite escolher uma freguesia desse con-celho e duas caixas que permitem escolher datas. Os concelhos sao pesquisadose inseridos nessa caixa no arranque do comando, enquanto que as freguesias

14

sao preenchidas sempre que se escolhe um concelho. Se nao for indicado umconcelho, a caixa de freguesias fica inactiva. As restantes duas caixas permitemescolher o intervalo de tempo a aplicar as pesquisas abaixo. Estas caixas saoambas carregadas com todas as datas de colheitas de sangue presentes na basede dados, no arranque do comando.

4.3 Funcoes de Visualizacao

Nesta seccao vao ser explicadas todas as funcoes utilizadas para mostrarno mapa o resultado dos recordset’s calculados a partir da base de dados doIPS. Existem tres funcoes para fazer esta visualizacao. Sao elas a funcao devisualizacao de freguesias, a funcao de visualizacao de concelhos, e a funcao deestatıstica global. Cada uma delas vai ser explicada detalhadamente a seguir.

4.3.1 Funcao de Visualizacao de freguesias

A funcao de visualizacao de freguesias destina-se a identificar univocamenteuma freguesia no mapa. Para tal ser possıvel, torna-se necessario associar a cadafreguesia o concelho a que pertence pois existem varias freguesias a nıvel nacionalcom o mesmo nome. Uma vez feita esta associacao a funcao e chamada comalguns parametros destinados a criar, de uma forma perceptıvel ao utilizador,a entrada na legenda. Sao seguidamente passados a funcao o concelho e afreguesia a mostrar. Estes dois parametros sao definidos antes da invocacaoda funcao. Se for necessario mostrar mais do que uma freguesia (existencia devarias freguesias com a mesma percentagem de determinada caracterıstica) estafuncao sera chamada dentro de um ciclo quantas vezes for preciso.

Esta maneira de resolver o problema podera parecer algo desajustada e ine-ficiente, pois poderia ser passado um recordset a funcao com todas as freguesiasa mostar. Tal nao foi feito pois o tal recordset nao possui informacao geo-referenciavel, uma vez que provem da base de dados do IPS. Foram efectuadastentativas para converter a base de dados geografica para Sqlserver, sem sucesso(os pacotes DTS existentes no SqlServer nao garantiram a integridade dos cam-pos ’Geometry’ da Base de dados geografica). Tal operacao permitiria juntartabelas de bases de dados diferentes no mesmo query sql, o que permitiria asso-ciar a um recordset do IPS, em cada linha, a informacao geografica necessariaproveniente da base de dados geografica, sendo este recordset passado para afuncao que mostraria todas as freguesias de uma vez.

Uma vez invocada, a funcao comeca por estabelecer uma conexao a basede dados geografica. Depois de criada a conexao, e aberto um Grecordset, afim de procurar a freguesia passada como parametro. Se a freguesia nao forencontrada a funcao passa para um nıvel de agregacao superior, procurando oconcelho especıficado na tabela de concelhos. Se o concelho nao for encontradona tabela de concelhos, a funcao faz uma ultima tentativa para mostrar algode relevante para o utilizador, isto e, procura todas as freguesias do concelho amostrar (procura o concelho pelo conjunto de freguesias), na tabela de freguesiaspois esta possui referencias a concelhos que a tabela de concelhos nao possui.Se este metodo, apesar de persistente, falhar, a funcao ”desiste”e retorna semmostrar nada.

15

Se a freguesia ou concelho, forem encontrados, a funcao cria um estilo paraa visualizacao, isto e, atribuı a visualizacao a cor de linha, cor de fundo, tipo delinha, etc. De seguida e criada a entrada na legenda para a freguesia com a Stringpassada como parametro a funcao. Depois de criada a entrada, e associada aoestilo criado anteriormente e possıvel visualizar o resultado no mapa. Se oresultado for um concelho, este e mostrado, mas a entrada na legenda refere onome da freguesia para que o utilizador saiba qual o resultado da pesquisa.

4.3.2 Funcao de Visualizacao de Concelhos

Esta funcao funciona de uma maneira analoga a anterior. Neste caso apenase passada a funcao a String a inserir na legenda e o concelho a mostar. Afuncao comeca por abrir a conexao a base de dados geografica e o recordsetpara procurar o concelho respectivo.

Esta procura comeca por ser feita na tabela de concelhos. Se nao for encon-trado o concelho a funcao tentar procurar todas as freguesias que pertencem aesse concelho na tabela de freguesias pelos motivos explicados anteriormente (atabela de freguesias contem mais concelhos que a propria tabela de concelhos).Se este ultimo metodo falhar a funcao desiste e nao mostra nada. Tal nao vaiacontecer para esta base de dados, neste estado, pois a taxa de correspondenciaactual entre concelhos da base de dados do IPS e concelhos da base de dadosgeografica e de 100% para a tabela de freguesias e muito proximo disso para atabela de concelhos (apenas tres concelhos referidos na base de dados do IPSnao estao presentes na tabela de concelhos da base de dados geografica, mastodos os concelhos da base de dados do IPS estao referenciados na tabela defreguesias da base de dados geografica).

De seguida, e analogamente a funcao anterior, e criado um estilo (diferentedo estilo das freguesias para se poderem distinguir) e criada a entrada na legendacorrespodente. Esta entrada e criada com a String passada como parametro afuncao.

4.3.3 Funcao de Visualizacao para Estatıstica Global

Esta funcao visa implementar a visualizacao de mapas tematicos, isto e, a vi-sualizacao de todos os concelhos para determinada caracerıstica associados a um”grau de severidade”da percentagem ou valor encontrados. Por outras palavras,para cada concelho a mostrar no mapa, e associada uma cor demonstrativa dasua percentagem ou valor de acordo com a gama de valores da caracteristica emque esse concelho se insere.

Esta funcao de visualizacao funciona de uma maneira diferente das anteri-ores. E necessario passar ao GeoMedia um Recordset com valores de determi-nada caracterıstica para todos os concelhos, a fim deste os analisar e colocar nagama de valores indicada, atribuindo-lhe uma cor e entrada na legenda.

Os dados provenientes da base de dados do IPS sao, entao, escritos numatabela temporaria na base de dados geografica. De seguida esta tabela e a tabelade concelhos sao carregadas para um objecto EquiJoinPipe, cujo objectivo ejuntar as duas tabelas (pelo nome do concelho) de forma a manter a Geometriade cada concelho valida. Finalmente utiliza-se um objecto RangeLegendEntrypara particionar a tabela resultante em varias ”tabelas virtuais”, cada umadelas representando uma gama de valores. Cada gama de valores tem uma cor

16

associada e uma entrada na legenda. Cada concelho e visualizado com a cor dagama de cores onde esta inserido.

Existem cinco gamas de valores diferentes. A cada uma delas e atribuıdauma cor da escala de cores entre o verde e o vermelho, a fim de, visualmente,ser mais facil interpretar os resultados e analisar a sua gravidade.

4.4 Estatıstica de Inutilizacoes

4.4.1 Arquitectura

Esta primeira estatıstica destina-se a confrontar o utilizador com o prob-lema das inutilizacoes em colheitas de sangue realizadas pelo IPS. Ao escolhera opcao Inutilizacoes fica disponıvel uma serie de opcoes que visam relacionaro numero de inutilizacoes com outra qualquer caracterıstica, seja espacialmente(recorrendo ao geomedia sempre que possıvel), ou por intermedio de tabelascalculadas a partir da caracterıstica a analisar e do numero de inutilizacoesassociadas a mesma.

Nesta estatıstica e possıvel seleccionar o nıvel de agregacao geografico dese-jado (escolher visualizar dados globalmente, por concelho ou por freguesia), otipo de inutilizacao que vai ser alvo da pesquisa (e possıvel pesquisar todas asinutilizacoes independentemente do seu tipo, ou indicar um tipo em particular).E ainda possıvel indicar o intervalo temporal a pesquisar(escolher um intervaloaberto ou fechado de datas) e o tipo de componente do sangue colhido sobre oqual vao incidir as pesquisas. Estas escolhas sao feitas atraves de varios objectosdo tipo combo box.

Ao escolher estas opcoes e activada uma pequena estatıstica no fundo dajanela que indica para as opcoes escolhidas o total de colheitas, inutilizacoes erespectiva percentagem. Depois de escolhidas as caracterısticas da pesquisa, enecessario escolher o objecto dessa mesma pesquisa. Mais uma vez o utilizadore confrontado com as varias possibilidades desta estatıstica.

Existem as seguintes estatısticas espaciais disponıveis: localizar no mapa afreguesia e concelho do pais com mais ou menos percentagem de inutilizacoesque estejam de acordo com os criterios escolhidos anteriormente e ainda visu-alizar um mapa tematico em que os concelhos sao ordenados de acordo com osmesmos criterios. Nesta opcao os concelhos sao agrupados consoante a percent-agem de inutilizacoes que tem associada. Cada grupo tera uma cor diferente euma entrada distinta na legenda do GeoMedia. Clicando sobre as freguesias ouconcelhos e possıvel ver as informacoes sobre estes que estiverem presentes naBase de Dados geografica (funcionalidade do GeoMedia).

Como estatısticas nao espaciais, isto e, estatısticas que estao associadas avariaveis nao referenciaveis geograficamente temos a ordenacao da percentagemde inutilizacoes associadas ao numero, sexo, idade, profissao, estado civil dodador e brigada que procedeu a colheita. Desta forma e possıvel estudar ainfluencia de cada uma das caracterısticas de um dador , determinando ou naose sao determinantes na qualidade do sangue. Por dador e possıvel determinar osmelhores e piores dadores em termos de inutilizacoes permitindo, por exemplo,rejeitar um dador por este ter uma percentagem de inutilizacoes demasiado altano historico do IPS. Relativamente as brigadas e possıvel estudar a sua eficacia,determinando a sua viabilidade.

17

De uma maneira geral esta estatıstica visa determinar as possıveis causasdas inutilizacoes do sangue (dador, local, brigada, sexo...) auxiliando em variastomadas de decisao possıveis com o intuito de diminuir as inutilizacoes aumen-tando o aproveitamento das colheitas.

Figura 4.2: Screenshot da aplicacao: Opcao de Inutilizacoes

4.4.2 Extraccao de Conhecimento

Para esta estatıstica utilizamos dados da tabela de dadores total, da tabelade colheitas total e da tabela ’tabdadores’ que permite a interligacao das duasanteriores. Foram utilizadas ainda tabelas auxiliares para obter a designacaodas profissoes, sexo, brigada e profissao. As primeiras duas tabelas foram lig-adas pelo codigo de dador e pela data da colheita, formando uma unica tabela(virtual) que possuı toda a informacao necessaria para as opcoes referidas ante-riormente.

Todas as estatısticas foram realizadas seleccionando os parametros indicadosa cada uma delas, e incluindo as restricoes indicadas pelo utilizador nas caixasde seleccao ja referidas.

A contagem de inutilizacoes, no caso de nenhum componente da colheitaem particular ser especificado, e realizada de uma forma diferente da normal.Uma colheita inutilizada so e contabilizada como tal, se todos os componentescolhidos forem inutilizados, ou seja, basta haver um componente aceite nessacolheita para ela ja nao poder ser inutilizada. No caso de ser especificado umcomponente da colheita em particular, a contagem do numero de inutilizacoesde dado tipo desse componente e feita de uma forma normal, seleccionando e

18

contando as suas ocorrencias.

Figura 4.3: Exemplo de Aplicacao: Opcao de inutilizacoes

4.5 Patologias

4.5.1 Arquitectura

Esta estatıstica e bastante semelhante a estatıstica descrita na seccao an-terior. Estas semelhancas sao visıveis na possibilidade de escolher um con-celho/freguesia (para as estatısticas espaciais p.ex.) e ainda na possibilidade deincluir uma restricao ao perıodo de tempo (fechado ou aberto) da pesquisa.

Assim, escolhendo a opcao Patologias ficam disponıveis opcoes de caractergeografico ou meramente estatıstico. Como estatısticas geograficas existemas possibilidades de escolher o concelho/freguesia com maior ou menor pre-dominancia de uma patologia especıfica, podendo a patologia ser seleccionadanuma caixa de seleccao previamente preenchida com as patologias disponıveisna tabela de conclusoes. No que diz respeito as estatısticas nao geograficas,existe a possibilidade de associar a patologia escolhida a factores como o dador,o sexo, a idade, o estado civil, a profissao e a brigada, atraves da visualizacaoda tabela de resultados correspondente.

A semelhanca da estatıstica anterior, sempre que o valor de uma das caixas deseleccao e mudada, e activado um metodo que, a partir das opcoes escolhidas nascaixas de seleccao, indica o numero de ocorrencias dessa patologia e o numero

19

total calculando uma percentagem. O resultado da invocacao desse metodopode ser visto numa pequena caixa de texto no fundo da aplicacao.

Figura 4.4: Screenshot da aplicacao: Opcao de Patologias

4.5.2 Extraccao de Conhecimento

Para obter os resultados pretendidos torna-se necessario contar o numerode ocorrencias da patologia seleccionada, estando essa patologia referenciadanos campos trcl (triagem clınica), colh (colheita), lab (laboratorio) da tabela dedadores total.

Para possibilitar a visualizacao dos resultados das estatısticas nao geograficasde uma maneira legıvel, e necessario juntar as tabelas referentes ao estado civil,a profissao e as brigadas a fim de mapear cada codigo na sua descricao.

20

Figura 4.5: Exemplo da Aplicacao: Opcao de Patologias

4.6 Devolucoes/Entregas por Hospital

4.6.1 Arquitectura

Mais uma vez, a semelhanca das opcoes anteriores e possıvel seleccionar operıodo de tempo sobre os quais vao recair as pesquisas. A semelhanca dasopcoes anteriores e apresentado numa pequena caixa de texto no fundo daaplicacao o numero de entregas ou devolucoes que respeitam a restricao an-terior e as que serao explicadas mais a frente.

Nas devolucoes/Entregas por Hospital nao e possıvel a integracao das fun-cionalidades do GeoMedia, uma vez que a informacao que seria interessantevisualizar no mapa (localizacao dos hospitais) nao se encontra geo-referenciada.Como consequencia, os resultados destas estatısticas nao poderao ser visualiza-dos no mapa.

Primeiramente e necessario decidir se as pesquisas vao recair sobre as entre-gas de sangue nos hospitais ou sobre as devolucoes de sangue dos hospitais. Deseguida, e facultada a hipotese de escolher um componente especıfico da colheitae um tipo de colheita para mais tarde ser calculado, sobre estes parametros, ohospital com valor maximo ou mınimo de entregas ou devolucoes ou uma listacom todos os hospitais e o numero de entregas ou devolucoes. Ambas as es-tatısticas respeitam as restricoes indicadas nas caixas de seleccao.

21

Figura 4.6: Screenshot da aplicacao: Opcao de Entregas/Devolucoes de Sangue

4.6.2 Extraccao de conhecimento

No caso de ter sido seleccionada a opcao de entregas e necessario contar onumero de registos de cada hospital obedecendo as restricoes temporais, tipode componente colhido e tipo de colheita. A tabela de colheitas total deve serunida a tabela de hospitais para associar a cada codigo de hospital o seu nome.De seguida, e conforme a opcao do utilizador, deve ser mostrado o hospital commais ou menos entregas ou uma lista com todos os hospitais.

Para a opcao de devolucoes o funcionamento e identico, com a particulari-dade de terem de ser consultados tres campos de devolucoes na tabela de col-heitas total.

22

Figura 4.7: Exemplo da Aplicacao: Opcao de Entregas/Devolucoes de Sangue

4.7 Seleccao de Dadores

4.7.1 Arquitectura

Esta opcao diz respeito as analises aos dadores realizadas na fase da pre-colheita. Nesta fase um dador de sangue pode ser considerado apto, inapto(colheita eliminada) ou suspenso.

O objectivo desta estatıstica e, portanto, exibir as percentagens de dadoresde sangue relacionando varios factores como por exemplo a aptidao ou nao a darsangue, a fase em que foi detectada a aptidao ou nao do dador. Pode-se ainda in-dicar uma conclusao especıfica e visualizar as percentagens para essa conclusao.As percentagens calculadas podem ser visualizadas no mapa, a semelhanca dasopcoes anteriores (Maximo, Mınimo ou estatıstica global) ou, visualizadas numatabela de resultados, por numero, sexo, idade, estado civil, profissao do dadorou pela brigada que fez a colheita.

23

Mais uma vez esta disponıvel uma pequena estatıstica que relaciona os variosvalores das varias caixas de seleccao e opcoes da estatıstica (concelho/freguesia,intervalo de tempo, fase da triagem, grau de aptidao do dador, e tipo de con-clusao) , indicando o numero de dadores e respectiva percentagem.

Figura 4.8: Screenshot da Aplicacao: Opcao de Seleccao de Dadores

4.7.2 Extraccao de Conhecimento

Para conseguir levar a cabo este tipo de estatıstica foi necessario contaro numero de registos de determinado tipo de restricoes e o numero de dadorescom as mesmas restricoes a excepcao do grau de aptidao. Com estes dois valorespara cada linha da tabela de dadores e possıvel o calculo das percentagens dedadores aptos/suspensos/inaptos e consequente seleccao e ordenacao dos val-ores conforme o tipo de estatıstica a realizar. Para as estatısticas nao espaciaisfoi ainda preciso juntar algumas tabelas com o objectivo de atribuir a determi-nado codigo a sua descricao (Estado civil, profissao, e brigada) para facilitar acompreensao dos resultados.

24

Figura 4.9: Screenshot da Aplicacao: Opcao de Seleccao de Dadores

4.8 Grupos Abo(Rh)/Hemoglobina por zona

4.8.1 Arquitectura

Esta opcao visa obter informacoes estatısticas acerca do tipo de sangue, factorRH e nıveis de Hemoglobina registados em cada colheita de um dador.

Como sempre, estao disponıveis opcoes para seleccionar o concelho/freguesia,intervalo de tempo a pesquisar. Adicionalmente estao ainda disponıveis caixasde seleccao para indicar se a estatıstica pretendida e ou nao espacial, alem deopcoes para seleccionar o tipo de sangue + factor RH a pesquisar ou alternativa-mente, o nıvel de hemoglobina (agrupado em intervalos). As estatısticas espaci-ais e nao espaciais sao as mesmas que nos comandos anteriores: maximo/mınimo/estatısticaglobal de dadivas visıvel no mapa e numero de dador/sexo/idade/profissao/estadocivil do dador e brigada que realizou a colheita para as estatısticas nao espaci-ais, ou seja, aquelas em que e possıvel ver uma tabela de resultados calculadaa partir das escolhas do utilizador. O criterio para as pesquisas e o tipo desangue e factor RH ou o nıvel de hemoblobina, logo o objecto da pesquisa seraagrupado consoante estes factores.

A estatıstica imediata habitual encontra-se tambem disponıvel no fundo daaplicacao, indicando as percentagens de dadivas que se enquadram nas opcoes

25

que vao sendo inseridas nas caixas de seleccao pelo utilizador.

Figura 4.10: Exemplo da Aplicacao: Opcao de Grupos ABO/Rh e Hemoglobina

4.8.2 Extraccao de Conhecimento

Para implementar estas estatısticas foi utilizada a tabela de dadores total. Saocalculadas percentagens de dadivas por tipo de sangue e valor de hemoglobina.Sobre estas percentagens sao aplicadas as funcoes de visualizacao (espaciais ounao) permitindo interpretar a estatıstica pedida. Como Habitualmente, nasestatısticas nao espaciais e necessario nas estatısticas por estado civil, profissaoou brigada ligar a respectiva tabela a tabela de dadores total a fim de obteras descricoes apropriadas para cada um dos codigos de cada uma destas tresestatısticas.

26

Figura 4.11: Exemplo da Aplicacao: Opcao de grupos ABO/Rh e Hemoglobina

27

Capıtulo 5

Conclusoes e TrabalhoFuturo

Neste relatorio foram descritos todos os passos do desenvolvimento de umaaplicacao cujas funcionalidades visam facilitar o planeamento e a preparacaode novas brigadas, bem como obter informacoes relevantes acerca da ”quali-dade”das colheitas de sangue ja efectuadas com base numa estrutura georefer-enciada.

Assim, foi especificado todo o processo que levou a resolucao do problema,passando pela arquitectura da solucao adoptada, pelas ferramentas utilizadas epelos metodos de extraccao e seleccao de dados das respectivas bases de dados.Foram tambem devidamente descritos todos os objectivos e motivacoes desteprojecto, bem como o devido enquadramento.

Com a resolucao deste projecto pode-se concluir que e extremamente impor-tante manter bases de dados de toda a informacao devidamente estruturadas,para facilitar o acesso a informacao e, consequentemente, facilitar o desenvolvi-mento de aplicacoes como esta.

Para trabalho futuro, seria interessante obter uma representacao geograficatanto a nıvel de brigadas como a nıvel de hospitais. Assim, seria necessariocontemplar na base de dados informacao acerca da localizacao das brigadas edos hospitais. Este tipo de informacoes poderia ser util no calculo de distanciasentre um hospital e dada brigada, podendo eventualmente ser possıvel o calculode rotas do hospital para a brigada a partir do hospital (neste caso tambem abase de dados geografica teria de ter informacao relativa a estradas e acessosaos hospitais).

Outra possibilidade seria o estudo da mobilidade das populacoes, atraves dainterpretacao do local onde determinado dador nasceu, o local onde vive e olocal onde costuma dar sangue. Para este tipo de estudo seria necessario terinformacao sobre o local de nascimento dos dadores, e o local onde estao esta-cionadas as brigadas. Tal informacao nao existe actualmente, o que impossibilitaeste tipo de estudos.

O objectivo principal deste trabalho e suportar decisoes a tomar pelos re-sponsaveis do IPS, como tal seria aconselhavel, e dada a crescente complexidadeda base de dados tal seria ate desejavel, criar e manter um sistema de apoio adecisao sob a forma de um Data Warehouse, sobre o qual aplicacoes como a

28

que foi desenvolvida por nos poderia correr de uma forma bastante mais rapida.Uma vez implementado este tipo de sistema este poderia ser enriquecido atravesdo uso de ferramentas de data mining o que viria a facilitar a implementacaode aplicacoes deste genero.

29

Bibliografia

[1] Microsoft Press, Microsoft Visual Studio 6.0 professional Step by Step, 1998

[2] Intergraph, Developing Desktop Solutions With GeoMedia Technology,Novembro 2000

[3] Addison-Wesley Publishing Company, The LaTeX Companion

[4] Magda Joana Silva, Pedro Rangel Henriques, Analise de Requisitos para aAplicacao ASIS, gEPL - Departamento de Informatica - Universidade doMinho - Marco 2002

30

Capıtulo 6

Referencias WWW

http://snig.igeo.pt Site do Instituto Geografico Portugues

http://www.intergraph.com Site com informacoes e exemplos sobre o ’Ge-oMedia’

http://www.ultraedit.com Site do editor de texto ’UltraEdit’

http://www.ctt.pt Site dos CTT

http://www.porto.ucp.pt Site da Universidade Catolica Portuguesa

31

Apendice A

Mapas usados

32

A.1 Esquema da Base de Dados do IPS Original

Figura A.1: Esquema da Base de Dados do IPS sem relacoes ou chaves

33

A.2 Esquema da Base de Dados do IPS emMicrosoft Access

Figura A.2: Esquema da Base de Dados do IPS com relacoes e chaves em formatoMicrosoft Access

34

A.3 Esquema da Base de Dados do IPS emSQL Server 2000

Figura A.3: Esquema final da Base de Dados do IPS em SQL Server 2000

35

A.4 Esquema do Warehouse do GeoMedia

Figura A.4: Esquema do Warehouse do GeoMedia em Access

36

A.5 Mapa Utilizado

Figura A.5: Workspace do Geomedia: Local onde sao mostrados todos os resul-tados de queries espaciais

37