Skip to content
Snippets Groups Projects
Commit 62ee3a3f authored by Piotr Gawron's avatar Piotr Gawron
Browse files

modification to help import of redcap calendr data

parent 5de9137c
No related branches found
No related tags found
1 merge request!52old import code
Pipeline #
......@@ -81,7 +81,7 @@ public class RedcapCalendarParser {
if (subject == null) {
subject = findSubject(query);
}
if (subject != null && !subject.getToBeSeenAt().equalsIgnoreCase("LIH")) {
if (subject != null && !subject.getToBeSeenAt().toLowerCase().startsWith("l")) {
return null;
}
result.setLocation("LIH");
......@@ -93,7 +93,12 @@ public class RedcapCalendarParser {
if (result.getTypes().contains(AppointmentType.OTHER)) {
logger.warn("Cannot find types for: " + query);
}
return result;
if (result.getTypes().contains(AppointmentType.LEVEL_ASAMP)) {
return result;
} else {
logger.debug("Skipping LIH appointment: " + query);
return null;
}
}
CellParser cellParser = new CellParser();
......
package smash.appointment.parse;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class RedcapMissingSqlExporter {
static SubjectDao subjectDao = new SubjectDao();
public static void main(String[] args) throws Exception {
List<Subject> subjects = new ArrayList<>();
for (int count =0 ;count<10000;count++) {
String nd = count+"";
while (nd.length()<4) {
nd = "0"+nd;
}
Subject subject = new Subject("name "+nd, "surname"+nd, "ND"+nd, count+"");
String screening = nd;
if (screening.startsWith("0")) {
screening = screening.substring(1);
}
subject.setScreeningNumber("P-"+screening);
subject.setToBeSeenAt("PRC");
if (count>=3000) {
screening=screening.substring(1);
subject.setScreeningNumber("L-"+screening);
subject.setToBeSeenAt("LIH");
}
if (count>=7000) {
subject.setScreeningNumber("F-"+nd);
subject.setToBeSeenAt("FLYING TEAM");
}
subjects.add(subject);
}
subjectDao.setSubjects(subjects);
RedcapCalendarParser parser = new RedcapCalendarParser();
parser.setSubjectDao(subjectDao);
Calendar date = Calendar.getInstance();
date.set(2017, 2, 21, 1, 0, 0);
List<AppointmentEntry> entries = parser.parse("E:/redcap_events_calendar-20032017.sql", date);
VisitSqlExporter sqlExporter = new VisitSqlExporter();
for (AppointmentEntry entry: entries) {
Visit visit = new Visit(entry.getSubject());
visit.addAppointment(entry);
visit.setStartDate(entry.getDay());
System.out.println(sqlExporter.toSql(visit));
}
}
}
......@@ -16,7 +16,7 @@ public class VisitSqlExporter extends SqlExporter {
result.append("is_finished)");
result.append("values (");
result.append("(SELECT id from web_subject where screening_number = "+getStringVal(visit.getSubject().getScreeningNumber()) + "),");
result.append("(SELECT id from web_subject where screening_number like "+getStringVal('%'+visit.getSubject().getScreeningNumber()+'%') + "),");
result.append(getStringVal(visit.getStartDate()) + ",");
result.append(getStringVal(visit.getEndDate()) + ",");
result.append("false,");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment