예제 #1
0
 function genFusion()
 {
     global $errs;
     global $options;
     global $session;
     global $fusion;
     global $table_patient_manuel;
     global $table_patient_automatique;
     $auto = $session->getNavi(5);
     $tabauto = $session->getNavi(6);
     $manu = $session->getNavi(3);
     $tabmanu = $session->getNavi(4);
     if ($auto and $tabauto and $manu and $tabmanu) {
         // En fonction de son état (Presents ou Sortis), on en déduit sa table.
         //$param['table'] = $tabauto ;
         $param['table'] = PSORTIS;
         $param['cw'] = "WHERE idpatient='" . $auto . "'";
         // Lancement de la requête pour récupérer toutes ses informations.
         $req = new clResultQuery();
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         //print affTab ( $res['INDIC_SVC'] ) ;
         $table_patient_automatique = $param['table'];
         // On vérifie que le patient automatique existe.
         if ($res['INDIC_SVC'][2] < 1) {
             $param['table'] = PPRESENTS;
             $param['cw'] = "WHERE idpatient='" . $auto . "'";
             // Lancement de la requête pour récupérer toutes ses informations.
             $req = new clResultQuery();
             $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
             //print affTab ( $res['INDIC_SVC'] ) ;
             $table_patient_automatique = $param['table'];
         }
         // On récupère l'idpatient et la table actuelle du patient manuel sélectionné.
         $param2['table'] = PSORTIS;
         $param2['cw'] = "WHERE idpatient='" . $manu . "'";
         // Lancement de la requête pour récupérer toutes ses informations.
         $req2 = new clResultQuery();
         $ras = $req2->Execute("Fichier", "getPatients", $param2, "ResultQuery");
         //print affTab ( $ras['INDIC_SVC'] ) ;
         $table_patient_manuel = $param2['table'];
         if ($ras['INDIC_SVC'][2] < 1) {
             // On récupère l'idpatient et la table actuelle du patient manuel sélectionné.
             $param2['table'] = PPRESENTS;
             $param2['cw'] = "WHERE idpatient='" . $manu . "'";
             // Lancement de la requête pour récupérer toutes ses informations.
             $req2 = new clResultQuery();
             $ras = $req2->Execute("Fichier", "getPatients", $param2, "ResultQuery");
             //print affTab ( $ras['INDIC_SVC'] ) ;
             $table_patient_manuel = $param2['table'];
         }
         // On vérifie que le patient automatique existe.
         if ($res['INDIC_SVC'][2] < 1) {
             $this->erreurs .= "Le patient automatique (idpatient=\"{$auto}\") est introuvable dans la table des patients {$tabauto}. Problème signalé.";
             $errs->addErreur("clFusion : Le patient automatique (idpatient=\"{$auto}\") est introuvable dans la table des patients {$tabauto}.");
             // On vérifie que le patient manuel existe.
         } elseif ($ras['INDIC_SVC'][2] < 1) {
             $this->erreurs .= "Le patient manuel (idpatient=\"{$manu}\") est introuvable dans la table des patients {$tabmanu}. Problème signalé.";
             $errs->addErreur("clFusion : Le patient manuel (idpatient=\$manu\") est introuvable dans la table des patients {$tabmanu}.");
         } else {
             $data['idu'] = $res['idu'][0];
             $data['ilp'] = $res['ilp'][0];
             $data['nsej'] = $res['nsej'][0];
             $data['uf'] = $res['uf'][0];
             $data['nom'] = $res['nom'][0];
             $data['prenom'] = $res['prenom'][0];
             $data['sexe'] = $res['sexe'][0];
             $data['dt_naissance'] = $res['dt_naissance'][0];
             $data['adresse_libre'] = $res['adresse_libre'][0];
             $data['adresse_cp'] = $res['adresse_cp'][0];
             $data['adresse_ville'] = $res['adresse_ville'][0];
             $data['telephone'] = $res['telephone'][0];
             $data['prevenir'] = $res['prevenir'][0];
             $data['medecin_traitant'] = $res['medecin_nom'][0];
             $data['dt_admission'] = $res['dt_admission'][0];
             if ($res['mode_admission'][0]) {
                 $data['mode_admission'] = $res['mode_admission'][0];
             }
             $data['iduser'] = "******";
             $data['manuel'] = 0;
             // Appel de la classe Requete.
             $requete = new clRequete(BDD, $param2['table'], $data);
             // Exécution de la requete.
             $requete->updRecord("idpatient='" . $manu . "'");
             // Appel de la classe Requete.
             $requete = new clRequete(BDD, $param['table']);
             // Exécution de la requete.
             $requete->delRecord("idpatient='" . $auto . "'");
             $this->infos .= "Fusion du patient (" . $res['sexe'][0] . ") " . ucfirst(strtolower($res['prenom'][0])) . " " . strtoupper($res['nom'][0]) . " effectuée.<br />";
             // Mise à jour de la table radios
             $dataf['idpatient'] = $ras['idpatient'][0];
             $requete = new clRequete(BDD, 'radios', $dataf);
             // Exécution de la requete.
             $requete->updRecord("idpatient='" . $res['idpatient'][0] . "'");
             unset($dataf);
             // Mise à jour de la table formx : FX_BDD
             $dataf['ids'] = $res['idu'][0];
             $requete = new clRequete(FX_BDD, 'formx', $dataf);
             // Exécution de la requete.
             $requete->updRecord("ids='" . $ras['idu'][0] . "'");
             $requete = new clRequete(FX_BDD, 'formx_globvars', $dataf);
             // Exécution de la requete.
             $requete->updRecord("ids='" . $ras['idu'][0] . "'");
             if ($options->getOption("Module_CCAM")) {
                 $fusion = 1;
                 $ccam = new clCCAMCotationActesDiags(array());
                 $ccam->writeBALall(array($auto, $manu));
             }
         }
     }
 }
