Exemple #1
0
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++;
    }
}
Exemple #2
0
 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++;
     }
 }