}
if (!empty($sessionID)) {
    $filename .= "_candidate_" . $result[0]['CandID'] . "_visit_" . $result[0]['Visit_label'];
}
$today = date("YMd");
$filename .= "_{$today}";
fwrite(STDERR, $filename . "\n");
$i = 0;
foreach ($result as $currentTimepoint) {
    $sessionID = $currentTimepoint['ID'];
    // create Flag object
    if (isset($timepointFlagObject)) {
        unset($timepointFlagObject);
    }
    $timepointFlagObject = new TimePoint_Flag();
    $success = $timepointFlagObject->select($sessionID);
    $constantsArray = array($timepointFlagObject->showConstant('TIMEPOINT_FLAG_MISSING_DATA'), $timepointFlagObject->showConstant('TIMEPOINT_FLAG_NA_INSTRUMENT'));
    // get flag types to assign the proper status to the session/flag records
    if (empty($flagTypeIDs)) {
        $flagTypeIDs = $timepointFlagObject->getFlagTypeIDs();
    }
    // evaluate the flags for the timepoint and get the list
    // of triggered flags and their statuses
    // flag statuses are captured as constants TIMEPOINT_FLAG_TRIGGER,
    // TIMEPOINT_FLAG_NA_INSTRUMENT, TIMEPOINT_FLAG_NULL
    $flagList = array();
    $flagList = $timepointFlagObject->evaluateTimepointFlags();
    // if there are no flags skip to next timepoint
    if (count($flagList) == 0) {
        continue;
    }