Location: PHPKode > projects > Castor (medical information manager) > castorV2030-3/castor-ss/classHoja82007.php
<?php
/*
----------------------------------------------------------------------------------------
Castor is a system to manage medical information.

Copyright (C) 2002, 2007 INTTELMEX hide@address.com, hide@address.com, hide@address.com

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-----------------------------------------------------------------------------------------

Castor es un sistema para el manejo de información médica
Copyright (C) 2002, 2007 INTTELMEX hide@address.com, hide@address.com,hide@address.com

Este programa es Software Libre; usted puede redistribuirlo
y/o modificarlo bajo los términos de la "GNU General Public
License" como lo publica la "FSF Free Software Foundation" version 2,
o de cualquier versión posterior.

Este programa es distribuido con la esperanza de que le será
útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
particular. Vea la "GNU General Public License" para más
detalles.

Usted debe haber recibido una copia de la "GNU General Public
License" junto con este programa, si no, escriba a la "FSF
Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
Boston, MA  02111-1307, USA.
----------------------------------------------------------------------------------------------
*/


/**  Servir&aacute; para el despliegue din&aacute;mico de los Formatos 2007 >> Hoja 8.
 *   Promoci&oacute;n a la salud
 *
 *   @author Torres Hernandez Denisse Alejandra <em>hide@address.com</em>
 *
 */

