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(); }
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."); }
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); }
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]); } }