/**
  * Refresh the data
  */
 public function refresh()
 {
     $default = true;
     $filter = array();
     if ($this->patientId) {
         $filter['gr2o_patient_nr'] = $this->patientId;
         $default = false;
     } elseif ($this->respondentId) {
         $filter['gr2o_id_user'] = $this->respondentId;
         $default = false;
     }
     if (!$filter) {
         // Otherwise we load the first patient in the current organization
         $filter[] = '1=0';
     }
     if ($this->organizationId) {
         $filter['gr2o_id_organization'] = $this->organizationId;
     }
     $this->model->setFilter($filter);
     $this->_gemsData = $this->model->loadFirst();
     if ($this->_gemsData) {
         $this->exists = true;
         $this->patientId = $this->_gemsData['gr2o_patient_nr'];
         $this->organizationId = $this->_gemsData['gr2o_id_organization'];
         $this->respondentId = $this->_gemsData['gr2o_id_user'];
     } else {
         $this->_gemsData = $this->model->loadNew();
         $this->exists = false;
     }
 }
 /**
  * - Fetches respondent based on bsn / reception code and patient nr
  * - Creates the respondent if it does not exist, updates otherwise
  *
  * @see \Gems_Model_RespondentModel
  * @see \Gems_Communication_RespondentWriter::writeRespondent()
  *
  * @param  \Gems_Communication_RespondentContainer $respondent
  * @param  int $userId
  * @return boolean True if a new respondent was added, false if one was updated
  */
 public function writeRespondent(\Gems_Communication_RespondentContainer $respondent, &$userId)
 {
     $parameters = $this->_model->applyParameters(array('grs_ssn' => $respondent->getBsn(), 'gr2o_reception_code' => \GemsEscort::RECEPTION_OK, 'gr2o_patient_nr' => $respondent->getPatientId()));
     $data = $this->_model->loadFirst();
     $isNew = false;
     if (empty($data)) {
         $isNew = true;
         $data = $this->_model->loadNew();
     }
     unset($data['grs_email']);
     $data['gr2o_patient_nr'] = $respondent->getPatientId();
     $data['grs_first_name'] = $respondent->getFirstName();
     $data['grs_last_name'] = $respondent->getLastName();
     $data['grs_surname_prefix'] = $respondent->getSurnamePrefix();
     $data['grs_ssn'] = $respondent->getBsn();
     $data['grs_gender'] = $respondent->getGender();
     $data['grs_birthday'] = $respondent->getBirthday();
     $data = $this->_model->save($data);
     $userId = $data['grs_id_user'];
     return $isNew;
 }