示例#1
0
function sortie_carpentras(clPatient $patient)
{
    //suppression des instances de formulaires
    $res = clFoRmXtOoLs::ListFromIds($patient->getIDU());
    if (is_array($res) && $res['INDIC_SVC'][2] > 0) {
        for ($i = 0; $i < $res['INDIC_SVC'][2]; $i++) {
            //formulaires à effacer
            if (in_array($res['idformx'][$i], array('CHC_Fiche_Administrative', 'CHC_Fiche_Examen_Medical', 'CHC_Fiche_IAO-IDE', 'CHC_Fiche_Suivi'))) {
                //mettre ici les id de formulaires à effacer
                $idInstance = $res['id_instance'][$i];
                formxTools::simpleRemoveInstance($idInstance);
            }
            //formulaires à cloturer
            if (in_array($res['idformx'][$i], array('CHC_Synthese'))) {
                //mettre ici les id de formulaires à effacer
                $idInstance = $res['id_instance'][$i];
                $formx = new clFoRmX_manip($patient->getIDU(), 'NO_POST_THREAT');
                $formx->loadInstance($idInstance);
                $formx->close();
            }
        }
    }
    //suppression des variables globales
    $tabVariables = array('Fiche_Administrative_Rep_Legal', 'ALD', 'Fiche_Administrative_Pansement', 'Fiche_Administrative_Non_Venu', 'Fiche_Administrative_Orientation', 'Fiche_Administrative_Etablissement', 'Fiche_Administrative_Documents', 'Fiche_Administrative_AT', 'Fiche_Administrative_date_AT', 'Fiche_Administrative_heure_AT', 'Fiche_Administrative_minute_AT', 'IDE_CTE_ARRIVEE', 'DATE_CTE_ARRIVEE', 'HEURE_CTE_ARRIVEE', 'PA_BG_CTE_ARRIVEE', 'PA_BD_CTE_ARRIVEE', 'FC_CTE_ARRIVEE', 'TEMP_CTE_ARRIVEE', 'HB_CTE_ARRIVEE', 'SAO2_CTE_ARRIVEE', 'DEXTRO_CTE_ARRIVEE', 'EVA_CTE_ARRIVEE', 'FR_CTE_ARRIVEE', 'ACTES_CTE_ARRIVEE', 'Fiche_IAO_Nom_IDE', 'Fiche_IAO_Jour_Consultation', 'Fiche_IAO_Heure_Consultation', 'Fiche_IAO_Accompagnant', 'Fiche_IAO_qui', 'Fiche_IAO_lettre_medecin', 'Fiche_IAO_ordonnance', 'Fiche_IAO_Traitement', 'Fiche_IAO_VAT', 'Fiche_IAO_Tetanos', 'Fiche_IAO_Bandelette_Urinaire', 'IAO_Glucose', 'IAO_Acetone', 'IAO_Sang', 'IAO_PH', 'IAO_Proteine', 'IAO_Nitrite', 'IAO_Leuco', 'Fiche_IAO_Actes', 'DATE_EXAM', 'HEURE_EXAM', 'ACTES_CTE_ARRIVEE', 'ATCD', 'ALLERGIES', 'TRAITEMENTS', 'OBSERVATIONS_MEDICALES');
    $obGlobals = formxTools::globalsLoad($patient->getIDU());
    foreach ($tabVariables as $variable) {
        $obGlobals->del($variable);
    }
    $obGlobals->save();
}
示例#2
0
function contraintes_carpentras(clPatient $obPatient)
{
    //on parcourt les formulaires fusions carpentras jusqu'à en trouver un avec le  IDPASS en cours
    foreach (formxTools::peerGetFromIdIdu('CHC_Synthese', $obPatient->getIDU()) as $formx) {
        if ($formx->getFormVar('Val_IDENT_NSEJPatient') == $obPatient->getNSej()) {
            return array('isContrainte' => false);
        }
    }
    return array('isContrainte' => true, 'titreContrainte' => "Formulaire Synthèse", 'messageContrainte' => "Vous devez créer un formulaire de synthèse.");
}
示例#3
0
/**
 * contrainte sur les diagnostics interdits
 * @param clPatient $obPatient
 * @return array
 */
function contraintes_dp_cim10(clPatient $obPatient)
{
    //le patient est il hospitalisé ou UHCD ?
    if ($obPatient->isInUHCD() || $obPatient->isHospitalise()) {
        $codeDiagPpal = $obPatient->getCodeDiagnostic();
        $libDiagPpal = $obPatient->getLibelleDiagnostic();
        //on récupère les diags interdits
        $obRequete = new clRequete(CCAM_BDD, 'codescim10interdits');
        $tabDiagsIntedits = $obRequete->exec_requete("SELECT * FROM codescim10interdits ", 'tab');
        foreach ($tabDiagsIntedits as $tabInfoDiag) {
            if ($tabInfoDiag['code'] == $codeDiagPpal) {
                return array('isContrainte' => true, 'titreContrainte' => "Diagnostic Interdit", 'messageContrainte' => "Le diag principal {$codeDiagPpal} {$libDiagPpal} est interdit en cas d'hospitalisation ou d'UHCD ");
            }
        }
    }
    return array('isContrainte' => false);
}
示例#4
0
function sortie_carpentras(clPatient $patient)
{
    //suppression des instances de formulaires
    $res = clFoRmXtOoLs::ListFromIds($patient->getIDU());
    if (is_array($res) && $res['INDIC_SVC'][2] > 0) {
        for ($i = 0; $i < $res['INDIC_SVC'][2]; $i++) {
            if (in_array($res['idformx'][$i], array('tutorial', 'bachibouzouk', 'arrosoir'))) {
                //mettre ici les id de formulaires à effacer
                $idInstance = $res['id_instance'][$i];
                formxTools::simpleRemoveInstance($idInstance);
            }
        }
    }
    //suppression des variables globales
    $pGlobals = formxTools::globalsLoad($patient->getIDU());
    formxTools::globalsDelVar($pGlobals, 'pipou');
    formxTools::globalsDelVar($pGlobals, 'pipoux');
    formxTools::globalsDelVar($pGlobals, 'papux');
    formxTools::globalsDelVar($pGlobals, 'gnafouix');
    formxTools::globalsSave($pGlobals);
}
示例#5
0
 function genListe($res)
 {
     // Chargement du template ModeliXe.
     $mod = new ModeliXe("recherchePatients.html");
     $mod->SetModeliXe();
     for ($i = 0; isset($res['idpatient'][$i]) and $i < 29; $i++) {
         $dateN = new clDate($res['dt_naissance'][$i]);
         $mod->MxText("patient.ib", clPatient::genInfoBulle($res, $i) . " onClick=\"document.forms.creationPatient.nom.value='" . $res['nom'][$i] . "';" . "document.forms.creationPatient.prenom.value='" . $res['prenom'][$i] . "';" . "document.forms.creationPatient.sexe.value='" . $res['sexe'][$i] . "';" . "document.forms.creationPatient.naissance.value='" . $dateN->getDate("d/m/Y") . "';" . "document.forms.creationPatient.adresse.value='" . $res['adresse_libre'][$i] . "';" . "document.forms.creationPatient.cp.value='" . $res['adresse_cp'][$i] . "';" . "document.forms.creationPatient.ville.value='" . $res['adresse_ville'][$i] . "';" . "document.forms.creationPatient.telephone.value='" . $res['telephone'][$i] . "';" . "" . "" . "\"");
         $mod->MxText("patient.nom", $res['nom'][$i]);
         $mod->MxText("patient.prenom", $res['prenom'][$i]);
         $mod->MxText("patient.naissance", $dateN->getDate('d/m/Y'));
         if (strlen($res['adresse_libre'][$i]) > 46) {
             $trr = '...';
         } else {
             $trr = '';
         }
         $mod->MxText("patient.adresse", substr($res['adresse_libre'][$i], 0, 46) . $trr);
         $mod->MxBloc("patient", "loop");
     }
     $this->af .= $mod->MxWrite("1");
 }
示例#6
0
 public static function genTabinfoIdPassage($idPassage)
 {
     $patient = clPatient::getObjPatientFromIdPassage($idPassage);
     if ($patient) {
         $ret = $patient->getMiniExport();
     } else {
         $ret = array();
         $ret['sexe'] = '';
         $ret['date_naissance'] = '';
         $ret['provenance'] = '';
         $ret['adresseur'] = '';
         $ret['mode_arrivee'] = '';
         $ret['date_admission'] = '';
         $ret['DateExamen'] = '';
         $ret['CodeDiagnostic'] = '';
         $ret['TypeDestAttendue'] = '';
         $ret['mode_admission'] = 'patient_supprime';
         $ret['DateSortie'] = '';
     }
     return $ret;
 }
