private void displayLab(List petIDs) throws SQLException, ParseException{
		//get all pets that have immunization reminders
		List labVisitsNeeded = new ArrayList ();
		Statement state;
		String commandstring = "";
		ResultSet rs;
		String reminderMethod = "";
		String reminderFrequency = "";
		for(int i = 0; i < petIDs.size(); i++){
			state = DBConnection.OpenConnection();
			commandstring = String.format("SELECT Reminder_Frequency, Reminder_Method FROM Reminders WHERE Pet_ID = %d AND Reminder = 'lab work'", petIDs.get(i));
			rs = state.executeQuery(commandstring);
			while(rs.next()){
				labVisitsNeeded.add(petIDs.get(i));
				labVisitsNeeded.add(rs.getString("Reminder_Frequency"));
				labVisitsNeeded.add(rs.getString("Reminder_Method"));
			}
			rs.close();
			state.close();
		}
		
		//go through each one and check to see if we need to display a reminder
		for(int i = 0; i < labVisitsNeeded.size(); i += 3){
			state = DBConnection.OpenConnection();
			int labID = getMostRecentIDWellnessOrLab((Integer) labVisitsNeeded.get(i), "Lab Work");
			commandstring = String.format("SELECT Date FROM Appointments WHERE ID = %d", labID);
			rs = state.executeQuery(commandstring);
			while(rs.next()){
				DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
				Date date = dateFormat.parse(rs.getString("Date"));
				boolean alertNeeded = wellnessUpcoming(date, (String)labVisitsNeeded.get(i+1));
				if(alertNeeded){
					String petName = "";
					Statement state2 = DBConnection.OpenConnection();
					commandstring = String.format("SELECT Name FROM Pets WHERE ID = %d", labVisitsNeeded.get(i));
					ResultSet rs2 = state2.executeQuery(commandstring);
					while(rs2.next()){
						petName = rs2.getString("Name");
					}
					state2.close();
					rs2.close();
					JOptionPane.showMessageDialog(panelAppointments, petName + "'s owner needs to have a " + labVisitsNeeded.get(i+2) + " sent to them for lab work");
				}
			}
			state.close();
			rs.close();
		}
	}