void Paciente::RecuperarPaciente(int id_cliente) { // SqlCalls *llamadas = new SqlCalls(); // QStringList parametros; // parametros.append(QString::number(id_cliente)); // QSqlQuery qpaciente = llamadas->RecuperarPaciente(id_cliente); // if (qpaciente.next()) { // QSqlRecord rPaciente = qpaciente.record(); // Paciente *oPaciente = new Paciente(); QScopedPointer<QSqlQuery>paciente (new QSqlQuery(QSqlDatabase::database("dbmedica"))); // QSqlQuery *paciente = new QSqlQuery(QSqlDatabase::database("dbmedica")); QString queryPaciente = "select * from pacientes where id_cliente = :id_cliente"; paciente->prepare(queryPaciente); paciente->bindValue(":id_cliente",id_cliente); if (paciente->exec()) { paciente->next(); QSqlRecord rPaciente = paciente->record(); this->id = rPaciente.field("id").value().toInt(); this->id_cliente = rPaciente.field("id_cliente").value().toInt(); this->num_historia = rPaciente.field("num_historia").value().toInt(); this->alcohol = rPaciente.field("alcohol").value().toInt(); this->alergias_conocidas = rPaciente.field("alergias_conocidas").value().toString(); this->antecedentes_familiares = rPaciente.field("antecedentes_familiares").value().toString(); this->cirugias_previas = rPaciente.field("cirugias_previas").value().toString(); this->diastole = rPaciente.field("diastole").value().toDouble(); this->enfermedadesConocidas = rPaciente.field("enfermedades_conocidas").value().toString(); this->familia = rPaciente.field("familia").value().toString(); this->fecha_alta = rPaciente.field("fecha_alta").value().toDate(); this->filiacion = rPaciente.field("filiacion").value().toString(); this->habitos_drogas = rPaciente.field("habitos_drogas").value().toString(); this->hijos = rPaciente.field("hijos").value().toInt(); this->historial = rPaciente.field("historial").value().toString(); this->id_mutua = rPaciente.field("id_mutua").value().toInt(); this->imc = rPaciente.field("imc").value().toDouble(); this->nacimiento = rPaciente.field("nacimiento").value().toDateTime(); this->nivel_estudios = rPaciente.field("nivel_estudios").value().toString(); this->num_ss = rPaciente.field("num_ss").value().toString(); this->otras_drogas = rPaciente.field("otras_drogas").value().toInt(); this->perimetro_craneal = rPaciente.field("perimetro_craneal").value().toDouble(); this->peso = rPaciente.field("peso").value().toDouble(); this->profesion = rPaciente.field("profesion").value().toString(); this->sexo = rPaciente.field("sexo").value().toString(); this->sistole = rPaciente.field("sistole").value().toDouble(); this->tabaco = rPaciente.field("tabaco").value().toInt(); this->talla = rPaciente.field("talla").value().toDouble(); this->trabaja = rPaciente.field("trabaja").value().toInt(); } else { QMessageBox::warning(qApp->activeWindow(),QObject::tr("Error Pacientes"), QObject::tr("No se puede recuperar el paciente"), QObject::tr("Aceptar")); } }
int Paciente::AnadirPaciente(int id_cliente) { QSqlQuery paciente(QSqlDatabase::database("dbmedica")); paciente.prepare("insert into pacientes (id_cliente,num_historia) values (:id_cliente,:num_historia)"); paciente.bindValue(":id_cliente",id_cliente); paciente.bindValue(":num_historia",QString::number(id_cliente)); if (!paciente.exec()) QMessageBox::warning(qApp->activeWindow(),QObject::tr("Error Pacientes"),QObject::tr("No se ha podido insertar un nuevo paciente"), QObject::tr("Aceptar")); else return paciente.lastInsertId().toInt(); return 0; }
void medico() { int cod, op; char ok; for (i = contMedicos; i < A; i++) { printf("Digite o CRM:\n"); scanf("%d", &medicos[i].CRM); printf("Digite o nome do Medico:\n"); gets(medicos[i].nomeMedico); printf("Informe o CPF: \n"); scanf("%s", medicos[i].CPF); printf("Digite o Telefone do medico: \n"); scanf("%s", medicos[i].telefone); printf("Digite o endereco da clinica/hospital: \n"); printf("rua:\n"); fflush(stdin); gets(medicos[i].endereco.rua); printf("Numero:\n"); scanf("%d", &medicos[i].endereco.numero); printf("Bairro:\n"); fflush(stdin); gets(medicos[i].endereco.bairro); printf("Cidade:\n"); fflush(stdin); gets(medicos[i].endereco.cidade); printf("Estado:\n"); fflush(stdin); gets(medicos[i].endereco.estado); printf("CEP:\n"); scanf("%s", medicos[i].endereco.CEP); printf("Informe o codigo de identificacao dos pacientes atendidos pelo medico\n"); for (j = 0; j < A; j++) { printf("Codigo: "); scanf("%d",&cod); cod = cod - 1; if (contPacientes <= cod) { do { printf("Paciente não cadastrado.\n1. Cadastrar?\n2. Digitar outro\n> "); scanf("%d", &op); switch (op) { case 1: paciente(); marca4 = 1; printf("Digite outro codigo de paciente: "); scanf("%d", &cod); cod = cod - 1; break; case 2: printf("Digite outro codigo de paciente: "); scanf("%d", &cod); cod = cod - 1; default: printf("Digite novamente\n"); break; } } while (contPacientes <= cod); } printf("Nome do paciente: "); puts(pacientes[cod].nomePaciente); medicos[i].codPacientes[j] = cod; printf("Você deseja informar mais algum paciente? (S/N)"); scanf(" %c",&ok); if (ok != 'S' || ok != 's') j = A; } printf("Nome e CPF de todos os pacientes atendidos pelo medico:"); for (j = 0; j < A; j++) { printf("Codigo: %d\n",medicos[i].codPacientes[j]); printf("Nome do paciente: "); puts(pacientes[medicos[i].codPacientes[j]].nomePaciente); printf("CPF do paciente: "); printf("%s\n", pacientes[medicos[i].codPacientes[j]].CPF); } contMedicos += 1; sair(); } }
void tratamento() { char ok; int cod, op; for (i = 0; i < A; i++) { tratamentos[i].codID = i + 1; printf("Codigo de identificacao: '%d'\n", tratamentos[i].codID); printf("Informe o codigo de identificacao da doenca: "); scanf("%d",&cod); cod = cod - 1; if (contDoencas <= cod) { do { printf("Doenca não cadastrada.\n1. Cadastrar?\n2. Digitar outra\n> "); scanf("%d", &op); switch (op) { case 1: doenca(); marca1 = 1; printf("Digite outro codigo de doenca: "); scanf("%d", &cod); cod = cod - 1; break; case 2: printf("Digite outro codigo de doenca: "); scanf("%d", &cod); cod = cod - 1; default: printf("Digite novamente\n"); break; } } while (contDoencas <= cod); } printf("Nome da doenca: "); puts(doencas[cod].nomeDoenca); tratamentos[i].codDoenca = cod; printf("Informe o codigo de identificacao do paciente: "); scanf("%d",&cod); cod = cod - 1; if (contPacientes <= cod) { do { printf("Paciente não cadastrado.\n1. Cadastrar?\n2. Digitar outro\n> "); scanf("%d", &op); switch (op) { case 1: paciente(); marca4 = 1; printf("Digite outro codigo de paciente: "); scanf("%d", &cod); cod = cod - 1; break; case 2: printf("Digite outro codigo de paciente: "); scanf("%d", &cod); cod = cod - 1; default: printf("Digite novamente\n"); break; } } while (contPacientes <= cod); } printf("Nome do paciente: "); puts(pacientes[cod].nomePaciente); tratamentos[i].codPaciente = cod; printf("Informe o codigo de identificacao do medico: "); scanf("%d",&cod); cod = cod - 1; if (contMedicos <= cod) { do { printf("Medico não cadastrado.\n1. Cadastrar?\n2. Digitar outro\n> "); scanf("%d", &op); switch (op) { case 1: medico(); marca3 = 1; printf("Digite outro codigo de medico: "); scanf("%d", &cod); cod = cod - 1; break; case 2: printf("Digite outro codigo de medico: "); scanf("%d", &cod); cod = cod - 1; default: printf("Digite novamente\n"); break; } } while (contMedicos <= cod); } printf("Nome do medico: "); puts(medicos[cod].nomeMedico); tratamentos[i].codMedico = cod; printf("Informe o valor da consulta:\n"); scanf("%f", & tratamentos[i].valorConsulta); printf("Exames adicionais? (S/N)\n"); scanf(" %c", &ok); if (ok == 'S' || ok == 's') { printf("Informe o valor dos exames:"); scanf("%f", & tratamentos[i].valorExame); } printf("Havera tempo de observacao (S/N)? \n"); scanf(" %c", & tratamentos[i].resp); if (tratamentos[i].resp=='s') { printf ("Informe o tempo de observacao"); scanf("%s", tratamentos[i].tempoObs); puts(tratamentos[i].tempoObs); printf ("Informe o tempo de observacao"); scanf("%s", tratamentos[i].tempoObs); } printf("Existe tempo de internacao (s/n):"); fflush(stdin); scanf("%c \n ", & tratamentos[i].resp); if (tratamentos[i].resp=='s') { printf("Quanto tempo de internacao?"); scanf("%s", tratamentos[i].tempoInter); puts(tratamentos[i].tempoInter); printf("Quanto tempo de internacao?"); scanf("%s", tratamentos[i].tempoInter); } sair(); } }
int main() { int op; do { printf("1. Cadastrar doenças\n"); printf("2. Cadastrar sintomas\n"); printf("3. Cadastrar médicos\n"); printf("4. Cadastrar pacientes\n"); printf("5. Cadastrar tratamentos\n"); printf("6. Cadastrar medicamentos\n"); printf("7. Cadastrar exames\n"); printf("9. Sair\n\n> "); scanf(" %d",&op); switch (op) { case 1: doenca(); marca1 = 1; break; case 2: sintoma(); break; case 3: medico(); marca3 = 1; break; case 4: paciente(); marca4 = 1; break; case 5: if (marca1 == 0) { printf("Você não tem nenhuma doença cadastrada. Cadastre para continuar!\n\n"); doenca(); marca1 = 1; tratamento(); } else if (marca4 == 0) { printf("Você não tem nenhum paciente cadastrado. Cadastre para continuar!\n\n"); paciente(); marca4 = 1; tratamento(); } else tratamento(); break; case 6: medicamento(); break; case 7: exame(); break; case 8: break; default: if (op != 9) printf("Opcao invalida!\n\n"); break; } } while (op != 9); return 0; }