Listagem de Dados por session

Galera, eu criei um sistema que utiliza um login (que seria cada um loga com sua session) e cadastro um médico, como que eu faço pra listar só os médicos do meu hospital( que seria a session logada) ao invés de listar todos os médicos de todos os hospitais que cadastraram seus médicos?

Pacote dao
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import model.Medico;

public class MedicoDAO {
public int criar(Medico medico) {
String sqlInsert = “INSERT INTO medico(id_hospital, nome, crm, cpf) VALUES (?, ?, ?, ?)”;

	try (Connection conn = ConnectionFactory.abrirConexao();
			PreparedStatement stm = conn.prepareStatement(sqlInsert);) {
		stm.setInt(1, medico.getIdHospital());
		stm.setString(2, medico.getNome());
		stm.setString(3, medico.getCRM());
		stm.setString(4, medico.getCPF());
		stm.execute();
		String sqlQuery = "SELECT LAST_INSERT_ID()";
		try (PreparedStatement stm2 = conn.prepareStatement(sqlQuery);
				ResultSet rs = stm2.executeQuery();) {
			if (rs.next()) {
				medico.setIdMedico(rs.getInt(1));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return medico.getIdMedico();
}

public void atualizar(Medico medico) {
	String sqlUpdate = "UPDATE medico SET nome=?, crm=?, cpf=? WHERE id_medico=?";

	try (Connection conn = ConnectionFactory.abrirConexao();
			PreparedStatement stm = conn.prepareStatement(sqlUpdate);) {
		stm.setInt(1, medico.getIdHospital());
		stm.setString(2, medico.getNome());
		stm.setString(3, medico.getCRM());
		stm.setString(4, medico.getCPF());
		stm.setInt(5, medico.getIdMedico());
		stm.execute();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

public void excluir(int id_medico) {
	String sqlDelete = "DELETE FROM medico WHERE id_medico = ?";
	// usando o try with resources do Java 7, que fecha o que abriu
	try (Connection conn = ConnectionFactory.abrirConexao();
			PreparedStatement stm = conn.prepareStatement(sqlDelete);) {
		stm.setInt(1, id_medico);
		stm.execute();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

public Medico carregar(int id_medico) {
	Medico medico = new Medico();
	medico.setIdMedico(id_medico);
	String sqlSelect = "SELECT id_hospital, nome, crm, cpf FROM medico WHERE medico.id_hospital = ?";
	// usando o try with resources do Java 7, que fecha o que abriu
	try (Connection conn = ConnectionFactory.abrirConexao();
			PreparedStatement stm = conn.prepareStatement(sqlSelect);) {
		stm.setInt(1, medico.getIdMedico());
		try (ResultSet rs = stm.executeQuery();) {
			if (rs.next()) {
				medico.setIdHospital(rs.getInt("id_hospital"));
				medico.setNome(rs.getString("nome"));
				medico.setCRM(rs.getString("crm"));
				medico.setCPF(rs.getString("cpf"));
			} else {
				medico.setIdMedico(-1);
				medico.setIdHospital(-1);
				medico.setNome(null);
				medico.setCRM(null);
				medico.setCPF(null);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	} catch (SQLException e1) {
		System.out.print(e1.getStackTrace());
	}
	return medico;
}

public ArrayList<Medico> listarMedicos() {
	Medico medico;
	ArrayList<Medico> listaMedico = new ArrayList<>();
	String sqlSelect = "SELECT id_medico, id_hospital, nome, crm, cpf FROM medico";
	// usando o try with resources do Java 7, que fecha o que abriu
	try (Connection conn = ConnectionFactory.abrirConexao();
			PreparedStatement stm = conn.prepareStatement(sqlSelect);) {
		try (ResultSet rs = stm.executeQuery();) {
			while (rs.next()) {
				medico = new Medico();
				medico.setIdMedico(rs.getInt("id_medico"));
				medico.setIdHospital(rs.getInt("id_hospital"));
				medico.setNome(rs.getString("nome"));
				medico.setCRM(rs.getString("crm"));
				medico.setCPF(rs.getString("cpf"));
				listaMedico.add(medico);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	} catch (SQLException e1) {
		System.out.print(e1.getStackTrace());
	}
	return listaMedico;
}

public ArrayList<Medico> listarMedicos(String chave) {
	Medico medico;
	ArrayList<Medico> listaMedico = new ArrayList<>();
	String sqlSelect = "SELECT id_medico, id_hospital, nome, crm, cpf FROM medico where upper(nome) like ?";
	
	try (Connection conn = ConnectionFactory.abrirConexao();
			PreparedStatement stm = conn.prepareStatement(sqlSelect);) {
		stm.setString(1, "%" + chave.toUpperCase() + "%");
		try (ResultSet rs = stm.executeQuery();) {
			while (rs.next()) {
				medico = new Medico();
				medico.setIdMedico(rs.getInt("id_medico"));
				medico.setIdHospital(rs.getInt("id_hospital"));
				medico.setNome(rs.getString("nome"));
				medico.setCRM(rs.getString("crm"));
				medico.setCPF(rs.getString("cpf"));
				listaMedico.add(medico);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	} catch (SQLException e1) {
		System.out.print(e1.getStackTrace());
	}
	return listaMedico;
}

}

Pacote command

package command;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import model.Medico;
import service.MedicoArrayService;

public class ListarMedicoBuscar implements Command {

@Override
public void executar(HttpServletRequest request,
		HttpServletResponse response) throws ServletException, IOException {
	String chave = request.getParameter("data[search]");
	MedicoArrayService medicoArray = new MedicoArrayService();
	ArrayList<Medico> listaMedico = null;
	HttpSession session = request.getSession();
	if (chave != null && chave.length() > 0) {
		listaMedico = medicoArray.listarMedicos(chave);
	} else {
		listaMedico = medicoArray.listarMedicos();
	}
	session.setAttribute("listaMedico", listaMedico);

	RequestDispatcher dispatcher = request
			.getRequestDispatcher("ListarMedico.jsp");
	dispatcher.forward(request, response);
}

}

package command;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class ListarMedicoReiniciar implements Command {

@Override
public void executar(HttpServletRequest request,
		HttpServletResponse response) throws ServletException, IOException {
	HttpSession session = request.getSession();
	session.setAttribute("listaMedico", null);
	
	
	RequestDispatcher dispatcher = request
			.getRequestDispatcher("ListarMedico.jsp");
	dispatcher.forward(request, response);
}

}

JSP
<c:if test="${not empty listaMedico}">

                <div class="table-responsive col-md-12">
                    <table class="table table-striped" cellspacing="0" cellpadding="0">
                        <thead>
                           
                           
                           
                            <tr>
                                <th>ID</th>
                                <th>Nome</th>
                                <th>CRM</th>
                                <th>CPF</th>
                                
                                <th class="actions">Ações</th>
                            </tr>
                        </thead>
                        <tbody>
      					<c:forEach var="medico" items="${listaMedico }">
                                   <tr>
                                        <td>
                                           ${medico.idMedico }
                                        </td>
                                        <td>
                                            ${medico.nome }
                                        </td>
                                        <td>
                                            ${medico.CRM }
                                        </td>
                                        <td>
                                            ${medico.CPF }
                                        </td>
                                       

                                       
                                        <td class="actions">
                                            <a class="btn btn-success btn-xs" href="controller.do?command=VisualizarMedico&id=${medico.idMedico }">Visualizar</a>
                                            <a class="btn btn-warning btn-xs" href="controller.do?command=EditarMedico&id=${medico.idMedico }">Editar</a>
                                            <button id="btn${medico.idMedico }%>" type="button" class="btn btn-danger btn-xs" data-toggle="modal" data-target="#delete-modal" data-medico="${medico.idMedico }">Excluir</button>
                                        </td>
                                    </tr>             
                        </c:forEach>

                        </tbody>
                    </table>

                </div>
            </div>

            </c:if>