Пример #1
0
 def save(self, paciente):
     cod_ts = self.cleaned_data["tratamentos"]
     lista_tratamentos_novos = []
     # pega a lista de tratamentos a partir dos códigos
     for t in self.TRATAMENTOS_CHOICES:
         if str(t[0]) in cod_ts:
             tratamento = Tratamento.objects.get(descricao_basica=t[1])
             lista_tratamentos_novos.append(tratamento)
     tratamento_logic.encaminhar_paciente(paciente.id, lista_tratamentos_novos)
Пример #2
0
    def save(self, commit=True):
        atendimento = super(ConfirmacaoAtendimentoForm, self).save(commit=False)
        confirma_in = self.cleaned_data['confirma']
        redireciona_in = self.cleaned_data['redireciona']
        encaminha_in = self.cleaned_data['encaminha']
        frequencia_in = self.cleaned_data['frequencia']
        
        if redireciona_in:
            its = InstanciaTratamento.objects.filter(data=atendimento.instancia_tratamento.data, tratamento__descricao_basica=redireciona_in)
            if its and its[0] != atendimento.instancia_tratamento:
                atendimento.instancia_tratamento = its[0]
                obs = atendimento.observacao 
                atendimento.observacao = obs + '[Hoje foi para '+str(redireciona_in)+']'
        
        if encaminha_in:
            tratamento = Tratamento.objects.get(descricao_basica = encaminha_in)
            if tratamento:
                lista_t = []
                lista_t.append(tratamento)
                tratamento_logic.encaminhar_paciente(atendimento.paciente.id, lista_t)
                obs = atendimento.observacao 
                atendimento.observacao = obs + '[Encaminhado para '+str(encaminha_in)+']'
        
        if frequencia_in != 'X':
            # significa que se trata de um atendimento de primeira vez, pois somente estes podem ser alterados.
            atendimento.paciente.frequencia = frequencia_in
            atendimento.paciente.save()
            obs = atendimento.observacao 
            atendimento.observacao = obs + '[Freq: '+str(frequencia_in)+']'

        
        if confirma_in:
            atendimento.status = 'A'
            
            # se o tratamento for primeira vez, aproveitamos para atualizar o campo tem ficha.
            if atendimento.instancia_tratamento.tratamento.descricao_basica[:4] == 'Prim':
                atendimento.paciente.tem_ficha = True
                atendimento.paciente.save()
        else:
            atendimento.status = 'C'
        if commit:
            atendimento.save()