Tabelas para Agenda: qual a melhor solução?

Delphi

05/08/2005

Caros amigos,

Tenho uma aplicação antiga em Joiner/DOS que faz, dentre outras coisas, agendamento de consultas e outros serviços para médicos para clínicas e hospitais.

Estou trabalhando numa nova versão deste sistema em Delphi/Firebird, e surgiu uma duvida em como implementar de forma eficiente as agendas.

De forma bastante resumida, são duas tabelas: HORARIOS e APONTAMENTOS, a primeira que armazena os horários de atendimento de cada profissional e a segunda que registra os pacientes marcados (muitos atributos complementares não estão descritos aqui).

HORARIOS(
PROF, TEMPO,
SEGE1, SEGS1, SEGE2, SEGS2, SEGE3, SEGS3,
TERE1, TERS1, TERE2, TERS2, TERE3, TERS3,
(... e assim por diante até DOMS3));

APONTAMENTOS(
PROF, DATA, HORA, TEMPO, PACIENTE);

O problema está na tabela de horários que está muito extensa e nada normalizada.
O campo TEMPO indica o tempo gasto pelo profissional em cada atendimento para montar o grid de horários vagos.
SEGE1 é o primeiro horário de entrada do profissional na segunda-feira, SEGS1 é o primeiro horário de saída na segunda-feira. São 3 horários de entrada/saida por dia da semana. Com isso existe uma grade de horários em que o profissional atende, dessa forma na hora de consultar/marcar pacientes na agenda somente devem aparecer os horários em que o profissional realmente estará atendendo na clinica, com intervalo entre eles definido pelo campo TEMPO.

Pensei em alterar a tabela de horários para algo do tipo:

HORARIOS(
PROF, TEMPO, DIASEMANA, TURNO, ENTRADA, SAIDA);

Pergunto:
O que seria mais facil de implementar em Delphi, tanto para a montagem do grid de definição dos horários disponíveis pelo profissional, quanto o grid de marcação de consultas? Utilizando a primeira ou a segunda tabela de horários? Alguém sugere algum outro modo mais inteligente e prático de fazer isso?


Aerreira

Aerreira

Curtidas 0

Respostas

Sergio Santos

Sergio Santos

05/08/2005

Como vc implementou isto?    
GOSTEI 0
POSTAR