Fórum Tabelas para Agenda: qual a melhor solução? #290936
05/08/2005
0
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?
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
Curtir tópico
+ 0
Responder
Posts
12/10/2010
Sergio Santos
Como vc implementou isto?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)