public function getCita($id) { //Declarar un arreglo para devolver los resultados. $parameter = array(); //Se instancian los objetos necesarios. $paciente = new Paciente(); $condiciones = new CondicionEnfermedad(); //Sentencia para crear un objeto para realizar los documentos PDF. $pdf = App::make('dompdf'); //Se almacena los datos pertenecientes a la cita. $parameter['cita'] = Cita::find($id); //Se almacena los datos pertenecientes al pacientes. $parameter['datos'] = $paciente->datos_pacientes($parameter['cita']->id_paciente); //Se busca la institucion respectiva del ID almacenado en la cita. $institucion = Institucion::find($parameter['cita']->id_institucion); if (empty($institucion)) { $parameter['institucion'] = new Institucion(); $parameter['institucion']->denominacion = 'No Definido'; } else { $parameter['institucion'] = Institucion::find($parameter['cita']->id_institucion); } //Se busca y se almacena al medico perteneciente al ID que se almaceno en la cita. $medico = Medico::find($parameter['cita']->id_medico); if (empty($medico)) { $parameter['medico'] = new Medico(); $parameter['medico']->primer_nombre = 'No'; $parameter['medico']->apellido_paterno = 'Definido'; } else { $parameter['medico'] = Medico::find($parameter['cita']->id_medico); } //Se busca y se almacenan los datos pertenecientes a los marcadores de la cita. $parameter['marcadores'] = MarcadorCita::where('id_cita', $id)->where('valor', '<>', '0')->get(); $parameter['cantidad'] = MarcadorCita::where('id_cita', $id)->where('valor', '<>', '0')->count(); //Se llama a la funcion obtenerEnfermedades que me devuelve un arreglo con las enfermedades que dieron positivo y negativo de la cita //correspondiente al ID que le envio. $parameter['resultados'] = $condiciones->obtenerEnfermedades($id); //Cargo la vista mandandole los respectivos datos correspondientes almacenados en el arreglo $parameter. $pdf = PDF::loadView('datos/citas/Print', $parameter); //Creo el archivo pdf y lo almaceno utilizando la cedula como el nombre del archivo. return $pdf->stream('' . $parameter['datos'][0]->cedula . '.pdf', array("Attachment" => false)); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { $data = Input::all(); $rules = ['exploracion_conj' => 'required', 'av_sc_od' => 'required', 'av_sc_oi' => 'required']; $v = Validator::make($data, $rules); //Si falla mostrará la pantalla anterior con los errores correspondientes if ($v->fails()) { return Redirect::back()->withInput()->withErrors($v); } $cita = Cita::find($id); $cita->id_paciente = $data['id_paciente']; $cita->interrogatorio = $data['interrogatorio']; $cita->exploracion_conj = $data['exploracion_conj']; $cita->esclerotica = $data['esclerotica']; $cita->cornea = $data['cornea']; $cita->parpados = $data['parpados']; $cita->pestagna = $data['pestagna']; $cita->pupilas = $data['pupilas']; $cita->ref_pup = $data['ref_pup']; $cita->av_sc_od = $data['av_sc_od']; $cita->av_sc_oi = $data['av_sc_oi']; $cita->av_cc_od = $data['av_cc_od']; $cita->av_cc_oi = $data['av_cc_oi']; $cita->av_cc_od_esf = $data['av_cc_od_esf']; $cita->av_cc_od_cil = $data['av_cc_od_cil']; $cita->av_cc_od_add = $data['av_cc_od_add']; $cita->av_cc_oi_esf = $data['av_cc_oi_esf']; $cita->av_cc_oi_cil = $data['av_cc_oi_cil']; $cita->av_cc_oi_add = $data['av_cc_oi_add']; $cita->oftalmoscopia_od = $data['oftalmoscopia_od']; $cita->oftalmoscopia_oi = $data['oftalmoscopia_oi']; $cita->queratometria_od = $data['queratometria_od']; $cita->queratometria_oi = $data['queratometria_oi']; $cita->motilidad_ocular_od = $data['motilidad_ocular_od']; $cita->motilidad_ocular_oi = $data['motilidad_ocular_oi']; $cita->sentido_cromatico = $data['sentido_cromatico']; $cita->tonometria_od = $data['tonometria_od']; $cita->tonometria_oi = $data['tonometria_oi']; $cita->grad_od_esf = $data['grad_od_esf']; $cita->cap_visual_od = $data['cap_visual_od']; $cita->cap_visual_oi = $data['cap_visual_oi']; $cita->grad_od_cil = $data['grad_od_cil']; $cita->grad_od_eje = $data['grad_od_eje']; $cita->grad_od_av = $data['grad_od_av']; $cita->grad_oi_esf = $data['grad_oi_esf']; $cita->grad_oi_cil = $data['grad_oi_cil']; $cita->grad_oi_eje = $data['grad_oi_eje']; $cita->grad_oi_av = $data['grad_oi_av']; $cita->grad_di = $data['grad_di']; $cita->grad_add_od = $data['grad_add_od']; $cita->grad_add_oi = $data['grad_add_oi']; $cita->cerca_od_esf = $data['cerca_od_esf']; $cita->cerca_od_cil = $data['cerca_od_cil']; $cita->cerca_od_eje = $data['cerca_od_eje']; $cita->cerca_oi_esf = $data['cerca_oi_esf']; $cita->cerca_oi_cil = $data['cerca_oi_cil']; $cita->cerca_oi_eje = $data['cerca_oi_eje']; $cita->instrucciones = $data['instrucciones']; $cita->od_esf = $data['od_esf']; $cita->od_cil_eje = $data['od_cil_eje']; $cita->od_add = $data['od_add']; $cita->od_di = $data['od_di']; $cita->od_prisma = $data['od_prisma']; $cita->od_alt = $data['od_alt']; $cita->od_color = $data['od_color']; $cita->oi_esf = $data['oi_esf']; $cita->oi_cil_eje = $data['oi_cil_eje']; $cita->oi_add = $data['oi_add']; $cita->oi_di = $data['oi_di']; $cita->oi_prisma = $data['oi_prisma']; $cita->oi_alt = $data['oi_alt']; $cita->oi_tipo = $data['oi_tipo']; $cita->observaciones = $data['observaciones']; if (empty($data['endurecido'])) { $cita->endurecido = 0; } else { $cita->endurecido = $data['endurecido']; } if (empty($data['tratam_uv'])) { $cita->tratam_uv = 0; } else { $cita->tratam_uv = $data['tratam_uv']; } if (empty($data['tratam_anti_rayas'])) { $cita->tratam_anti_rayas = 0; } else { $cita->tratam_anti_rayas = $data['tratam_anti_rayas']; } if (empty($data['tratam_anti_reflejos'])) { $cita->tratam_anti_reflejos = 0; } else { $cita->tratam_anti_reflejos = $data['tratam_anti_reflejos']; } if (empty($data['hi_index'])) { $cita->hi_index = 0; } else { $cita->hi_index = $data['hi_index']; } if (empty($data['hi_lite'])) { $cita->hi_lite = 0; } else { $cita->hi_lite = $data['hi_lite']; } $cita->seg_bif = $data['seg_bif']; $cita->aro = $data['aro']; $cita->costo_consulta = $data['costo_consulta']; $cita->examen_realizado = $data['examen_realizado']; $cita->fecha_consulta = $data['fecha_consulta']; $cita->save(); $datos['paciente'] = Paciente::find($data['id_paciente']); if ($datos['paciente']->examen == 'LC') { $LC = LenteContacto::where('id_cita', $id)->first(); if (empty($LC->id_cita)) { $LC = new LenteContacto(); } $LC->id_cita = $id; $LC->kod = $data['kod']; $LC->koi = $data['koi']; $LC->diam_dhiv = $data['diam_dhiv']; $LC->ap = $data['ap']; $LC->parpados = $data['l_parpado']; $LC->esclera = $data['esclera']; $LC->conjuntiva = $data['conjuntiva']; $LC->iris = $data['iris']; $LC->cornea = $data['cornea']; $LC->pmma = $data['pmma']; $LC->hema = $data['hema']; $LC->permeable = $data['permeable']; $LC->proveedor = $data['proveedor']; $LC->soluciones = $data['soluciones']; $LC->datos_lc = $data['datos_lc']; $LC->r_od = $data['l_od']; $LC->r_oi = $data['l_oi']; $LC->r_tipo = $data['l_tipo']; $LC->r_soluciones = $data['l_soluciones']; $LC->r_costo = $data['l_costo']; $LC->r_observaciones = $data['l_observaciones']; $LC->save(); } $datos['cita'] = new Cita(); $datos['form'] = array('route' => 'datos.citas.store', 'method' => 'POST'); $datos['cita']->fecha_consulta = date("Y-m-d"); $datos['lc'] = new LenteContacto(); if (strlen($datos['paciente']->fecha_nacimiento) != 10) { $datos['edad'] = 0; } else { $datos['edad'] = $datos['paciente']->edad($datos['paciente']->fecha_nacimiento); } return View::make('datos/citas/list-edit-form')->with('datos', $datos); }
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; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { $data = Input::all(); $citas = Cita::find($id); $id_anterior = $citas->id_cita_referencia; if (!empty($id_anterior)) { $cita_anterior = Cita::find($id_anterior); $cita_anterior->id_cita_referencia = 0; $cita_anterior->save(); } //sino encuentra una cita crea un nuevo objeto if (is_null($citas)) { $citas = new Cita(); } //Sentencias para almacenar los datos correspondientes de la cita $citas->id_medico = $data['id_medico']; $citas->peso = $data['peso']; $citas->fecha_ultrasonido = $data['fecha_ultrasonido']; $citas->fur = $data['fur']; $citas->fpp = $data['fpp']; $citas->fecha_flebotomia = $data['fecha_flebotomia']; $citas->fecha_cita = $data['fecha_cita']; $citas->edad_gestacional = $data['edad_gestacional']; $citas->observaciones = $data['observaciones']; $citas->estatura = $data['estatura']; $citas->id_institucion = $data['id_institucion']; $citas->hijos_embarazo = $data['hijos_embarazo']; $citas->edad_materna = $data['edad']; $citas->edad_gestacional_fur = $data['semana']; $citas->riesgo = $data['riesgo']; $citas->riesgo_fap = $data['riesgo_fap']; $citas->tipo_cita = $data['tipo_cita']; $citas->id_cita_referencia = $data['id_cita_referencia']; $citas->id_user_updated = Auth::user()->id; $citas->save(); if ($data['tipo_cita'] == '2' and $data['id_cita_referencia'] != '0') { $cita = Cita::find($data['id_cita_referencia']); $cita->id_cita_referencia = $id; $cita->save(); } //Se almacena en una variable el id de la metodologia que eleigio en general. $met_general = $data['' . $data['tipo_cita'] . '_met_general']; //Ciclo para recorrer todos los marcadores foreach (Marcador::where('trimestre_marcador', $data['tipo_cita'])->Orwhere('trimestre_marcador', '3')->get() as $marcador) { $marcador_cita = new MarcadorCita(); $marcadorcita = $marcador_cita->obtenerMarcador($marcador->id, $id); $marcadorcita->id_cita = $id; $marcadorcita->id_marcador = $marcador->id; $marcadorcita->valor = $data['' . $data['tipo_cita'] . '_valor_' . $marcador->id . '']; $marcadorcita->mom = $data['' . $data['tipo_cita'] . '_mom_' . $marcador->id . '']; $marcadorcita->corr_peso_lineal = $data['' . $data['tipo_cita'] . '_corr_lineal_' . $marcador->id . '']; $marcadorcita->corr_peso_exponencial = $data['' . $data['tipo_cita'] . '_corr_exp_' . $marcador->id . '']; //Si la metodologia es distinta de 0 quiere decir que se eligio una para ese marcador if ($data['' . $data['tipo_cita'] . '_metodo_' . $marcador->id . ''] != 0) { //Se almacena la metodologia correspondiente $marcadorcita->id_metodologia = $data['' . $data['tipo_cita'] . '_metodo_' . $marcador->id . '']; } else { //Sino entonces se almacena el metodo que se eligio como general. $marcadorcita->id_metodologia = $met_general; } $marcadorcita->save(); } return Redirect::route('datos.citas.show', $data['id_paciente']); }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { //Declarar un arreglo para devolver los resultados. $parameter = array(); //Se instancian los objetos necesarios. $parameter['cita'] = Cita::find($id); $parameter['paciente'] = Paciente::find($parameter['cita']->id_paciente); $parameter['paciente']->nombre = $parameter['paciente']->primer_nombre . ' ' . $parameter['paciente']->segundo_nombre . ' ' . $parameter['paciente']->primer_apellido . ' ' . $parameter['paciente']->segundo_apellido; if (strlen($parameter['paciente']->fecha_nacimiento) != 10) { $parameter['paciente']->edad = 0; } else { $parameter['paciente']->edad = $parameter['paciente']->edad($parameter['paciente']->fecha_nacimiento); } if ($parameter['paciente']->sexo == 1) { $parameter['paciente']->sexo = 'Masculino'; } else { $parameter['paciente']->sexo = 'Femenino'; } if ($parameter['cita']->endurecido == 1) { $parameter['cita']->endurecido = 'Si'; } else { $parameter['cita']->endurecido = 'No'; } if ($parameter['cita']->tratam_uv == 1) { $parameter['cita']->tratam_uv = 'Si'; } else { $parameter['cita']->tratam_uv = 'No'; } if ($parameter['cita']->tratam_anti_rayas == 1) { $parameter['cita']->tratam_anti_rayas = 'Si'; } else { $parameter['cita']->tratam_anti_rayas = 'No'; } if ($parameter['cita']->tratam_anti_reflejos == 1) { $parameter['cita']->tratam_anti_reflejos = 'Si'; } else { $parameter['cita']->tratam_anti_reflejos = 'No'; } if ($parameter['cita']->hi_index == 1) { $parameter['cita']->hi_index = 'Si'; } else { $parameter['cita']->hi_index = 'No'; } if ($parameter['cita']->hi_lite == 1) { $parameter['cita']->hi_lite = 'Si'; } else { $parameter['cita']->hi_lite = 'No'; } if (empty($parameter['cita']->seg_bif)) { $parameter['cita']->seg_bif = 'Sin registro.'; } else { $parameter['cita']->seg_bif = $parameter['cita']->seg_bif; } if (empty($parameter['cita']->aro)) { $parameter['cita']->aro = 'Sin registro.'; } else { $parameter['cita']->aro = $parameter['cita']->aro; } $pdf = App::make('dompdf'); $pdf = PDF::loadView('datos/citas/Print', $parameter); //Creo el archivo pdf y lo almaceno utilizando la cedula como el nombre del archivo. return $pdf->stream('' . $parameter['cita']->id . '_' . $parameter['paciente']->cedula . '.pdf'); }