public function fechaDetallada($id)
 {
     $model = Enfermedad::model()->findByPk($id);
     //return Yii::app()->getLanguage();
     return Yii::app()->dateFormatter->formatDateTime($model->fecha_creacion, 'long');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     //Se almacena en la variable data los valores de los campos recibidos del formularios
     $data = Input::all();
     //Se busca la enfermedad por el id recibido para poder editarla
     $enfermedad = Enfermedad::find($id);
     //Se coloca los valores recibidos del fomrulario para almacenarlo en cada campo correspondiente
     $enfermedad->descripcion = $data['descripcion'];
     $enfermedad->mensaje_positivo = $data['mensaje_positivo'];
     $enfermedad->mensaje_negativo = $data['mensaje_negativo'];
     $enfermedad->status = $data['status'];
     $enfermedad->save();
     //Ciclo que recorre los marcadores con los valores recibidos del formulario
     foreach (Marcador::all() as $marcador) {
         if ($marcador->trimestre_marcador == 3) {
             $sw = 0;
             $condicion = CondicionEnfermedad::where('id_enfermedad', $id)->where('id_marcador', $marcador->id)->where('trimestre_marcador', '1')->first();
             if ($data['marcador_' . $marcador->id . '_1'] == '' && !empty($condicion)) {
                 CondicionEnfermedad::destroy($condicion->id);
             } elseif ($data['marcador_' . $marcador->id . '_1'] != '' && !empty($condicion)) {
                 $condicion = CondicionEnfermedad::find($condicion->id);
                 $sw = 1;
             } elseif ($data['marcador_' . $marcador->id . '_1'] != '' && empty($condicion)) {
                 $condicion = new CondicionEnfermedad();
                 $sw = 1;
             }
             if ($sw == 1) {
                 $condicion->id_enfermedad = $id;
                 $condicion->id_marcador = $marcador->id;
                 $condicion->trimestre_marcador = '1';
                 $condicion->valor_condicion = $data['marcador_' . $marcador->id . '_1'];
                 $condicion->limite_superior = $data['limite_superior_' . $marcador->id . '_1'];
                 $condicion->limite_inferior = $data['limite_inferior_' . $marcador->id . '_1'];
                 $condicion->id_user_updated = Auth::user()->id;
                 $condicion->save();
             }
             $marcador->trimestre_marcador = '2';
         }
         $sw = 0;
         //Variable que almacena el objeto de la condicion perteneciente a esa enfermedad y ese marcador
         $condicion = CondicionEnfermedad::where('id_enfermedad', $id)->where('id_marcador', $marcador->id)->where('trimestre_marcador', $marcador->trimestre_marcador)->first();
         //Si el valor recibido del formulario viene en blanco y la condicion exista en la base de datos se procede a editar el valor
         if ($data['marcador_' . $marcador->id . ''] == '' && !empty($condicion)) {
             CondicionEnfermedad::destroy($condicion->id);
         } elseif ($data['marcador_' . $marcador->id . ''] != '' && !empty($condicion)) {
             $condicion = CondicionEnfermedad::find($condicion->id);
             $sw = 1;
         } elseif ($data['marcador_' . $marcador->id . ''] != '' && empty($condicion)) {
             $condicion = new CondicionEnfermedad();
             $sw = 1;
         }
         if ($sw == 1) {
             $condicion->id_enfermedad = $id;
             $condicion->id_marcador = $marcador->id;
             $condicion->trimestre_marcador = $marcador->trimestre_marcador;
             $condicion->valor_condicion = $data['marcador_' . $marcador->id . ''];
             $condicion->limite_superior = $data['limite_superior_' . $marcador->id . ''];
             $condicion->limite_inferior = $data['limite_inferior_' . $marcador->id . ''];
             $condicion->id_user_updated = Auth::user()->id;
             $condicion->save();
         }
     }
     //Se retorna a la vista
     return Redirect::route('datos.condiciones.index');
 }
 function obtenerEnfermedades($id)
 {
     $tipo_cita = Cita::find($id)->tipo_cita;
     //Ciclo que recorre todas las enfermedades
     foreach (Enfermedad::where('status', 1)->get() as $enfermedad) {
         //Variable usada como switch para detectar enfermedades.
         $sw = 1;
         //Variable usada como contador
         $contador = 0;
         //Se crea un objeto para poder almacenar la informacion de los resultados.
         $resultado[$enfermedad->id] = new Enfermedad();
         //Almaceno el nombre de la enfermedad en el resultado usando como indice el ID de la enfermedad
         $resultado[$enfermedad->id]->enfermedad = $enfermedad->descripcion;
         //Sentencia para buscar todas las condiciones pertenecientes a una enfermedad especifica
         $condiciones = CondicionEnfermedad::where('id_enfermedad', $enfermedad->id)->where('valor_condicion', '<>', '')->where('trimestre_marcador', $tipo_cita)->get();
         //Variable que almacena la suma de los porcentajes
         $porcentaje = 0;
         //Variabele que almacena el mensaje de advertencia si el porcentaje es alto
         $advertencia = '';
         //Variable que almacena la mediana de los porcentajes
         $porcentajeTotal = 0;
         //Ciclo que recorre todas las condiciones
         foreach ($condiciones as $condicion) {
             //Decision donde se compara el valor obtenido del marcador de la cita
             //con la condicion para ver si son diferentes.
             $mom_marcador = '';
             if (!empty(MarcadorCita::where('id_cita', $id)->where('id_marcador', $condicion->id_marcador)->first()->mom)) {
                 $mom_marcador = MarcadorCita::where('id_cita', $id)->where('id_marcador', $condicion->id_marcador)->first()->mom;
             }
             if ($mom_marcador != 0) {
                 //Si la condicion es -1 quiere decir que es bajo
                 if ($condicion->valor_condicion == -1) {
                     if ($mom_marcador < $condicion->limite_inferior) {
                         $porcentaje = $porcentaje + 1;
                     } else {
                         $porcentaje = $porcentaje + $condicion->limite_inferior / $mom_marcador;
                     }
                     $sw = 0;
                 } elseif ($condicion->valor_condicion == 1) {
                     if ($mom_marcador > $condicion->limite_superior) {
                         $porcentaje = $porcentaje + 1;
                     } else {
                         $porcentaje = $porcentaje + $mom_marcador / $condicion->limite_superior;
                     }
                     $sw = 0;
                 } elseif ($mom_marcador > $condicion->limite_inferior && $mom_marcador < $condicion->limite_superior) {
                     $porcentaje = $porcentaje + 1;
                     $sw = 0;
                 }
             }
             $contador++;
         }
         if ($contador > 0) {
             $porcentajeTotal = $porcentaje / $contador;
         } else {
             $sw = 1;
         }
         //Condicion para evaluar el porcentaje de contraer una enfermedad
         if ($porcentajeTotal >= 0.85) {
             $advertencia = '<br><p style="background:orange;">Tamiz Negativo, sin embargo existe un alto riesgo para contraer esta enfermedad</p>';
         }
         //Decision que determina el mensaje a imprimir
         //Si la variable Switch es igual a 0 quiere decir que nunca entro en la decision anterior
         //en caso contrario quiere decir que la variable tiene el valor de 1 y por lo tanto una condicion se cumple y la enfermedad es positiva
         if ($sw == 0 && $porcentajeTotal == 1) {
             $resultado[$enfermedad->id]->resultado = '<b style="background:#d9534f;">Tamiz Positivo</b>';
             $resultado[$enfermedad->id]->mensaje = $enfermedad->mensaje_positivo;
             //De ser falso la condicion osea que el switch tomo el valor de 1 quiere decir que no fueron
             //exactamente los valores de la cita con las condiciones y arroja un resultado negativo
         } else {
             $resultado[$enfermedad->id]->resultado = '<b>Tamiz Negativo</b>';
             $resultado[$enfermedad->id]->mensaje = $enfermedad->mensaje_negativo . ' ' . $advertencia;
         }
     }
     //Devuelve un arreglo con tdas las enfermedades usando como indice el ID de cada enfermedad
     //Con sus respectivo nombre, resultado si fue positivo o negativo y el mensaje correspondiente.
     return $resultado;
 }
