query("SELECT pmsi.cti_nettoyer_sejours($do_analyse)"); if ($toResult == FALSE) { logErrorMsg("Erreur Lancement fonction cti_nettoyer_sejours()"); } } /** * Supprime les séjours de p_rss avant $year * Puis supprime les séjours qui ne sont plus présents dans p_rss */ function nettoyer_sejours_jusqua($year, $do_analyse = false) { global $iCTI_connexion; logInfoMsg("Suppression des séjours avant l'année $year"); $do_analyse = $do_analyse ? 'TRUE' : 'FALSE'; $sqlcmd = "SELECT pmsi.cti_nettoyer_sejours_jusqua($year, $do_analyse)"; $toResult = $iCTI_connexion->query($sqlcmd); if ($toResult == FALSE) { logErrorMsg("Erreur Lancement fonction cti_nettoyer_sejours_jusqua()"); } } ////////////////////// ANNEE ET MOIS ////////////////////// /** * Détermine si le paramètre $year_AX est du type 'A2, A5' */ function is_year_AX($year_AX) { $annee_mois = trim($year_AX); // A0 || A1 || A2 ..... $pattern = '/^A\d$/i'; return preg_match($pattern, $annee_mois); } /** * Transforme $year_AX du type 'A2' en année en cours moins le nombre d'année * Ex: Pour l'année 2023 * A1 = 2022 * A4 = 2019 */ function transform_AX_in_year($year_AX) { //année en cours moins nombre années demandées $nbAnnee = intval(substr($year_AX, 1)); if ($nbAnnee === 0 && intval(date("m")) < 7) { $nbAnnee = 1; } return date("Y") - $nbAnnee; } /** * Determine si c'est une entête vide * Dans certains cas, il y a une ligne en plus au début des fichiers * Il peut y avoir quelque charactère au début de la ligne, on ne commence pas au début */ function is_entete_empty($buffer) { $entete = trim(substr($buffer, 60, 100)); if ($entete == "") { return true; } return false; } function analyse_table($table_name) { global $iCTI_connexion; $toResult = $iCTI_connexion->query("ANALYSE pmsi.$table_name"); if ($toResult == FALSE) { logErrorMsg("Erreur ANALYSE pmsi.$table_name"); } } function vacuum_table($table_name) { global $iCTI_connexion; $toResult = $iCTI_connexion->query("VACUUM ANALYSE pmsi.$table_name"); if ($toResult == FALSE) { logErrorMsg("Erreur VACUUM ANALYSE pmsi.$table_name"); } } function analyse_table_temp($table_name) { global $iCTI_connexion; $toResult = $iCTI_connexion->query("ANALYSE temp.$table_name"); if ($toResult == FALSE) { logErrorMsg("Erreur ANALYSE temp.$table_name"); } } /** * Extraction données Cancéro (nouvelle méthode) */ function execute_etude($etude) { $em = new EtudeManager(); $em->clear($etude); $em->execute($etude); }