production/Modele/Examen.php
2025-12-01 16:12:12 +00:00

548 lines
16 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Examen extends Modele {
public function getexamen($numeroFeuilleMaladie)
{
$sql = "CALL sp_getexamen(?)";
$examen = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $examen->fetch(PDO::FETCH_ASSOC);
}
public function getdetailexamenfeuille($numeroFeuilleMaladie)
{
if (isset($_SESSION['lang']) && $_SESSION['lang']=="en_US")
{
$sql = "SELECT
A.*,
B.libelleEng AS libelleActe,
C.libelleEng AS libelleFamilleActe
FROM p_detailexamen A
JOIN p_acte B ON (B.codeActe=A.codeActe)
JOIN p_familleacte C ON (C.codeFamilleActe=B.codeFamilleActe)
WHERE A.numeroFeuilleMaladie=?
ORDER BY B.libelle;";
}
else
{
$sql = "SELECT
A.*,
B.libelle AS libelleActe,
C.libelle AS libelleFamilleActe
FROM p_detailexamen A
JOIN p_acte B ON (B.codeActe=A.codeActe)
JOIN p_familleacte C ON (C.codeFamilleActe=B.codeFamilleActe)
WHERE A.numeroFeuilleMaladie=?
ORDER BY B.libelle;";
}
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getdetailexamenfeuille_total($numeroFeuilleMaladie)
{
$sql = 'SELECT
IFNULL(SUM(fraisReelBase),"0") AS fraisReelBase_total,
IFNULL(SUM(fraisReel),"0") AS fraisReel_total,
IFNULL(SUM(montantTm),"0") AS montantTm_total,
IFNULL(SUM(montantArembourser),"0") AS montantArembourser_total,
IFNULL(SUM(depassement),"0") AS depassement_total
FROM p_detailexamen
WHERE numeroFeuilleMaladie = ?;';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function majquantite($idExamen, $quantite, $tm)
{
$sql = 'call sp_p_maj_quantite_examen(?, ?, ?)';
$this->executerRequete($sql, array($idExamen, $quantite, $tm));
}
public function supprimerexamen($idExamen)
{
$sql = 'call sp_p_supprimer_prescription_examen(?)';
$this->executerRequete($sql, array($idExamen));
}
public function updateexamen ($numeroFeuilleMaladie){
$sql = 'call sp_p_update_prescription_examen(?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie));
}
public function getmotifexamenfeuille($numeroFeuilleMaladie, $codeTypePrestation)
{
$sql = "SELECT DISTINCT
D.codeReponseEntentePrealable,
D.motifReel,
D.motifRefusAssure,
D.motifPrestataire
FROM p_demandeententeprealable D
WHERE D.codeReponseEntentePrealable != '2'
AND D.numeroFeuilleMaladie=?
AND D.codeTypePrestation=?
ORDER BY D.codeReponseEntentePrealable;";
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie, $codeTypePrestation));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function refuserexamen($idExamen, $numeroFeuilleMaladie, $p_choix, $codeTypePrestation)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_refuser_prescription_examen(?, ?, ?, ?)';
$this->executerRequete($sql, array($idExamen, $numeroFeuilleMaladie, $user, $codeTypePrestation));
}
public function annulerrefusexamen($idExamen,$numeroFeuilleMaladie,$p_choix,$codeTypePrestation)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_annuler_refus_prescription_examen(?,?,?,?)';
$this->executerRequete($sql, array($idExamen,$numeroFeuilleMaladie,$user,$codeTypePrestation));
}
public function refuserTouteDemandes($numeroFeuilleMaladie,$p_choix, $codeTypePrestation, $vue)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_refuser_toutes_prescription_examen(?, ?, ?, ?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie,$user,$codeTypePrestation, $vue));
}
public function validerexamen($idExamen,$numeroFeuilleMaladie,$p_choix,$codeTypePrestation)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_valider_prescription_examen(?, ?, ?, ?)';
$this->executerRequete($sql, array($idExamen,$numeroFeuilleMaladie,$user,$codeTypePrestation));
}
public function annulervalidationexamen($idExamen,$numeroFeuilleMaladie,$p_choix,$codeTypePrestation)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_annuler_validation_prescription_examen(?,?,?,?)';
$this->executerRequete($sql, array($idExamen,$numeroFeuilleMaladie,$user,$codeTypePrestation));
}
public function validerTouteDemandes($numeroFeuilleMaladie,$p_choix, $codeTypePrestation, $vue)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_valider_toutes_prescription_examen(?, ?, ?, ?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie,$user, $codeTypePrestation, $vue));
}
public function annulervaliderTouteDemande($numeroFeuilleMaladie, $codeTypePrestation, $vue)
{
$sql = 'call sp_p_annuler_valider_toutes_prescription_examen(?, ?, ?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie, $codeTypePrestation, $vue));
}
public function annulerRefuserTouteDemandes($numeroFeuilleMaladie,$p_choix, $codeTypePrestation, $vue)
{
$sql = 'call sp_p_annuler_refuser_toutes_prescription_examen(?, ?, ?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie, $codeTypePrestation, $vue));
}
public function getdetailactesambulantoires($numeroFeuilleMaladie, $codeTypePrestation, $codeGarantie)
{
$sql = "CALL sp_getdetailactes(?, ?, ?);";
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie, $codeTypePrestation, $codeGarantie));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getfeuillemaladie($numeroFeuilleMaladie)
{
$sql = "CALL sp_getfeuillemaladie(?)";
$examen = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $examen->fetch(PDO::FETCH_ASSOC);
}
public function getdetailproformahospit($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'call sp_get_actesproformahospitalisation_temp(?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function gettotaldetailproformahospit($idProforma)
{
$sql = 'call sp_p_get_actes_actesproformahospitalisation_total(?)';
$resultat = $this->executerRequete($sql, array($idProforma));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function getproformahospit($idProforma)
{
$sql = "CALL sp_getententeproforma(?)";
$examen = $this->executerRequete($sql, array($idProforma));
return $examen->fetch(PDO::FETCH_ASSOC);
}
public function getmotifproformahospit($idProforma)
{
$sql = "SELECT DISTINCT
D.codeReponseEntentePrealable,
D.motifReel,
D.motifRefusAssure,
D.motifPrestataire
FROM p_demandeententeprealable D
WHERE D.codeReponseEntentePrealable != '2'
AND D.idProformaHospitalisation=?
-- AND D.idProformaHospitalisation !='0'
ORDER BY D.codeReponseEntentePrealable;";
$resultat = $this->executerRequete($sql, array($idProforma));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function majdureecorrigeeproformahospi($idProforma, $dureeCorrigee)
{
$user = $_SESSION['login'];
$sql = 'call sp_majdureecorrigeeproformahospi(?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $dureeCorrigee, $user));
}
public function recapproformahospitalisation($idProforma, $codePrestataire)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'CALL sp_p_recap_hospitalisation_proforma(?, ?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $codePrestataire, $idSaisie, $user));
}
public function validertoutproformahospitalisation($idProforma)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'call sp_valider_tout_proformahospitalisation_temp(?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $idSaisie, $user));
}
public function annulervalidertoutproformahospitalisation($idProforma)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'call sp_annulervalider_tout_proformahospitalisation_temp(?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $idSaisie, $user));
}
public function refusertoutproformahospitalisation($idProforma)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'call sp_refusertout_proformahospitalisation_temp(?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $idSaisie, $user));
}
public function annulerrefusertoutproformahospitalisation($idProforma)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'call sp_annulerrefusertout_proformahospitalisation_temp(?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $idSaisie, $user));
}
public function majvaleuracteproformahospitalisation($idPrestationactes, $valeurActe)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'call sp_p_maj_valeuracte_proformahospitalisation_temp(?, ?, ?, ?)';
$this->executerRequete($sql, array($idPrestationactes, $valeurActe, $idSaisie, $user));
}
public function majquantiteproformahospitalisation($idPrestationactes, $quantite)
{
$user = $_SESSION['login'];
$idSaisie = $_SESSION['idSaisie'];
$sql = 'call sp_p_maj_quantite_acte_proformahospitalisation_temp(?, ?, ?, ?)';
$this->executerRequete($sql, array($idPrestationactes, $quantite, $idSaisie, $user));
}
public function validerunacteproformahospitalisation($idProforma, $idPrestationactes, $choix)
{
$user = $_SESSION['login'];
$sql = 'call sp_valider_unacte_proformahospitalisation(?, ?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $idPrestationactes, $choix, $user));
}
public function refuserunacteproformahospitalisation($idProforma, $idPrestationactes, $choix)
{
$user = $_SESSION['login'];
$sql = 'call sp_refuser_unacte_proformahospitalisation(?, ?, ?, ?);';
$this->executerRequete($sql, array($idProforma, $idPrestationactes, $choix, $user));
}
public function majobservationproformahospitalisation($idProforma, $observation)
{
$sql = 'call sp_majobservationproformahospitalisation(?, ?);';
$this->executerRequete($sql, array($idProforma, $observation));
}
public function majmotifrefusproformahospitalisation($idProforma, $motifRefus)
{
$sql = 'call sp_majmotifrefusproformahospitalisation(?, ?);';
$this->executerRequete($sql, array($idProforma, $motifRefus));
}
public function validerproformahospitalisation($idProforma)
{
$codeSociete = $_SESSION['codeSociete'];
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'call sp_validerproformahospitalisation(?, ?, ?, ?);';
$this->executerRequete($sql, array($codeSociete, $idProforma, $idSaisie, $user))->fetch(PDO::FETCH_ASSOC);
}
// -----------------------------------------------------------------------------------------------
public function getSituationTypeHospitalisation($codeGarantie, $datePrestation, $idBeneficiaire)
{
$sql = 'CALL sp_afficher_garantiebeneficiaire_une_date(?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeGarantie, $datePrestation));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function gethospitalisation_total($idProforma)
{
$sql = 'call sp_proformahospitalisation_total(?)';
$resultat = $this->executerRequete($sql, array($idProforma));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
function getlibelleperiodicite($codePeriodicite)
{
$sql = "SELECT fn_libelle_periodicite(?) AS periodicite;";
$resultat = $this->executerRequete($sql, array($codePeriodicite))->fetch(PDO::FETCH_ASSOC);
return $resultat['periodicite'];
}
function getlibelleperiodicite_eng($codePeriodicite)
{
$sql = "SELECT fn_libelle_periodicite_eng(?) AS periodiciteEng;";
$resultat = $this->executerRequete($sql, array($codePeriodicite))->fetch(PDO::FETCH_ASSOC);
return $resultat['periodiciteEng'];
}
function getlibelleacte($codeActe)
{
$sql = "SELECT fn_libelle_acte_newversion(?) AS libelleActe;";
$resultat = $this->executerRequete($sql, array($codeActe))->fetch(PDO::FETCH_ASSOC);
return $resultat['libelleActe'];
}
function getlibelleacteEng($codeActe)
{
$sql = "SELECT fn_libelle_acte_newversion_eng(?) AS libelleActeEng;";
$resultat = $this->executerRequete($sql, array($codeActe))->fetch(PDO::FETCH_ASSOC);
return $resultat['libelleActeEng'];
}
public function getSituationActe($idBeneficiaire, $codeActe, $datePrestation)
{
$sql = 'call sp_afficher_situation_acte_une_date(?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeActe, $datePrestation));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getSituationBeneficiaire($idBeneficiaire, $codeGarantie, $codeActe, $datePrestation)
{
$sql = 'call sp_afficher_situation_beneficiaire_une_date(?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeGarantie, $codeActe, $datePrestation));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
// ---------------------------------------------------------------------------------------------------------------
public function choixActe($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'SELECT fn_choix_actes_proforma(?, ?, ?) AS choix;';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user))->fetch(PDO::FETCH_ASSOC);
return $resultat['choix'];
}
public function cumulProformaHospitalisation($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'CALL sp_cumul_proforma_hospitalisation(?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function initdetailproformahospit($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'call sp_init_detailproformahospit(?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user));
}
public function accorderTout($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'SELECT fn_accorder_tout_actes_proforma(?, ?, ?) AS choix;';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user))->fetch(PDO::FETCH_ASSOC);
return $resultat['choix'];
}
public function refuserTout($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'SELECT fn_refuser_tout_actes_proforma(?, ?, ?) AS choix;';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user))->fetch(PDO::FETCH_ASSOC);
return $resultat['choix'];
}
public function siRefus($idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'SELECT fn_si_refus_actes_proforma(?, ?, ?) AS choix;';
$resultat = $this->executerRequete($sql, array($idProforma, $idSaisie, $user))->fetch(PDO::FETCH_ASSOC);
return $resultat['choix'];
}
public function ajouteractesproforma($codeActe, $idProforma)
{
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'CALL sp_ajouter_actes_proforma(?, ?, ?, ?);';
$this->executerRequete($sql, array($codeActe, $idProforma, $idSaisie, $user));
}
public function creerconsommableproformahospit($nomConsommable, $prixconsommable, $quantiteconsommable, $idProforma)
{
$codeSociete = $_SESSION['codeSociete'];
$numeroFeuilleMaladie = 0;
$idSaisie = $_SESSION['idSaisie'];
$user = $_SESSION['login'];
$sql = 'call sp_creer_nv_consommables_proformahospit(?, ?, ?, ?, ?, ?, ?, ?);';
$this->executerRequete($sql, array($codeSociete, $numeroFeuilleMaladie, $user, $nomConsommable,
$prixconsommable, $quantiteconsommable, $idProforma, $idSaisie));
}
}