예제 #1
0
 /**
  * Get object tag
  *
  * @param string $group_id Group
  *
  * @return string|null
  */
 static function getObjectTag($group_id = null)
 {
     // Recherche de l'établissement
     $group = CGroups::get($group_id);
     if (!$group_id) {
         $group_id = $group->_id;
     }
     $cache = new Cache(__METHOD__, array($group_id), Cache::INNER);
     if ($cache->exists()) {
         return $cache->get();
     }
     $tag = self::getDynamicTag();
     return $cache->put(str_replace('$g', $group_id, $tag));
 }
예제 #2
0
 /**
  * Construit le tag IPP en fonction des variables de configuration
  *
  * @param int $group_id Permet de charger l'IPP pour un établissement donné si non null
  *
  * @return string|null
  */
 static function getTagIPP($group_id = null)
 {
     // Recherche de l'établissement
     $group = CGroups::get($group_id);
     if (!$group_id) {
         $group_id = $group->_id;
     }
     $cache = new Cache(__METHOD__, array($group_id), Cache::INNER);
     if ($cache->exists()) {
         return $cache->get();
     }
     // Gestion du tag IPP par son domaine d'identification
     if (CAppUI::conf("eai use_domain")) {
         return $cache->put(CDomain::getMasterDomain("CPatient", $group_id)->tag, false);
     }
     // Pas de tag IPP => pas d'affichage d'IPP
     if (null == ($tag_ipp = CAppUI::conf("dPpatients CPatient tag_ipp"))) {
         return $cache->put(null, false);
     }
     // Si on est dans le cas d'un établissement gérant la numérotation
     $group->loadConfigValues();
     if ($group->_configs["sip_idex_generator"]) {
         $tag_ipp = CAppUI::conf("sip tag_ipp");
     }
     // Préférer un identifiant externe de l'établissement
     if ($tag_group_idex = CAppUI::conf("dPpatients CPatient tag_ipp_group_idex")) {
         $idex = new CIdSante400();
         $idex->loadLatestFor($group, $tag_group_idex);
         $group_id = $idex->id400;
     }
     return $cache->put(str_replace('$g', $group_id, $tag_ipp), false);
 }
예제 #3
0
 /**
  * Construit le tag NDA en fonction des variables de configuration
  *
  * @param int    $group_id Permet de charger le NDA pour un établissement donné si non null
  * @param string $type_tag Permet de spécifier le type de tag
  *
  * @return string|void
  */
 static function getTagNDA($group_id = null, $type_tag = "tag_dossier")
 {
     // Recherche de l'établissement
     $group = CGroups::get($group_id);
     if (!$group_id) {
         $group_id = $group->_id;
     }
     $cache = new Cache(__METHOD__, array($group_id, $type_tag), Cache::INNER);
     if ($cache->exists()) {
         return $cache->get();
     }
     // Gestion du tag NDA par son domaine d'identification
     if (CAppUI::conf("eai use_domain")) {
         $tag_NDA = CDomain::getMasterDomain("CSejour", $group_id)->tag;
         if ($type_tag != "tag_dossier") {
             $tag_NDA = CAppUI::conf("dPplanningOp CSejour {$type_tag}") . $tag_NDA;
         }
         return $cache->put($tag_NDA, false);
     }
     $tag_NDA = CAppUI::conf("dPplanningOp CSejour tag_dossier");
     if ($type_tag != "tag_dossier") {
         $tag_NDA = CAppUI::conf("dPplanningOp CSejour {$type_tag}") . $tag_NDA;
     }
     // Si on est dans le cas d'un établissement gérant la numérotation
     $group->loadConfigValues();
     if ($group->_configs["smp_idex_generator"]) {
         $tag_NDA = CAppUI::conf("smp tag_nda");
     }
     // Pas de tag Num dossier
     if (null == $tag_NDA) {
         return $cache->put(null, false);
     }
     // Préférer un identifiant externe de l'établissement
     if ($tag_group_idex = CAppUI::conf("dPplanningOp CSejour tag_dossier_group_idex")) {
         $idex = new CIdSante400();
         $idex->loadLatestFor($group, $tag_group_idex);
         $group_id = $idex->id400;
     }
     return $cache->put(str_replace('$g', $group_id, $tag_NDA), false);
 }
예제 #4
0
 /**
  * Get actor tag
  *
  * @param int $group_id Group
  *
  * @return string
  */
 function getTag($group_id = null)
 {
     // Recherche de l'établissement
     $group = CGroups::get($group_id);
     if (!$group_id) {
         $group_id = $group->_id;
     }
     $cache = new Cache(__METHOD__, array($group_id), Cache::INNER);
     if ($cache->exists()) {
         return $cache->get();
     }
     $ljoin["group_domain"] = "`group_domain`.`domain_id` = `domain`.`domain_id`";
     $where = array();
     $where["group_domain.group_id"] = " = '{$group_id}'";
     $where["domain.actor_class"] = " = '{$this->_class}'";
     $where["domain.actor_id"] = " = '{$this->_id}'";
     $domain = new CDomain();
     $domain->loadObject($where, null, null, $ljoin);
     return $cache->put($domain->tag, false);
 }
예제 #5
0
<?php

/**
 * $Id$
 *
 * @category Patients
 * @package  Mediboard
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version  $Revision$
 * @link     http://www.mediboard.org
 */
CCanDo::checkAdmin();
$group_id = CValue::get("group_id");
CStoredObject::$useObjectCache = false;
$backrefs_tree = array("CGroups" => array("functions", "blocs", "services", "secteurs"), "CFunctions" => array("users"), "CBlocOperatoire" => array("salles"), "CService" => array("chambres"), "CChambre" => array("lits"));
$fwdrefs_tree = array("CMediusers" => array("user_id"));
$group = CGroups::get($group_id);
$export = new CMbObjectExport($group, $backrefs_tree);
$export->empty_values = false;
$export->setForwardRefsTree($fwdrefs_tree);
$export->streamXML();