private function importPractice(array $data)
 {
     if (!($practice = Practice::model()->findByAttributes(array('code' => $data['code'])))) {
         if ($data['status'] != 'A') {
             return;
         }
         $practice = new Practice();
         $practice->code = $data['code'];
     }
     $practice->phone = $data['phone'];
     if (!$practice->save()) {
         throw new Exception("Failed to save practice: " . print_r($practice->errors, true));
     }
     $contact = $practice->contact;
     $contact->primary_phone = $practice->phone;
     if (!$contact->save()) {
         throw new Exception("Failed to save contact: " . print_r($contact->errors, true));
     }
     if (!($address = $contact->address)) {
         $address = new Address();
         $address->contact_id = $contact->id;
     }
     $this->importAddress($address, array($data['name'], $data['addr1'], $data['addr2'], $data['addr3'], $data['addr4'], $data['addr5']));
     $address->postcode = $data['postcode'];
     $address->country_id = $this->country_id;
     if (!$address->save()) {
         throw new Exception("Failed to save address: " . print_r($address->errors, true));
     }
 }