コード例 #1
0
 if (!$sejour->_NDA) {
     $nda = new CIdSante400();
     //Paramétrage de l'id 400
     $nda->object_class = "CSejour";
     $nda->object_id = $nda->_id;
     $nda->tag = $dest_hprim->_tag_sejour;
     $nda->loadMatchingObject();
     $sejour->_NDA = $nda->id400;
 }
 if (CAppUI::conf("sip send_sej_pa") && $sejour->_etat != "preadmission") {
     continue;
 }
 if (CAppUI::conf("sip sej_no_numdos") && $sejour->_NDA && $sejour->_NDA != "-") {
     continue;
 }
 $domEvenement = new CHPrimXMLVenuePatient();
 $domEvenement->emetteur = CAppUI::conf('mb_id');
 $domEvenement->destinataire = $dest_hprim->nom;
 $domEvenement->group_id = $dest_hprim->group_id;
 $messageEvtPatient = $domEvenement->generateTypeEvenement($sejour);
 $doc_valid = $domEvenement->schemaValidate();
 if (!$doc_valid) {
     $errors++;
     trigger_error("Création de l'événement séjour impossible.", E_USER_WARNING);
     CAppUI::stepAjax("Import de '{$sejour->_view}' échoué", UI_MSG_WARNING);
 }
 if ($sejour->_ref_patient->code_regime) {
     $domEvenement = new CHPrimXMLDebiteursVenue();
     $domEvenement->emetteur = CAppUI::conf('mb_id');
     $domEvenement->destinataire = $dest_hprim->nom;
     $domEvenement->group_id = $dest_hprim->group_id;
コード例 #2
0
 /**
  * Fusion and recording a stay with an num_dos in the system
  *
  * @param CHPrimXMLAcquittementsPatients $dom_acq    Acquittement
  * @param CPatient                       $newPatient Patient
  * @param array                          $data       Data
  *
  * @return string acquittement 
  **/
 function mouvementPatient(CHPrimXMLAcquittementsPatients $dom_acq, CPatient $newPatient, $data)
 {
     $echg_hprim = $this->_ref_echange_hprim;
     $sender = $echg_hprim->_ref_sender;
     $sender->loadConfigValues();
     $this->_ref_sender = $sender;
     // Traitement de la venue
     $newVenue = new CSejour();
     $domVenuePatient = new CHPrimXMLVenuePatient();
     $domVenuePatient->_ref_echange_hprim = $echg_hprim;
     $msgAcq = $domVenuePatient->venuePatient($dom_acq, $newPatient, $data, $newVenue);
     if ($echg_hprim->statut_acquittement != "OK") {
         return $msgAcq;
     }
     $dom_acq = new CHPrimXMLAcquittementsPatients();
     $dom_acq->_identifiant_acquitte = $data['identifiantMessage'];
     $dom_acq->_sous_type_evt = $this->sous_type;
     $dom_acq->_ref_echange_hprim = $echg_hprim;
     // Mapping venue - création impossible
     if (!$this->admitFound($newVenue, $data)) {
         return $echg_hprim->setAckError($dom_acq, "E014", null, $newVenue);
     }
     $codes = array();
     $avertissement = $comment = null;
     if (!CAppUI::conf("hprimxml mvtComplet") || CAppUI::conf('smp server')) {
         return $echg_hprim->setAck($dom_acq, $codes, $avertissement, $comment, $newVenue);
     }
     // Mapping des mouvements
     $msgMovement = $this->mappingMouvements($data['mouvements'], $newVenue);
     // Notifier les autres destinataires
     $newVenue->_eai_sender_guid = $sender->_guid;
     $newVenue->store();
     $codes = array($msgMovement ? "A301" : "I301");
     if ($msgMovement) {
         $avertissement = $msgMovement . " ";
     }
     $comment = CEAISejour::getComment($newVenue);
     return $echg_hprim->setAck($dom_acq, $codes, $avertissement, $comment, $newVenue);
 }