/** * Récupération des éléments Reponses de l'acquittement * * @return array */ function getAcquittementReponsesServeurActivitePmsi() { $xpath = new CHPrimXPath($this); $statut = $xpath->queryAttributNode("/hprim:a{$this->acquittement}/hprim:enteteMessage", null, "statut"); $query = "/hprim:{$this->evenement}/hprim:enteteMessageAcquittement"; $enteteMessageAcquittement = $xpath->queryUniqueNode($query); $observations = array(); if ($statut == "ok") { $d = array(); $observations[] =& $d; $observation = $xpath->queryUniqueNode("hprim:observation", $enteteMessageAcquittement); $d['code'] = chunk_split($xpath->queryTextNode("hprim:code", $observation, "", false), 4, ' '); $d['libelle'] = $xpath->queryTextNode("hprim:libelle", $observation, "", false); $d['commentaire'] = $xpath->queryTextNode("hprim:commentaire", $observation, "", false); } else { $query = "/hprim:{$this->evenements}/hprim:reponses/*"; $reponses = $xpath->query($query); foreach ($reponses as $_reponse) { $d = array(); $observation = $xpath->queryUniqueNode("hprim:observations/hprim:observation", $_reponse); $d['code'] = chunk_split($xpath->queryTextNode("hprim:code", $observation, "", false), 4, ' '); $d['libelle'] = $xpath->queryTextNode("hprim:libelle", $observation, "", false); $d['commentaire'] = $xpath->queryTextNode("hprim:commentaire", $observation, "", false); $observations[] = $d; } } return $observations; }
/** * 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(); } }
/** * Mapping des actes NGAP * * @param DOMNode $node Node * @param array $data Datas * * @return array */ function mappingActeNGAP(DOMNode $node, $data) { $xpath = new CHPrimXPath($node->ownerDocument); $acteNGAP = array(); $acteNGAP["code"] = $xpath->queryTextNode("hprim:lettreCle", $node); $acteNGAP["coefficient"] = $xpath->queryTextNode("hprim:coefficient", $node); $acteNGAP["quantite"] = $xpath->queryTextNode("hprim:quantite", $node); $acteNGAP["date"] = $xpath->queryTextNode("hprim:execute/hprim:date", $node); $acteNGAP["heure"] = $xpath->queryTextNode("hprim:execute/hprim:heure", $node); $acteNGAP["numero_dent"] = $xpath->queryTextNode("hprim:positionDentaire", $node); $acteNGAP["comment"] = $xpath->queryTextNode("hprim:commentaire", $node); $acteNGAP = array_merge($acteNGAP, $this->getMontant($node)); $minoration = $xpath->queryUniqueNode("hprim:minorMajor/hprim:minoration", $node); $acteNGAP["minor_pct"] = $xpath->queryTextNode("hprim:pourcentage", $minoration); $acteNGAP["minor_coef"] = $xpath->queryTextNode("hprim:coefficient", $minoration); $majoration = $xpath->queryUniqueNode("hprim:minorMajor/hprim:majoration", $node); $acteNGAP["major_pct"] = $xpath->queryTextNode("hprim:pourcentage", $majoration); $acteNGAP["major_coef"] = $xpath->queryTextNode("hprim:coefficient", $majoration); $acteNGAP["facturable"] = $xpath->queryAttributNode(".", $node, "facturable"); $acteNGAP["rapportExoneration"] = $xpath->queryAttributNode(".", $node, "rapportExoneration"); $acteNGAP["executionNuit"] = $xpath->queryAttributNode(".", $node, "executionNuit"); $acteNGAP["executionDimancheJourFerie"] = $xpath->queryAttributNode(".", $node, "executionDimancheJourFerie"); $medecin = $xpath->query("hprim:prestataire/hprim:medecins/hprim:medecin", $node); $mediuser_id = $this->getMedecin($medecin->item(0)); $idSourceActeNGAP = $this->getIdSource($node, false); $idCibleActeNGAP = $this->getIdCible($node, false); $action = $xpath->queryAttributNode(".", $node, "action"); return array("idSourceIntervention" => $data['idSourceIntervention'], "idCibleIntervention" => $data['idCibleIntervention'], "idSourceActeNGAP" => $idSourceActeNGAP, "idCibleActeNGAP" => $idCibleActeNGAP, "action" => $action, "acteNGAP" => $acteNGAP, "executant_id" => $mediuser_id); }
/** * Récupération des observations de l'acquittement patient * * @return array */ function getAcquittementObservationPatients() { $xpath = new CHPrimXPath($this); $statut = $xpath->queryAttributNode("/hprim:acquittementsPatients/hprim:enteteMessageAcquittement", null, "statut"); $query = "/hprim:acquittementsPatients/hprim:enteteMessageAcquittement"; $enteteMessageAcquittement = $xpath->queryUniqueNode($query); $observations = array(); if ($statut == "OK") { $d = array(); $observations[] =& $d; $observation = $xpath->queryUniqueNode("hprim:observation", $enteteMessageAcquittement); $d['code'] = chunk_split($xpath->queryTextNode("hprim:code", $observation, "", false), 4, ' '); $d['libelle'] = $xpath->queryTextNode("hprim:libelle", $observation, "", false); $d['commentaire'] = $xpath->queryTextNode("hprim:commentaire", $observation, "", false); } else { $query = "/hprim:acquittementsPatients/hprim:erreursAvertissements/*"; $erreursAvertissements = $xpath->query($query); foreach ($erreursAvertissements as $erreurAvertissement) { $d = array(); $observation = $xpath->queryUniqueNode("hprim:observations/hprim:observation", $erreurAvertissement); $d['code'] = chunk_split($xpath->queryTextNode("hprim:code", $observation, "", false), 4, ' '); $d['libelle'] = $xpath->queryTextNode("hprim:libelle", $observation, "", false); $d['commentaire'] = $xpath->queryTextNode("hprim:commentaire", $observation, "", false); $observations[] = $d; } } return $observations; }
function getTypeEvenementPatient() { $xpath = new CHPrimXPath($this); $evenementPatient = $xpath->query("/hprim:evenementsPatients/hprim:evenementPatient/*"); $type = null; $evenements = CHPrimXMLEventPatient::$evenements; foreach ($evenementPatient as $_evenementPatient) { if (array_key_exists($_evenementPatient->tagName, $evenements)) { $type = $_evenementPatient->tagName; } } return $type; }