public function afterRegistry()
 {
     if (!$this->respondent) {
         $this->respondent = $this->loader->getRespondent($this->patientId, $this->organizationId);
     }
     parent::afterRegistry();
     if ($this->respondent) {
         $this->addTo($this->respondent->getEmailAddress(), $this->respondent->getName());
         $this->setLanguage($this->respondent->getLanguage());
     }
 }
 /**
  *
  * @param string $patientId
  * @param int|\Gems_User_Organization $organization
  * @param int $respondentId
  * @return boolean True when something changed
  */
 public function handleRespondentChanged($patientId, $organization, $respondentId = null)
 {
     if ($organization instanceof \Gems_User_Organization) {
         $org = $organization;
         $orgId = $organization->getId();
     } else {
         $org = $this->loader->getOrganization($organization);
         $orgId = $organization;
     }
     $changeEventClass = $org->getRespondentChangeEventClass();
     if ($changeEventClass) {
         $event = $this->loader->getEvents()->loadRespondentChangedEvent($changeEventClass);
         if ($event) {
             $respondent = $this->loader->getRespondent($patientId, $orgId, $respondentId);
             if ($event->processChangedRespondent($respondent)) {
                 // If no change was registered yet, do so now
                 if (!$this->getChanged()) {
                     $this->addChanged();
                 }
                 return true;
             }
         }
     }
     return false;
 }
 /**
  * Get the respondent linked to this token
  *
  * @return \Gems_Tracker_Respondent
  */
 public function getRespondent()
 {
     $patientNumber = $this->getPatientNumber();
     $organizationId = $this->getOrganizationId();
     if (!$this->_respondentObject instanceof \Gems_Tracker_Respondent || $this->_respondentObject->getPatientNumber() !== $patientNumber || $this->_respondentObject->getOrganizationId() !== $organizationId) {
         $this->_respondentObject = $this->loader->getRespondent($patientNumber, $organizationId);
     }
     return $this->_respondentObject;
 }
 /**
  * Return the respondent object
  *
  * @return \Gems_Tracker_Respondent
  */
 public function getRespondent()
 {
     return $this->loader->getRespondent($this->getPatientNumber(), $this->getOrganizationId(), $this->getRespondentId());
 }