Base de Dados

A base de dados do projeto HemoVida foi projetada para gerir o processo de doação e transfusão de sangue de forma eficiente. Ela é composta por diversas tabelas interligadas que armazenam e organizam informações sobre doadores, doações, bolsas de sangue, transfusões, exames médicos, campanhas e hospitais.

Principais Entidades

  • dadores contém as informações pessoais dos dodores de sangue, como nome, e-mail, número único de utente, tipo sanguíneo, peso, sexo, estado e data de inscrição;
  • doacoes controla as marcações feitas para doação de sangue, associando cada doação a um dador. Regista a data, hora, o estado da doação e observações adicionais;
  • bolsas_sangue controla o inventário de bolsas de sangue coletadas, associando cada uma a um dador. Regista o volume de sangue, a data de coleta, a data de validade e o estado;
  • exames contém os exames médicos realizados nas bolsas de sangue. Regista os níveis de hemoglobina e os resultados de testes para doenças como hepatite, HIV, chagas e sífilis. Por fim, também registado o resultado do exame;
  • hospitais contém as informações sobre os hospitais parceiros. Regista o nome, endereço, contato e o nome do responsável do hospital;
  • transfusoes relaciona as bolsas de sangue a pacientes que recebem transfusões nos hospitais. Regista o ID da bolsa de sangue, o número único de utente do receptor, a data da transfusão e o hospital onde foi realizada.
  • campanhas Armazena informações sobre campanhas de doação (título, datas de início/fim, meta de doações, prioridade e descrição);
  • campanhas_tipos_sanguineos Relaciona campanhas com tipos sanguíneos específicos visados;

Relacionamentos

  • dadoresdoacoes um doador pode realizar várias doações;
  • doacoesbolsas_sangue cada doação pode gerar uma ou mais bolsas de sangue;
  • bolsas_sangueexames todas as bolsas são submetidas a exames antes de serem utilizadas;
  • bolsas_sanguetransfusoes apenas as bolsas aprovadas podem ser utilizadas para transfusões;
  • transfusoeshospitais as transfusões são realizadas em hospitais registados como parceiros;
  • Evento agendadocampanhas_tipos_sanguineos Cada campanha pode visar múltiplos tipos sanguíneos;

Funcionalidades Avançadas

  • Procedimento armazenado - atualizar_progresso_campanhas recalcula automaticamente doações válidas associadas a campanhas ativas;
  • Trigger - after_doacao_insert executa o procedimento de atualização após cada nova doação registada;
  • Evento agendado - Rotina diária para verificar validade de bolsas e atualizar progresso das campanhas;
  • Formulários de triagem - Registam critérios de elegibilidade dos doadores com validação automática de prazos;

Base de Dados Modelo E-R da Base de Dados