示例#7
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++;
    }
}
示例#8
0
 function genPat($idpatient)
 {
     global $session;
     global $options;
     // Si un idpatient est tranmis, alors on récupère ses informations
     // à l'aide de la classe Patient.
     if ($idpatient) {
         //concerne la recuperation d'une instance de la classe FoRmX gerant les actions
         if ($options->getOption("use_formx")) {
             global $actions;
             $actions = new clFoRmX($idpatient, 'NO_POST_THREAT');
         }
         $patient = new clPatient($idpatient, $session->getNavi(5));
         $pat[NMA] = $patient->getNom();
         $pat[PRE] = $patient->getPrenom();
         $pat[DNA] = $patient->getDateNaissance();
         $pat[SEX] = $patient->getSexe();
         $date = new clDate($patient->getDateAdmission());
         $pat[DTA] = $date->getDate($options->getOption("Documents Date"));
         $pat[HEA] = $date->getDate("H:i");
         $pat[MED] = $patient->getMedecin();
         $pat[DHS] = $patient->getDateSortie();
         $pat[DHE] = $patient->getDateExamen();
         // Sinon, nous renseignons avec les valeurs par défaut.
     } else {
         $pat[NMA] = "Bon";
         $pat[PRE] = "Jean";
         $date = new clDate("1981-12-24 22:30:00");
         $pat[DNA] = $date->getDate($options->getOption("Documents Date"));
         $pat[SEX] = "1";
         $date = new clDate();
         $pat[DTA] = $date->getDate($options->getOption("Documents Date"));
         $pat[HEA] = $date->getDate("H:i");
         $pat[MED] = "Testeur";
         $pat[DHS] = $date->getDate($options->getOption("Documents Date"));
         $pat[DHE] = $date->getDate($options->getOption("Documents Date"));
     }
     // On renvoie le tableau généré.
     return $pat;
 }
示例#9
0
文件: clHL7.php 项目: jeromecc/tuv2
 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++;
     }
 }
示例#10
0
 function getPatientsAutomatiques()
 {
     // On cherche dans la table des présents tous les patients entrés automatiquement.
     $param['table'] = PPRESENTS;
     $param['cw'] = "WHERE manuel='0' " . $this->filtre . " ORDER BY nom";
     $req = new clResultQuery();
     $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
     //newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ;
     // On parcourt les patients trouvés.
     for ($i = 0; isset($res['idpatient'][$i]); $i++) {
         // Ajout du patient au tableau.
         $identifiant = $res['idpatient'][$i] . "|Presents\" " . clPatient::genInfoBulle($res, $i);
         if ($res['sexe'][$i] != "M") {
             $e = "e";
         } else {
             $e = '';
         }
         $tab[$identifiant] = "(" . $res['sexe'][$i] . ") " . ucfirst(strtolower($res['prenom'][$i])) . " " . strtoupper($res['nom'][$i]) . " (Présent{$e})";
     }
     // On cherche dans la table des sortis tous les patients entrés automatiquement.
     $param['table'] = PSORTIS;
     $param['cw'] = "WHERE manuel='0' " . $this->filtre . " ORDER BY nom";
     $req = new clResultQuery();
     $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
     //newfct ( gen_affiche_tableau, $res[INDIC_SVC] ) ;
     // On parcourt les patients trouvés.
     for ($i = 0; isset($res['idpatient'][$i]); $i++) {
         // Ajout du patient au tableau.
         $identifiant = $res['idpatient'][$i] . "|Sortis\" " . clPatient::genInfoBulle($res, $i);
         if ($res['sexe'][$i] != "M") {
             $e = "e";
         } else {
             $e = '';
         }
         $tab[$identifiant] = "(" . $res['sexe'][$i] . ") " . ucfirst(strtolower($res['prenom'][$i])) . " " . strtoupper($res['nom'][$i]) . " (Sorti{$e})";
     }
     // On fait en sorte de retourner un tableau.
     if (is_array($tab)) {
         return $tab;
     } else {
         return array();
     }
 }
示例#11
0
 function hasRegExp(clPatient $patient)
 {
     $val = $patient->getInformation((string) $this->getAttributeCond('item'));
     $reg = (string) $this->getSxDef();
     if ($val and ereg($reg, $val)) {
         return true;
     }
     return false;
 }
 function writeBALall($tabIdPatient)
 {
     global $fusion;
     global $table_patient_manuel;
     global $table_patient_automatique;
     //newfct(gen_affiche_tableau,$tabIdPatient);
     for ($ind = 0; $ind <= 1; $ind++) {
         if ($ind == 0) {
             //controleActesPresents
             $this->controleActesPresents($tabIdPatient[$ind + 1]);
             //
             unset($paramRq);
             $paramRq[cw] = "idEvent=" . $tabIdPatient[$ind + 1] . " and idDomaine=" . CCAM_IDDOMAINE;
             $req = new clResultQuery();
             $res = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $paramRq, "ResultQuery");
             $dateDemande = $res["dateDemande"][0];
             //eko($res);
             // Mise à jour des données de $tabIdPatient[$ind]
             // Prendre le nom du medecin et son code ADELI de $tabIdPatient[$ind+1]
             // On prend le nom du medecin du patient
             $param[cw] = "WHERE idpatient='" . $tabIdPatient[$ind + 1] . "'";
             $param[table] = $table_patient_manuel;
             $req = new clResultQuery();
             $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
             // On prend le numero ADELI
             unset($param);
             $param[nomitem] = $res["medecin_urgences"][0];
             $req = new clResultQuery();
             $res2 = $req->Execute("Fichier", "getMatriculeMedecin", $param, "ResultQuery");
             $Medecin_urgences = $res["medecin_urgences"][0];
             $Matricule = $res2["matricule"][0];
             // Mise à jour de la fiche patient $tabIdPatient[$ind] seulement pour l'acte ATU
             $paramModif["envoi_nomIntervenant"] = $Medecin_urgences;
             $paramModif["envoi_matriculeIntervenant"] = $Matricule;
             $paramModif["dateDemande"] = $dateDemande;
             $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $paramModif);
             $sql = $requete->updRecord("idEvent=" . $tabIdPatient[$ind] . " and idDomaine=" . CCAM_IDDOMAINE);
             unset($paramRq);
             $paramRq[cw] = "idEvent=" . $tabIdPatient[$ind] . " and idDomaine=" . CCAM_IDDOMAINE;
             $req = new clResultQuery();
             $res = $req->Execute("Fichier", "CCAM_getActesDiagsCotation", $paramRq, "ResultQuery");
             //eko($table_patient_automatique);
             if ($table_patient_automatique == PSORTIS) {
                 $type = "suppression";
                 $this->contenuBAL($res, $type);
             }
             //Suppression dans la table ccam_cotation_actes (patient pastel pour le Ch-Hyeres)
             $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", array());
             $sql = $requete->delRecord("idEvent=" . $tabIdPatient[$ind] . " and idDomaine=" . CCAM_IDDOMAINE);
         } else {
             //Récup des infos de pastel pour maj identité patient manuel
             if ($this->patientSorti($tabIdPatient[$ind])) {
                 $table = "Sortis";
             } else {
                 $table = "";
             }
             $patient = new clPatient($tabIdPatient[$ind], $table);
             unset($param);
             $param[numSejour] = $patient->getNSej();
             $param[idu] = $patient->getIDU();
             $param[ipp] = $patient->getILP();
             $param[nomu] = $patient->getNom();
             $param[pren] = $patient->getPrenom();
             $param[sexe] = $patient->getSexe();
             $param[dtnai] = substr($patient->getDateNaissance(), 0, 10);
             //eko($param);
             $requete = new clRequete(CCAM_BDD, "ccam_cotation_actes", $param);
             $sql = $requete->updRecord("idEvent=" . $tabIdPatient[$ind] . " and idDomaine=" . CCAM_IDDOMAINE);
             if ($table) {
                 //Le patient manuel maintenant fusionné était sorti, on peut donc maintenant envoyer ses actes à la BAL
                 /*$lesion=$this->lesion($tabIdPatient[$ind]);
                    $tabAsso=$this->tabAsso($tabIdPatient[$ind],$lesion);
                    
                    unset($paramRq);
                  	$paramRq[cw]="idEvent=$tabIdPatient[$ind] and idDomaine=".CCAM_IDDOMAINE;
                  	$req=new clResultQuery;
                  	$res=$req->Execute("Fichier","CCAM_getActesDiagsCotation",$paramRq,"ResultQuery");
                  	//eko($res[INDIC_SVC]);
                    $type="creation";
                    $this->contenuBAL($res,$type,$tabAsso);*/
                 $this->writeBALSorti("", $tabIdPatient[$ind]);
             }
         }
         //eko("ind:$ind-idPatient:".$tabIdPatient[$ind]);
     }
 }
