Exemplo n.º 1
0
 /**
  * Initialize the class specifications
  *
  * @return CMbFieldSpec
  */
 function getSpec()
 {
     $spec = parent::getSpec();
     $spec->table = "sender_sftp";
     $spec->key = "sender_sftp_id";
     return $spec;
 }
Exemplo n.º 2
0
 /**
  * Get backward reference specifications
  * 
  * @return array
  */
 function getBackProps()
 {
     $backProps = parent::getBackProps();
     $backProps["exchange_dicom"] = "CExchangeDicom sender_id";
     $backProps["session_dicom"] = "CDicomSession sender_id";
     $backProps['config'] = 'CDicomConfig sender_id';
     return $backProps;
 }
 function getBackProps()
 {
     $backProps = parent::getBackProps();
     $backProps["expediteur_hprimxml"] = "CEchangeHprim sender_id";
     $backProps["expediteur_hprimsante"] = "CExchangeHprimSante sender_id";
     $backProps["expediteur_hprim21"] = "CEchangeHprim21 sender_id";
     $backProps["expediteur_hl7v2"] = "CExchangeHL7v2 sender_id";
     $backProps["expediteur_hl7v3"] = "CExchangeHL7v3 sender_id";
     $backProps["expediteur_dmp"] = "CExchangeDMP sender_id";
     $backProps["expediteur_phast"] = "CExchangePhast sender_id";
     $backProps["expediteur_any"] = "CExchangeAny sender_id";
     $backProps["expediteur_mvsante"] = "CExchangeMVSante sender_id";
     $backProps["config_hprimsante"] = "CHPrimSanteConfig sender_id";
     $backProps["config_hprimxml"] = "CHprimXMLConfig sender_id";
     $backProps["config_hl7"] = "CHL7Config sender_id";
     $backProps["config_mvsante"] = "CMVSanteXMLConfig sender_id";
     return $backProps;
 }
Exemplo n.º 4
0
 /**
  * @see parent::store()
  */
 function store()
 {
     if ($msg = parent::store()) {
         return $msg;
     }
     if ($this->_duplicate) {
         $duplicate = new self();
         foreach ($this->getProperties() as $name => $value) {
             if ($name[0] !== "_" && $name != $this->_spec->key) {
                 $duplicate->{$name} = $value;
             }
         }
         $duplicate->nom .= " (Copy)";
         if ($duplicate->libelle) {
             $duplicate->libelle .= " (Copy)";
         }
         $duplicate->store();
     }
     $this->_duplicate = null;
 }
Exemplo n.º 5
0
 /**
  * Recording NDA
  * 
  * @param CIdSante400    $NDA    Object id400
  * @param CSejour        $sejour Admit
  * @param CInteropSender $sender Sender
  * 
  * @return null|string null if successful otherwise returns and error message
  */
 static function storeNDA(CIdSante400 $NDA, CSejour $sejour, CInteropSender $sender)
 {
     /* Gestion du numéroteur */
     $group = new CGroups();
     $group->load($sender->group_id);
     $group->loadConfigValues();
     // Purge du NDA existant sur le séjour et on le remplace par le nouveau
     if ($sender->_configs["purge_idex_movements"]) {
         // On charge le NDA courant du séjour
         $sejour->loadNDA($sender->group_id);
         $ref_NDA = $sejour->_ref_NDA;
         if ($ref_NDA) {
             // Si le NDA actuel est identique à celui qu'on reçoit on ne fait rien
             if ($ref_NDA->id400 == $NDA->id400) {
                 return;
             }
             // On passe le NDA courant en trash
             $ref_NDA->tag = CAppUI::conf("dPplanningOp CSejour tag_dossier_trash") . $ref_NDA->tag;
             $ref_NDA->_eai_sender_guid = $sender->_guid;
             $ref_NDA->store();
         }
         // On sauvegarde le nouveau
         $NDA->tag = $sender->_tag_sejour;
         $NDA->object_class = "CSejour";
         $NDA->object_id = $sejour->_id;
         $NDA->last_update = CMbDT::dateTime();
         $NDA->_eai_sender_guid = $sender->_guid;
         return $NDA->store();
     }
     // Génération du NDA ?
     // Non
     if (!$group->_configs["smp_idex_generator"]) {
         if (!$NDA->id400) {
             return null;
         }
         if ($sejour) {
             $NDA->object_id = $sejour->_id;
         }
         $NDA->last_update = CMbDT::dateTime();
         $NDA->_eai_sender_guid = $sender->_guid;
         return $NDA->store();
     } else {
         $NDA_temp = CIdSante400::getMatch("CSejour", $sender->_tag_sejour, null, $sejour->_id);
         if ($NDA_temp->_id) {
             return;
         }
         // Pas de NDA passé
         if (!$NDA->id400) {
             if (!CIncrementer::generateIdex($sejour, $sender->_tag_sejour, $sender->group_id)) {
                 return CAppUI::tr("CEAISejour-error-generate-idex");
             }
             return null;
         } else {
             $incrementer = $sender->loadRefGroup()->loadDomainSupplier("CSejour");
             if ($incrementer && $NDA->id400 < $incrementer->range_min || $NDA->id400 > $incrementer->range_max) {
                 return CAppUI::tr("CEAISejour-idex-not-in-the-range");
             }
             $NDA->object_id = $sejour->_id;
             $NDA->last_update = CMbDT::dateTime();
             $NDA->_eai_sender_guid = $sender->_guid;
             return $NDA->store();
         }
     }
 }
Exemplo n.º 6
0
 /**
  * Get objects
  * 
  * @return array CInteropReceiver/CInteropSender collection
  */
 function getObjects()
 {
     $receiver = new CInteropReceiver();
     $sender = new CInteropSender();
     return array("CInteropReceiver" => $receiver->getObjects(), "CInteropSender" => $sender->getObjects());
 }
Exemplo n.º 7
0
 /**
  * Recording RI sender
  *
  * @param string         $RI_sender Idex value
  * @param CPatient       $patient   Patient
  * @param CInteropSender $sender    Sender
  *
  * @return null|string null if successful otherwise returns and error message
  */
 static function storeRISender($RI_sender, CPatient $patient, CInteropSender $sender)
 {
     $domain = $sender->loadRefDomain();
     $idex = new CIdSante400();
     $idex->object_class = "CPatient";
     $idex->object_id = $patient->_id;
     $idex->tag = $domain->tag;
     $idex->id400 = $RI_sender;
     return $idex->store();
 }