public function excel($params) { $query = Paciente::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => array('pageSize' => 10000)]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'persona_id' => $this->persona_id]); $query->andFilterWhere(['like', 'descripcion', $this->descripcion]); return $dataProvider; }
/** * Validates the password. * This method serves as the inline validation for password. * * @param string $attribute the attribute currently being validated * @param array $params the additional name-value pairs given in the rule */ public function validatePassword($attribute, $params) { if (!$this->hasErrors()) { $user = $this->getUser(); if (!$user || !$user->validatePassword($this->password)) { $this->addError($attribute, 'Usuario o contraseña incorrectos.'); } /* * Método que define que, si el usuario es un paciente (no es administrador o profesional), * devuelve un mensaje indicándole que no tiene los permisos para iniciar sesión. */ if (Paciente::find()->where(['persona_id' => $user->id])->exists()) { $this->addError($attribute, 'Usted no cuenta con los permisos para iniciar sesión.'); } } }
public function getNombresPaciente() { $paciente = Paciente::find()->where(['id' => $this->paciente_id])->one(); return $paciente->getNombres(); }
public function putActualizar() { if (Request::input('doc_tipo')) { if (isset(Request::input('doc_tipo')['tipo'])) { Request::merge(array('doc_tipo' => Request::input('doc_tipo')['tipo'])); } } if (Request::input('ciudad_nac')) { if (isset(Request::input('ciudad_nac')['id'])) { Request::merge(array('ciudad_nac' => Request::input('ciudad_nac')['id'])); } } $hab = Habito::where('paciente_id', Request::input('id'))->first(); $hab->cigarrillo = Request::input('habitos')['cigarrillo']; $hab->cigarrillo_descripcion = Request::input('habitos')['cigarrillo_descripcion']; $hab->alcohol = Request::input('habitos')['alcohol']; $hab->alcohol_descripcion = Request::input('habitos')['alcohol_descripcion']; $hab->drogas = Request::input('habitos')['drogas']; $hab->drogas_descripcion = Request::input('habitos')['drogas_descripcion']; $hab->dieta = Request::input('habitos')['dieta']; $hab->dieta_descripcion = Request::input('habitos')['dieta_descripcion']; $hab->ejercicio = Request::input('habitos')['ejercicio']; $hab->ejercicio_descripcion = Request::input('habitos')['ejercicio_descripcion']; $hab->save(); $antAud = AntecedenteAuditivo::where('paciente_id', Request::input('id'))->first(); $antAud->otalgia = Request::input('AntAudit')['otalgia']; $antAud->otitis = Request::input('AntAudit')['otitis']; $antAud->sensacion_oido_tapado = Request::input('AntAudit')['sensacion_oido_tapado']; $antAud->tinitus = Request::input('AntAudit')['tinitus']; $antAud->vertigo = Request::input('AntAudit')['vertigo']; $antAud->prurito = Request::input('AntAudit')['prurito']; $antAud->trauma_craneoencefalico = Request::input('AntAudit')['trauma_craneoencefalico']; $antAud->trauma_acustico = Request::input('AntAudit')['trauma_acustico']; $antAud->cirugia_oido = Request::input('AntAudit')['cirugia_oido']; $antAud->timpanoplastia = Request::input('AntAudit')['timpanoplastia']; $antAud->hipertension_arterial = Request::input('AntAudit')['hipertension_arterial']; $antAud->diabetes = Request::input('AntAudit')['diabetes']; $antAud->rinitis = Request::input('AntAudit')['rinitis']; $antAud->fam_prom_auditivos = Request::input('AntAudit')['fam_prom_auditivos']; $antAud->exposicion_al_ruido = Request::input('AntAudit')['exposicion_al_ruido']; $antAud->diagnostico = Request::input('AntAudit')['diagnostico']; $antAud->save(); $otolo = Otoscopia::where('paciente_id', Request::input('id'))->first(); $otolo->pabellon_auricular_der = Request::input('otoscopia')['pabellon_auricular_der']; $otolo->pabellon_auricular_izq = Request::input('otoscopia')['pabellon_auricular_izq']; $otolo->cae_der = Request::input('otoscopia')['cae_der']; $otolo->cae_izq = Request::input('otoscopia')['cae_izq']; $otolo->membrana_timpanica_der = Request::input('otoscopia')['membrana_timpanica_der']; $otolo->membrana_timpanica_izq = Request::input('otoscopia')['membrana_timpanica_izq']; $otolo->save(); $otolo = Audiometria::where('paciente_id', Request::input('id'))->first(); $otolo->int0 = Request::input('audiometria')['int0']; $otolo->int10 = Request::input('audiometria')['int10']; $otolo->int20 = Request::input('audiometria')['int20']; $otolo->int30 = Request::input('audiometria')['int30']; $otolo->int40 = Request::input('audiometria')['int40']; $otolo->int50 = Request::input('audiometria')['int50']; $otolo->int60 = Request::input('audiometria')['int60']; $otolo->int70 = Request::input('audiometria')['int70']; $otolo->int80 = Request::input('audiometria')['int80']; $otolo->int90 = Request::input('audiometria')['int90']; $otolo->int100 = Request::input('audiometria')['int100']; $otolo->int110 = Request::input('audiometria')['int110']; $otolo->int120 = Request::input('audiometria')['int120']; $otolo->save(); $otolo = Visiometria::where('paciente_id', Request::input('id'))->first(); $otolo->enrojecimiento_ojo = Request::input('visiometria')['enrojecimiento_ojo']; $otolo->lagrimeo = Request::input('visiometria')['lagrimeo']; $otolo->ardor_ocular = Request::input('visiometria')['ardor_ocular']; $otolo->vision_borrosa = Request::input('visiometria')['vision_borrosa']; $otolo->vision_doble = Request::input('visiometria')['vision_doble']; $otolo->prurito = Request::input('visiometria')['prurito']; $otolo->cefalea = Request::input('visiometria')['cefalea']; $otolo->otros = Request::input('visiometria')['otros']; $otolo->otro = Request::input('visiometria')['otro']; $otolo->antecedentes_personales = Request::input('visiometria')['antecedentes_personales']; $otolo->recomendaciones = Request::input('visiometria')['recomendaciones']; $otolo->correc_optica = Request::input('visiometria')['correc_optica']; $otolo->od_correccion_optica_uso = Request::input('visiometria')['od_correccion_optica_uso']; $otolo->od_vision_lejos = Request::input('visiometria')['od_vision_lejos']; $otolo->od_vision_cerca = Request::input('visiometria')['od_vision_cerca']; $otolo->od_visiometria_ph = Request::input('visiometria')['od_visiometria_ph']; $otolo->oi_correccion_optica_uso = Request::input('visiometria')['oi_correccion_optica_uso']; $otolo->oi_vision_lejos = Request::input('visiometria')['oi_vision_lejos']; $otolo->oi_vision_cerca = Request::input('visiometria')['oi_vision_cerca']; $otolo->oi_visiometria_ph = Request::input('visiometria')['oi_visiometria_ph']; $otolo->oftalmoscopia_od = Request::input('visiometria')['oftalmoscopia_od']; $otolo->oftalmoscopia_od_observ = Request::input('visiometria')['oftalmoscopia_od_observ']; $otolo->oftalmoscopia_oi = Request::input('visiometria')['oftalmoscopia_oi']; $otolo->oftalmoscopia_oi_observ = Request::input('visiometria')['oftalmoscopia_oi_observ']; $otolo->externo_od = Request::input('visiometria')['externo_od']; $otolo->externo_od_observ = Request::input('visiometria')['externo_od_observ']; $otolo->externo_oi = Request::input('visiometria')['externo_oi']; $otolo->externo_oi_observ = Request::input('visiometria')['externo_oi_observ']; $otolo->estereopsis = Request::input('visiometria')['estereopsis']; $otolo->estereopsis_observ = Request::input('visiometria')['estereopsis_observ']; $otolo->test_color = Request::input('visiometria')['test_color']; $otolo->test_color_observ = Request::input('visiometria')['test_color_observ']; $otolo->save(); $diag = Diagnostico::where('paciente_id', Request::input('id'))->first(); $diag->diagnostico = Request::input('diagnostico')['diagnostico']; $diag->nivel_aptitud = Request::input('diagnostico')['nivel_aptitud']; $diag->restricciones_temp_perm = Request::input('diagnostico')['restricciones_temp_perm']; $diag->recomendaciones_diagnostico = Request::input('diagnostico')['recomendaciones_diagnostico']; $diag->save(); $pac = Paciente::find(Request::input('id')); $pac->empresa_usuaria = Request::input('empresa_usuaria'); $pac->empresa_temporal = Request::input('empresa_temporal'); $pac->actividad_economica = Request::input('actividad_economica'); $pac->nombres = Request::input('nombres'); $pac->apellidos = Request::input('apellidos'); $pac->doc_tipo = Request::input('doc_tipo'); $pac->doc_identidad = Request::input('doc_identidad'); $pac->sexo = Request::input('sexo'); $pac->direccion = Request::input('direccion'); $pac->telefono = Request::input('telefono'); $pac->telefono_contacto = Request::input('telefono_contacto'); $pac->ciudad_nac_id = Request::input('ciudad_nac'); $pac->estado_civil = Request::input('estado_civil'); $pac->nivel_escolaridad = Request::input('nivel_escolaridad'); $pac->profesion = Request::input('profesion'); $pac->grupo_sanguineo = Request::input('grupo_sanguineo'); $pac->rh = Request::input('rh'); $pac->eps = Request::input('eps'); $pac->arp = Request::input('arp'); $pac->fecha_ingreso = Request::input('fecha_ingreso'); $pac->cargo = Request::input('cargo'); $pac->descripcion_cargo = Request::input('descripcion_cargo'); $pac->motivo_consulta = Request::input('motivo_consulta'); $pac->save(); $pac->habitos = $hab; $exafis = ExamenFisico::where('paciente_id', $pac->id)->first(); if ($exafis) { $this->GuardarExaFis($exafis, $pac->id); } else { $exafis = new ExamenFisico(); $this->GuardarExaFis($exafis, $pac->id); } return $pac; }
public function getPaciente() { $reserva = Reserva::find()->where(['hora_medica_id' => $this->hora_id])->one(); $paciente = Paciente::find()->where(['id' => $reserva->paciente_id])->one(); return $paciente->getNombres(); }
use kartik\time\TimePicker; use yii\grid\GridView; use kartik\select2\Select2; /* @var $this yii\web\View */ /* @var $model app\models\Reserva */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="reserva-form"> <?php $form = ActiveForm::begin(['id' => 'dynamic-form']); ?> <?php $data = ArrayHelper::map(Paciente::find()->all(), 'id', 'Nombres'); ?> <?php echo $form->field($model, 'paciente_id')->widget(Select2::classname(), ['data' => $data, 'options' => ['placeholder' => 'Seleccionar Paciente ...'], 'pluginOptions' => ['width' => '300px']]); ?> <?php echo $form->field($modelHora, "tipo_hora_id")->dropDownList(ArrayHelper::map(TipoHora::find()->all(), 'id', 'nombre'), ['prompt' => 'Seleccionar Tipo de Hora', 'style' => 'width:300px']); ?> <?php $data = ArrayHelper::map(Profesional::find()->all(), 'id', 'Nombres'); ?> <?php
public function guardar_imagen_tomada($user) { $folderName = 'user_' . $user['id']; $folder = 'images/perfil/' . $folderName; if (!File::exists($folder)) { File::makeDirectory($folder, $mode = 0777, true, true); } $paciente = Paciente::find(Request::input('paciente_id')); $anterior = ImagenModel::find($paciente->image_id); if ($anterior) { $filename = 'images/perfil/' . $anterior->nombre; if (File::exists($filename)) { File::delete($filename); $anterior->forceDelete(); $paciente->image_id = null; } else { return 'No se encuentra la imagen a eliminar. ' . $img->nombre; } } //separamos el nombre de la img y la extensión $info = explode(".", $paciente->nombres . '.jpg'); //asignamos de nuevo el nombre de la imagen completo $miImg = $paciente->nombres . '.jpg'; //mientras el nombre exista iteramos y aumentamos i $i = 0; while (file_exists($folder . '/' . $miImg)) { $i++; $miImg = $info[0] . "(" . $i . ")" . "." . $info[1]; } $file = Request::input("foto"); $binary_data = base64_decode($file); //guardamos la imagen con otro nombre ej foto(1).jpg || foto(2).jpg etc $result = file_put_contents($folder . '/' . $miImg, $binary_data); //$file->move($folder, $miImg); $newImg = new ImagenModel(); $newImg->nombre = $folderName . '/' . $miImg; $newImg->user_id = $user['id']; $newImg->save(); $paciente->image_id = $newImg->id; $paciente->save(); return $newImg; }
public function getPerfil() { if (Administrador::find()->where(['persona_id' => $this->id])->exists()) { return 'Administrador'; } else { if (Profesional::find()->where(['persona_id' => $this->id])->exists()) { return 'Profesional'; } else { if (Paciente::find()->where(['persona_id' => $this->id])->exists()) { return 'Paciente'; } } } }
/** * Deletes an existing Persona model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { $model = $this->findModel($id); if (Administrador::find()->where(['persona_id' => $model->id])->exists()) { $admin = Administrador::find()->where(['persona_id' => $model->id])->one(); $admin->delete(); $model->delete(); } else { if (Profesional::find()->where(['persona_id' => $model->id])->exists()) { $profesional = Profesional::find()->where(['persona_id' => $model->id])->one(); $profesional->delete(); $model->delete(); } else { if (Paciente::find()->where(['persona_id' => $model->id])->exists()) { $paciente = Paciente::find()->where(['persona_id' => $model->id])->one(); $paciente->delete(); $model->delete(); } } } return $this->redirect(['index']); }