Esclarecimento de Funcionamento do Campo "Professor Regente"

Olá pessoal.

Alguem da Portabilis pode me esclarecer a seguinte dúvida por favor:

O campo “Professor Regente” só lista professores que estejam alocados e com o campo “Componentes curriculares” de sua função preenchidos. A consulta referente a busca do campo é a seguinte:

Rota do arquivo: ieducar/intranet/include/pmieducar/clsPmieducarServidor.inc.php

Classe: clsPmieducarServidor

Método: lista_professor

Informações do método: 
	public function lista_professor($cod_instituicao, $cod_escola, $str_nome_servidor)
    {
        $this->_campos_lista = 's.cod_servidor, p.nome, func.matricula, s.ref_cod_instituicao';

        $this->_schema = 'pmieducar.';
        $tabela_compl = '
                LEFT JOIN cadastro.pessoa p ON (s.cod_servidor = p.idpes)
                LEFT JOIN portal.funcionario func ON (s.cod_servidor = func.ref_cod_pessoa_fj)
                LEFT JOIN pmieducar.servidor_funcao as sf ON s.cod_servidor = sf.ref_cod_servidor';
        $filtros = "
            WHERE s.ativo = '1'
            AND s.ref_cod_instituicao = $cod_instituicao
            AND (s.cod_servidor IN (
                    SELECT 
                        a.ref_cod_servidor
                    FROM 
                        pmieducar.servidor_alocacao a
                    WHERE 
                        a.ativo = 1
                    AND 
                        a.ref_ref_cod_instituicao = $cod_instituicao
                    AND 
                        ref_cod_escola = $cod_escola)
                )
            AND EXISTS (
                SELECT 
                    1
                FROM 
                    pmieducar.servidor_funcao sf,
                    pmieducar.funcao f,
                    pmieducar.servidor_disciplina sd
                WHERE 
                    f.cod_funcao = sf.ref_cod_funcao
                AND 
                    f.professor = 1
                AND 
                    sf.ref_ref_cod_instituicao = s.ref_cod_instituicao
                AND 
                    s.cod_servidor = sf.ref_cod_servidor
                AND 
                    s.cod_servidor = sd.ref_cod_servidor
                AND 
                    s.ref_cod_instituicao = sd.ref_ref_cod_instituicao)
        ";

        if ($str_nome_servidor != '') {
            $str_nome_servidor_escaped = str_replace("'", "''", $str_nome_servidor);
            $filtros .= " AND translate(upper(p.nome),'ÅÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇÝÑ','AAAAAAEEEEIIIIOOOOOUUUUCYN') LIKE translate(upper('%{$str_nome_servidor_escaped}%'),'ÅÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇÝÑ','AAAAAAEEEEIIIIOOOOOUUUUCYN')";
        }

        $sql = "SELECT {$this->_campos_lista} FROM {$this->_schema}servidor s {$tabela_compl} {$filtros} GROUP BY {$this->_campos_lista}" . $this->getOrderby();

        $db = new clsBanco();
        $countCampos = count(explode(',', $this->_campos_lista));
        $resultado = [];

        $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_schema}servidor s {$tabela_compl} {$filtros}");

        $db->Consulta($sql);

        if ($countCampos > 1) {
            while ($db->ProximoRegistro()) {
                $tupla = $db->Tupla();

                $tupla['_total'] = $this->_total;
                $resultado[] = $tupla;
            }
        } else {
            while ($db->ProximoRegistro()) {
                $tupla = $db->Tupla();
                $resultado[] = $tupla[$this->_campos_lista];
            }
        }
        if (count($resultado)) {
            return $resultado;
        }

        return false;
    }

Consulta: 
SELECT 
    s.cod_servidor, 
    p.nome, 
    func.matricula, 
    s.ref_cod_instituicao 
FROM 
    pmieducar.servidor s 
LEFT JOIN 
    cadastro.pessoa p ON (s.cod_servidor = p.idpes)
LEFT JOIN 
    portal.funcionario func ON (s.cod_servidor = func.ref_cod_pessoa_fj)
LEFT JOIN 
    pmieducar.servidor_funcao as sf ON s.cod_servidor = sf.ref_cod_servidor 
WHERE 
    s.ativo = '1'
AND 
    s.ref_cod_instituicao = $cod_inst
AND (
    s.cod_servidor IN (
        SELECT 
            a.ref_cod_servidor
        FROM 
            pmieducar.servidor_alocacao a
        WHERE 
            a.ativo = 1
        AND 
            a.ref_ref_cod_instituicao = $cod_inst
        AND 
            ref_cod_escola = $cod_escola
    )
)
AND EXISTS (
    SELECT
        1
    FROM 
        pmieducar.servidor_funcao sf,
        pmieducar.funcao f,
        pmieducar.servidor_disciplina sd
    WHERE 
        f.cod_funcao = sf.ref_cod_funcao
    AND 
        f.professor = $cod_prof
    AND 
        sf.ref_ref_cod_instituicao = s.ref_cod_instituicao
    AND 
        s.cod_servidor = sf.ref_cod_servidor
    AND 
        s.cod_servidor = sd.ref_cod_servidor
    AND 
        s.ref_cod_instituicao = sd.ref_ref_cod_instituicao
)
GROUP BY 
    s.cod_servidor, p.nome, func.matricula, s.ref_cod_instituicao 
ORDER BY 
    nome ASC 


Gostaria de saber o motivo do campo fazer essa consulta e se tem algum impacto negativo remover essa validação. Desde já agradeço!