Пример #1
0
 def criaConsulta(cls, form, status, usuario):
     if type(form) is ConsultaForm:
         medicoId = form.cleaned_data['medico']
     else:
         medicoId = form.cleaned_data['idMedico']
     pacienteId = form.cleaned_data['idPaciente']
     consulta = Consulta()
     medico = Medico.objects.get(id=medicoId)
     paciente = Paciente.objects.get(id=pacienteId)
     consulta.medico = medico
     consulta.paciente = paciente
     consulta.status = status
     consulta.data = form.cleaned_data['dataConsulta']
     if Consulta.isConsultaDuplicada(medico, paciente):
         raise ConsultationLimitException, 'O paciente %(nomePaciente)s ja tem uma consulta\
          marcada com o medico %(nomeMedico)s' %{'nomePaciente':paciente.first_name, 'nomeMedico':medico.first_name}
     consulta.save()
     medico.agenda.consultas.add(consulta)
     Mensagem.consultaMarcada(medico, usuario)
     if status == Consulta.PENDENTE:
         Tarefa.criaTarefaConfirmacaoConsulta(medico, consulta)
     for atendente in Atendente.objects.all():
         Mensagem.consultaMarcada(atendente, usuario)
         if status == Consulta.PENDENTE:
             Tarefa.criaTarefaConfirmacaoConsulta(atendente, consulta)
     return consulta
Пример #2
0
 def criaConsulta(cls, form, status, usuario):
     if type(form) is ConsultaForm:
         medicoId = form.cleaned_data['medico']
     else:
         medicoId = form.cleaned_data['idMedico']
     pacienteId = form.cleaned_data['idPaciente']
     consulta = Consulta()
     medico = Medico.objects.get(id=medicoId)
     paciente = Paciente.objects.get(id=pacienteId)
     consulta.medico = medico
     consulta.paciente = paciente
     consulta.status = status
     consulta.data = form.cleaned_data['dataConsulta']
     if Consulta.isConsultaDuplicada(medico, paciente):
         raise ConsultationLimitException, 'O paciente %(nomePaciente)s ja tem uma consulta\
          marcada com o medico %(nomeMedico)s' % {
             'nomePaciente': paciente.first_name,
             'nomeMedico': medico.first_name
         }
     consulta.save()
     medico.agenda.consultas.add(consulta)
     Mensagem.consultaMarcada(medico, usuario)
     if status == Consulta.PENDENTE:
         Tarefa.criaTarefaConfirmacaoConsulta(medico, consulta)
     for atendente in Atendente.objects.all():
         Mensagem.consultaMarcada(atendente, usuario)
         if status == Consulta.PENDENTE:
             Tarefa.criaTarefaConfirmacaoConsulta(atendente, consulta)
     return consulta
Пример #3
0
def medico(request):
    consultasFinalizadas = Atendimento.buscaAtendimentosMedico(request.user, Atendimento.FINALIZADO)
    proximosAtendimentos = Atendimento.buscaAtendimentosMedico(request.user, Atendimento.AGUARDANDO_ATENDIMENTO)
    listaMensagens = Mensagem.buscaMensagens(request.user)
    if request.user.id != None:
        listaMensagens = Mensagem.buscaMensagens(request.user)  
    
    return render_to_response('dashboard/medico.html', 
                              {'listaMensagens':listaMensagens, 'consultasFinalizadas':consultasFinalizadas, 'proximosAtendimentos':proximosAtendimentos}, 
                              context_instance=RequestContext(request))
Пример #4
0
def cancelar(request):
    try:
        request.GET['tarefa_id']
        tarefa = Tarefa.objects.get(id=request.GET['tarefa_id'])
        tarefa.status = Tarefa.FINALIZADA
        tarefa.save()
    except MultiValueDictKeyError:
        pass
    consulta = Consulta.objects.get(id=request.GET['id'])
    consulta.status = Consulta.CANCELADA
    consulta.save()
    Mensagem.consultaCancelada(consulta, request.user)
    messages.success(request, gettext('consultation_canceled_message'))
    return redirect('consulta_mostrar', id=consulta.id)
