def finalizarPersistencia(self, id_adm_saude, id_paciente): # Cadastra o atendimento e o agendamento db = Database() # Finaliza o cadastro do atendimento e recupera o id salvo db.saveData(self.atendimento) id_atendimento = db.selectIf(Atendimento, id_paciente=self.atendimento.id_paciente, data=self.atendimento.data).id # Para cada relacionamento salvo, insere o ID do atendimento e cadastra for rel in self.relations: self.insertRelation(rel, id_atendimento) # Cálculo da data do próximo atendimento (agendamento) interval = db.selectData(TempoContatoAcompanhamento).intervalo_contato data = self.atendimento.data + timedelta(hours=interval) # Salva o agendamento agendamento = Agendamento() agendamento.id_adm_saude = id_adm_saude agendamento.id_atendimento = id_atendimento agendamento.id_paciente = id_paciente agendamento.data = data db.saveData(agendamento)
def encontrarIdValor(self, obj, value): db = Database() res = db.selectIf(obj, value=value) if res is None: newObj = obj(value) db.saveData(newObj) id = db.selectData(newObj) else: id = res.id return id
def updateTimes(intervalo, maximo): db = Database() times = db.selectAllData(TempoContatoAcompanhamento) if len(times) == 0: db.saveData(TempoContatoAcompanhamento(intervalo, maximo)) else: id = times[0]['id'] tempo = TempoContatoAcompanhamento(intervalo, maximo) tempo.id = id db.updateData(TempoContatoAcompanhamento, tempo, id)
def inserirPaciente(nome, cpf, cns, telefone, endereco, data_nasc, id_etnia, id_genero, id_cidade=None): db = Database() paciente = db.selectIf(Paciente, cpf=cpf) if paciente: # atualizar paciente updatePaciente(paciente.id, nome, cpf, cns, telefone, id_etnia, id_genero, data_nasc, endereco, id_cidade) return paciente.id else: new_paciente = Paciente(nome, cpf, cns, telefone, data_nasc, id_etnia, id_genero, endereco, id_cidade) db.saveData(new_paciente) return db.selectIf(Paciente, cpf=cpf).id
def inserirPaciente(nome, cpf, telefone, endereco, data_nasc, id_etnia, id_genero): db = Database() paciente = db.selectIf(Paciente, cpf=cpf) if paciente: return paciente.id else: new_paciente = Paciente(nome, cpf, telefone, data_nasc, id_etnia, id_genero, endereco) db.saveData(new_paciente) return db.selectIf(Paciente, cpf=cpf).id
def inserirAtendimentoInicial(self, endereco, qtd_comodos, is_agua_encanada): if (not self.atendimento.is_primeiro): # Caso esse atendimento NAO seja inicial, nao deixa inserir return inicial = AtendimentoInicial() inicial.endereco = endereco inicial.qtd_comodos = qtd_comodos inicial.is_agua_encanada = is_agua_encanada db = Database() db.saveData(inicial) # Recupera o ultimo atendimento inicial salvo para recuperar o ID. id = db.Session().query(AtendimentoInicial).order_by(desc(AtendimentoInicial.id)).first().id self.atendimento.id_atendimento_inicial = id
def savePaciente(nome, cpf, cns, telefone, dataNasc, id_etnia, id_genero, endereco, id_cidade=None): nome = data_or_null(nome) cpf = data_or_null(cpf, only_num) cns = data_or_null(cns, only_num) telefone = data_or_null(telefone, only_num) endereco = data_or_null(endereco) id_etnia = data_or_null(id_etnia, int) id_genero = data_or_null(id_genero, int) paciente = Paciente(nome, cpf, cns, telefone, dataNasc, id_etnia, id_genero, endereco, id_cidade) try: db = Database() db.saveData(paciente) except Exception as e: print(e)
def registrar(): if not (current_user.perfil == 'master' or current_user.perfil == 'admin'): return redirect(url_for('MenuAtendente.index')) if request.method == 'POST': nome = request.form['nome'] CRM = request.form['crm'] cpf = only_num(request.form['cpf']) if 'cidade' in request.form: id_cidade = request.form['cidade'] else: id_cidade = current_user.id_cidade supervisor = request.form['perfil'] senha = request.form['senha'] #id = request.form['id'] db = Database() userCPF = db.selectIf(AdmSaude, cpf=cpf) if userCPF: flash('CPF já cadastrado.') return redirect(url_for('Registrar.registrar')) usuario = AdmSaude(nome, CRM, cpf, supervisor, senha, id_cidade) if usuario.validarCPF(): db.saveData(usuario) return redirect(url_for('admin.admin')) else: flash('CPF inválido.') fields = { "nome": inputs.adm_nome, "crm": inputs.adm_crm, "cpf": inputs.adm_cpf, "senha": inputs.adm_senha, "cidade": inputs.cidade } return render_template('registrar.html', fields=fields, dados=ler_dados(), master=(current_user.perfil == 'master'))
def savePaciente(nome, cpf, telefone, dataNasc, id_etnia, id_genero, endereco): nome = data_or_null(nome) cpf = data_or_null(cpf, only_num) telefone = data_or_null(telefone, only_num) endereco = data_or_null(endereco) dataNasc = datetime.strptime( dataNasc, '%d/%m/%Y').date() if len(dataNasc) != 0 else None id_etnia = data_or_null(id_etnia, int) id_genero = data_or_null(id_genero, int) paciente = Paciente(nome, cpf, telefone, dataNasc, id_etnia, id_genero, endereco) try: db = Database() db.saveData(paciente) except Exception as e: print(e)
def registrar(): if not current_user.is_supervisor: return redirect(url_for('MenuAtendente.index')) if request.method == 'POST': nome = request.form['nome'] CRM = request.form['crm'] cpf = only_num(request.form['cpf']) supervisor = 'is_supervisor' in request.form print("Supervisor registrar {}".format(supervisor)) senha = request.form['senha'] #id = request.form['id'] db = Database() userCPF = db.selectIf(AdmSaude, cpf=cpf) if userCPF: flash('CPF já cadastrado.') return redirect(url_for('Registrar.registrar')) usuario = AdmSaude(nome, CRM, cpf, supervisor, senha) if usuario.validarCPF(): db.saveData(usuario) return redirect(url_for('admin.admin')) else: flash('CPF inválido.') fields = { "nome": inputs.adm_nome, "crm": inputs.adm_crm, "cpf": inputs.adm_cpf, "senha": inputs.adm_senha, "is_supervisor": inputs.adm_is_supervisor, } return render_template('registrar.html', fields=fields, dados=ler_dados())
def newEsf(name, id_cidade): esf = EstrategiaSaudeFamiliar(name, id_cidade) db = Database() db.saveData(esf)
def insertRelation(self, obj, id): obj.id_atendimento = id db = Database() db.saveData(obj)
"Não apresentou nenhum sintoma" ]) # Indicadores de medicamento db.saveList(Indicador, [ "Médico", "Enfermeiro", "Vizinho/Familiar/Amigo/Conhecido", "Dentista", "Tomou por conta própria" ]) # Orientacoes finais db.saveList(OrientacaoFinal, [ "Encaminhamento para avaliação presencial", "Acompanhamento telefônico em 24 horas", "Acompanhamento telefônico em 48 horas", "Discussão do caso com o supervisor", "Contato com o serviço" ]) db.saveData( AdmSaude(nome='Edson Onildo Machado do Bonfim Junior', crm=None, cpf='45381108842', is_supervisor=True, senha='32461462')) db.saveData( AdmSaude(nome='Isabela Silva de Carvalho', crm=None, cpf='99999999999', is_supervisor=True, senha='12345678910'))