/*Pede ao usuario o Nome do Paciente e o Nome do medico desejado para a consulta, e verifica se os mesmos existem no banco de dados, caso existam, marca a consulta*/ void InterfaceUsuario::marca_consulta(){ char nomePaciente[TAM_LINHA], especialidade[TAM_LINHA]; list<string> listaResultado; Paciente *paciente = new Paciente(); Medico *medico = new Medico(); Consulta *consulta = new Consulta(); cout<<"Insira o nome do paciente: "; cin.getline(nomePaciente, TAM_LINHA); if(paciente->procura_pessoa(string(nomePaciente)).empty()){ cout<<"PACIENTE NAO CADASTRADO"<<endl; } else{ cout<<"Insira a especialidade desejada na consulta: "; cin.getline(especialidade, TAM_LINHA); listaResultado = medico->procura_especialidade(string(especialidade)); if(listaResultado.empty()){ cout<<"NAO EXISTE MEDICO CADASTRADO COM ESSA ESPECIALIDADE."<<endl; } else{ list<string>::iterator listaMedico = listaResultado.begin(); listaMedico++; /* Valor da coluna medico */ if (consulta->marca_consulta(string(nomePaciente), *listaMedico)) cout<<"CONSULTA MARCADA COM SUCESSO."<<endl; else cout<<"ESSA CONSULTA JA FOI MARCADA."<<endl; } } }
void Controle::inclusaoPaciente(Paciente &paciente)const{ try{ PG2::Data data,dataAtual; int d,m,a; paciente.getDataDeNascimento(d,m,a); data.set(d,m,a); dataAtual.set(30,10,2010); int idade = data.quantidadeDeAnos(dataAtual); std::cout<<"Idade :"<<idade<<std::endl; if(gravar->buscar(paciente.getNome())) throw(10);//Ja existe if(true);//verifica se a data de nascimento foi digitada if(idade > 18){//calcula a idade se for menor de 18 entra if(paciente.getNumeroCPF() == 0)throw(7);//verifica se o campo de cpf foi preenxido } if(paciente.getTelefone() == 0)throw(8);//verifica se campo telefone foi preenchido gravar->gravar(paciente); }catch(int valorErro){ throw valorErro; } }
void MenuTerminal::mostrarLista(list<Paciente> *pacientes) { int j = 1, opcion=0; Paciente aux; list<Paciente>::iterator i; for (i = pacientes->begin(); i != pacientes->end(); ++i) { cout << "Paciente " << j << ": " << (*i).getApellidosNombre() << endl; j++; } j--; cout << endl << "¿Quieres ver algun paciente en especial? Introduce el número o 0 si ninguno de ellos: "; cin >> opcion; if (opcion == 0) { cabecera(); cout << "Volviendo al menú principal." << endl; sleep(2); } else{ if ((opcion<0) || (opcion>j)) { cabecera(); cout << "Número no válido. Volviendo al menú principal." << endl; sleep(2); } else { for (i = pacientes->begin(), j = 1; j < opcion; ++j, ++i); aux = *i; llamarPaciente(&aux); *i = aux; //Las siguientes 3 sentencias son necesáreas para que se actualice la frecuencia siempre. getAgenda()->eliminarPaciente(aux.getDni()); getAgenda()->insertarPaciente(aux); getAgenda()->ordenar(); cout << "Opciones disponibles:" << endl; cout << "\t1) Modificar paciente." << endl; cout << "\t2) Eliminar paciente." << endl; cout << "\tCualquier otro numero para volver al menú principal." << endl; cout << "Elija una opción: "; cin >> opcion; switch (opcion) { case 1: getAgenda()->eliminarPaciente(aux.getDni()); //Eliminamos el paciente. aux = rellenaPaciente(); //Le metemos la nueva información a un paciente auxiliar. aux.setFrecuencia((*i).getFrecuencia()); //Y restauramos su frecuencia. getAgenda()->insertarPaciente(aux); //Después, lo introducios en la lista. getAgenda()->ordenar(); //Y ordenamos nuestros pacientes para que cuadre. break; case 2: getAgenda()->eliminarPaciente(aux.getDni()); break; default: cout << "volviendo al menú principal."; sleep(2); } } } }
/*Pede o nome do paciente a ser descadastrado, verifica se o mesmo existe, caso exista, efetua o descadastro, caso contrario, retorna uma mensagem dizendo que o paciente desejado nao existe*/ void InterfaceUsuario::descadastra_paciente(){ char nomePaciente[TAM_LINHA]; Paciente *paciente = new Paciente(); cout<<"Insira o nome do paciente: "; cin.getline(nomePaciente, TAM_LINHA); if (paciente->descadastra_pessoa(string(nomePaciente))) cout<<"PACIENTE DESCADASTRADO COM SUCESSO."<<endl; else cout<<"PACIENTE NAO CADASTRADO."<<endl; }
/*Lista todos os paciente cadastrados*/ void InterfaceUsuario::lista_pacientes_cadastrados(){ Paciente *paciente = new Paciente(); list<string> listaResultado; listaResultado = paciente->lista_pessoas(); if(listaResultado.empty()) cout<<"NAO EXISTE PACIENTE CADASTRADO."<<endl; for (list<string>::iterator listaPaciente = listaResultado.begin(); listaPaciente != listaResultado.end(); listaPaciente++){ cout<<*listaPaciente<<": "; /* Nome coluna */ listaPaciente++; cout<<*listaPaciente<<endl; /* Valor coluna */ } }
bool ComunicadorBD::inserePacienteBD(){ Paciente P; string aux; P.cadastrarPaciente(); aux = P.getNomePaciente(); if(procuraBD(aux, "paciente")==true){ return false; } else{ ///insere banco de dados } return true; }
void MenuTerminal::visualizarPaciente(Paciente p) { cout << "\tNombre: " << p.getApellidosNombre() << endl; cout << "\tDNI: " << p.getDni() << endl; cout << "\tTeléfono: " << p.getTelefono() << endl; cout << "\tCuenta Facebook: " << p.getRedSocial().getCuentaFacebook() << endl; cout << "\tCuenta Twitter: " << p.getRedSocial().getCuentaTwitter() << endl; cout << "\tDirección: " << p.getDireccion().getTipoVia() << " " << p.getDireccion().getCalle() << " nº " << p.getDireccion().getNumPortal() << ", Escalera " << p.getDireccion().getEscalera() << " " << p.getDireccion().getNumPiso() << "º " << p.getDireccion().getNumPuerta() << endl; cout << "\tNotas: " << p.getNotas() << endl; if (p.isFavorito()) cout << "\tFavorito: Sí" << endl; else cout << "\tFavorito: No" << endl; cout << "\tFrecuencia: " << p.getFrecuencia() << endl << endl; }
void __fastcall TForm1::ImprimirArchivodePaciente1Click(TObject *Sender) { ComboBox2->Clear(); pac.ListarVer("Paciente"); Panel1->Visible=false; Panel4->Visible=true; }
void __fastcall TForm1::Citas1Click(TObject *Sender) { l.LimpiarCita(); pac.ListarC(); Panel1->Visible=true; Panel4->Visible=false; }
void __fastcall TForm1::Modificar1Click(TObject *Sender) { Form7->Show(); l.LimpiarModificar(); pac.ListarModificar("Paciente"); Form7->Panel1->Show(); }
void __fastcall TForm1::ListadePacientes1Click(TObject *Sender) { Form9->lista_memo->Lines->Clear(); Form9->Caption = "Lista de Pacientes"; Form9->nomLista_lb->Caption = "Lista de Pacientes"; pac.ListarRepo(); Form9->QuickRep1->Preview(); }
/*Pede ao usuario o nomed do paciente a ser procurado, caso exista, retorna os dados do paciente caso contrario retonra uma mensagem dizendo que o paciente nao existe*/ void InterfaceUsuario::procura_paciente(){ list<string> listaResultado; char nomePaciente[TAM_LINHA]; Paciente *paciente = new Paciente(); cout<<"Insira o nome do paciente a ser procurado: "; cin.getline(nomePaciente, TAM_LINHA); listaResultado = paciente->procura_pessoa(string(nomePaciente)); if (listaResultado.empty()){ cout<<"PACIENTE NAO CADASTRADO."<<endl; } for (list<string>::iterator listaPaciente = listaResultado.begin(); listaPaciente != listaResultado.end(); listaPaciente++){ cout<<*listaPaciente<<": "; /* Nome coluna */ listaPaciente++; cout<<*listaPaciente<<endl; /* Valor coluna */ } }
ListaPaciente *Arquivo::lerArquivo(){ string paciente1; string espaco; ListaPaciente *lista = new ListaPaciente; ifstream arquivo("/home/igor/SistemaAlzeimer/Pacientes.csv"); Tratamento tratamento; if(!arquivo.is_open()){ cout << "arquivo nao foi aberto!\n"; return NULL; } string teste; getline(arquivo,teste,char(13)); while(!arquivo.eof()){ Paciente *paciente = new Paciente; getline(arquivo,paciente1,';'); paciente->setNome(paciente1.c_str()); getline(arquivo,paciente1,';'); paciente->setIdade(atoi(paciente1.c_str())); getline(arquivo,paciente1,';'); paciente->setContinente(paciente1.c_str()); getline(arquivo,paciente1,';'); paciente->setSexo(paciente1.c_str()); getline(arquivo,paciente1,';'); paciente->setHistorico(paciente1.c_str()); getline(arquivo,paciente1,'\r'); tratamento.setNome(paciente1.c_str()); paciente->setTratamento(tratamento); lista->inserir(paciente); } return lista; }
Lista *Arquivo::lerArquivo(){ string paciente1; string espaco; Lista *lista = new Lista; ifstream arquivo("/home/haliski/Downloads/TrabalhoAlzeimer-master/Pacientes.csv"); if(!arquivo.is_open()){ cout << "arquivo nao foi aberto!\n"; return NULL; } //getline(arquivo,paciente1); while(!arquivo.eof()){ Paciente *paciente = new Paciente; getline(arquivo,paciente1,';'); paciente->setNome(paciente1.c_str()); getline(arquivo,paciente1,';'); paciente->setIdade(atoi(paciente1.c_str())); getline(arquivo,paciente1,';'); paciente->setContinente(paciente1.c_str()); getline(arquivo,paciente1,';'); paciente->setSexo(paciente1.c_str()); getline(arquivo,paciente1,';'); paciente->setHistorico(paciente1.c_str()); getline(arquivo,paciente1,'\r'); paciente->setTratamento(paciente1.c_str()); lista->inserir(paciente); } return lista; }
void Controle::recuperarPaciente(Paciente & paciente)const{ try{ if(!this->gravar->buscar(paciente.getNome()))throw (11);//se o paciente a ser excluido nao existe no arquivo lança excecao. this->gravar->recuperar(paciente); }catch(int valorErro){ throw valorErro; } }
/* Pede ao usuario o nome, endereco, telefone e idade do paciente. Verifica se existe ou nao, caso nao exista efetua o cadastro, caso exista retorma uma mensagem dizendo que ja existe paciente cadastrado com aquele nome*/ void InterfaceUsuario::cadastra_paciente(){ char nomePaciente[TAM_LINHA], endereco[TAM_LINHA], telefone[TAM_LINHA]; string idade; Paciente *paciente = new Paciente(); cout<<"Insira o nome do paciente: "; cin.getline(nomePaciente, TAM_LINHA); cout<<"Insira o endereco do paciente: "; cin.getline(endereco, TAM_LINHA); cout<<"Insira o telefone do paciente: "; cin.getline(telefone, TAM_LINHA); cout<<"Insira a idade do paciente: "; cin>>idade; if (paciente->cadastra_paciente(string(nomePaciente), string(endereco), string(telefone), idade)) cout<<"PACIENTE CADASTRADO COM SUCESSO."<<endl; else cout<<"ESTE PACIENTE JA ESTA CADASTRADO."<<endl; }
/*Lista todos os pacientes que nao tem consultas marcadas*/ void InterfaceUsuario::lista_pacientes_sem_medico(){ Paciente *paciente = new Paciente(); Consulta *consulta = new Consulta(); list<string> listaResultado; list<string> listaResultado2; listaResultado = paciente->lista_pessoas(); for (list<string>::iterator listaConsulta = listaResultado.begin(); listaConsulta != listaResultado.end(); listaConsulta++){ listaConsulta++; listaResultado2 = consulta->procura_medicos_de_um_paciente(*listaConsulta); /* Colocando o nome do paciente no metodo procura */ if (listaResultado2.empty()){ cout<<"Paciente: "; /* Nome coluna */ cout<<*listaConsulta<<endl; /* Valor coluna */ } advance(listaConsulta, 6); /* Pula endereco, telefone, idade */ } if(!listaResultado2.empty()) cout<<"TODOS PACIENTES TEM MEDICOS PARA CONSULTAS."<<endl; }
/*Lista todas as consultas marcadas para todos os pacientes*/ void InterfaceUsuario::lista_medicos_de_todos_pacientes(){ Paciente *paciente = new Paciente(); Consulta *consulta = new Consulta(); list<string> listaResultado; list<string> listaResultado2; listaResultado = paciente->lista_pessoas(); for (list<string>::iterator listaConsulta = listaResultado.begin(); listaConsulta != listaResultado.end(); listaConsulta++){ cout<<*listaConsulta<<" do Paciente"<<": "; /* Nome coluna */ listaConsulta++; listaResultado2 = consulta->procura_medicos_de_um_paciente(*listaConsulta); /* Colocando o nome do paciente no metodo procura */ cout<<*listaConsulta<<endl; /* Valor coluna */ advance(listaConsulta, 6); /* Pula endereco, telefone, idade */ for (list<string>::iterator listaConsulta = listaResultado2.begin(); listaConsulta != listaResultado2.end(); listaConsulta++){ cout<<*listaConsulta<<": "; /* Nome coluna */ listaConsulta++; cout<<*listaConsulta<<endl; /* Valor coluna */ } } }
void imprimir(const Paciente &x) { cout<<"****************************************\n"; cout<<"Nombre: "<<x.getNombre()<<endl; cout<<"Apellidos: "<<x.getApellidos()<<endl; cout<<"DNI: "<<x.getDNI()<<endl; cout<<"Télefono: "<<x.getTelefono()<<endl; cout<<"Fecha de Nacimiento: "<<x.getFechaNac()<<endl; cout<<"Fecha de la cita: "<<x.getCita().fecha<<endl; cout<<"Hora de la cita: "<<x.getCita().hora<<endl; cout<<"Motivo de la cita: "<<x.getCita().motivo<<endl; }
Paciente MenuTerminal::rellenaPaciente() { Paciente auxP; RedSocial auxR; Direccion auxD; string auxS; cout << "Nombre: "; getchar(); getline(cin, auxS, '\n'); auxP.setNombre(auxS); cout << "Apellidos: "; getline(cin, auxS, '\n'); auxP.setApellidos(auxS); cout << "DNI: "; cin >> auxS; auxP.setDni(auxS); cout << "Teléfono: "; cin >> auxS; getchar(); auxP.setTelefono(auxS); cout << "Cuenta facebook: "; getline(cin, auxS, '\n'); auxR.setCuentaFacebook(auxS); cout << "Cuenta twitter: "; getline(cin, auxS, '\n'); auxR.setCuentaTwitter(auxS); auxP.setRedSocial(auxR); cout << "Tipo de vía: "; getline(cin, auxS, '\n'); auxD.setTipoVia(auxS); cout << "Calle: "; getline(cin, auxS, '\n'); auxD.setCalle(auxS); cout << "Portal: "; getline(cin, auxS, '\n'); auxD.setNumPortal(auxS); cout << "Escalera: "; getline(cin, auxS, '\n'); auxD.setEscalera(auxS); cout << "Nº Piso: "; getline(cin, auxS, '\n'); auxD.setNumPiso(atoi(stringToChar(auxS))); cout << "Nº Puerta: "; getline(cin, auxS, '\n'); auxD.setNumPuerta(auxS); auxP.setDireccion(auxD); cout << "Notas del paciente: "; getline(cin, auxS, '\n'); auxP.setNotas(auxS); return (auxP); }
/*Pede ao usuario o nome do paciente, verifica se existe, caso exista, pede os novos dados, caso contrario retrna uma mensagem dizendo que o paciente nao existe*/ void InterfaceUsuario::atualiza_paciente(){ char nomePaciente[TAM_LINHA], novoNomePaciente[TAM_LINHA], endereco[TAM_LINHA], telefone[TAM_LINHA]; string idade; Paciente *paciente = new Paciente(); cout<<"Insira o nome do paciente: "; cin.getline(nomePaciente, TAM_LINHA); if ((paciente->procura_pessoa(nomePaciente)).empty()){ cout<<"PACIENTE NAO CADASTRADO."<<endl; } else{ cout<<"Insira o novo nome para o paciente: "; cin.getline(novoNomePaciente, TAM_LINHA); cout<<"Insira o novo endereco para o paciente: "; cin.getline(endereco, TAM_LINHA); cout<<"Insira o novo telefone para o paciente: "; cin.getline(telefone, TAM_LINHA); cout<<"Insira a nova idade para o paciente: "; cin>>idade; paciente->altera_cadastro(string(nomePaciente), string(novoNomePaciente), string(endereco), string(telefone), idade); cout<<"PACIENTE ATUALIZADO COM SUCESSO."<<endl; } }
void JanelaCadastroP::on_Botao_Cadastrar_clicked() { string nome, idade, endereco, telefone; Paciente *paciente = new Paciente(); // Atribui os valores dos campos a QStrings q_nome = ui->Linha_Nome->text(); q_idade = ui->Linha_Idade->text(); q_endereco = ui->Linha_Endereco->text(); q_telefone = ui->Linha_Telefone->text(); // Atribui os valores dos campos a StdStrings nome = q_nome.toStdString(); idade = q_idade.toStdString(); endereco = q_endereco.toStdString(); telefone = q_telefone.toStdString(); // Chama método de cadastro de paciente try { paciente->cadastro(nome, idade, endereco, telefone); } catch (ExcessaoUsuario &exc) { JanelaExcessao janela; janela.setExcessao(exc.who(), exc.what()); janela.exec(); } this->close(); }
//--------------------------------------------------------------------------- void __fastcall TForm7::Button2Click(TObject *Sender) { String ci = ComboBox2->Text.SubString(0,8); //ppl.Modificar(ci); if(Panel1->Visible==true) { pac.ModificarP(ci); } if(Panel2->Visible==true) { rep.ModificarR(ci); } if(Button3->Visible==true) { emp.ModificarE(ci); } this->Close(); l.LimpiarDatosLaborales(); }
void __fastcall TRegPac::Button1Click(TObject *Sender) { if(MaskEdit1->Text.IsEmpty()||Edit1->Text.IsEmpty()||Edit2->Text.IsEmpty()||Memo1->Text.IsEmpty()||MaskEdit2->Text.IsEmpty()){ ShowMessage("LLene todos los campos..."); }else{ if (fechNac->Date>Date().CurrentDate()-364.25) { ShowMessage("La fecha de nacimiento no puede ser menor a 1 año"); }else{ if(Masc->Checked){ sexo=true; }else{ sexo=false; } nuevo.ingresar(MaskEdit1->Text, Edit1->Text, Edit2->Text, sexo, Memo1->Text, MaskEdit2->Text, fechNac->Date.DateString()); this->Close(); Button2Click(Sender); } } }
bool FicheroPacientes::buscar(const std::string& a1, const std::string& a2){ Paciente* act; //paciente actual Paciente b; //paciente buscado b.set_apellido1(a1); b.set_apellido2(a2); std::list<Contacto*>::iterator it = _pacientes->begin(); while(it!=_pacientes->end()){ if(b == *it){ // si lo encuentra, sale del bucle y _activo // apunta primer paciente encontrado _activo = it; guardar(); return true; } ++it; } //si no encuentra el exacto, //buscamos coincidencias por primer apellido it = _pacientes->begin(); while(it!=_pacientes->end()){ act = dynamic_cast<Paciente*>(*it); if(b.get_apellido1().get_contenido() == act->get_apellido1().get_contenido()){ // si lo encuentra, sale del bucle y _activo // apunta primer paciente encontrado _activo = it; guardar(); return true; } ++it; } return false; }
void __fastcall TForm1::Button3Click(TObject *Sender) { Panel4->Hide(); pac.RepoArchivo(ComboBox2->Text.SubString(0,8)); Form10->QuickRep1->Preview(); }
void __fastcall TForm1::Button1Click(TObject *Sender) { if(!pac.buscarRepetido(ComboBox1->Text.SubString(0,8))) pac.IngresarCita(); }
//--------------------------------------------------------------------------- void __fastcall TForm7::ComboBox2Change(TObject *Sender) { pac.listarM(); ppl.VerParaModificar(ComboBox2->Text.SubString(0,8)); }
//terminar de limpar os campos void Patient::on_pb_saveCPatient_clicked() { if(!ui->le_patNAME->text().isEmpty() /*&& !ui->le_patJOB->text().isEmpty() && !ui->le_patPROCED->text().isEmpty() && !ui->le_patPROVEN->text().isEmpty() && !ui->le_patRG->text().isEmpty() && !ui->le_patMAIL->text().isEmpty() && !ui->le_patALERG->text().isEmpty() && !ui->pT_obsP_2->toPlainText().isEmpty()*/){ Paciente *p = new Paciente(this); p->setNameP(ui->le_patNAME->text()); p->setJobP(ui->le_patJOB->text()); p->setRg(ui->le_patRG->text()); p->setSex(ui->cb_patSEX->currentIndex()); p->setBlood(ui->cb_patSang->currentIndex()); //p->setDbornP(ui->dateEdit_pat->currentSection()); p->setEthn(ui->le_patRace->text()); p->setRelig(ui->le_patRELIG->text()); p->setCivilS(ui->cb_patCIVILS->currentIndex()); p->setMailP(ui->le_patMAIL->text()); p->setTelR(ui->le_patTELR->text()); p->setTelC(ui->le_patTELC->text()); p->setCellP(ui->le_patCELL->text()); p->setAlerg(ui->le_patALERG->text()); p->setObsP(ui->pT_obsP_2->toPlainText()); p->save(); ui->le_patNAME->clear(); ui->le_patJOB->clear(); ui->le_patRG->clear(); ui->cb_patSEX->clear(); ui->cb_patSang->clear(); ui->le_patRELIG->clear(); ui->cb_patCIVILS->clear(); ui->le_patMAIL->clear(); ui->le_patTELC->clear(); ui->le_patTELR->clear(); ui->le_patCELL->clear(); ui->le_patALERG->clear(); ui->pT_obsP_2->clear(); ui->le_patRace->clear(); } }
void __fastcall TForm1::ComboBox1Change(TObject *Sender) { pac.DatosCita(ComboBox1->Text.SubString(0,8)); }