Пример #5
0
def cancelar(request):
    try:
        request.GET['tarefa_id']
        tarefa = Tarefa.objects.get(id=request.GET['tarefa_id'])
        tarefa.status = Tarefa.FINALIZADA
        tarefa.save()
    except MultiValueDictKeyError:
        pass
    consulta = Consulta.objects.get(id=request.GET['id'])
    consulta.status = Consulta.CANCELADA
    consulta.save()
    Mensagem.consultaCancelada(consulta, request.user)
    messages.success(request, gettext('consultation_canceled_message'))
    return redirect('consulta_mostrar', id=consulta.id)
Пример #6
0
def medico(request):
    consultasFinalizadas = Atendimento.buscaAtendimentosMedico(
        request.user, Atendimento.FINALIZADO)
    proximosAtendimentos = Atendimento.buscaAtendimentosMedico(
        request.user, Atendimento.AGUARDANDO_ATENDIMENTO)
    listaMensagens = Mensagem.buscaMensagens(request.user)
    if request.user.id != None:
        listaMensagens = Mensagem.buscaMensagens(request.user)

    return render_to_response('dashboard/medico.html', {
        'listaMensagens': listaMensagens,
        'consultasFinalizadas': consultasFinalizadas,
        'proximosAtendimentos': proximosAtendimentos
    },
                              context_instance=RequestContext(request))
Пример #7
0
def confirmar(request):
    tarefa = Tarefa.objects.get(id=request.GET['tarefa_id'])
    consulta = Consulta.objects.get(id=request.GET['id'])
    consulta.status = Consulta.CONFIRMADA
    tarefa.status = Tarefa.FINALIZADA
    atendimento = Atendimento.criaAtendimento(consulta)
    if atendimento.id is not None:
        tarefa.save()
        consulta.save()
        Mensagem.consultaConfirmada(consulta, request.user)
        messages.success(request, gettext('consultation_confirmed_message'))
        if request.GET['irPara'] == 'dashboard':
            return redirect('dashboard_index')
        else:
            return redirect('consulta_mostrar', id=consulta.id)

    messages.success(request, gettext('consultation_confirmation_error'))
    return render_to_response('tarefa/_modalDetalhes.html', {'tarefa': tarefa})
Пример #8
0
def confirmar(request):
    tarefa = Tarefa.objects.get(id=request.GET['tarefa_id'])
    consulta = Consulta.objects.get(id=request.GET['id'])
    consulta.status = Consulta.CONFIRMADA
    tarefa.status = Tarefa.FINALIZADA
    atendimento = Atendimento.criaAtendimento(consulta)
    if atendimento.id is not None:
        tarefa.save()
        consulta.save()
        Mensagem.consultaConfirmada(consulta, request.user)
        messages.success(request, gettext('consultation_confirmed_message'))
        if request.GET['irPara'] == 'dashboard':
            return redirect('dashboard_index')
        else:
            return redirect('consulta_mostrar', id=consulta.id)
        
    messages.success(request, gettext('consultation_confirmation_error'))
    return render_to_response('tarefa/_modalDetalhes.html', {'tarefa' : tarefa})
Пример #9
0
def paciente(request):
    consultasNaoConfirmadas = Consulta.buscaConsultasPorUsuario(request.user, Consulta.PENDENTE)
    proximasConsultas = Consulta.buscaConsultasPorUsuario(request.user, Consulta.CONFIRMADA)
    atendimentosAnteriores = Atendimento.buscaAtendimentosAnteriores(request.user)
    graficoAtendimentosAnteriores =  Atendimento.agrupaAtendimentosPorDia(atendimentosAnteriores)
    listaMensagens = Mensagem.buscaMensagens(request.user)

    
    return render_to_response('dashboard/paciente.html',  {'consultasNaoConfirmadas':consultasNaoConfirmadas, 
                            'proximasConsultas':proximasConsultas, 'atendimentosAnteriores':atendimentosAnteriores, 
                            'graficoAtendimentosAnteriores':graficoAtendimentosAnteriores,'listaMensagens':listaMensagens}, 
                              context_instance=RequestContext(request))
