@Override
    public List<Paciente> listConsulta() {
        
        Connection con = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;

        List<Paciente> pacientes = new ArrayList<>();
        try {
            con = ConnectionFactory.getConnection();
            pstm = con.prepareStatement(LISTFORCONSULTA);
            rs = pstm.executeQuery();
            while (rs.next()) {
                //nome, telefone, celular, data_nascimento, rg, enderecocodigo
                Paciente p = new Paciente();
                p.setNome(rs.getString("nome"));
                p.setCodigo(rs.getInt("codigo"));
                p.setTelefone(rs.getString("telefone"));
                p.setCelular(rs.getString("celular"));
                p.setDataNascimento(rs.getDate("data_nascimento"));
                p.setRg(rs.getString("rg"));
                p.setEndereco(rs.getString("endereco"));
                p.setCidade(rs.getString("cidade"));
                p.setEstado(rs.getString("estado"));
                Convenio c = new Convenio();
                c.setCodigo(rs.getInt("convenio.codigo"));
                c.setNome(rs.getString("convenio.nome"));
                p.setConvenio(c);

                pacientes.add(p);
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao listar " + ex.getMessage());
        } finally {
            try {
                ConnectionFactory.closeConnection(con, pstm, rs);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null,
                        "Erro ao fechar a conexão"
                        + e.getMessage());
            }
        }
        return pacientes;
    }