コード例 #1
0
 /**
  * Sauvegarde des INSC
  *
  * @param CPatient $patient Patient
  * @param DOMNode  $node    Elément NumeroIdentifiantSante
  *
  * @return void
  */
 function storeINSC(CPatient $patient, DOMNode $node)
 {
     $xpath = new CHPrimXPath($node->ownerDocument);
     $list_insc = $xpath->query("insC", $node);
     $insc = new CINSPatient();
     $insc->type = "C";
     $insc->patient_id = $patient->_id;
     foreach ($list_insc as $_insc) {
         $ins = $xpath->queryTextNode("valeur", $_insc);
         $date = $xpath->queryTextNode("dateEffet", $_insc);
         if (!$ins) {
             continue;
         }
         $insc->ins_patient_id = null;
         $insc->date = null;
         $insc->provider = null;
         $insc->ins = $ins;
         $insc->loadMatchingObject();
         if ($insc->date < $date) {
             $insc->date = $date;
             $insc->provider = $this->_ref_sender->nom;
         }
         $insc->store();
     }
 }
コード例 #2
0
 /**
  * Récupère les INS du patient
  *
  * @param DOMNode  $node    PID3
  * @param CPatient $patient Patient
  *
  * @return void
  */
 function getINS(DOMNode $node, CPatient $patient)
 {
     if (!$patient->_id) {
         return;
     }
     $list_ins = $this->query("PID.3[CX.5[text() = 'INS-C' or text() = 'INS-A']]", $node);
     $ins = new CINSPatient();
     $ins->patient_id = $patient->_id;
     foreach ($list_ins as $_ins) {
         $ins->ins_patient_id = null;
         $ins->date = null;
         $ins->provider = null;
         $valeur = $this->queryTextNode("CX.1", $_ins);
         $date = $this->queryTextNode("CX.7", $_ins);
         $type = $this->queryTextNode("CX.5", $_ins);
         if (!$valeur) {
             continue;
         }
         $type = substr($type, -1);
         $ins->ins = $valeur;
         $ins->type = $type;
         $ins->loadMatchingObject();
         if ($date && $ins->date < $date) {
             $ins->date = CMbDT::dateTime($date);
             $ins->provider = $this->_ref_sender->nom;
         }
         $ins->store();
     }
 }