function addPatientSQL($idimport, $table) { global $errs; global $news1; global $mods1; global $errs1; global $news2; global $mods2; global $errs2; // Récupération des informations sur le patient à créer. $param['cw'] = "WHERE idimport='{$idimport}'"; $req = new clResultQuery(); $res = $req->Execute("Fichier", "getImports", $param, "ResultQuery"); $i = 0; if ($res['uf'][$i] == '6004') { $base = 'terminal2_tuv2'; $news2++; } else { $base = BDD; $news1++; } if ($res['INDIC_SVC'][2]) { $ras = $req->Execute("Fichier", "getMaxIdToulon", $param, "ResultQuery"); $max = 1; for ($j = 0; isset($ras['idpatient'][$j]); $j++) { if ($ras['idpatient'][$j] > $max) { $max = $ras['idpatient'][$j]; } } $max++; $data['idpatient'] = $max; $data['idu'] = $res['idu'][$i]; $data['ilp'] = $res['ilp'][$i]; $data['nsej'] = $res['idpass'][$i]; $data['uf'] = $res['uf'][$i]; $data['nom'] = $res['nom'][$i]; $data['prenom'] = $res['prenom'][$i]; $data['sexe'] = $res['sexe'][$i]; $data['dt_naissance'] = $res['dt_naissance'][$i]; $data['adresse_libre'] = $res['adresse_libre'][$i]; $data['adresse_cp'] = $res['adresse_cp'][$i]; $data['adresse_ville'] = $res['adresse_ville'][$i]; $data['telephone'] = $res['telephone'][$i]; $data['prevenir'] = str_replace('^', '<br/>', $res['prevenir'][$i]); $data['medecin_traitant'] = $res['medecin_traitant'][$i]; $data['dt_admission'] = $res['dt_admission'][$i]; $data['mode_admission'] = $res['mode_admission'][$i]; $data['iduser'] = "******"; $data['manuel'] = 0; //newfct ( gen_affiche_tableau, $data ) ; // Calcul de la durée depuis lequel le patient est admis. $d1 = new clDate(); $d2 = new clDate($data['dt_admission']); $duree = new clDuree($d1->getDifference($d2)); $duree->invertNegatif(); // Appel de la classe Requete. $requete = new clRequete($base, $table, $data); // Exécution de la requete. $res = $requete->addRecord(); // Si le patient est admis depuis plus de 30 minutes, alors il est placé dans la table des sortis if ($duree->getMinutes() > 30) { $pat = new clPatient($res['cur_id'], '', $base); $pat->sortirPatient('simple'); } // Mise à jour de la date de traitement de l'import. $date = new clDate(); $data2['dt_traitement'] = $date->getDatetime(); // Appel de la classe Requete. $requete = new clRequete(BDD, IMPORTS, $data2); // Exécution de la requete. $requete->updRecord("idimport='{$idimport}'"); } else { // En cas d'erreur, on la signale... $errs->addErreur("clImportation : Impossible d'importer ce nouveau patient, l'identifiant de l'import est introuvable (idimport=\"{$idimport}\")."); $errs1++; $errs2++; } }
function addPatientHL7($data, $table, $base = BDD) { global $errs; global $options; // Calcul de la durée depuis lequel le patient est admis. $d1 = new clDate(); $d2 = new clDate($data['dt_admission']); $duree = new clDuree($d1->getDifference($d2)); $duree->invertNegatif(); // Procédure anti-fantôme : si aucun de ces champs n'est saisi, on ne fait pas l'ajout du patient. if ($data['nom'] or $data['prenom'] or $data['sexe'] or $data['ilp']) { // Appel de la classe Requete. $requete = new clRequete($base, $table, $data); // Exécution de la requete. $res = $requete->addRecord(); // eko ( "On ajoute un nouveau patient (nsej=$nsej)" ) ; // Si le patient est admis depuis plus de 30 minutes, alors il est placé dans la table des sortis if ($duree->getMinutes() > $options->getOption('ImportsBasculeSortis')) { $pat = new clPatient($res['cur_id'], '', $base); $pat->sortirPatient('simple'); } $this->news1++; } }