/** * Get doctor * * @param DOMNode $node Node * * @return int */ function getMedecin(DOMNode $node) { $xcn1 = $this->queryTextNode("XCN.1", $node); $xcn2 = $this->queryTextNode("XCN.2/FN.1", $node); $xcn3 = $this->queryTextNode("XCN.3", $node); $medecin = new CMedecin(); switch ($this->queryTextNode("XCN.13", $node)) { case "RPPS": $medecin->rpps = $xcn1; $medecin->loadMatchingObjectEsc(); break; case "ADELI": $medecin->adeli = $xcn1; $medecin->loadMatchingObjectEsc(); break; case "RI": // Gestion de l'identifiant MB if ($this->queryTextNode("XCN.9/CX.4/HD.2", $node) == CAppUI::conf("hl7 assigning_authority_universal_id")) { $medecin->load($xcn1); } default: } // Si pas retrouvé par son identifiant if (!$medecin->_id) { $medecin->nom = $xcn2; $medecin->prenom = $xcn3; $medecin->loadMatchingObjectEsc(); // Dans le cas où il n'est pas connu dans MB on le créé $medecin->store(); } return $medecin->_id; }
$result = json_decode($result, true); $result = $result["mks"]; $result = array_map_recursive("utf8_decode", $result); // Traitement des résultats de la page $continue = $step <= 999; $step++; $count += count($result); foreach ($result as $_result) { $medecin = new CMedecin(); $medecin->disciplines = "Kinésitherapeute"; $medecin->nom = $_result["nom"]; $medecin->prenom = $_result["prenom"]; $medecin->adresse = $_result["adresse"]; if ($_result["adresse_suite"] != "") { $medecin->adresse .= "\n" . $_result["adresse_suite"]; } $medecin->cp = $_result["zip"]; $medecin->ville = $_result["ville"]; $msg = $medecin->store(); if ($msg) { $errors++; CAppUI::stepAjax($msg . "\n" . "{$medecin->nom}, {$medecin->prenom} {$medecin->cp} {$medecin->ville}", UI_MSG_ERROR); } } } if ($errors == 0) { CAppUI::stepAjax("{$count}/{$count} kinés importés - Département {$departement}", UI_MSG_OK); } else { $sub = $count - $errors; CAppUI::stepAjax("{$sub}/{$count} kinés importés - Département {$departement}", UI_MSG_WARNING); }