/**
  * 
  * @param Treatment $treatment
  * @return \HealthCareAbroad\TermBundle\Entity\Term
  */
 private function createTermFromTreatment(Treatment $treatment)
 {
     // check first if this term already exists
     $term = $this->termRepository->findOneByName($treatment->getName());
     if (!$term) {
         // term does not exist
         $term = new Term();
         $term->setName($treatment->getName());
     }
     // create new term document
     $termDocument = new TermDocument();
     $termDocument->setDocumentId($treatment->getId());
     $termDocument->setTerm($term);
     $termDocument->setType(TermDocument::TYPE_TREATMENT);
     $term->setInternal(true);
     $term->addTermDocument($termDocument);
     return $term;
 }
 private function _deleteTermDocumentsExceptForCurrentTerm(Term $currentTerm, $documentId, $type)
 {
     $qb = $this->doctrine->getRepository('TermBundle:Term')->getQueryBuilderForDeletingTermDocumentsByDocumentIdAndType($documentId, $type);
     $qb->andWhere('a.term != :currentTermId')->setParameter('currentTermId', $currentTerm->getId());
     $qb->getQuery()->execute();
 }