示例#13
0
 function genPat($idpatient)
 {
     global $session;
     global $options;
     // Si un idpatient est tranmis, alors on récupère ses informations
     // à l'aide de la classe Patient.
     if ($idpatient) {
         $patient = new clPatient($idpatient, $session->getNavi(5));
         $pat[NMA] = $patient->getNom();
         $pat[PRE] = $patient->getPrenom();
         $pat[DNA] = $patient->getDateNaissance();
         $pat[SEX] = $patient->getSexe();
         $date = new clDate($patient->getDateAdmission());
         $dateA = new clDate();
         $dateE = new clDate($patient->getDateExamen());
         $dateS = new clDate($patient->getDateSortie());
         $pat[DTA] = $date->getDate($options->getOption("Documents Date"));
         $pat[HEA] = $date->getDate("H:i");
         $pat[MED] = $patient->getMedecin();
         $pat[DHS] = $dateS->getDate($options->getOption("Documents Date"));
         $pat[DHE] = $dateE->getDate($options->getOption("Documents Date"));
         $pat[IPP] = $patient->getILP();
         $pat[SEJ] = $patient->getNSej();
         $pat[ADD] = $patient->getAdresse();
         $pat[CPO] = $patient->getCodePostal();
         $pat[VIL] = $patient->getVille();
         $pat[IDE] = $patient->getIDE();
         $pat[SAL] = $patient->getSalle();
         $pat[CCM] = $patient->getCCMU();
         $pat[GRA] = $patient->getCodeGravite();
         $pat[UF] = $patient->getUF();
         $pat[CRE] = $patient->getCategorieRecours();
         $pat[MRE] = $patient->getMotifRecours();
         $pat[COR] = $patient->getCodeRecours();
         $pat[DES] = $patient->getDestinationSouhaitee();
         $pat[DAT] = $patient->getDestinationAttendue();
         $pat[CDI] = $patient->getCategorieDiagnostic();
         $pat[DIA] = $patient->getLibelleDiagnostic();
         $pat[DIC] = $patient->getCodeDiagnostic();
         // Sinon, nous renseignons avec les valeurs par défaut.
     } else {
         $pat[NMA] = "Bon";
         $pat[PRE] = "Jean";
         $date = new clDate("1981-12-24 22:30:00");
         $pat[DNA] = $date->getDate($options->getOption("Documents Date"));
         $pat[SEX] = "1";
         $date = new clDate();
         $pat[DTA] = $date->getDate($options->getOption("Documents Date"));
         $pat[HEA] = $date->getDate("H:i");
         $pat[MED] = "Testeur";
         $pat[DHS] = $date->getDate($options->getOption("Documents Date"));
         $pat[DHE] = $date->getDate($options->getOption("Documents Date"));
         $pat[IPP] = "777777777";
         $pat[SEJ] = "666666666";
         $pat[ADD] = "Rue des patients";
         $pat[CPO] = "83400";
         $pat[VIL] = "PatientsVille";
         $pat[IDE] = "IDE";
         $pat[SAL] = "Salle";
         $pat[CCM] = "II";
         $pat[GRA] = "2";
         $pat[UF] = "2701";
         $pat[CRE] = "Catégorie de recours";
         $pat[MRE] = "Motif de recours";
         $pat[COR] = "CodeRecours";
         $pat[DES] = "Destination souhaitée";
         $pat[DAT] = "Destination attendue";
         $pat[CDI] = "Catégorie de diagnotic";
         $pat[DIA] = "Diagnostic";
         $pat[DIC] = "Code diagnostic";
     }
     // On renvoie le tableau généré.
     return $pat;
 }
