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; }
public static function GET_LISTA_NOMBRE() { return CHtml::listData(Enfermedad::model()->findAll(), 'id', 'nombre'); }
<!--<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');