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;
 }
Exemple #2
0
 /**
  * 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.');
         }
     }
 }
Exemple #3
0
 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();
 }
Exemple #6
0
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;
 }
Exemple #8
0
 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']);
 }