/**
  * Create new user in the global chromedia accounts
  *
  * @param \HealthCareAbroad\UserBundle\Entity\SiteUser $user
  * @throws \HealthCareAbroad\UserBundle\Services\Exception\FailedAccountRequestException
  * @return SiteUser
  */
 protected function createUser(\HealthCareAbroad\UserBundle\Entity\SiteUser $user)
 {
     $form_data = array('email' => $user->getEmail(), 'password' => $user->getPassword(), 'first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'middle_name' => $user->getMiddleName());
     $response = $this->request->post($this->chromediaAccountsUri, array('data' => \base64_encode(\json_encode($form_data))));
     if (200 == $response->getStatusCode()) {
         $account_data = \json_decode($response->getBody(true), true);
         $user->setAccountId($account_data['id']);
         return $user;
     } else {
         throw new FailedAccountRequestException($response->getBody());
     }
 }