<?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á para el despliegue dinámico de los Formatos 2007 >> Hoja 8.
* Promoció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á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ón o Alacrá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ón o Alacrá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
?>