static function getMinDate()
 {
     $op = new COperation();
     $op->loadObject(array('date' => ' IS NOT NULL'), "date ASC");
     return max($op->date, "2000-01-01");
 }
 /**
  * Return a object concern praticien and a patient in date
  *
  * @param Date   $date         Date
  * @param String $praticien_id Praticien id
  * @param String $patient_id   Patient id
  *
  * @return CConsultation|COperation|null
  */
 function getObject($date, $praticien_id, $patient_id)
 {
     $intervention = new COperation();
     $where = array("plagesop.date" => "= '{$date}'", "operations.chir_id" => "= '{$praticien_id}'", "sejour.patient_id" => "= '{$patient_id}'");
     $leftjoin = array("plagesop" => "operations.plageop_id = plagesop.plageop_id", "sejour" => "operations.sejour_id = sejour.sejour_id");
     $intervention->loadObject($where, "plagesop.debut DESC", null, $leftjoin);
     $object = $intervention;
     if (!$object->_id) {
         $consultation = new CConsultation();
         $where = array("plageconsult.date" => "= '{$date}'", "plageconsult.chir_id" => "= '{$praticien_id}'", "consultation.patient_id" => "= '{$patient_id}'");
         $leftjoin = array("plageconsult" => "consultation.plageconsult_id = plageconsult.plageconsult_id");
         $consultation->loadObject($where, "consultation.heure DESC", null, $leftjoin);
         $object = $consultation;
         if (!$object->_id) {
             return null;
         }
     }
     return $object;
 }
 /**
  * Return the object for attach the document
  *
  * @param String   $date         date
  * @param CPatient $patient      patient
  * @param String   $praticien_id praticien id
  * @param CSejour  $sejour       sejour
  *
  * @return CConsultation|COperation|CSejour
  */
 function getObjectWithDate($date, $patient, $praticien_id, $sejour)
 {
     //Recherche de la consutlation dans le séjour
     $date = CMbDT::date($date);
     $date_before = CMbDT::date("- 2 DAY", $date);
     $consultation = new CConsultation();
     $where = array("patient_id" => "= '{$patient->_id}'", "annule" => "= '0'", "plageconsult.date" => "BETWEEN '{$date_before}' AND '{$date}'", "plageconsult.chir_id" => "= '{$praticien_id}'", "sejour_id" => "= '{$sejour->_id}'");
     $leftjoin = array("plageconsult" => "consultation.plageconsult_id = plageconsult.plageconsult_id");
     $consultation->loadObject($where, "plageconsult.date DESC", null, $leftjoin);
     //Recherche d'une consultation qui pourrait correspondre
     if (!$consultation->_id) {
         unset($where["sejour_id"]);
         $consultation->loadObject($where, "plageconsult.date DESC", null, $leftjoin);
     }
     //Consultation trouvé dans un des deux cas
     if ($consultation->_id) {
         return $consultation;
     }
     //Recherche d'une opération dans le séjour
     $where = array("sejour.patient_id" => "= '{$patient->_id}'", "plagesop.date" => "BETWEEN '{$date_before}' AND '{$date}'", "operations.annulee" => "= '0'", "sejour.sejour_id" => "= '{$sejour->_id}'");
     if ($praticien_id) {
         $where["operations.chir_id"] = "= '{$praticien_id}'";
     }
     $leftjoin = array("plagesop" => "operations.plageop_id = plagesop.plageop_id", "sejour" => "operations.sejour_id = sejour.sejour_id");
     $operation = new COperation();
     $operation->loadObject($where, "plagesop.date DESC", null, $leftjoin);
     if ($operation->_id) {
         return $operation;
     }
     /*if (!$sejour) {
           $where = array(
             "patient_id" => "= '$patient->_id'",
             "annule"     => "= '0'",
           );
           $sejours = CSejour::loadListForDate($date, $where, null, 1);
           $sejour = reset($sejours);
     
           if (!$sejour) {
             return null;
           }
         }*/
     return $sejour;
 }