/** * Mapping des actes CCAM * * @param DOMNode $node Node * @param array $data Datas * * @return array */ function mappingActeCCAM(DOMNode $node, $data) { $xpath = new CHPrimXPath($node->ownerDocument); $acteCCAM = array(); $acteCCAM["code_acte"] = $xpath->queryTextNode("hprim:codeActe", $node); $acteCCAM["code_activite"] = $xpath->queryTextNode("hprim:codeActivite", $node); $acteCCAM["code_phase"] = $xpath->queryTextNode("hprim:codePhase", $node); $acteCCAM["date"] = $xpath->queryTextNode("hprim:execute/hprim:date", $node); $acteCCAM["heure"] = $xpath->queryTextNode("hprim:execute/hprim:heure", $node); $acteCCAM["modificateur"] = array(); $modificateurs = $xpath->query("hprim:modificateurs/hprim:modificateur", $node); foreach ($modificateurs as $_modificateur) { if ($modificateur = $xpath->queryTextNode(".", $_modificateur)) { $acteCCAM["modificateur"][] = $modificateur; } } $acteCCAM["commentaire"] = $xpath->queryTextNode("hprim:commentaire", $node); $acteCCAM["signe"] = $xpath->queryAttributNode(".", $node, "signe"); $acteCCAM["facturable"] = $xpath->queryAttributNode(".", $node, "facturable"); $acteCCAM["rembourse"] = $xpath->queryAttributNode(".", $node, "remboursementExceptionnel"); $acteCCAM["charges_sup"] = $xpath->queryAttributNode(".", $node, "supplementCharges"); $acteCCAM = array_merge($acteCCAM, $this->getMontant($node)); $position_dentaire = $xpath->query("hprim:positionsDentaires/hprim:positionDentaire"); $acteCCAM["position_dentaire"] = array(); foreach ($position_dentaire as $_position_dentaire) { if ($dent = $xpath->queryTextNode(".", $_position_dentaire)) { $acteCCAM["position_dentaire"][] = $dent; } } $acteCCAM["code_association"] = $xpath->queryTextNode("hprim:codeAssociationNonPrevue", $node); $acteCCAM["code_extension"] = $xpath->queryTextNode("hprim:codeExtensionDocumentaire", $node); $acteCCAM["rapport_exoneration"] = $xpath->queryAttributNode(".", $node, "rapportExoneration"); $idSourceActesCCAM = $this->getIdSource($node, false); $idCibleActesCCAM = $this->getIdCible($node, false); $medecin = $xpath->queryUniqueNode("hprim:executant/hprim:medecins/hprim:medecinExecutant[@principal='oui']/hprim:medecin", $node); //si pas de medecin principal, on recherche le premier médecin exécutant if (!$medecin) { $medecin = $xpath->getNode("hprim:executant/hprim:medecins/hprim:medecinExecutant/hprim:medecin", $node); } $mediuser_id = $this->getMedecin($medecin); $action = $xpath->queryAttributNode(".", $node, "action"); return array("idSourceIntervention" => $data['idSourceIntervention'], "idCibleIntervention" => $data['idCibleIntervention'], "idSourceActeCCAM" => $idSourceActesCCAM, "idCibleActeCCAM" => $idCibleActesCCAM, "action" => $action, "acteCCAM" => $acteCCAM, "executant_id" => $mediuser_id); }