Example #4
0
 public static function GET_LISTA_NOMBRE()
 {
     return CHtml::listData(Enfermedad::model()->findAll(), 'id', 'nombre');
 }
Example #5
0
        <!--<input type="text" id="fecha_time" value="2:30 PM" readonly="" data-format="<?php 
/*echo DateTools::LONG_TIME_FORMAT_JS */
?>
" class="input-small">-->
        <?php 
echo $form->textField($modelGineco, 'fecha_time', array('readonly' => true, 'id' => 'fecha_time', 'data-format' => DateTools::LONG_TIME_FORMAT_JS, 'class' => 'input-small'));
?>
	</div>

        <div class="row">
                <?php 
echo $form->labelEx($modelGineco, 'ginecologiaEnfermedads');
?>
                <?php 
echo $form->dropDownList($modelGineco, 'ginecologiaEnfermedads', Enfermedad::GET_LISTA_NOMBRE(), array('multiple' => 'multiple'));
?>
                <?php 
echo $form->error($modelGineco, 'ginecologiaEnfermedads');
?>
        </div>
        
	<div class="row">
		<?php 
echo $form->labelEx($modelGineco, 'motivo_consulta');
?>
		<?php 
echo $form->textArea($modelGineco, 'motivo_consulta', array('rows' => 6, 'cols' => 50));
?>
		<?php 
echo $form->error($modelGineco, 'motivo_consulta');