예제 #2
0
파일: clFusions.php 프로젝트: jeromecc/tuv2
 function genFusion()
 {
     global $errs;
     global $options;
     global $fusion;
     global $table_patient_manuel;
     global $table_patient_automatique;
     // On vérifie qu'un patient manuel et un patient automatique ont bien été sélectionné.
     if (!$_POST['manuel'] or !$_POST['automatique']) {
         // Affichage d'un message d'erreur si ce n'est pas bon.
         $this->erreurs .= "Deux patients doivent être sélectionnés pour lancer le processus de fusion des patients.";
     } else {
         // On récupère l'idpatient et la table actuelle du patient automatique sélectionné.
         $auto = explode("|", $_POST['automatique']);
         // En fonction de son état (Presents ou Sortis), on en déduit sa table.
         if ($auto[1] == "Presents") {
             $param['table'] = PPRESENTS;
         } else {
             $param['table'] = PSORTIS;
         }
         $param['cw'] = "WHERE idpatient='" . $auto[0] . "'";
         // Lancement de la requête pour récupérer toutes ses informations.
         $req = new clResultQuery();
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         $table_patient_automatique = $param['table'];
         // On récupère l'idpatient et la table actuelle du patient manuel sélectionné.
         $manu = explode("|", $_POST['manuel']);
         // En fonction de son état (Presents ou Sortis), on en déduit sa table.
         if ($manu[1] == "Presents") {
             $param2['table'] = PPRESENTS;
         } else {
             $param2['table'] = PSORTIS;
         }
         $param2['cw'] = "WHERE idpatient='" . $manu[0] . "'";
         // Lancement de la requête pour récupérer toutes ses informations.
         $req2 = new clResultQuery();
         $ras = $req2->Execute("Fichier", "getPatients", $param2, "ResultQuery");
         $table_patient_manuel = $param2['table'];
         // On vérifie que le patient automatique existe.
         if ($res['INDIC_SVC'][2] < 1) {
             $this->erreurs .= "Le patient automatique (idpatient=\"" . $_POST['automatique'] . "\") est introuvable dans la table des patients " . $auto[1] . ". Problème signalé.";
             $errs->addErreur("clFusion : Le patient automatique (idpatient=\"" . $_POST['automatique'] . "\") est introuvable dans la table des patients " . $auto[1] . ".");
             // On vérifie que le patient manuel existe.
         } elseif ($ras['INDIC_SVC'][2] < 1) {
             $this->erreurs .= "Le patient manuel (idpatient=\"" . $manu[0] . "\") est introuvable dans la table des patients " . $manu[1] . ". Problème signalé.";
             $errs->addErreur("clFusion : Le patient manuel (idpatient=\"" . $manu[0] . "\") est introuvable dans la table des patients " . $manu[1] . ".");
         } else {
             $data['idu'] = $res['idu'][0];
             $data['ilp'] = $res['ilp'][0];
             $data['nsej'] = $res['nsej'][0];
             $data['uf'] = $res['uf'][0];
             $data['nom'] = $res['nom'][0];
             $data['prenom'] = $res['prenom'][0];
             $data['sexe'] = $res['sexe'][0];
             $data['dt_naissance'] = $res['dt_naissance'][0];
             $data['adresse_libre'] = $res['adresse_libre'][0];
             $data['adresse_cp'] = $res['adresse_cp'][0];
             $data['adresse_ville'] = $res['adresse_ville'][0];
             $data['telephone'] = $res['telephone'][0];
             $data['prevenir'] = $res['prevenir'][0];
             $data['medecin_traitant'] = $res['medecin_nom'][0];
             $data['dt_admission'] = $res['dt_admission'][0];
             if ($res['mode_admission'][0]) {
                 $data['mode_admission'] = $res['mode_admission'][0];
             }
             $data['iduser'] = "******";
             $data['manuel'] = 0;
             // Appel de la classe Requete.
             $requete = new clRequete(BDD, $param2['table'], $data);
             // Exécution de la requete.
             $requete->updRecord("idpatient='" . $manu[0] . "'");
             // Appel de la classe Requete.
             $requete = new clRequete(BDD, $param['table']);
             // Exécution de la requete.
             $requete->delRecord("idpatient='" . $auto[0] . "'");
             $this->infos .= "Fusion du patient (" . $res['sexe'][0] . ") " . ucfirst(strtolower($res['prenom'][0])) . " " . strtoupper($res['nom'][0]) . " effectuée.<br />";
             if ($options->getOption("Module_CCAM")) {
                 $fusion = 1;
                 $ccam = new clCCAMCotationActesDiags(array());
                 $ccam->writeBALall(array($auto[0], $manu[0]));
             }
         }
     }
 }