Example #1
0
 /**
  * Descrição
  * @param type $matricula
  * @return array
  */
 public function selectAnamnesesEntrevistado($matricula)
 {
     $anamneses = array();
     // Montar consulta.
     $sql = "SELECT e.cd_entrevistado, e.nr_matricula, u.dt_nascimento," . " u.nm_sexo, a.nr_peso, a.nr_altura, a.nr_nivel_esporte" . " FROM tb_entrevistado AS e, tb_usuario AS u, tb_anamnese AS a" . " WHERE e.cd_usuario = u.cd_usuario" . " AND e.cd_entrevistado = a.cd_entrevistado" . " AND e.nr_matricula = " . $matricula;
     $result = $this->conn->query($sql);
     if ($result) {
         while ($row = $result->fetch_assoc()) {
             $entrevistado = new Entrevistado();
             $entrevistado->setCodigo($row["cd_entrevistado"]);
             $entrevistado->setMatricula($row["nr_matricula"]);
             $entrevistado->setNascimento($row["dt_nascimento"]);
             $entrevistado->setSexo($row["nm_sexo"]);
             $anamnese = new Anamnese();
             $anamnese->setPeso($row["nr_peso"]);
             $anamnese->setAltura($row["nr_altura"]);
             $anamnese->setEntrevistado($entrevistado);
             array_push($anamneses, $anamnese);
         }
     }
     return $anamneses;
 }
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 {
    }
}