/**
  * Find the host from a context object
  *
  * @param CMbObject|string $context The context (séjour, rpu, service, etablissement)
  *
  * @return CGroups|CService|CFunctions|string
  */
 static function guessHost($context)
 {
     if ($context === "global") {
         return "global";
     }
     // Etablissement, service ou cabinet (deja un HOST)
     if ($context instanceof CGroups || $context instanceof CService || $context instanceof CFunctions || $context instanceof CBlocOperatoire) {
         return $context;
     }
     // Séjour d'urgence
     if ($context instanceof CSejour && $context->type == "urg") {
         $rpu = $context->loadRefRPU();
         if ($rpu && $rpu->_id) {
             $context = $rpu;
         }
     }
     // Sejour
     if ($context instanceof CSejour) {
         $affectation = $context->loadRefCurrAffectation();
         if (!$affectation->_id) {
             $affectation = $context->loadRefFirstAffectation();
         }
         return $affectation->loadRefService();
     }
     // Urgences
     if ($context instanceof CRPU) {
         /** @var CService $service */
         $service = null;
         if ($context->box_id) {
             return $context->loadRefBox()->loadRefService();
         }
         $sejour = $context->loadRefSejour();
         $affectation = $sejour->loadRefCurrAffectation();
         if (!$affectation->_id) {
             $affectation = $sejour->loadRefFirstAffectation();
         }
         $service = $affectation->loadRefService();
         if ($service && $service->_id) {
             return $service;
         }
         // Recherche du premier service d'urgences actif
         $group_id = CGroups::loadCurrent()->_id;
         $where = array("group_id" => "= '{$group_id}'", "urgence" => "= '1'", "cancelled" => "= '0'");
         $service = new CService();
         $service->loadObject($where, "nom");
         return $service;
     }
     // Utiliser le contexte de la consultation dans la cas des dossiers d'anesth
     if ($context instanceof CConsultAnesth) {
         $context = $context->loadRefConsultation();
     }
     // Utiliser le contexte du cabinet dans le cas des consultations
     if ($context instanceof CConsultation) {
         return $context->loadRefPlageConsult()->loadRefChir()->loadRefFunction();
     }
     return CGroups::loadCurrent();
 }