예제 #1
0
 /**
  * @param Request  $request
  * @param Paciente $paciente
  * @param Usuario  $medico
  */
 private static function alimentarPacienteDetalle(Request $request, Paciente $paciente, Usuario $medico)
 {
     switch ($medico->getUsername()) {
         case 'johanna.vazquez':
             $marca = new MarcaPasta();
             $trastorno = new TrastornoLenguaje();
             $txtNombrePadre = $request->get('txtNombrePadre');
             $txtNombreMadre = $request->get('txtNombreMadre');
             $txtOcupacionPadre = $request->get('txtOcupacionPadre');
             $txtOcupacionMadre = $request->get('txtOcupacionMadre');
             $txtNombresEdades = $request->get('txtNombresEdades');
             !is_null($request->get('trastorno')) ? $trastornoLenguaje = $request->get('trastorno') : ($trastornoLenguaje = 1);
             !is_null($request->get('dolorBoca')) ? $dolorBoca = 1 : ($dolorBoca = 0);
             !is_null($request->get('sangradoEncias')) ? $sangradoEncias = 1 : ($sangradoEncias = 0);
             !is_null($request->get('malOlor')) ? $malOlor = 1 : ($malOlor = 0);
             !is_null($request->get('dienteFlojo')) ? $dienteFlojo = 1 : ($dienteFlojo = 0);
             $primeraVisita = $request->get('primeraVisita') === '2' ? 0 : 1;
             $txtFechaUltimoExamen = $request->get('txtFechaUltimoExamen');
             $txtMotivoUltimoExamen = $request->get('txtMotivoUltimoExamen');
             $anestesico = $request->get('anestesico') === '2' ? 0 : 1;
             $malaReaccion = $request->get('malaReaccion') === '2' ? 0 : 1;
             $txtQueReaccion = $request->get('txtQueReaccion');
             $txtTraumatismo = $request->get('txtTraumatismo');
             $tipoCepillo = $request->get('tipoCepillo');
             $marcaPasta = $request->get('marcaPasta');
             $vecesCepilla = $request->get('txtVecesCepilla');
             $txtEdadErupcionDiente = $request->get('txtEdadErupcionaPrimerDiente');
             $ayudaAlCepillarse = $request->get('ayudaAlCepillarse') === '2' ? 1 : 0;
             $txtVecesComeDia = $request->get('txtVecesCome');
             $txtEspecifiqueAuxiliar = $request->get('txtEspecifiqueAuxiliar');
             !is_null($request->get('hiloDental')) ? $hiloDental = 1 : ($hiloDental = 0);
             !is_null($request->get('enjuagueBucal')) ? $enjuagueBucal = 1 : ($enjuagueBucal = 0);
             !is_null($request->get('limpiadorLingual')) ? $limpiadorLingual = 1 : ($limpiadorLingual = 0);
             !is_null($request->get('tabletasReveladoras')) ? $tabletasReveladoras = 1 : ($tabletasReveladoras = 0);
             !is_null($request->get('otroAuxiliar')) ? $otroAuxiliar = 1 : ($otroAuxiliar = 0);
             !is_null($request->get('succionDigital')) ? $succionDigital = 1 : ($succionDigital = 0);
             !is_null($request->get('succionLingual')) ? $succionLingual = 1 : ($succionLingual = 0);
             !is_null($request->get('biberon')) ? $biberon = 1 : ($biberon = 0);
             !is_null($request->get('bruxismo')) ? $bruxismo = 1 : ($bruxismo = 0);
             !is_null($request->get('succionLabial')) ? $succionLabial = 1 : ($succionLabial = 0);
             !is_null($request->get('respiracionBucal')) ? $respiracionBucal = 1 : ($respiracionBucal = 0);
             !is_null($request->get('onicofagia')) ? $onicofagia = 1 : ($onicofagia = 0);
             !is_null($request->get('chupon')) ? $chupon = 1 : ($chupon = 0);
             !is_null($request->get('otroHabito')) ? $otroHabito = 1 : ($otroHabito = 0);
             $txtEspecifiqueHabito = $request->get('txtEspecifiqueHabito');
             $paciente->setComportamientoInicial(new ComportamientoInicial(1));
             $paciente->setComportamientoFrankl(new ComportamientoFrankl(1));
             $paciente->setMorfologiaCraneofacial(new MorfologiaCraneofacial(1));
             $paciente->setMorfologiaFacial(new MorfologiaFacial(1));
             $paciente->setConvexividadFacial(new ConvexividadFacial(1));
             $paciente->setATM(new ATM(1));
             $paciente->setNombrePadre($txtNombrePadre);
             $paciente->setNombreMadre($txtNombreMadre);
             $paciente->setOcupacionPadre($txtOcupacionPadre);
             $paciente->setOcupacionMadre($txtOcupacionMadre);
             $paciente->setNombreEdadesHermanos($txtNombresEdades);
             $paciente->setHaPresentadoDolorBoca($dolorBoca);
             $paciente->setHaNotadoSangradoEncias($sangradoEncias);
             $paciente->setPresentaMalOlorBoca($malOlor);
             $paciente->setSienteDienteFlojo($dienteFlojo);
             $trastorno->setId($trastornoLenguaje);
             $paciente->setTrastornoLenguaje($trastorno);
             $paciente->setPrimeraVisitaDentista($primeraVisita);
             $paciente->setFechaUltimoExamenBucal($txtFechaUltimoExamen);
             $paciente->setMotivoVisitaDentista($txtMotivoUltimoExamen);
             $paciente->setLeHanColocadoAnestesico($anestesico);
             $paciente->setTuvoMalaReaccionAnestesico($malaReaccion);
             $paciente->setReaccionAnestesico($malaReaccion);
             $paciente->setTraumatismoBucal($txtTraumatismo);
             $paciente->setTipoCepilloAdulto($tipoCepillo);
             $marca->setId($marcaPasta);
             $paciente->setMarcaPasta($marca);
             $paciente->setVecesCepillaDiente($vecesCepilla);
             $paciente->setEdadErupcionoPrimerDiente($txtEdadErupcionDiente);
             $paciente->setAlguienAyudaACepillarse($ayudaAlCepillarse);
             $paciente->setVecesComeDia($txtVecesComeDia);
             $paciente->setHiloDental($hiloDental);
             $paciente->setEnjuagueBucal($enjuagueBucal);
             $paciente->setLimpiadorLingual($limpiadorLingual);
             $paciente->setTabletasReveladoras($tabletasReveladoras);
             $paciente->setOtroAuxiliar($otroAuxiliar);
             $paciente->setEspecifiqueAuxiliar($txtEspecifiqueAuxiliar);
             $paciente->setSuccionDigital($succionDigital);
             $paciente->setSuccionLingual($succionLingual);
             $paciente->setBiberon($biberon);
             $paciente->setBruxismo($bruxismo);
             $paciente->setSuccionLabial($succionLabial);
             $paciente->setRespiracionBucal($respiracionBucal);
             $paciente->setOnicofagia($onicofagia);
             $paciente->setChupon($chupon);
             $paciente->setOtroHabito($otroHabito);
             $paciente->setDescripcionHabito($txtEspecifiqueHabito);
             break;
     }
 }
 /**
  * PacienteOdontopediatria constructor.
  * @param int|null $id
  */
 public function __construct($id = null)
 {
     parent::__construct($id);
     if (is_null($this->listaTratamientosOdontologicos)) {
         $this->listaTratamientosOdontologicos = new Collection();
     }
 }
 /**
  * @param Request $request
  * @param Paciente $paciente
  * @return bool
  */
 public function crearDeHttp(Request $request, Paciente $paciente)
 {
     // obtener todos los elementos que posiblemente se hayan enviado en caso de que sea un paciente de primera vez
     $craneofacial = $request->get('craneofacial');
     $facial = $request->get('facial');
     $convexividad = $request->get('convexividad');
     $atm = $request->get('atm');
     $labios = $request->get('txtLabios');
     $carrillos = $request->get('txtCarrillos');
     $frenillos = $request->get('txtFrenillos');
     $paladar = $request->get('txtPaladar');
     $lengua = $request->get('txtLengua');
     $pisoBoca = $request->get('txtPisoBoca');
     $parodonto = $request->get('txtParodonto');
     $uvula = $request->get('txtUvula');
     $orofaringe = $request->get('txtOrofaringe');
     $arcoI = $request->get('arcoTipoI') === 'on' ? true : false;
     $arcoII = $request->get('arcoTipoII') === 'on' ? true : false;
     $mesialDerecho = $request->get('mesialDer') === 'on' ? true : false;
     $mesialIzquierdo = $request->get('mesialIzq') === 'on' ? true : false;
     $distalDerecho = $request->get('distalDer') === 'on' ? true : false;
     $distalIzquierdo = $request->get('distalIzq') === 'on' ? true : false;
     $rectoDerecho = $request->get('rectoDer') === 'on' ? true : false;
     $rectoIzquierdo = $request->get('rectoIzq') === 'on' ? true : false;
     $exageradoDerecho = $request->get('exageradoDer') === 'on' ? true : false;
     $exageradoIzquierdo = $request->get('exagerardoIzq') === 'on' ? true : false;
     $noDeterminadoDerecho = $request->get('noDeterminadoDer') === 'on' ? true : false;
     $noDeterminadoIzquierdo = $request->get('noDeterminadoIzq') === 'on' ? true : false;
     $caninaDerecho = $request->get('caninaDer') === 'on' ? true : false;
     $caninaIzquierdo = $request->get('caninaIzq') === 'on' ? true : false;
     $relacionMolarDerechoI = $request->get('relacionMolarDerI') === 'on' ? true : false;
     $relacionMolarIzquierdoI = $request->get('relacionMolarIzqI') === 'on' ? true : false;
     $relacionMolarDerechoII = $request->get('relacionMolarDerII') === 'on' ? true : false;
     $relacionMolarIzquierdoII = $request->get('relacionMolarIzqII') === 'on' ? true : false;
     $relacionMolarDerechoIII = $request->get('relacionMolarDerIII') === 'on' ? true : false;
     $relacionMolarIzquierdoIII = $request->get('relacionMolarIzqIII') === 'on' ? true : false;
     $relacionCaninaDerechoI = $request->get('relacionCaninaDerI') === 'on' ? true : false;
     $relacionCaninaIzquierdoI = $request->get('relacionCaninaIzqI') === 'on' ? true : false;
     $relacionCaninaDerechoII = $request->get('relacionCaninaDerII') === 'on' ? true : false;
     $relacionCaninaIzquierdoII = $request->get('relacionCaninaIzqII') === 'on' ? true : false;
     $relacionCaninaDerechoIII = $request->get('relacionCaninaDerIII') === 'on' ? true : false;
     $relacionCaninaIzquierdoIII = $request->get('relacionCaninaIzqIII') === 'on' ? true : false;
     $mordidaBordeBorde = $request->get('mordidaBordeBorde') === 'on' ? true : false;
     $medidaMordidaBordeABorde = $request->get('medidaMordida');
     $sobremordidaVertical = $request->get('sobremordidaVertical') === 'on' ? true : false;
     $medidaSobremordidaVertical = $request->get('medidaSobremordidaVertical');
     $sobremordidaHorizontal = $request->get('sobremordidaHorizontal') === 'on' ? true : false;
     $medidaSobremordidaHorizontal = $request->get('medidaSobremordidaHorizontal');
     $mordidaAbiertaAnterior = $request->get('mordidaAbiertaAnterior') === 'on' ? true : false;
     $medidaMordidaAbierta = $request->get('medidaMordidaAbierta');
     $mordidaCruzadaAnterior = $request->get('mordidaCruzadaAnterior') === 'on' ? true : false;
     $medidaMordidaCruzadaAnterior = $request->get('medidaMordidaCruzadaAnterior');
     $mordidaCruzadaPosterior = $request->get('mordidaCruzadaPosterior') === 'on' ? true : false;
     $medidaMordidaCruzadaPosterior = $request->get('medidaMordidaCruzadaPosterior');
     $lineaMediaDental = $request->get('lineaMediaDental') === 'on' ? true : false;
     $medidaLineaMediaDental = $request->get('medidaLineaMediaDental');
     $lineaMediaEsqueletica = $request->get('lineaMediaEsqueletica') === 'on' ? true : false;
     $medidaLineaMediaEsqueletica = $request->get('medidaLineaMediaEsqueletica');
     $alteracionTamanio = $request->get('alteracionTamanio') === 'on' ? true : false;
     $medidaAlteracionTamanio = $request->get('medidaAlteracionTamanio');
     $alteracionForma = $request->get('alteracionForma') === 'on' ? true : false;
     $medidaAlteracionForma = $request->get('medidaAlteracionForma');
     $alteracionNumero = $request->get('alteracionNumero') === 'on' ? true : false;
     $medidaAlteracionNumero = $request->get('medidaAlteracionNumero');
     $alteracionEstructura = $request->get('alteracionEstructura') === 'on' ? true : false;
     $medidaAlteracionEstructura = $request->get('medidaAlteracionEstructura');
     $alteracionTextura = $request->get('alteracionTextura') === 'on' ? true : false;
     $medidaAlteracionTextura = $request->get('medidaAlteracionTextura');
     $alteracionColor = $request->get('alteracionColor') === 'on' ? true : false;
     $medidaAlteracionColor = $request->get('medidaAlteracionColor');
     // setear a paciente johanna
     $paciente->setMorfologiaCraneofacial(new MorfologiaCraneofacial($craneofacial));
     $paciente->setMorfologiaFacial(new MorfologiaFacial($facial));
     $paciente->setConvexividadFacial(new ConvexividadFacial($convexividad));
     $paciente->setATM(new ATM($atm));
     $paciente->setLabios($labios);
     $paciente->setCarrillos($carrillos);
     $paciente->setFrenillos($frenillos);
     $paciente->setPaladar($paladar);
     $paciente->setLengua($lengua);
     $paciente->setPisoDeBoca($pisoBoca);
     $paciente->setParodonto($parodonto);
     $paciente->setUvula($uvula);
     $paciente->setOrofaringe($orofaringe);
     $paciente->setTipoArcoI($arcoI);
     $paciente->setEscalonMesialDerecho($mesialDerecho);
     $paciente->setEscalonMesialIzquierdo($mesialIzquierdo);
     $paciente->setEscalonDistalDerecho($distalDerecho);
     $paciente->setEscalonDistalIzquierdo($distalIzquierdo);
     $paciente->setEscalonRectoDerecho($rectoDerecho);
     $paciente->setEscalonRectoIzquierdo($rectoIzquierdo);
     $paciente->setMesialExageradoDerecho($exageradoDerecho);
     $paciente->setMesialExageradoIzquierdo($exageradoIzquierdo);
     $paciente->setNoDeterminadoDerecho($noDeterminadoDerecho);
     $paciente->setNoDeterminadoIzquierdo($noDeterminadoIzquierdo);
     $paciente->setRelacionCaninaDerecha($caninaDerecho);
     $paciente->setRelacionCaninaIzquierda($caninaIzquierdo);
     $paciente->setRelacionMolarDerechaI($relacionMolarDerechoI);
     $paciente->setRelacionMolarDerechaII($relacionMolarDerechoII);
     $paciente->setRelacionMolarDerechaIII($relacionMolarDerechoIII);
     $paciente->setRelacionMolarIzquierdaI($relacionMolarIzquierdoI);
     $paciente->setRelacionMolarIzquierdaII($relacionMolarIzquierdoII);
     $paciente->setRelacionMolarIzquierdaIII($relacionMolarIzquierdoIII);
     $paciente->setRelacionCaninaDerechaI($relacionCaninaDerechoI);
     $paciente->setRelacionCaninaDerechaII($relacionCaninaDerechoII);
     $paciente->setRelacionCaninaDerechaIII($relacionCaninaDerechoIII);
     $paciente->setRelacionCaninaIzquierdaI($relacionCaninaIzquierdoI);
     $paciente->setRelacionCaninaIzquierdaII($relacionCaninaIzquierdoII);
     $paciente->setRelacionCaninaIzquierdaIII($relacionCaninaIzquierdoIII);
     $paciente->setMordidaBordeBorde($mordidaBordeBorde);
     $paciente->setMedidaBordeBorde($medidaMordidaBordeABorde);
     $paciente->setSobremordidaVertical($sobremordidaVertical);
     $paciente->setMedidaSobremordidaVertical($medidaSobremordidaVertical);
     $paciente->setSobremordidaHorizontal($sobremordidaHorizontal);
     $paciente->setMedidaSobremordidaHorizontal($medidaSobremordidaHorizontal);
     $paciente->setMordidaAbiertaAnterior($mordidaAbiertaAnterior);
     $paciente->setMedidaMordidaAbiertaAnterior($medidaMordidaAbierta);
     $paciente->setMordidaCruzadaAnterior($mordidaCruzadaAnterior);
     $paciente->setMedidaMordidaCruzadaAnterior($medidaMordidaCruzadaAnterior);
     $paciente->setMordidaCruzadaPosterior($mordidaCruzadaPosterior);
     $paciente->setMedidaMordidaCruzadaPosterior($medidaMordidaCruzadaPosterior);
     $paciente->setLineaMediaDental($lineaMediaDental);
     $paciente->setMedidaLineaMediaDental($medidaLineaMediaDental);
     $paciente->setLineaMediaEsqueletica($lineaMediaEsqueletica);
     $paciente->setMedidaLineaMediaEsqueletica($medidaLineaMediaEsqueletica);
     $paciente->setAlteracionesTamanio($alteracionTamanio);
     $paciente->setMedidaAlteracionesTamanio($medidaAlteracionTamanio);
     $paciente->setAlteracionesForma($alteracionForma);
     $paciente->setMedidaAlteracionesForma($medidaAlteracionForma);
     $paciente->setAlteracionesNumero($alteracionNumero);
     $paciente->setMedidaAlteracionesNumero($medidaAlteracionNumero);
     $paciente->setAlteracionesEstructura($alteracionEstructura);
     $paciente->setMedidaAlteracionesEstructura($medidaAlteracionEstructura);
     $paciente->setAlteracionesTextura($alteracionTextura);
     $paciente->setMedidaAlteracionesTextura($medidaAlteracionTextura);
     $paciente->setAlteracionesColor($alteracionColor);
     $paciente->setMedidaAlteracionesColor($medidaAlteracionColor);
     // persistir datos de paciente
     return $this->pacientesRepositorio->completarDatos($paciente);
 }
 /**
  * @param \Siacme\Dominio\Pacientes\Paciente $paciente
  * @param                                    $pacientes
  * @return void
  */
 private function alimentar(Paciente $paciente, $pacientes)
 {
     $paciente->setEstadoCivil(new EstadoCivil($pacientes->idEstadoCivil, $pacientes->EstadoCivil));
     $paciente->setReligion(new Religion($pacientes->idReligion, $pacientes->Religion));
     $paciente->setEscolaridad(new Escolaridad($pacientes->idEscolaridad, $pacientes->Escolaridad));
     $paciente->setInstitucionMedica(new InstitucionMedica($pacientes->idInstitucionMedica, $pacientes->InstitucionMedica));
     $paciente->revisaFoto();
     $paciente->setNombre($pacientes->Nombre);
     $paciente->setPaterno($pacientes->Paterno);
     $paciente->setMaterno($pacientes->Materno);
     $paciente->setTelefono($pacientes->Telefono);
     $paciente->setCelular($pacientes->Celular);
     $paciente->setEmail($pacientes->Email);
     $paciente->setDireccion($pacientes->Direccion);
     $paciente->setCp($pacientes->CP);
     $paciente->setMunicipio($pacientes->Municipio);
     $paciente->setFechaNacimiento($pacientes->FechaNacimiento);
     $paciente->setEdadAnios($pacientes->Edad);
     $paciente->setLugarNacimiento($pacientes->LugarNacimiento);
     $paciente->setNombrePediatra($pacientes->NombrePediatra);
     $paciente->setNombreRecomienda($pacientes->NombreQuienRecomienda);
     $paciente->setSeHaAutomedicado($pacientes->SeHaAutomedicado);
     $paciente->setConQueSeHaAutomedicado($pacientes->ConQue);
     $paciente->setEsAlergico($pacientes->EsAlergico);
     $paciente->setAQueMedicamentoEsAlergico($pacientes->ACual);
     $paciente->setViveMadre($pacientes->EstaVivaMadre);
     $paciente->setCausaMuerteMadre($pacientes->CausaMuerteMadre);
     $paciente->setEnfermedadesMadre($pacientes->EnfermedadesPadeceMadre);
     $paciente->setVivePadre($pacientes->EstaVivoPadre);
     $paciente->setCausaMuertePadre($pacientes->CausaMuertePadre);
     $paciente->setEnfermedadesPadre($pacientes->EnfermedadesPadecePadre);
     $paciente->setNumHermanos($pacientes->NumHermanos);
     $paciente->setNumHermanosVivos($pacientes->NumHermanosVivos);
     $paciente->setCausaMuerteHermanos($pacientes->CausaMuerteHermanos);
     $paciente->setEnfermedadesHermanos($pacientes->EnfermedadesPadecenHermanos);
     $paciente->setEnfermedadesAbuelosPaternos($pacientes->EnfermedadesAbuelosPaternos);
     $paciente->setEnfermedadesAbuelosMaternos($pacientes->EnfermedadesAbuelosMaternos);
     $paciente->setSeLeHacenMoretones($pacientes->SeLeHacenMoretones);
     $paciente->setHaRequeridoTransfusion($pacientes->HaRequeridoTransfusion);
     $paciente->setHaTenidoFracturas($pacientes->HaTenidoFracturas);
     $paciente->setEspecifiqueFracturas($pacientes->EspecifiqueFracturas);
     $paciente->setHaSidoIntervenido($pacientes->HaSidoIntervenido);
     $paciente->setEspecifiqueIntervencion($pacientes->EspecifiqueIntervencion);
     $paciente->setHaSidoHospitalizado($pacientes->HaSidoHospitalizado);
     $paciente->setEspecifiqueHospitalizacion($pacientes->EspecifiqueHospitalizacion);
     $paciente->setExFumador($pacientes->EsExFumador);
     $paciente->setExAdicto($pacientes->EsExAdicto);
     $paciente->setExAlcoholico($pacientes->EsExAlcoholico);
     $paciente->setEstaBajoTratamiento($pacientes->EstaBajoTratamiento);
     $paciente->setEspecifiqueTratamiento($pacientes->EspecifiqueTratamiento);
     $paciente->setNombreRepresentante($pacientes->NombreRepresentante);
     $paciente->setNombreTutor($pacientes->NombreTutor);
     $paciente->setOcupacionTutor($pacientes->OcupacionTutor);
     $paciente->setMotivoConsulta($pacientes->MotivoConsulta);
     $paciente->setHistoriaEnfermedad($pacientes->HistoriaEnfermedad);
     $paciente->setPadecimientoActual($pacientes->PadecimientoActual);
 }
 /**
  * @param \Siacme\Dominio\Pacientes\Paciente $paciente
  * @param \Siacme\Dominio\Usuarios\Usuario   $medico
  * @return array
  */
 public function obtenerExpedientePorPacienteMedico(Paciente $paciente, Usuario $medico)
 {
     try {
         $expedientes = DB::table('expediente')->where('idPaciente', $paciente->getId())->where('UserMedico', $medico->getUsername())->first();
         $totalExpedientes = count($expedientes);
         if ($totalExpedientes > 0) {
             $expediente = new Expediente($expedientes->idExpediente);
             $expediente->setPaciente($paciente);
             $expediente->setMedico($medico);
             $expediente->setPrimeraVez($expedientes->PrimeraVez);
             $expediente->setFirma($expedientes->Firma);
             // buscar las interconsultas del expediente
             $interconsultas = DB::table('interconsulta')->join('medico_referencia', 'medico_referencia.idMedicoReferencia', '=', 'interconsulta.idMedicoReferencia')->join('especialidad', 'especialidad.idEspecialidad', '=', 'medico_referencia.idEspecialidad')->where('interconsulta.idExpediente', $expediente->getId())->orderBy('interconsulta.idInterconsulta', 'desc')->limit(50)->get();
             if (count($interconsultas) > 0) {
                 foreach ($interconsultas as $interconsultas) {
                     $interconsulta = new Interconsulta($interconsultas->idInterconsulta, new MedicoReferencia($interconsultas->idMedicoReferencia, $interconsultas->Direccion, new Especialidad($interconsultas->idEspecialidad, $interconsultas->Especialidad)), $interconsultas->Referencia);
                     $interconsulta->getMedico()->setNombre($interconsultas->Nombre);
                     $interconsulta->getMedico()->setPaterno($interconsultas->Paterno);
                     $interconsulta->getMedico()->setMaterno($interconsultas->Materno);
                     $expediente->agregarInterconsulta($interconsulta);
                 }
             }
             //===============================================================================
             // buscar las consultas del expediente
             $consultas = DB::table('consulta')->join('comportamiento_frankl', 'consulta.idComportamientoFrankl', '=', 'comportamiento_frankl.idComportamientoFrankl')->leftJoin('receta', 'receta.idReceta', '=', 'consulta.idReceta')->where('consulta.idExpediente', $expediente->getId())->orderBy('consulta.idConsulta', 'desc')->limit(50)->get();
             if (count($consultas) > 0) {
                 foreach ($consultas as $consultas) {
                     $consulta = new Consulta($consultas->idConsulta, $consultas->PadecimientoActual, $consultas->Interrogatorio, new ExploracionFisica($consultas->Peso, $consultas->Talla, $consultas->Pulso, $consultas->Temperatura, $consultas->TensionArterial), $consultas->Nota, new ComportamientoFrankl($consultas->idComportamientoFrankl), $consultas->Costo, $consultas->Fecha);
                     if (!is_null($consultas->idReceta)) {
                         $consulta->setReceta(new Receta($consultas->idReceta, $consultas->Receta));
                     }
                     $expediente->agregarConsulta($consulta);
                 }
             }
             //===============================================================================
             // buscar los planes de tratamiento
             $planes = DB::table('plan_tratamiento')->where('idExpediente', $expediente->getId())->orderBy('idPlanTratamiento', 'desc')->limit(50)->get();
             if (count($planes) > 0) {
                 // buscar la lista de dientes
                 $dientes = DB::table('diente')->orderBy('Numero')->get();
                 foreach ($planes as $planes) {
                     $plan = new PlanTratamiento(!$planes->Activo);
                     $listaDientes = new Collection();
                     $plan->setId($planes->idPlanTratamiento);
                     foreach ($dientes as $dientes) {
                         $dienteActual = new Diente($dientes->Numero);
                         // padecimientos dentales
                         $dientesPadecimientos = DB::table('diente_diente_padecimiento')->join('diente_padecimiento', 'diente_padecimiento.idDientePadecimiento', '=', 'diente_diente_padecimiento.idDientePadecimiento')->where('diente_diente_padecimiento.idPlanTratamiento', $planes->idPlanTratamiento)->where('diente_diente_padecimiento.Numero', $dientes->Numero)->get();
                         foreach ($dientesPadecimientos as $dientesPadecimientos) {
                             $padecimiento = new DientePadecimiento($dientesPadecimientos->idDientePadecimiento, $dientesPadecimientos->DientePadecimiento, $dientesPadecimientos->RutaImagen);
                             $dienteActual->agregarPadecimiento($padecimiento);
                         }
                         //===============================================================================
                         // tratamientos dentales
                         $dientesTratamientos = DB::table('diente_diente_tratamiento')->leftJoin('diente_tratamiento', 'diente_tratamiento.idDienteTratamiento', '=', 'diente_diente_tratamiento.idDienteTratamiento')->where('diente_diente_tratamiento.idPlanTratamiento', $planes->idPlanTratamiento)->where('diente_diente_tratamiento.Numero', $dientes->Numero)->get();
                         if (count($dientesTratamientos) > 0) {
                             $index = 1;
                             foreach ($dientesTratamientos as $dientesTratamientos) {
                                 $tratamiento = new DientePlan(new DienteTratamiento((int) $dientesTratamientos->idDienteTratamiento, $dientesTratamientos->DienteTratamiento, $dientesTratamientos->Costo), $dientesTratamientos->Atendido === 1 ? true : false);
                                 $dienteActual->agregarTratamiento((string) $index, $tratamiento);
                                 $index++;
                             }
                         } else {
                         }
                         //if($dientes->Numero === 18) { dd($dienteActual); }
                         $listaDientes->push($dienteActual);
                     }
                     // otros tratamientos
                     $otrosTratamientos = DB::table('plan_tratamiento_otros')->join('plan_otro_tratamiento', 'plan_otro_tratamiento.idOtroTratamiento', '=', 'plan_tratamiento_otros.idOtroTratamiento')->where('plan_tratamiento_otros.idPlanTratamiento', $plan->getId())->get();
                     if (count($otrosTratamientos) > 0) {
                         foreach ($otrosTratamientos as $otrosTratamientos) {
                             $otroTratamiento = new OtroTratamiento($otrosTratamientos->idOtroTratamiento, $otrosTratamientos->OtroTratamiento, $otrosTratamientos->Costo);
                             $plan->agregarOtroTratamiento($otroTratamiento->getId(), $otroTratamiento);
                         }
                     }
                     $plan->setCosto($planes->Costo);
                     $plan->setListaDientes($listaDientes);
                     $expediente->agregarPlanTratamiento($plan);
                 }
             }
             // tratamientos ortopedia ortodoncia
             $otrosTratamientos = DB::table('tratamiento_ortopedia_ortodoncia')->where('idExpediente', $expediente->getId())->get();
             if (count($otrosTratamientos) > 0) {
                 foreach ($otrosTratamientos as $otroTratamiento) {
                     $tratamientoOdontologia = new TratamientoOdontologia($otroTratamiento->id, $otroTratamiento->Dx, $otroTratamiento->Costo, $otroTratamiento->Duracion, $otroTratamiento->Mensualidades);
                     // obtener el detalle de tratamientos
                     $otrosTratamientosDetalle = DB::table('tratamiento_ortopedia_ortodoncia_detalle')->where('id', $tratamientoOdontologia->getId())->get();
                     if (count($otrosTratamientosDetalle) > 0) {
                         foreach ($otrosTratamientosDetalle as $otroTratamientoDetalle) {
                             $tratamientoOdontologiaTipo = new TratamientoOdontologiaTipo($otroTratamientoDetalle->Tipo);
                             $tratamientoOdontologia->getListaTratamientos()->push($tratamientoOdontologiaTipo);
                         }
                     }
                     $expediente->agregarTratamientoOdontologia($tratamientoOdontologia);
                 }
             }
             return $expediente;
         }
         return null;
     } catch (\PDOException $e) {
         return null;
     }
 }
 /**
  * actualizar datos faltantes
  * @param Paciente $paciente
  * @return bool
  */
 public function completarDatos(Paciente $paciente)
 {
     try {
         $operacion = DB::table('paciente_johanna')->where('idPaciente', $paciente->getId())->update(['Labios' => $paciente->getLabios(), 'Carrillos' => $paciente->getCarrillos(), 'Frenillos' => $paciente->getFrenillos(), 'Paladar' => $paciente->getPaladar(), 'Lengua' => $paciente->getLengua(), 'PisoDeBoca' => $paciente->getPisoDeBoca(), 'Parodonto' => $paciente->getParodonto(), 'Uvula' => $paciente->getUvula(), 'Amigdalas' => $paciente->getAmigdalas(), 'MordidaBordeBorde' => $paciente->getMordidaBordeBorde() ? 1 : 0, 'MedidaMordidaBordeBorde' => $paciente->getMedidaBordeBorde(), 'SobremordidaVertical' => $paciente->getSobremordidaVertical() ? 1 : 0, 'MedidaSobremordidaVertical' => $paciente->getMedidaSobremordidaVertical(), 'SobremordidaHorizontal' => $paciente->getSobremordidaHorizontal() ? 1 : 0, 'MedidaSobremordidaHorizontal' => $paciente->getMedidaSobremordidaHorizontal(), 'MordidaAbiertaAnterior' => $paciente->getMordidaAbiertaAnterior() ? 1 : 0, 'MedidaMordidaAbiertaAnterior' => $paciente->getMedidaMordidaAbiertaAnterior(), 'MordidaCruzadaAnterior' => $paciente->getMordidaCruzadaAnterior() ? 1 : 0, 'MedidaMordidaCruzadaAnterior' => $paciente->getMedidaMordidaCruzadaAnterior(), 'MordidaCruzadaPosterior' => $paciente->getMordidaCruzadaPosterior() ? 1 : 0, 'MedidaMordidaCruzadaPosterior' => $paciente->getMedidaMordidaCruzadaPosterior(), 'LineaMediaDental' => $paciente->getLineaMediaDental() ? 1 : 0, 'MedidaLineaMediaDental' => $paciente->getMedidaLineaMediaDental(), 'LineaMediaEsqueletica' => $paciente->getLineaMediaEsqueletica() ? 1 : 0, 'MedidaLineaMediaEsqueletica' => $paciente->getMedidaLineaMediaEsqueletica(), 'AlteracionesTamanio' => $paciente->getAlteracionesTamanio() ? 1 : 0, 'MedidaAlteracionesTamanio' => $paciente->getMedidaAlteracionesTamanio(), 'AlteracionesForma' => $paciente->getAlteracionesForma() ? 1 : 0, 'MedidaAlteracionesForma' => $paciente->getMedidaAlteracionesForma(), 'AlteracionesNumero' => $paciente->getAlteracionesNumero() ? 1 : 0, 'MedidaAlteracionesNumero' => $paciente->getMedidaAlteracionesNumero(), 'AlteracionesEstructura' => $paciente->getAlteracionesEstructura() ? 1 : 0, 'MedidaAlteracionesEstructura' => $paciente->getMedidaAlteracionesEstructura(), 'AlteracionesTextura' => $paciente->getAlteracionesTextura() ? 1 : 0, 'MedidaAlteracionesTextura' => $paciente->getMedidaAlteracionesTextura(), 'AlteracionesColor' => $paciente->getAlteracionesColor() ? 1 : 0, 'MedidaAlteracionesColor' => $paciente->getMedidaAlteracionesColor(), 'TipoArcoI' => $paciente->getTipoArcoI() ? 1 : 0, 'EscalonMesialDerecho' => $paciente->getEscalonMesialDerecho() ? 1 : 0, 'EscalonMesialIzquierdo' => $paciente->getEscalonMesialIzquierdo() ? 1 : 0, 'EscalonDistalDerecho' => $paciente->getEscalonDistalDerecho() ? 1 : 0, 'EscalonDistalIzquierdo' => $paciente->getEscalonDistalIzquierdo() ? 1 : 0, 'EscalonRectoDerecho' => $paciente->getEscalonRectoDerecho() ? 1 : 0, 'EscalonRectoIzquierdo' => $paciente->getEscalonRectoIzquierdo() ? 1 : 0, 'MesialExageradoDerecho' => $paciente->getMesialExageradoDerecho() ? 1 : 0, 'MesialExageradoIzquierdo' => $paciente->getMesialExageradoIzquierdo() ? 1 : 0, 'NoDeterminadoDerecho' => $paciente->getNoDeterminadoDerecho() ? 1 : 0, 'NoDeterminadoIzquierdo' => $paciente->getNoDeterminadoIzquierdo() ? 1 : 0, 'RelacionMolarDerechaI' => $paciente->getRelacionMolarDerechaI() ? 1 : 0, 'RelacionMolarDerechaII' => $paciente->getRelacionMolarDerechaII() ? 1 : 0, 'RelacionMolarDerechaIII' => $paciente->getRelacionMolarDerechaIII() ? 1 : 0, 'RelacionMolarIzquierdaI' => $paciente->getRelacionMolarIzquierdaI() ? 1 : 0, 'RelacionMolarIzquierdaII' => $paciente->getRelacionMolarIzquierdaII() ? 1 : 0, 'RelacionMolarIzquierdaIII' => $paciente->getRelacionMolarIzquierdaIII() ? 1 : 0, 'RelacionCaninaDerechaI' => $paciente->getRelacionCaninaDerechaI() ? 1 : 0, 'RelacionCaninaDerechaII' => $paciente->getRelacionCaninaDerechaII() ? 1 : 0, 'RelacionCaninaDerechaIII' => $paciente->getRelacionCaninaDerechaIII() ? 1 : 0, 'RelacionCaninaIzquierdaI' => $paciente->getRelacionCaninaIzquierdaI() ? 1 : 0, 'RelacionCaninaIzquierdaII' => $paciente->getRelacionCaninaIzquierdaII() ? 1 : 0, 'RelacionCaninaIzquierdaIII' => $paciente->getRelacionCaninaIzquierdaIII() ? 1 : 0, 'FechaActualizacion' => date('Y-m-d H:m:i')]);
         return true;
     } catch (\PDOException $e) {
         echo $e->getMessage();
         return false;
     }
 }
 /**
  * @param \Siacme\Dominio\Pacientes\Paciente $paciente
  * @param \Siacme\Dominio\Usuarios\Usuario   $medico
  * @return Cita
  */
 public function obtenerCitaPorPacienteMedico(Paciente $paciente, Usuario $medico)
 {
     try {
         $citas = DB::table('cita')->join('cita_estatus', 'cita.idCitaEstatus', '=', 'cita_estatus.idCitaEstatus')->where('cita.idPaciente', $paciente->getId())->where('cita.UserDoctor', $medico->getUsername())->first();
         $totalCitas = count($citas);
         if ($totalCitas > 0) {
             $cita = new Cita($citas->idCita);
             //cita estatus
             $citaEstatus = new CitaEstatus();
             $citaEstatus->setId($citas->idCitaEstatus);
             $citaEstatus->setEstatus($citas->CitaEstatus);
             $cita->setFecha($citas->FechaCita);
             $cita->setHora($citas->HoraCita);
             $cita->setMedico($medico);
             $cita->setEstatus($citaEstatus);
             $cita->setPaciente($paciente);
             return $cita;
         }
         return null;
     } catch (Exception $e) {
         //mail del error para debug
         mail("*****@*****.**", "Error en el sistema SIACM", "Error: " . $e->getMessage());
         return null;
     }
 }