Пример #10
0
def atendente(request):
    atendimentosMes = Atendimento.buscaAtendimentosPorPeriodo("mes")
    atendimentosHoje = Atendimento.buscaAtendimentosPorPeriodo("dia")
    atendimentosAguardandoChegada = Atendimento.buscaAtendimentosPorStatus(Atendimento.AGUARDANDO_CHEGADA)
    consultasAguardandoConfirmacao = Consulta.buscaConsultasPorStatus(Consulta.PENDENTE)
    listaMensagens = []
    listaTarefas = []
    if request.user.id != None:
        listaMensagens = Mensagem.buscaMensagens(request.user)  
        listaTarefas = Tarefa.buscaTarefasPorStatus(request.user, Tarefa.PENDENTE)
    return render_to_response('dashboard/atendente.html', {'atendimentosMes':atendimentosMes, 'atendimentosHoje':atendimentosHoje, 
                                'atendimentosAguardandoChegada':atendimentosAguardandoChegada, 'consultasAguardandoConfirmacao':consultasAguardandoConfirmacao, 
                                'listaMensagens':listaMensagens, 'listaTarefas':listaTarefas}, context_instance=RequestContext(request))
Пример #11
0
def paciente(request):
    consultasNaoConfirmadas = Consulta.buscaConsultasPorUsuario(
        request.user, Consulta.PENDENTE)
    proximasConsultas = Consulta.buscaConsultasPorUsuario(
        request.user, Consulta.CONFIRMADA)
    atendimentosAnteriores = Atendimento.buscaAtendimentosAnteriores(
        request.user)
    graficoAtendimentosAnteriores = Atendimento.agrupaAtendimentosPorDia(
        atendimentosAnteriores)
    listaMensagens = Mensagem.buscaMensagens(request.user)

    return render_to_response('dashboard/paciente.html', {
        'consultasNaoConfirmadas': consultasNaoConfirmadas,
        'proximasConsultas': proximasConsultas,
        'atendimentosAnteriores': atendimentosAnteriores,
        'graficoAtendimentosAnteriores': graficoAtendimentosAnteriores,
        'listaMensagens': listaMensagens
    },
                              context_instance=RequestContext(request))
Пример #12
0
def atendente(request):
    atendimentosMes = Atendimento.buscaAtendimentosPorPeriodo("mes")
    atendimentosHoje = Atendimento.buscaAtendimentosPorPeriodo("dia")
    atendimentosAguardandoChegada = Atendimento.buscaAtendimentosPorStatus(
        Atendimento.AGUARDANDO_CHEGADA)
    consultasAguardandoConfirmacao = Consulta.buscaConsultasPorStatus(
        Consulta.PENDENTE)
    listaMensagens = []
    listaTarefas = []
    if request.user.id != None:
        listaMensagens = Mensagem.buscaMensagens(request.user)
        listaTarefas = Tarefa.buscaTarefasPorStatus(request.user,
                                                    Tarefa.PENDENTE)
    return render_to_response('dashboard/atendente.html', {
        'atendimentosMes': atendimentosMes,
        'atendimentosHoje': atendimentosHoje,
        'atendimentosAguardandoChegada': atendimentosAguardandoChegada,
        'consultasAguardandoConfirmacao': consultasAguardandoConfirmacao,
        'listaMensagens': listaMensagens,
        'listaTarefas': listaTarefas
    },
                              context_instance=RequestContext(request))