<?PHP
/*
 * DIREITOS AUTORAIS RESERVADOS (C) 2007 UFRJ
 * 
 * ESTE PROGRAMA É SOFTWARE LIVRE; VOCÊ PODE REDISTRIBUÍ-LO E/OU MODIFICÁ-LO SOB OS
 * TERMOS DA LICENÇA PÚBLICA GERAL GNU CONFORME PUBLICADA PELA FREE SOFTWARE FOUNDATION;
 * TANTO A VERSÃO 2 DA LICENÇA, COMO (A SEU CRITÉRIO) QUALQUER VERSÃO POSTERIOR.

 * ESTE PROGRAMA É DISTRIBUÍDO NA EXPECTATIVA DE QUE SEJA ÚTIL, PORÉM, SEM NENHUMA GARANTIA;
 * NEM MESMO A GARANTIA IMPLÍCITA DE COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
 * CONSULTE A LICENÇA PÚBLICA GERAL DO GNU PARA MAIS DETALHES.
 * 
 * VOCÊ DEVE TER RECEBIDO UMA CÓPIA DA LICENÇA PÚBLICA GERAL DO GNU JUNTO COM ESTE PROGRAMA; 
 * SE NÃO, ACESSE <<HTTP://WWW.GNU.ORG/LICENSES/LICENSES.PT-BR.HTML>>
 */

<?php

/*

Setor: Sa�de

Indicador: 
	SA6: Taxa de Cobertura do Programa de Controle da Hipertens�o Arterial

Defini��o: 
	Percentual de popula��o hipertensa que � atendida no Sistema Municipal de 
	Sa�de

C�lculo: 
	N�mero de usu�rios residentes em Nova Igua�u entre 30 e 69 anos com 
	registro de inscri��o no Programa de Controle da Hipertens�o Arterial /20% 
	da popula��o residente estimada entre 30-69 anos * 100

Unidade de medida: 
	%

Periodicidade de c�lculo: 
	Anual

Granularidade: 
	Para o munic�pio

Estilo: 
	Maior, melhor

Fonte: 
	Sistema de Coleta de Dados do Usu�rio da Rede de Sa�de - form online -e 
	IBGE (Censo e Contagem)

Observa��es: 
	Meta = 100%
*/

/* 

Parametros de entrada:
	indicador (SA6)
	granularidade (municipio, sexo, faixaetaria)
	periodo (ano: numerico)

Formato do retorno
	CCC;III;G1;PPP;VVV
	CCC = c�digo de retorno da chamada ao Calculador
	III = c�digo do indicador retornado, em caixa baixa
	G1 = nome do gr�o retornado (string, pode estar acentuado 
		 e com letras ma�usculas e min�sculas)
	PPP = per�odo de refer�ncia do valor retornado
VVV = valor retornado
	
C�digos de Retorno:
	0 - Sucesso
	1 - N�o tenho valor
	2 - N�o sou eu
	3 - Um ou mais Par�metros obrigat�rios faltando
	4 - Um ou mais Par�metros fora do formato esperado
	5 - Granularidade invalida
*/

$indicador = $_GET["indicador"];
$granularidade = $_GET["granularidade"];
$periodo = $_GET["periodo"];

// obrigatoriedade dos par�metros
if(empty($indicador) || empty($granularidade) || empty($periodo))
{
    echo "3";
    exit;
}

// indicador correto
if(strtoupper($indicador) != "SA6")
{
    echo "2";
    exit;
}

$data_ini = null;
$data_fim = null;

// Anual?
if(is_numeric($periodo))
{
	$ano = $periodo;

	$data_ini = "$ano-01-01";
	$data_fim = "$ano-12-31";
}
else
{
	echo "4";
	exit;
}

include '../../common/begin.php';

if($granularidade == 'municipio')
{
	$sql = "select sum(valortermo)*0.2 as sum from
			pcni_painel.seriehistoricatermo where codigotermo='TSA01' and
			codigogranularidade=11 and valorperiodo='$ano' and 
			codigoperiodicidade=5 and valorgranularidade in ('30 a 39 anos','40 a 49 anos','50 a 59 anos','60 a 69 anos')";
	$valor_pop_faixas = $doc->fetchAll($sql);

	if($valor_pop_faixas[0]['sum'])
	{
		$sql = <<<EOT
			select count(p.*)
			from saude.pessoa p
			where p.id in (select idpessoa from saude.inscricao_programa where
						   data between '$data_ini' and '$data_fim' and
						   data_desligamento is not null and idprograma = 10)
				and extract(year from age(p.data_nascimento)) between 30 and 69
EOT;

		$info = $doc->fetchRow($sql);

		$pop = $valor_pop_faixas[0]['sum'];
		if($pop)
			$valor = $info['count'] / $pop;
		else
			$valor = 0;

		echo "0;$indicador;Nova Igua�u;$periodo;".$valor;
	}
	else
		echo "1;$indicador;Nova Igua�u;$periodo;0";
}
else
{
	echo "5";
	exit;
}

?>