示例#14
0
 function genListe()
 {
     global $session;
     $res = $this->genRequete();
     //eko ( $res ) ;
     //print affTab ( $res ) ;
     $list = new ListMaker("template/RadioListe.html");
     $navi = $session->genNavi("Radio");
     $list->addUserVar('navi', $navi);
     $list->addUrlVar('navi', $navi);
     $list->addUserVar('typeListe', $_SESSION['typeListe']);
     $list->addUrlVar('typeListe', $_SESSION['typeListe']);
     $list->setSortColumn('col0', 'UF', 'uf');
     $list->setSortColumn('col1', 'Patient', 'nomD');
     $list->setSortColumn('col2', 'Age', 'ageD');
     $list->setSortColumn('col3', 'Arrivée', 'arriveeD');
     $list->setSortColumn('col4', 'Soignants', 'soignants');
     $list->setSortColumn('col5', 'Motif', 'motif');
     $list->setSortColumn('col6', 'Date demande', 'demande');
     $list->setSortColumn('col7', 'Description', 'description');
     $list->setSortColumn('col8', 'Etat', 'etatD');
     $list->setSortColumn('col9', 'Détail', 'detail');
     $list->setdefaultSort('col8');
     $item = array();
     $dureead = new clDuree();
     $date = new clDate();
     // Parcours de la liste des patients récupérés par la requête.
     for ($i = 0; isset($res['idradio'][$i]); $i++) {
         $ras = $this->getInfosPatient($res['idpatient'][$i], $res['idapplication'][$i]);
         if ($session->getDroit("Liste_Radio", "m")) {
             $j = XhamTools::genAjax('onClick', 'mod', 'navi=' . $session->genNavi('Ajax', 'modRadios', $res['idradio'][$i]));
         } else {
             $j = '';
         }
         $item['js'] = $j;
         $item['ItemColor'] = 'rad' . $res['etat'][$i];
         $item['etatD'] = $res['etat'][$i];
         switch ($res['etat'][$i]) {
             case 'a':
                 $date->setDate($res['dt_creation'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 if (!$dureead->invertNegatif()) {
                     $item['etat'] = 'Non pris en charge<br/>Depuis ' . $duree;
                 } else {
                     $temp = explode(" ", $res['dt_creation'][$i]);
                     list($annee, $mois, $jour) = explode("-", $temp[0]);
                     $item['etat'] = 'A prendre en charge<br/>Dans ' . $dureead->getAge() . "<br>le " . $jour . "/" . $mois . "/" . $annee . " à " . $temp[1];
                     $item['ItemColor'] = 'rad' . 'elephant';
                 }
                 break;
             case 'b':
                 $date->setDate($res['dt_pec'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 $item['etat'] = 'Pris en charge<br/>Depuis ' . $duree;
                 break;
             case 'c':
                 $date->setDate($res['dt_encours'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 $item['etat'] = 'En cours<br/>Depuis ' . $duree;
                 break;
             case 'd':
                 $date->setDate($res['dt_fin'][$i]);
                 $duree = $dureead->getAge($date->getDatetime());
                 $item['etat'] = 'Terminé<br/>Depuis ' . $duree;
                 break;
         }
         // Calcul du sexe de la personne... (?!).
         switch ($ras['sexe'][0]) {
             case 'M':
                 $img = URLIMG . "homme.png";
                 break;
             case 'F':
                 $img = URLIMG . "femme.png";
                 break;
             default:
                 $img = URLIMG . "Indefini.png";
                 break;
         }
         $item['sexe'] = "<img src=\"{$img}\" alt=\"" . $ras['sexe'][0] . "\" />";
         // Calcul de l'âge.
         $date = new clDate($ras['dt_naissance'][0]);
         $age = new clDuree($date->getTimestamp());
         $str = $age->getAgePrecis($date->getTimestamp());
         if ($ras['dt_naissance'][0] != "0000-00-00 00:00:00") {
             $item['age'] = $str;
             $item['ageD'] = $date->getTimestamp();
         } else {
             $item['age'] = VIDEDEFAUT;
             $item['ageD'] = VIDEDEFAUT;
         }
         global $ufs;
         $item['uf'] = isset($ufs[$ras['uf'][0]]) ? $ufs[$ras['uf'][0]] : $ras['uf'][0];
         if ($ras['dt_admission'][0] != "0000-00-00 00:00:00") {
             $datead = new clDate($ras['dt_admission'][0]);
             $dateSimple = $datead->getDate("d-m-Y");
             $dateHeure = $datead->getDate("H\\hi");
             $item['arrivee'] = $dateSimple . "<br />" . $dateHeure;
             $item['arriveeD'] = $datead->getTimestamp();
         } else {
             $item['arrivee'] = VIDEDEFAUT;
             $item['arriveeD'] = VIDEDEFAUT;
         }
         // Médecin et IDE.
         switch ($res['idapplication'][$i]) {
             case '1':
                 if ($ras['medecin_urgences'][0]) {
                     $med = "Dr " . $ras['medecin_urgences'][0];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($ras['ide'][0]) {
                     $ide = "Ide " . $ras['ide'][0];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 if ($ras['salle_examen'][0]) {
                     $sal = $ras['salle_examen'][0];
                 } else {
                     $sal = VIDEDEFAUT;
                 }
                 $item['salle'] = $sal;
                 break;
             case '24':
                 if ($ras['medecin'][0]) {
                     $med = "Dr " . $ras['medecin'][0];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($ras['chirurgien'][0]) {
                     $ide = "Chir " . $ras['chirurgie'][0];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 if ($ras['chambre'][0]) {
                     $sal = $ras['chambre'][0];
                 } else {
                     $sal = VIDEDEFAUT;
                 }
                 $item['salle'] = $sal;
                 break;
             default:
                 if ($ras['medecin_urgences'][0]) {
                     $med = "Dr " . $ras['medecin_urgences'][0];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($ras['ide'][0]) {
                     $ide = "Ide " . $ras['ide'][0];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 if ($ras['salle_examen'][0]) {
                     $sal = $ras['salle_examen'][0];
                 } else {
                     $sal = VIDEDEFAUT;
                 }
                 $item['salle'] = $sal;
                 break;
         }
         // Motif de recours.
         if ($ras['motif_recours'][0]) {
             $item['motif'] = $ras['motif_recours'][0];
         } else {
             $item['motif'] = VIDEDEFAUT;
         }
         // Patient
         $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]);
         // 	Concaténation du nom et du prénom.
         $item['patient'] = "<span " . clPatient::genInfoBulle($ras, 0, $res['idapplication'][$i]) . ">" . strtoupper($ras['nom'][0]) . "</span><br />" . ucfirst(strtolower($ras['prenom'][0]) . "<br/>" . $ras['nsej'][0]);
         if ($res['dt_creation'][$i] != "0000-00-00 00:00:00") {
             $datead = new clDate($res['dt_creation'][$i]);
             $dateSimple = $datead->getDate("d-m-Y");
             $dateHeure = $datead->getDate("H\\hi");
             $item['demande'] = $dateSimple . "<br />" . $dateHeure;
             $item['demandeD'] = $datead->getTimestamp();
         } else {
             $item['arrivee'] = VIDEDEFAUT;
             $item['arriveeD'] = VIDEDEFAUT;
         }
         $parp = '&etape=' . $res['etat'][$i] . '&idradio=' . $res['idradio'][$i];
         //$item['detail'] = "<a onmouseout=\"request('".URLNAVI."QWpheHxnZXRSYWRpb3M=',null,'getRadios') ;\" href=\"".URLNAVI.$session->genNavi("Radio","",$res['idpatient'][$i],$ras['idu'][0],$ras['nsej'][0])."$parp&Formulaire2print=radio&FormX_ext_goto_=".$res['id_instance'][$i]."&act_print=1\" target=\"_blank\">" ;
         $jo = 'onClick="setWait(\'navigation\');location.reload();"';
         //$jo = 'onClick=""' ;
         $item['detail'] = "<a {$jo} href=\"" . URLNAVI . $session->genNavi("Radio", "", $res['idpatient'][$i], $ras['idu'][0], $ras['nsej'][0]) . "{$parp}&Formulaire2print=radio&FormX_ext_goto_=" . $res['id_instance'][$i] . "&act_print=1\" target=\"_blank\">";
         $item['detail'] .= "<img  src=\"images/pdf.png\" alt=\"Afficher le PDF\"/></a>";
         $rel = new clRequete(BDD, '', '', MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
         $rese = $rel->exec_requete("select * from radios_enquetes where idradio=" . $res['idradio'][$i], 'resultquery');
         global $pi;
         if ($rese['INDIC_SVC'][2]) {
             if ($rese['date'][0] == '0000-00-00 00:00:00') {
                 $img = 'formko.gif';
             } else {
                 $img = 'formok.gif';
             }
             if ($session->getDroit("Liste_Radio", "m")) {
                 $j = XhamTools::genAjax('onClick', 'mod', 'navi=' . $session->genNavi('Ajax', 'modRadiosEnquetes', $res['idradio'][$i]));
             } else {
                 $j = '';
             }
             $item['detail'] .= ' <img ' . $j . ' src="images/' . $img . '" ' . $pi->genInfoBulle("Ouvrir le formulaire d'enquête.") . ' style="cursor: pointer; pointer: hand;" />';
         }
         if ($res['retour'][$i]) {
             $dateR = new clDate($res['dt_retour'][$i]);
             $retour = '<b>Formulaire de retour saisi par les urgences :</b>';
             $retour .= '<br/><u>Auteur :</u> ' . $res['retourid'][$i];
             $retour .= '<br/><u>Date :</u> ' . $dateR->getDate('d/m/Y H:i:s');
             switch ($res['retour'][$i]) {
                 case 'Oui':
                     $resultat = 'Anomalie détectée avec cette radio.';
                     break;
                 case 'Non':
                     $resultat = 'Aucune anomalie détectée avec cette radio.';
                     break;
                 case 'NR':
                     $resultat = "L'utilisateur signale que cette radio n'a pas été réalisée.";
                     break;
                 case 'NI':
                     $resultat = "L'utilisateur n'a pas interprété cette radio.";
                     break;
                 default:
                     $resultat = "L'utilisateur n'a pas rempli le formulaire.";
                     break;
             }
             $retour .= '<br/><u>Résultat :</u> ' . $resultat;
             $retour .= '<br/><u>Commentaire :</u>' . ($res['commentaire'][$i] ? $res['commentaire'][$i] : 'Aucun commentaire.');
             $item['detail'] .= " <img src=\"" . URLIMGOBS . "\" " . $pi->genInfoBulle($retour) . " alt=\"Comm.\" />";
         }
         $html = $this->getDetailRadio($res, $i);
         $item['description'] = $html;
         $ok = 0;
         switch ($_SESSION['typeListe']) {
             case 'all':
                 $ok = 1;
                 break;
             case 'alm':
                 $ok = 1;
                 break;
             case 'd':
                 $ok = 1;
                 break;
             case 'rall':
                 if (eregi('RADIO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ralm':
                 if (eregi('RADIO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'rd':
                 if (eregi('RADIO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'eall':
                 if (eregi('ECHO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ealm':
                 if (eregi('ECHO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ed':
                 if (eregi('ECHO', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'sall':
                 if (eregi('SCAN', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'salm':
                 if (eregi('SCAN', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'sd':
                 if (eregi('SCAN', $html)) {
                     $ok = 1;
                 }
                 break;
             case 'ec':
                 $nb = 200;
                 $ok = 1;
                 break;
             case 'et':
                 $nb = 200;
                 $ok = 1;
                 break;
             default:
                 $nb = 50;
                 $ok = 1;
                 break;
         }
         if ($ok) {
             $list->addItem($item);
         }
     }
     // Récupération du code HTML généré.
     return $list->getList($nb);
 }
示例#15
0
 function addToTab($tab, $prc, $filtre)
 {
     global $session;
     $req = new clResultQuery();
     $param['table'] = PPRESENTS;
     //$param['cw'] = "WHERE $filtre UNION SELECT * FROM patients_sortis WHERE $filtre" ;
     $param['cw'] = "WHERE {$filtre} AND manuel=0 AND iduser!='SUPPRIME' UNION SELECT * FROM patients_sortis WHERE {$filtre} AND manuel=0 AND iduser!='SUPPRIME' ORDER BY dt_admission, nom";
     $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
     $date = new clDate();
     for ($i = 0; isset($res['idpatient'][$i]); $i++) {
         if (!isset($tab[$res['idpatient'][$i]])) {
             $tab[$res['idpatient'][$i]]['survol'] = clPatient::genInfoBulle($res, $i);
             if ($res['dt_sortie'][$i] == '0000-00-00 00:00:00') {
                 $auttable = PPRESENTS;
             } else {
                 $auttable = PSORTIS;
             }
             if ($this->p['dt_sortie'][0] == '0000-00-00 00:00:00') {
                 $mantable = PPRESENTS;
             } else {
                 $mantable = PSORTIS;
             }
             //$js = XhamTools::genAjax ( 'onclick', 'fusion', 'ajax=1&amp;navi='.$session->genNavi ( 'Administration', 'FusionsV2', 'setFusions', $this->p['idpatient'][0], $mantable, $res['idpatient'][$i], $auttable) ) ;
             $nomAut = $res['nom'][$i] . " " . $res['prenom'][$i];
             $nomMan = $this->p['nom'][0] . " " . $this->p['prenom'][0];
             $js = "onclick=\"if (window.confirm('Etes-vous certain de vouloir fusionner le patient manuel " . addslashes($nomMan) . " et le patient automatique " . addslashes($nomAut) . " ?')){request('index.php?ajax=1&navi=" . $session->genNavi('Administration', 'FusionsV2', 'setFusions', $this->p['idpatient'][0], $mantable, $res['idpatient'][$i], $auttable) . "',null,'fusion');return true;} else {return false;}\"";
             $tab[$res['idpatient'][$i]]['js'] = $js;
             $tab[$res['idpatient'][$i]]['suppr'] = '';
             $tab[$res['idpatient'][$i]]['nom'] = $res['nom'][$i];
             $tab[$res['idpatient'][$i]]['nsej'] = $res['nsej'][$i];
             $tab[$res['idpatient'][$i]]['nom'] = $res['nom'][$i];
             $tab[$res['idpatient'][$i]]['prenom'] = $res['prenom'][$i];
             $tab[$res['idpatient'][$i]]['sexe'] = $res['sexe'][$i];
             $tab[$res['idpatient'][$i]]['sexe'] = $res['sexe'][$i];
             $tab[$res['idpatient'][$i]]['sexe'] = $res['sexe'][$i];
             $date->setDate($res['dt_naissance'][$i]);
             $tab[$res['idpatient'][$i]]['dt_naissance'] = $date->getDate('d-m-Y');
             $date->setDate($res['dt_admission'][$i]);
             $tab[$res['idpatient'][$i]]['dt_admission'] = $date->getDate('d-m-Y H:i');
             $tab[$res['idpatient'][$i]]['prc'] = $prc;
             $this->nbRes++;
         }
         //elseif ( $tab[$res['idpatient'][$i]]['prc'] < 99 ) $tab[$res['idpatient'][$i]]['prc']++ ;
     }
     return $tab;
     //print affTab ( $tab ) ;
 }
示例#16
0
 function genListePatient($etape)
 {
     global $session;
     global $options;
     $uhcd = $options->getOption("FiltreSalleUHCD");
     $pedi = $options->getOption("FiltreSalleSup");
     // Préparation de la requête.
     $req = new clResultQuery();
     $param['table'] = $this->table;
     if ($this->equipe) {
         $eq = " AND traumato LIKE '{$this->equipe}%' ";
     } else {
         $eq = '';
     }
     // Cas des patients normaux.
     if ($etape == 1) {
         $list = new ListMaker("template/ListePatients.html");
         // Changement de la requête des couleurs de la liste en fonction de la liste affichée (présents, UHCD, attendus ou sortis).
         // Liste des patients présents.
         if ($this->type == "Presents") {
             //$param['cw'] = " p, ".BASEXHAM.".listes l WHERE ((p.dt_examen!='0000-00-00 00:00:00'  AND l.nomliste='Salles d\'examens' AND p.salle_examen NOT LIKE 'UHCD%' AND (p.salle_examen=l.nomitem)) OR ( p.dt_examen!='0000-00-00 00:00:00'  AND p.salle_examen=l.nomitem AND p.salle_examen NOT LIKE 'UHCD%' ) )  AND l.idapplication=".IDAPPLICATION." ORDER BY l.rang" ;
             // Ancienne version avec classement des salles en fonction de leur rang : problème de salle invisible
             //if ( $pedi )
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE ((p.dt_examen!='0000-00-00 00:00:00'  AND l.nomliste='Salles d\'examens' " .
             //			"AND p.salle_examen NOT LIKE '$uhcd%' AND p.salle_examen NOT LIKE '$pedi%' AND (p.salle_examen=l.nomitem)) OR ( p.dt_examen!='0000-00-00 00:00:00'  " .
             //			"AND p.salle_examen=l.nomitem AND p.salle_examen NOT LIKE '$uhcd%' AND p.salle_examen NOT LIKE '$pedi%' ) )  " .
             //			"AND l.idapplication=".IDAPPLICATION." ORDER BY l.rang" ;
             //else
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE ((p.dt_examen!='0000-00-00 00:00:00'  AND l.nomliste='Salles d\'examens' AND p.salle_examen NOT LIKE '$uhcd%' AND (p.salle_examen=l.nomitem)) OR ( p.dt_examen!='0000-00-00 00:00:00'  AND p.salle_examen=l.nomitem AND p.salle_examen NOT LIKE '$uhcd%' ) )  AND l.idapplication=".IDAPPLICATION." ORDER BY l.rang" ;
             if ($eq) {
                 $param['cw'] = " WHERE dt_examen!='0000-00-00 00:00:00' AND traumato LIKE '{$this->equipe}%' AND salle_examen NOT LIKE '{$uhcd}%'";
             } elseif ($pedi) {
                 $param['cw'] = " p WHERE ((p.dt_examen!='0000-00-00 00:00:00' AND p.salle_examen NOT LIKE '{$uhcd}%' AND p.salle_examen NOT LIKE '{$pedi}%') OR ( p.dt_examen!='0000-00-00 00:00:00'  " . "AND p.salle_examen NOT LIKE '{$uhcd}%' AND p.salle_examen NOT LIKE '{$pedi}%' ) )" . $eq;
             } else {
                 $param['cw'] = " p WHERE ((p.dt_examen!='0000-00-00 00:00:00' AND p.salle_examen NOT LIKE '{$uhcd}%') OR ( p.dt_examen!='0000-00-00 00:00:00'  AND p.salle_examen NOT LIKE '{$uhcd}%'))" . $eq;
             }
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setAlternateColor("vuspaire", "vusimpaire");
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Age', 'ageD');
             $list->setSortColumn('col3', 'Mode adm.', 'modeAdm');
             $list->setSortColumn('col4', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col5', 'Soignants', 'soignants');
             $list->setSortColumn('col6', 'Salle', 'salle');
             $list->setSortColumn('col7', 'Motif', 'motif');
             $list->setSortColumn('col8', 'Code', 'code');
             $list->setSortColumn('col9', 'Dest. Souhait.', 'destSouhaitee');
             $list->setSortColumn('col0', 'Dest. Confirmée', 'destAttendue');
             switch ($options->getOption("ClassementPatients")) {
                 case 'Salle':
                     $list->setdefaultSort('col6');
                     break;
                 case 'Arrivée':
                     $list->setdefaultSort('col4');
                     break;
                 case 'Nom':
                     $list->setdefaultSort('col1');
                     break;
             }
             /********/
             /* Pour gérer un problème de style. */
             $list->addUserVar('{fin_table}', "</table>");
             /********/
             // Liste des patients sortis.
         } elseif ($this->type == "Sortis") {
             $list = new ListMaker("template/ListePatientsSortis.html");
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col3', 'Examen', 'examenD');
             $list->setSortColumn('col4', 'Sortie', 'sortieD');
             $list->setSortColumn('col5', 'Dest. souhaitée', 'destSouhaitee');
             $list->setSortColumn('col6', 'Dest. confirmée', 'destAttendue');
             $list->setSortColumn('col7', 'Médecin', 'medecin');
             $list->setSortColumn('col8', 'IDE', 'ide');
             $list->setSortColumn('col9', 'UF', 'uf');
             $list->setdefaultSort('');
             $param['cw'] = $this->filtre . " ORDER BY nom ASC";
             $list->setAlternateColor("sortispaire", "sortisimpaire");
             // Liste des patients attendus.
             //if ( $this->filtre2 != "" )
         } elseif ($this->type == "Attendus") {
             $list = new ListMaker("template/ListePatientsAttendus.html");
             $param['cw'] = "ORDER BY date";
             $list->setAlternateColor("attenduspaire", "attendusimpaire");
             // Liste des patients UHCD.
         } elseif ($this->type == "UHCD") {
             //$param['cw'] = " p, ".BASEXHAM.".listes l WHERE p.salle_examen LIKE '$uhcd%' AND p.salle_examen=l.nomitem AND l.idapplication=".IDAPPLICATION." AND l.nomliste='Salles d\'examens' ORDER BY l.rang" ;
             $param['cw'] = " p WHERE p.salle_examen LIKE '{$uhcd}%'";
             $list->setAlternateColor("uhcdpaire", "uhcdimpaire");
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Age', 'ageD');
             $list->setSortColumn('col3', 'Mode adm.', 'modeAdm');
             $list->setSortColumn('col4', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col5', 'Soignants', 'soignants');
             $list->setSortColumn('col6', 'Salle', 'salle');
             $list->setSortColumn('col7', 'Motif', 'motif');
             $list->setSortColumn('col8', 'Code', 'code');
             $list->setSortColumn('col9', 'Dest. Souhait.', 'destSouhaitee');
             $list->setSortColumn('col0', 'Dest. Confirmée', 'destAttendue');
             switch ($options->getOption("ClassementPatients")) {
                 case 'Salle':
                     $list->setdefaultSort('col6');
                     break;
                 case 'Arrivée':
                     $list->setdefaultSort('col4');
                     break;
                 case 'Nom':
                     $list->setdefaultSort('col1');
                     break;
             }
             $list->addUserVar('fin_table', "</table>");
         } else {
             //if ( $pedi )
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE p.salle_examen LIKE '$pedi%' AND p.salle_examen=l.nomitem AND l.idapplication=".IDAPPLICATION." AND l.nomliste='Salles d\'examens' ORDER BY l.rang" ;
             //else
             //	$param['cw'] = " p, ".BASEXHAM.".listes l WHERE p.salle_examen LIKE 'AUCUNESALLE%' AND p.salle_examen=l.nomitem AND l.idapplication=".IDAPPLICATION." AND l.nomliste='Salles d\'examens' ORDER BY l.rang" ;
             if ($this->equipe) {
                 $param['cw'] = "p WHERE p.traumato LIKE '{$this->equipe}%'";
             } else {
                 if ($pedi) {
                     $param['cw'] = " p WHERE p.salle_examen LIKE '{$pedi}%'";
                 } else {
                     $param['cw'] = " p WHERE p.salle_examen LIKE 'AUCUNESALLE%'";
                 }
             }
             $list->setAlternateColor("uhcdpaire", "uhcdimpaire");
             $navi = $session->genNavi($session->getNavi(0));
             $list->addUserVar('navi', $navi);
             $list->addUrlVar('navi', $navi);
             $list->setSortColumn('col1', 'Patient', 'nomD');
             $list->setSortColumn('col2', 'Age', 'ageD');
             $list->setSortColumn('col3', 'Mode adm.', 'modeAdm');
             $list->setSortColumn('col4', 'Arrivée', 'arriveeD');
             $list->setSortColumn('col5', 'Soignants', 'soignants');
             $list->setSortColumn('col6', 'Salle', 'salle');
             $list->setSortColumn('col7', 'Motif', 'motif');
             $list->setSortColumn('col8', 'Code', 'code');
             $list->setSortColumn('col9', 'Dest. Souhait.', 'destSouhaitee');
             $list->setSortColumn('col0', 'Dest. Confirmée', 'destAttendue');
             switch ($options->getOption("ClassementPatients")) {
                 case 'Salle':
                     $list->setdefaultSort('col6');
                     break;
                 case 'Arrivée':
                     $list->setdefaultSort('col4');
                     break;
                 case 'Nom':
                     $list->setdefaultSort('col1');
                     break;
             }
             $list->addUserVar('fin_table', "</table>");
         }
         // Exécution de la requête.
         if ($this->type == "Sortis") {
             if (eregi("idformx", $this->filtre)) {
                 $tab["table"] = BDD . "." . PSORTIS . "," . FX_BDD . "." . TABLEFORMX;
                 $tab["cw"] = $param["cw"];
                 $res = $req->Execute("Fichier", "getPatients", $tab, "ResultQuery");
                 //eko($res);
             } else {
                 $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
             }
             //eko ( $res['INDIC_SVC'] ) ;
         } else {
             $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
         }
         //eko ( $res['INDIC_SVC'] ) ;
         //eko($res);
         //eko ( $res['INDIC_SVC'] ) ;
         if (DEBUGLISTESPATIENTS and $session->getDroit("Liste_" . $this->type, "a")) {
             newfct(gen_affiche_tableau, $res[INDIC_SVC]);
         }
         // Cas des patients non-vus.
     } else {
         $list = new ListMaker("template/ListePatientsBis.html");
         if ($eq) {
             $param['cw'] = "WHERE dt_examen='0000-00-00 00:00:00' AND traumato LIKE '{$this->equipe}%' ";
         } elseif ($pedi) {
             $param['cw'] = "WHERE dt_examen='0000-00-00 00:00:00' AND salle_examen NOT LIKE '{$uhcd}%' AND salle_examen NOT LIKE '{$pedi}%'" . $eq . ' ORDER BY dt_admission';
         } else {
             $param['cw'] = "WHERE dt_examen='0000-00-00 00:00:00' AND salle_examen NOT LIKE '{$uhcd}%'" . $eq . ' ORDER BY dt_admission';
         }
         $res = $req->Execute("Fichier", "getPatients", $param, "ResultQuery");
     }
     // eko ( $res['INDIC_SVC'] ) ;
     global $tabID;
     if (!is_array($tabID)) {
         $tabID = array();
     }
     // Parcours de la liste des patients récupérés par la requête.
     for ($i = 0; isset($res['idpatient'][$i]); $i++) {
         if (!in_array($res['idpatient'][$i], $tabID)) {
             // Calcul du sexe de la personne... (?!).
             switch ($res['sexe'][$i]) {
                 case 'M':
                     $img = URLIMG . "homme.png";
                     break;
                 case 'F':
                     $img = URLIMG . "femme.png";
                     break;
                 default:
                     $img = URLIMG . "Indefini.png";
                     break;
             }
             $item['sexe'] = "<img src=\"{$img}\" alt=\"" . $res['sexe'][$i] . "\" />";
             // Calcul de l'âge.
             $date = new clDate($res['dt_naissance'][$i]);
             $age = new clDuree($date->getTimestamp());
             $str = $age->getAgePrecis($date->getTimestamp());
             if ($res['dt_naissance'][$i] != "0000-00-00 00:00:00") {
                 $item['age'] = $str;
                 $item['ageD'] = $date->getTimestamp();
             } else {
                 $item['age'] = VIDEDEFAUT;
                 $item['ageD'] = VIDEDEFAUT;
             }
             // Destination souhaitée.
             if ($res['dest_souhaitee'][$i]) {
                 $item['destSouhaitee'] = $res['dest_souhaitee'][$i];
             } else {
                 $item['destSouhaitee'] = VIDEDEFAUT;
             }
             // Destination attendue.
             if ($res['dest_attendue'][$i]) {
                 $item['destAttendue'] = $res['dest_attendue'][$i];
             } else {
                 $item['destAttendue'] = VIDEDEFAUT;
             }
             //////////////////////////////////// Patients Attendus ////////////////////////////////////////
             if ($this->type == "Attendus") {
                 $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "modPatientAttendu", $res['idpatient'][$i]);
                 // Concaténation du nom et du prénom.
                 $item['patient'] = strtoupper($res['nom'][$i]) . " " . ucfirst(strtolower($res['prenom'][$i]));
                 // Heure de création.
                 if ($res['date'][$i]) {
                     $dateCreation = new clDate($res['date'][$i]);
                     $item['date'] = $dateCreation->getDate("d-m-Y H:i");
                 } else {
                     $item['date'] = VIDEDEFAUT;
                 }
                 // Gestion de l'âge.
                 if ($res['dt_naissance'][$i]) {
                     $item['age'] = $res['dt_naissance'][$i];
                 } else {
                     $item['age'] = VIDEDEFAUT;
                 }
                 // Récupération du mode d'admission.
                 if ($res['adresseur'][$i]) {
                     $item['adresseur'] = $res['adresseur'][$i];
                 } else {
                     $item['adresseur'] = VIDEDEFAUT;
                 }
                 // Médecin et IDE.
                 if ($res['medecin_urgences'][$i]) {
                     $med = "Dr " . $res['medecin_urgences'][$i];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 $item['medecin'] = $med;
                 // Observations.
                 if ($res['observations'][$i]) {
                     $item['observations'] = nl2br($res['observations'][$i]);
                 } else {
                     $item['observations'] = VIDEDEFAUT;
                 }
                 // Génération du lien de bascule.
                 $imgBasculer = "<img src=\"images/basculer.gif\" name=\"Ajouter\" alt=\"Basculer le patient dans les présents\" /></a>";
                 $imgSupprimer = "<img src=\"images/Supprimer.gif\" name=\"Supprimer\" alt=\"Supprimer le patient attendu\" /></a>";
                 $imgModifier = "<img src=\"images/modifier2.gif\" name=\"Modifier\" alt=\"Modifier le patient attendu\" /></a>";
                 // En fonction des droits et des options, nous affichons les boutons d'actions.
                 if ($session->getDroit("Liste_" . $this->type, "a") and $options->getOption("AjoutManuel")) {
                     $item['lienBasculer'] = "<a href=\"" . URLNAVI . $session->genNavi("Liste_Presents", "basculerPatient", $res['idpatient'][$i]) . "\">" . $imgBasculer;
                 }
                 if ($session->getDroit("Liste_" . $this->type, "d")) {
                     $item['lienSupprimer'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "delPatient", $res['idpatient'][$i]) . "\">" . $imgSupprimer;
                 }
                 if ($session->getDroit("Liste_" . $this->type, "d")) {
                     $item['lienModifier'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "modPatientAttendu", $res['idpatient'][$i]) . "\">" . $imgModifier;
                 }
                 //////////////////////////////////// Patients Sortis ////////////////////////////////////////
             } elseif ($this->type == "Sortis") {
                 $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]);
                 // Concaténation du nom et du prénom.
                 if ($session->getDroit("Liste_" . $this->type, "m")) {
                     $item['patient'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]) . "\" " . clPatient::genInfoBulle($res, $i) . ">" . strtoupper($res['nom'][$i]) . "</a> " . ucfirst(strtolower($res['prenom'][$i]));
                 } else {
                     $item['patient'] = strtoupper($res['nom'][$i]) . " " . ucfirst(strtolower($res['prenom'][$i]));
                 }
                 $item['nomD'] = strtoupper($res['nom'][$i]);
                 // Heure d'arrivée.
                 if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") {
                     $dateTemp = new clDate($res['dt_admission'][$i]);
                     $item['arrivee'] = $dateTemp->getDate("d-m-Y H:i");
                     $item['arriveeD'] = $dateTemp->getTimestamp();
                 } else {
                     $item['arrivee'] = VIDEDEFAUT;
                     $item['arriveeD'] = VIDEDEFAUT;
                 }
                 // Heure d'examen.
                 if ($res['dt_examen'][$i] != "0000-00-00 00:00:00") {
                     $dateTemp = new clDate($res['dt_examen'][$i]);
                     $item['examen'] = $dateTemp->getDate("d-m-Y H:i");
                     $item['examenD'] = $dateTemp->getTimestamp();
                 } else {
                     $item['examen'] = VIDEDEFAUT;
                     $item['examenD'] = VIDEDEFAUT;
                 }
                 // Heure de sortie.
                 if ($res['dt_sortie'][$i] != "0000-00-00 00:00:00") {
                     $dateTemp = new clDate($res['dt_sortie'][$i]);
                     $item['sortie'] = $dateTemp->getDate("d-m-Y H:i");
                     $item['sortieD'] = $dateTemp->getTimestamp();
                 } else {
                     $item['sortie'] = VIDEDEFAUT;
                     $item['sortieD'] = VIDEDEFAUT;
                 }
                 // Médecin.
                 if ($res['medecin_urgences'][$i]) {
                     $med = "Dr " . $res['medecin_urgences'][$i];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 $item['medecin'] = $med;
                 // IDE.
                 if ($res['ide'][$i]) {
                     $ide = $res['ide'][$i];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['ide'] = $ide;
                 // Affichage des informations sur l'UF
                 $ufExec = $options->getOption('numUFexec');
                 $ufUHCD = $options->getOption('numUFUHCD');
                 $ufSC = $options->getOption('numUFSC');
                 $dtUHCD = new clDate($res['dt_UHCD'][$i]);
                 if ($res['uf'][$i] == $ufUHCD) {
                     $sup = $res['uf'][$i] . ' - UHCD<br/>' . ($res['dt_UHCD'][$i] != '0000-00-00 00:00:00' ? $dtUHCD->getDate('d/m/Y à H:i') : '') . '';
                 } elseif ($res['uf'][$i] == $ufSC) {
                     $sup = $res['uf'][$i] . ' - Soins Continus';
                 } else {
                     $sup = $res['uf'][$i] . ' - Urgences';
                 }
                 $item['uf'] = $sup;
                 if ($options->getOption("Sortis Pagination") != "Tous") {
                     $pagination = $options->getOption("Sortis Pagination");
                 }
                 //////////////////////////////////// Patients Présents  ////////////////////////////////////////
             } else {
                 $item['urlpatient'] = URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]);
                 // Concaténation du nom et du prénom.
                 if ($session->getDroit("Liste_" . $this->type, "m")) {
                     $item['patient'] = "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), "FichePatient", $res['idpatient'][$i]) . "\" " . clPatient::genInfoBulle($res, $i) . ">" . strtoupper($res['nom'][$i]) . "</a><br />" . ucfirst(strtolower($res['prenom'][$i]));
                 } else {
                     $item['patient'] = strtoupper($res['nom'][$i]) . "<br />" . ucfirst(strtolower($res['prenom'][$i]));
                 }
                 $item['nomD'] = strtoupper($res['nom'][$i]);
                 // Récupération du mode d'admission.
                 if ($res['mode_admission'][$i]) {
                     $item['modeAdm'] = $res['mode_admission'][$i];
                 } else {
                     $item['modeAdm'] = VIDEDEFAUT;
                 }
                 if ($res['uf'][$i] == $options->getOption('numUFSC')) {
                     $item['colorSpe'] = 'style="background-color:#E73E01;"';
                 } else {
                     $item['colorSpe'] = '';
                 }
                 // Heure d'admission.
                 if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") {
                     $datead = new clDate($res['dt_admission'][$i]);
                     $dateSimple = $datead->getDate("d-m-Y");
                     $dureead = new clDuree();
                     $duree = $dureead->getDureeCourte($datead->getDatetime());
                     $item['arrivee'] = $duree . "<br />" . $dateSimple;
                     $item['arriveeD'] = $datead->getTimestamp();
                 } else {
                     $item['arrivee'] = VIDEDEFAUT;
                     $item['arriveeD'] = VIDEDEFAUT;
                 }
                 // Observations.
                 $item['obs'] = "?";
                 // Médecin et IDE.
                 if ($res['medecin_urgences'][$i]) {
                     $med = "Dr " . $res['medecin_urgences'][$i];
                 } else {
                     $med = VIDEDEFAUT;
                 }
                 if ($res['ide'][$i]) {
                     $ide = "Ide " . $res['ide'][$i];
                 } else {
                     $ide = VIDEDEFAUT;
                 }
                 $item['soignants'] = $med . "<br />" . $ide;
                 // Salle actuelle.
                 $radio = clListeRadios::getEtatSalle($res['idpatient'][$i], IDAPPLICATION);
                 if ($res['salle_examen'][$i]) {
                     $item['salle'] = $res['salle_examen'][$i] . "{$radio}<br/>" . ($res['traumato'][$i] ? $res['traumato'][$i] : '');
                 } else {
                     $item['salle'] = VIDEDEFAUT . "{$radio}<br/>" . ($res['traumato'][$i] ? $res['traumato'][$i] : '');
                 }
                 // Motif de recours.
                 if ($res['motif_recours'][$i]) {
                     $item['motif'] = $res['motif_recours'][$i];
                 } else {
                     $item['motif'] = VIDEDEFAUT;
                 }
                 // Code gravité.
                 if ($res['code_gravite'][$i]) {
                     $item['code'] = $res['code_gravite'][$i];
                 } else {
                     $item['code'] = VIDEDEFAUT;
                 }
                 // Infos visuelles (colonne Observations).
                 $dureeMaxSansUHCD = 3600 * $options->getOption("Présents UHCD");
                 $item['obs'] = "";
                 $uhcd = $options->getOption("FiltreSalleUHCD");
                 if ($res['dt_admission'][$i] != "0000-00-00 00:00:00") {
                     //if ( $options -> getOption ( "ContrainteHuitUF2702" ) AND $dureead -> getSeconds ( ) > $dureeMaxSansUHCD AND $res['uf'][$i] != "2702" AND ! $res['manuel'][$i] )
                     /*
                     	  if ( $options -> getOption ( "GestionUHCD" ) AND $res['uf'][$i] != $options->getOption ( "numUFUHCD" ) ) {
                     	  	
                     	  	$ufExec = $options->getOption ( 'numUFexec' ) ;
                     		$ufUHCD = $options->getOption ( 'numUFUHCD' ) ;
                     		$uf     = $options->getOption ( 'numUFexec' ) ;
                     		$etat   = $res['etatUHCD'][$i] ;
                     		$oldUF  = $res['uf'][$i] ;
                     		
                     		// Calcul du critère CCMU4 ou CCMU5
                     		if ( $res['code_gravite'][$i] == 4 OR $res['code_gravite'][$i] == 5 )
                     		$CCMU45 = 1 ; else $CCMU45 = 0 ;
                     		
                     		// Calcul du critère sur la durée
                     		$datead = new clDate ( $res['dt_admission'][$i] ) ;
                     	  	$dureead = new clDuree ( ) ;
                     	  	$duree = $dureead -> getDureeCourte ( $datead -> getDatetime ( ) ) ;
                     	  	$dureeMaxSansUHCD = 3600 * $options -> getOption ( "Présents UHCD" ) ;
                     	  	$dureeHeure = $options -> getOption ( "Présents UHCD" ) ;
                     		if ( $dureead -> getSeconds ( ) > $dureeMaxSansUHCD ) $duree = 1 ;
                     		else $duree = 0 ;
                     		
                     		// Calcul du critère sur le CCMU3
                     		if ( $res['code_gravite'][$i] == 3 ) $CCMU3 = 1 ; else $CCMU3 = 0 ;
                     		
                     		// Vérification des critères directs.
                     		if ( $CCMU45 ) {
                     			$rep = 'okCCMU45' ;
                     			$uf = $ufUHCD ;
                     		} else {
                     			if ( $duree ) {
                     				$rep = 'okDuree' ;
                     			} else {
                     				if ( $CCMU3 ) {
                     					$rep = 'okCCMU3' ;
                     				} else {
                     					$rep = 'noCCMU3' ;
                     					$uf = $ufExec ;
                     				}
                     			}
                     		}
                     		
                     		// Vérification de la réponse à la question sur les critères UHCD.
                     		if ( $rep == 'okDuree' ) {
                     			if ( $etat != 'okCriteres' AND $etat != 'noCriteres' ) $item['obs'] .= IMGALERTE ;
                     		}
                     		
                     		// Vérification de la réponse à la question sur les actes lourds.
                     		if ( $rep == 'okCCMU3' ) {
                     			if ( $etat != 'okActes' AND $etat != 'noActes' ) $item['obs'] .= IMGALERTE ;
                     		}
                     	  	
                     	  }*/
                     if ($options->getOption("ModuleBMR")) {
                         // On vérifie si le patient est lié à une alerte BMR.
                         $param['cw'] = "WHERE IDU='" . $res['idu'][$i] . "'";
                         $ras = $req->Execute("Fichier", "getBMR", $param, "ResultQuery");
                         // Si au moins une alerte est liée au patient, on affiche une icone d'alerte.
                         if ($ras['INDIC_SVC'][2]) {
                             $item['obs'] .= "<img src=\"" . URLIMGRAD . "\" alt=\"BMR\" />";
                         }
                         //$item['obs'] .= IMGDOCS ;
                     }
                 }
                 // On vérifie si le patient a une note.
                 $param['cw'] = "WHERE ids='" . $res['idpatient'][$i] . "'";
                 $param['table'] = TABLENOTES;
                 $ras = $req->Execute("Fichier", "getGenXHAM", $param, "ResultQuery");
                 if ($ras['INDIC_SVC'][2] and $ras['note'][0] and $session->getDroit("Presents_Informations")) {
                     global $pi;
                     $item['obs'] .= "<img src=\"" . URLIMGOBS . "\" " . $pi->genInfoBulle($ras['note'][0]) . " alt=\"Comm.\" />";
                 }
                 $item['obs'] .= clListeRadios::getEtat($res['idpatient'][$i], IDAPPLICATION);
                 if ($_POST['showHisto']) {
                     // Récupération des passages précédents.
                     $param['IDU'] = $res['idu'][$i];
                     $res2 = $req->Execute("Fichier", "getHistorique", $param, "ResultQuery");
                     if ($res2['INDIC_SVC'][2]) {
                         $item['obs'] .= IMGHISTO;
                     }
                     // Récupération des passages précédents.
                     $param['ILP'] = $res['ilp'][$i];
                     $res2 = $req->Execute("Fichier", "getHistoriqueDocs", $param, "ResultQuery");
                     if ($res2['INDIC_SVC'][2]) {
                         $item['obs'] .= IMGHISTODOCS;
                     }
                 }
             }
             //$this->getInfoBulle ( $res, $i ) ;
             $list->addItem($item);
         }
         $tabID[] = $res['idpatient'][$i];
     }
     // Récupération du code HTML généré.
     $this->af .= $list->getList($pagination);
 }
示例#17
0
 function createDiag($res, $i)
 {
     global $options;
     global $stopAffichage;
     $mod = new ModeliXe("HprimXMLDiag.html");
     $mod->SetModeliXe();
     $tabActe = array();
     $tabActe = explode('|', XhamTools::sansAccent($res['CONTENU'][$i]));
     $type = $res['TYPE'][$i];
     $idpass = $tabActe[0];
     $idu = $tabActe[1];
     $nomu = $tabActe[2];
     $pren = $tabActe[3];
     $sexe = $tabActe[4];
     $dtnai = $tabActe[5];
     $dtdem = $tabActe[6];
     $hhdem = $tabActe[7];
     $action = $tabActe[9];
     $idact = $tabActe[10];
     $cdccam = $tabActe[11];
     $cddiags = $tabActe[12];
     $dtr = $tabActe[15];
     $hhr = $tabActe[16];
     $nomumed = $tabActe[17];
     $prenmed = $tabActe[18];
     $adeli = $tabActe[19];
     $ufr = $tabActe[20];
     if ($options->getOption("HprimXML_CodeMedecinInterv") == 'ADELI9') {
         $this->adeliMedecin = sprintf('%09d', $adeli);
     } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'NOMMED') {
         $this->adeliMedecin = $nomumed . ' ' . $prenmed;
     } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'NOMMED10') {
         $this->adeliMedecin = substr($nomumed . ' ' . $prenmed, 0, 10);
     } elseif ($options->getOption("HprimXML_CodeMedecinInterv") == 'ADELI') {
         $this->adeliMedecin = $adeli;
     } else {
         $this->adeliMedecin = '';
     }
     if ($action == 'creation') {
         $action = utf8_encode('création');
     }
     $date = new clDate();
     if ($options->getOption('HprimXML_NomFic')) {
         $nomFic = $options->getOption('HprimXML_NomFic') . '_' . $res['ID'][$i] . '';
     } else {
         $nomFic = 'fic' . $options->getOption('HprimXML_ChaineFic') . 'TV2_' . $res['ID'][$i] . '';
     }
     $num = $res['ID'][$i];
     $pati = new clPatient($res['DISCR'][$i], '');
     if (!$pati->getID()) {
         $pati = new clPatient($res['DISCR'][$i], 'Sortis');
     }
     $datadmi = new clDate($pati->getDateAdmission());
     $datexam = new clDate($pati->getDateExamen());
     $datsort = new clDate($pati->getDateSortie());
     $this->codeMedecinUrgentiste = $pati->getMatriculeMedecin();
     if ($options->getOption("ChoixHeureAffectationActes") == "Heure d'admission") {
         $datdema = $datadmi;
     } elseif ($options->getOption("ChoixHeureAffectationActes") == "Heure d'examen") {
         $datdema = $datexam;
     } elseif ($options->getOption("ChoixHeureAffectationActes") == "Heure de sorti") {
         $datdema = $datsort;
     } else {
         if ($datadmi->getDatetime() != '1999-12-31 00:00:00' and $datsort->getDatetime() != '1999-12-31 00:00:00') {
             $time = (int) ($datadmi->getTimestamp() / 2) + $datsort->getTimestamp() / 2;
         } elseif ($datadmi->getDatetime() != '1999-12-31 00:00:00') {
             $time = $datadmi->getTimestamp();
         } else {
             $time = $datsort->getTimestamp();
         }
         $datdema = new clDate($time);
         $datmed = new clDate($time);
         //eko ( $datadmi->getTimestamp ( ).' + '.$datsort->getTimestamp ( ).' = '.$time.' = '.$datdema -> getTimestamp ( ) ) ;
         //eko ( $datadmi->getDatetime ( ).' + '.$datsort->getDatetime ( ).' = '.$time.' = '.$datdema -> getDatetime ( ) ) ;
     }
     $dtdem = $datdema->getDate('Y-m-d');
     $hhdem = $datdema->getDate('H:i:s');
     if ($options->getOption('HprimXML_DateProduction') == 'Heure médiane') {
         $date = $datmed;
     } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure admission') {
         $date = $datadmi;
     } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure examen') {
         $date = $datadmi;
     } elseif ($options->getOption('HprimXML_DateProduction') == 'Heure sortie') {
         $date = $datsort;
     }
     if ($options->getOption('HprimXML_DateT')) {
         $mod->MxText('dateHeureProduction', $date->getDate("Y-m-d\\TH:i:s"));
     } else {
         $mod->MxText('dateHeureProduction', $date->getDatetime());
     }
     if ($options->getOption('HprimXML_DateVenue') == 'Heure médiane') {
         $dateve = $datmed;
     } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure admission') {
         $dateve = $datadmi;
     } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure examen') {
         $dateve = $datadmi;
     } elseif ($options->getOption('HprimXML_DateVenue') == 'Heure sortie') {
         $dateve = $datsort;
     } else {
         $dateve = $datdema;
     }
     $dtven = $dateve->getDate('Y-m-d');
     $hhven = $dateve->getDate('H:i:s');
     $mod->MxText('identifiantMessage', $res['ID'][$i]);
     if ($options->getOption('HprimXML_DateT')) {
         $mod->MxText('dateHeureProduction', $date->getDate("Y-m-d\\TH:i:s"));
     } else {
         $mod->MxText('dateHeureProduction', $date->getDatetime());
     }
     $mod->MxText('codeEmetteur', $options->getOption('HprimXML_Emet') ? $options->getOption('HprimXML_Emet') : $res['DISCR'][$i]);
     $mod->MxText('codeDestinataire', $options->getOption('HprimXML_Dest'));
     $mod->MxText('patientEmetteur', $idu);
     $mod->MxText('patientRecepteur', $idu);
     $mod->MxText('sexe', $sexe);
     $mod->MxText('patientNom', $nomu);
     $mod->MxText('patientPrenom', $pren);
     if ($dtnai != "00/00/0000") {
         $mod->MxText('patientNaissance', $dtnai);
     } else {
         $mod->MxText('patientNaissance', "");
     }
     $mod->MxText('venueRecepteur', $idpass);
     $mod->MxText('venueDate', $dtven);
     $mod->MxText('venueHeure', $hhven);
     $mod->MxText('action', $action);
     $mod->MxText('rumEmetteur', $idpass);
     $mod->MxText('rumDate', $dtr);
     $mod->MxText('ADELI', $this->adeliMedecin);
     //$mod -> MxText ( 'rumUF', $ufr ) ;
     $mod->MxText('rumUF', $pati->getUF() ? $pati->getUF() : $ufr);
     $mod->MxText('rumUFDate', $dtdem);
     $mod->MxText('rumUFHeure', $hhdem);
     switch ($options->getOption('HprimXML_CIM10_encodage')) {
         case 'alphanum':
             $cdccam = ereg_replace("[^A-Za-z0-9]", "", $cdccam);
             break;
         case 'alphanumcross':
             $cdccam = ereg_replace("[^A-Za-z0-9+]", "", $cdccam);
             break;
         default:
             $cdccam = $cdccam;
             break;
     }
     $mod->MxText('cim10princ', $cdccam);
     $tabd = explode('~', $cddiags);
     //eko ( count ( $tabd ).' : '.$cddiags );
     if (count($tabd) < 1 or $cddiags == '~' or $cddiags == '') {
         //$mod -> MxBloc ( 'diagsign', 'replace', '<diagnosticSignificatif><codeCim10/></diagnosticSignificatif>' ) ;
         //eko ( "ici" ) ;
         $mod->MxBloc('diagssign', 'replace', ' ');
     } else {
         for ($i = 0; isset($tabd[$i]); $i++) {
             switch ($options->getOption('HprimXML_CIM10_encodage')) {
                 case 'alphanum':
                     $codeCim10sign = ereg_replace("[^A-Za-z0-9]", "", $tabd[$i]);
                     break;
                 case 'alphanumcross':
                     $codeCim10sign = ereg_replace("[^A-Za-z0-9+]", "", $tabd[$i]);
                     break;
                 default:
                     $codeCim10sign = $tabd[$i];
                     break;
             }
             $mod->MxText('diagssign.diagsign.codeCim10sign', $codeCim10sign);
             $mod->MxBloc('diagssign.diagsign', 'loop');
         }
     }
     if ($options->getOption('HprimXML_NomFic') and $options->getOption('HprimXML_NomModulo')) {
         $nomFic = $options->getOption('HprimXML_NomFic') . sprintf('%03d', $res['ID'][$deb] % 1000);
     }
     $this->genFile($mod->MxWrite("1"), $num, $nomFic, array(), "diagxml/");
 }