class Hoja82007 extends Formatos2007{
  
  
  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta</em>.
   *  @return arreglo con las consultas que registraron dx de Paludismo.
   */
  function paludismo(){
	if($this->tipoUsuario==1)
		$sql_pal=new Tquery("SELECT rel_motivo_consulta.idat FROM consulta,rel_motivo_consulta
						where consulta.fecha>='$this->fecha1' and
						consulta.fecha<='$this->fecha2' and
						consulta.idunidad='$this->idunidad' and
						rel_motivo_consulta.idconsulta=consulta.idconsulta and
						rel_motivo_consulta.tipo_padecimiento='t' and
						rel_motivo_consulta.clave_enfermedad>='B5' and
						rel_motivo_consulta.clave_enfermedad<='B54X';");
	else if($this->tipoUsuario==2 && $this->tipo==2)
		$sql_pal=new Tquery("SELECT rel_motivo_consulta.idat FROM consulta,rel_motivo_consulta,unidades
						where consulta.fecha>='$this->fecha1' and
						consulta.fecha<='$this->fecha2' and
						unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
						rel_motivo_consulta.idconsulta=consulta.idconsulta and
						rel_motivo_consulta.tipo_padecimiento='t' and
						rel_motivo_consulta.clave_enfermedad>='B5' and
						rel_motivo_consulta.clave_enfermedad<='B54X';");
	else if($this->tipoUsuario==2 && $this->tipo==3)
		$sql_pal=new Tquery("SELECT rel_motivo_consulta.idat FROM consulta,rel_motivo_consulta,unidades
						where consulta.fecha>='$this->fecha1' and
						consulta.fecha<='$this->fecha2' and
						unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
						unidades.jurisdiccion='$this->jurisdiccion' and
						rel_motivo_consulta.idconsulta=consulta.idconsulta and
						rel_motivo_consulta.tipo_padecimiento='t' and
						rel_motivo_consulta.clave_enfermedad>='B5' and
						rel_motivo_consulta.clave_enfermedad<='B54X';");
	return $ejecuta_p=$sql_pal->consulta();
  }

  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta</em>.
   *  @return arreglo con las consultas que registraron dx de Dengue.
   */
function dengue(){
	if($this->tipoUsuario==1)
	$sqlDengue =new Tquery("SELECT	count(*)
                     FROM    consulta,rel_motivo_consulta
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					consulta.idunidad='$this->idunidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					rel_motivo_consulta.clave_enfermedad>='A900' and
					rel_motivo_consulta.clave_enfermedad<='A91X';");
	else if($this->tipoUsuario==2 && $this->tipo==2)
	$sqlDengue=new Tquery("SELECT	count(*)
                     FROM    consulta,rel_motivo_consulta,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					rel_motivo_consulta.clave_enfermedad>='A900' and
					rel_motivo_consulta.clave_enfermedad<='A91X';");
	else if($this->tipoUsuario==2 && $this->tipo==3)
	$sqlDengue=new Tquery("SELECT	count(*)
                     FROM    consulta,rel_motivo_consulta,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					unidades.jurisdiccion='$this->jurisdiccion' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					rel_motivo_consulta.clave_enfermedad>='A900' and
					rel_motivo_consulta.clave_enfermedad<='A91X';");
	return $dengue_p=$sqlDengue->consulta();
}


  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta</em>.
   *  @return arreglo con las consultas que registraron dx de Piquete de Alacr&aacute;n.
   */
function alacran()
{
	if($this->tipoUsuario==1)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					consulta.idunidad='$this->idunidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632');");
	else if($this->tipoUsuario==2 && $this->tipo==2)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632');");
	else if($this->tipoUsuario==2 && $this->tipo==3)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					unidades.jurisdiccion='$this->jurisdiccion'
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632');");
	return $alacran=$sql_alacran->consulta();
}


  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta</em>.
   *  @return arreglo con las consultas que registraron dx relacionados con Rabia.
   */
function rabia()
{
	if($this->tipoUsuario==1)
		$sqlRabia=new Tquery("SELECT	* FROM consulta,rel_motivo_consulta
			where consulta.fecha>='$this->fecha1' and consulta.fecha<='$this->fecha2' and
			consulta.idunidad='$this->idunidad' and rel_motivo_consulta.idconsulta=consulta.idconsulta and
			rel_motivo_consulta.tipo_padecimiento='t' and rel_motivo_consulta.clave_enfermedad>='W53' and
			rel_motivo_consulta.clave_enfermedad<='W55X';");
	 else if (($this->tipoUsuario==2)&&($this->tipo==2)) // reporte estatal para superusuario
		$sqlRabia=new Tquery("SELECT	count(*)FROM    consulta,rel_motivo_consulta,unidades
			where consulta.fecha>='$this->fecha1' and consulta.fecha<='$this->fecha2' and
			consulta.idunidad='$this->idunidad' and rel_motivo_consulta.idconsulta=consulta.idconsulta and
			rel_motivo_consulta.tipo_padecimiento='t' and rel_motivo_consulta.clave_enfermedad>='W53' and
			rel_motivo_consulta.clave_enfermedad<='W55X' and unidades.clave_unidad=consulta.idunidad and
			unidades.estado='$this->entidad';");
	 else if (($this->tipoUsuario==2)&&($this->tipo==3)) // reporte jurisdiccional para superusuario
		$sqlRabia=new Tquery("SELECT	count(*) FROM consulta,rel_motivo_consulta,unidades	where
			consulta.fecha>='$this->fecha1' and	consulta.fecha<='$this->fecha2' and
			rel_motivo_consulta.idconsulta=consulta.idconsulta and
			rel_motivo_consulta.tipo_padecimiento='t' and rel_motivo_consulta.clave_enfermedad>='W53' and
			rel_motivo_consulta.clave_enfermedad<='W55X' and unidades.clave_unidad=consulta.idunidad and
			unidades.estado='$this->entidad' and	unidades.jurisdiccion='$this->jurisdiccion';");
	return	$ejecuta=$sqlRabia->consulta();
}


  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta</em>.
   *  @return arreglo con las consultas que registraron dx relacionados con Bulimia.
   */
function bulimia($sexo){
if($this->tipoUsuario==1)
	$sql =new Tquery ("SELECT consulta.idconsulta FROM rel_motivo_consulta,pacientes,consulta WHERE 	
	rel_motivo_consulta.idconsulta=consulta.idconsulta and pacientes.idpaciente=consulta.idpaciente and 
	pacientes.idsexo=$sexo and consulta.idunidad='$this->idunidad' and 
	(rel_motivo_consulta.clave_enfermedad='F502' or 
	rel_motivo_consulta.clave_enfermedad='F503') and 
	extract(years from age('$this->fecha2',pacientes.fecha)) BETWEEN 10 and 19; ");
else if($this->tipoUsuario==2 && $this->tipo==2)
	$sql =new Tquery ("SELECT consulta.idconsulta FROM rel_motivo_consulta,pacientes,consulta,unidades WHERE 	
	rel_motivo_consulta.idconsulta=consulta.idconsulta and pacientes.idpaciente=consulta.idpaciente and 
	pacientes.idsexo=$sexo and unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad'
	and (rel_motivo_consulta.clave_enfermedad='F502' or rel_motivo_consulta.clave_enfermedad='F503') and 
	extract(years from age('$this->fecha2',pacientes.fecha)) BETWEEN 10 and 19; ");
else if($this->tipoUsuario==2 && $this->tipo==3)
	$sql =new Tquery ("SELECT consulta.idconsulta FROM rel_motivo_consulta,pacientes,consulta,unidades WHERE 	
	rel_motivo_consulta.idconsulta=consulta.idconsulta and pacientes.idpaciente=consulta.idpaciente and 
	pacientes.idsexo=$sexo and unidades.clave_unidad=consulta.idunidad and 
	unidades.estado='$this->entidad' and unidades.jurisdiccion='$this->jurisdiccion'
	and (rel_motivo_consulta.clave_enfermedad='F502' or rel_motivo_consulta.clave_enfermedad='F503') and 
	extract(years from age('$this->fecha2',pacientes.fecha)) BETWEEN 10 and 19; ");
	$dato=$sql->consulta();
	return $total=pg_numrows($dato);
}

  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta</em>.
   *  @return arreglo con las consultas que registraron dx relacionados con Anorexia.
   */
function anorexia($sexo){
if($this->tipoUsuario==1)
	$sql =new Tquery ("SELECT consulta.idconsulta FROM rel_motivo_consulta,pacientes,consulta WHERE 
	rel_motivo_consulta.idconsulta=consulta.idconsulta and pacientes.idpaciente=consulta.idpaciente and 
	pacientes.idsexo=$sexo and consulta.idunidad='$this->idunidad' and
	(rel_motivo_consulta.clave_enfermedad='F500' or rel_motivo_consulta.clave_enfermedad='F501' or 
	rel_motivo_consulta.clave_enfermedad='R630') and extract
	(years from age('$this->fecha2',pacientes.fecha)) BETWEEN 10 and 19; ");
else if($this->tipoUsuario==2 && $this->tipo==2)
	$sql =new Tquery ("SELECT consulta.idconsulta FROM rel_motivo_consulta,pacientes,consulta,unidades WHERE 
	rel_motivo_consulta.idconsulta=consulta.idconsulta and pacientes.idpaciente=consulta.idpaciente and 
	pacientes.idsexo=$sexo and unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
	(rel_motivo_consulta.clave_enfermedad='F500' or rel_motivo_consulta.clave_enfermedad='F501' or 
	rel_motivo_consulta.clave_enfermedad='R630') and extract
	(years from age('$this->fecha2',pacientes.fecha)) BETWEEN 10 and 19; ");
else if($this->tipoUsuario==2 && $this->tipo==3)
	$sql =new Tquery ("SELECT consulta.idconsulta FROM rel_motivo_consulta,pacientes,consulta,unidades WHERE 
	rel_motivo_consulta.idconsulta=consulta.idconsulta and pacientes.idpaciente=consulta.idpaciente and 
	pacientes.idsexo=$sexo and unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' 
	and	unidades.jurisdiccion='$this->jurisdiccion' and	(rel_motivo_consulta.clave_enfermedad='F500' or 
	rel_motivo_consulta.clave_enfermedad='F501' or rel_motivo_consulta.clave_enfermedad='R630') and extract
	(years from age('$this->fecha2',pacientes.fecha)) 
	BETWEEN 10 and 19; ");
	$dato=$sql->consulta();
	return $total=pg_numrows($dato);
}

  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta,lesiones_registro</em>.
   *  @return arreglo con las consultas que registraron dx de Piquete de Escorpi&oacute;n o Alacr&aacute;n y que haya ocurrido dentro del Hogar.
   */
function vectores_hogar()
{
	if($this->tipoUsuario==1)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,lesiones_registro
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					consulta.idunidad='$this->idunidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632') and
					rel_motivo_consulta.idconsulta=lesiones_registro.idconsulta and
					lesiones_registro.lugar_ocurrencia='A';");
	else if($this->tipoUsuario==2 && $this->tipo==2)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,lesiones_registro,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632') and
					rel_motivo_consulta.idconsulta=lesiones_registro.idconsulta and
					lesiones_registro.lugar_ocurrencia='A';");
	else if($this->tipoUsuario==2 && $this->tipo==3)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,lesiones_registro,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					unidades.jurisdiccion='$this->jurisdiccion' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632') and
					rel_motivo_consulta.idconsulta=lesiones_registro.idconsulta and
					lesiones_registro.lugar_ocurrencia='A';");
 	 return $alacran=$sql_alacran->consulta();
		
}


  /** PARA HOJA 8>> VECTORES y PROMOCION A LA SALUD
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>consulta,rel_motivo_consulta,lesiones_registro</em>.
   *  @return arreglo con las consultas que registraron dx de Piquete de Escorpi&oacute;n o Alacr&aacute;n que haya ocurrido en otro lugar dif del hogar.
   */
function vectores_otros()
{
	if($this->tipoUsuario==1)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,lesiones_registro
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					consulta.idunidad='$this->idunidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632') and
					rel_motivo_consulta.idconsulta=lesiones_registro.idconsulta and
					lesiones_registro.lugar_ocurrencia!='A';");
	else if($this->tipoUsuario==2 && $this->tipo==2)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,lesiones_registro,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632') and
					rel_motivo_consulta.idconsulta=lesiones_registro.idconsulta and
					lesiones_registro.lugar_ocurrencia!='A';");
	else if($this->tipoUsuario==2 && $this->tipo==3)
	$sql_alacran=new Tquery("SELECT	count(*)
                    FROM consulta,rel_motivo_consulta,lesiones_registro,unidades
					where consulta.fecha>='$this->fecha1' and
					consulta.fecha<='$this->fecha2' and
					unidades.clave_unidad=consulta.idunidad and unidades.estado='$this->entidad' and
					unidades.jurisdiccion='$this->jurisdiccion' and
					rel_motivo_consulta.idconsulta=consulta.idconsulta and
					rel_motivo_consulta.tipo_padecimiento='t' and
					(rel_motivo_consulta.clave_enfermedad='X22X' or
					rel_motivo_consulta.clave_enfermedad='T632') and
					rel_motivo_consulta.idconsulta=lesiones_registro.idconsulta and
					lesiones_registro.lugar_ocurrencia!='A';");
		return $alacran=$sql_alacran->consulta();
		
}

  /** PARA HOJA 8>> identificar a población migrante
   * 
   *  <b>Consulta a las tablas de BD:</b> <em>a partir del código postal se identifica si el paciente es o no migrante</em>.
   *  @return Pacientes que residen fuera del país
   *  @param $sexo género del paciente
   */
function  consultasMigrante( $sexo ) {
  if( $sexo==null ) 
    $cad_sexo = "";
  else
    $cad_sexo = " and pacientes.idsexo='$sexo' ";

  $query = new Tquery( "select count( idconsulta ) from  pacientes, consulta ".$this->unidad[0].
		       " where pacientes.cp='99999' and 
                               consulta.idpaciente = pacientes.idpaciente and
                               consulta.fecha>='$this->fecha1' and
			       consulta.fecha<='$this->fecha2' and 
                               escritura=3 ".$this->unidad[1]." ".$cad_sexo." ;" );
  $cons = $query->consulta( );
  $resultado = @pg_fetch_array( $cons, 0 );
  return $resultado[0]+0;
}


}  // end Class


?>
Return current item: Castor (medical information manager)