Example #1
0
 function selectUsuarioEntrevistado($cdEntrevistado)
 {
     $entrevistado = null;
     $stmt = $this->conn->prepare("SELECT usuario.cd_usuario, " . "usuario.dt_nascimento, usuario.nm_sexo, usuario.cd_tipousuario " . "FROM tb_usuario AS usuario " . "WHERE usuario.cd_usuario = ?");
     $stmt->bind_param("i", $cdEntrevistado);
     $stmt->execute();
     $resultStmt = $stmt->store_result();
     if ($resultStmt && $stmt->num_rows > 0) {
         // Campos de retorno do usuário.
         $stmt->bind_result($codigo, $nascimento, $sexo, $tipoUsuario);
         $stmt->fetch();
         $entrevistado = new Entrevistado();
         $entrevistado->setCodigo($codigo);
         $entrevistado->setNascimento($nascimento);
         $entrevistado->setSexo($sexo);
         $entrevistado->setTipoUsuario($tipoUsuario);
     }
     $stmt->close();
     return $entrevistado;
 }
Example #2
0
/**
 * 
 * @param type $name Description
 * 
 * @return type Description
 */
function calcularPerfilAntropometrico()
{
    /**
     * Anamnese: Peso, altura, idade, sexo
     * Acima de 19 calcular IMC
     * Abaixo de 19 anos verificar percentil: IMC x Idade.
     */
    $request = \Slim\Slim::getInstance()->request();
    $body = $request->getBody();
    $anamneseJson = json_decode($body);
    // Entrevistado
    $nascimento = $anamneseJson->entrevistado->nascimento;
    $sexo = strtoupper($anamneseJson->entrevistado->sexo);
    // Anamnese.
    $peso = $anamneseJson->peso;
    $altura = $anamneseJson->altura;
    $validacao = PerfilAntropometricoValidate::validate($peso, $altura, $sexo, $nascimento);
    if ($validacao == VALIDO) {
        $anamnese = new Anamnese();
        $anamnese->setPeso($peso);
        $anamnese->setAltura($altura);
        // Entrevistado
        $entrevistado = new Entrevistado();
        $entrevistado->setNascimento($nascimento);
        $entrevistado->setSexo($sexo);
        $anamnese->setEntrevistado($entrevistado);
        // Calcular IMC
        $imcValor = IMCController::calculaIMC($peso, $altura);
        $idadeMeses = DataUtil::calcularIdadeMeses($nascimento);
        $idadeAnos = DataUtil::calcularIdadeAnos($nascimento);
        $curva = new Curva();
        // Acima de 19 calcular IMC.
        if ($idadeMeses > IDADE_PERCENTIL_19) {
            // Cálculo do IMC para entrevistado acima de 19 anos.
            $imc = new Imc();
            $imc->setValor($imcValor);
            $curva->setImc($imc);
        } else {
            $percentilMediano = PercentilController::calcularPercentil($imcValor, $sexo, $nascimento);
            if (!empty($percentilMediano)) {
                $curva->setPercentilMediano($percentilMediano);
            } else {
                $curva = PercentilController::calcularPercentilMargens($imcValor, $sexo, $nascimento);
            }
        }
        // IMC padrão.
        $imc = new Imc();
        $imc->setValor($imcValor);
        $curva->setImc($imc);
        $diagnostico = PercentilController::determinarDiagnosticoNutricional($curva);
        $curva->setDiagnostico($diagnostico);
        echoRespnse(HTTP_OK, $curva);
    } else {
    }
}