diff --git a/appointment-import/src/main/java/smash/appointment/parse/Main.java b/appointment-import/src/main/java/smash/appointment/parse/Main.java
index a6b38c11c7571f32c4d8cf9662a4d703bfe99c94..9eabd335522762c568c6f8c03bcca18be40f3e56 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/Main.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/Main.java
@@ -77,6 +77,10 @@ public class Main {
 			today.set(Calendar.HOUR, 5);
 			appointmentDao.addAppointments(processPrcAppointments(agendaFile, today));
 
+			String redCapFile = line.getOptionValue("red-cap");
+			appointmentDao.addAppointments(processRedCapAppointments(agendaFile));
+
+
 			System.out.println("delete from web_subject_languages;");
 			System.out.println("delete from web_appointment;");
 			System.out.println("delete from web_visit;");
@@ -107,6 +111,11 @@ public class Main {
 		}
 	}
 
+	private List<AppointmentEntry> processRedCapAppointments(String agendaFile) throws Exception{
+		RedcapParser parser = new RedcapParser();
+		return parser.parse(agendaFile);
+	}
+
 	private List<Subject> processLihMappingControls(String lihMappingControlsFile) throws Exception {
 		LihControlMappingParser parser = new LihControlMappingParser();
 		return parser.processExcel(lihMappingControlsFile);
diff --git a/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java b/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java
index be74daa1275997462f34fc2be3d2fbf7db8727fa..fd72363335ab807dd1a85d864c61f251b4ef2b7a 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java
@@ -40,32 +40,35 @@ public class RedcapParser {
 					subject.setSex(tmp[3]);
 					subject.setBirthDate(tmp[2]);
 
-					List<AppointmentEntry> subjectAppointments = new ArrayList<>();
-					if (!tmp[9].isEmpty()) {
-						subjectAppointments.add(createEntryLevelA(tmp[9], tmp[10], subject));
+					//for now only PRC and flying team subjects
+					if (subject.getToBeSeenAt().startsWith("P") || subject.getToBeSeenAt().startsWith("F")) {
+						List<AppointmentEntry> subjectAppointments = new ArrayList<>();
+						if (!tmp[9].isEmpty()) {
+							subjectAppointments.add(createEntryLevelA(tmp[9], tmp[10], subject));
+						}
+
+						if (!tmp[13].isEmpty()) {
+							subjectAppointments.add(createEntryLevelB(tmp[13], tmp[14], subject));
+						}
+
+						if (!tmp[17].isEmpty()) {
+							subjectAppointments.add(createEntryLevelBG(tmp[17], tmp[18], subject));
+						}
+
+						if (!tmp[21].isEmpty()) {
+							subjectAppointments.add(createEntryLevelBV(tmp[21], tmp[22], subject));
+						}
+
+						if (!tmp[41].isEmpty()) {
+							subjectAppointments.add(createEntryLevelSB(tmp[41], subject));
+						}
+
+						if (!tmp[45].isEmpty()) {
+							subjectAppointments.add(createEntryLevelMPower(tmp[45], subject));
+						}
+
+						result.addAll(subjectAppointments);
 					}
-
-					if (!tmp[13].isEmpty()) {
-						subjectAppointments.add(createEntryLevelB(tmp[13], tmp[14], subject));
-					}
-
-					if (!tmp[17].isEmpty()) {
-						subjectAppointments.add(createEntryLevelBG(tmp[17], tmp[18], subject));
-					}
-
-					if (!tmp[21].isEmpty()) {
-						subjectAppointments.add(createEntryLevelBV(tmp[21], tmp[22], subject));
-					}
-
-					if (!tmp[41].isEmpty()) {
-						subjectAppointments.add(createEntryLevelSB(tmp[41], subject));
-					}
-
-					if (!tmp[45].isEmpty()) {
-						subjectAppointments.add(createEntryLevelMPower(tmp[45], subject));
-					}
-
-					result.addAll(subjectAppointments);
 				}
 
 			}
@@ -98,8 +101,8 @@ public class RedcapParser {
 		AppointmentEntry entry = new AppointmentEntry();
 		String date = getDate(from);
 		String date2 = getDate(to);
-		if (!date.equals(date2)){
-			logger.warn("Different start and end date for level BV appointment. Subject: "+subject.getNdNumber());
+		if (!date.equals(date2)) {
+			logger.warn("Different start and end date for level BV appointment. Subject: " + subject.getNdNumber());
 		}
 		entry.setDay(date);
 		entry.setSubject(subject);
@@ -112,8 +115,8 @@ public class RedcapParser {
 		AppointmentEntry entry = new AppointmentEntry();
 		String date = getDate(from);
 		String date2 = getDate(to);
-		if (!date.equals(date2)){
-			logger.warn("Different start and end date for level BG appointment. Subject: "+subject.getNdNumber());
+		if (!date.equals(date2)) {
+			logger.warn("Different start and end date for level BG appointment. Subject: " + subject.getNdNumber());
 		}
 		entry.setDay(date);
 		entry.setSubject(subject);
@@ -126,8 +129,8 @@ public class RedcapParser {
 		AppointmentEntry entry = new AppointmentEntry();
 		String date = getDate(from);
 		String date2 = getDate(to);
-		if (!date.equals(date2)){
-			logger.warn("Different start and end date for level B appointment. Subject: "+subject.getNdNumber());
+		if (!date.equals(date2)) {
+			logger.warn("Different start and end date for level B appointment. Subject: " + subject.getNdNumber());
 		}
 		entry.setDay(date);
 		entry.setSubject(subject);
@@ -140,8 +143,8 @@ public class RedcapParser {
 		AppointmentEntry entry = new AppointmentEntry();
 		String date = getDate(from);
 		String date2 = getDate(to);
-		if (!date.equals(date2)){
-			logger.warn("Different start and end date for level A appointment. Subject: "+subject.getNdNumber()+"; "+date+", "+date2);
+		if (!date.equals(date2)) {
+			logger.warn("Different start and end date for level A appointment. Subject: " + subject.getNdNumber() + "; " + date + ", " + date2);
 		}
 		String time = getTime(from);
 		String duration = getDuration(from, to);