prestation/Modele/Prescription.php
2025-12-01 18:54:33 +00:00

354 lines
11 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class Prescription extends Modele {
public function getprescription($numeroPrescription)
{
$sql = 'call sp_p_get_prescription(?)';
$prescription = $this->executerRequete($sql, array($numeroPrescription));
return $prescription->fetch(PDO::FETCH_ASSOC);
}
public function getContexteAjaxPrescription($numeroPrescription)
{
$_SESSION['p_numeroPrescription_C'] = $numeroPrescription;
}
public function getPrescriptionBonOrdonnance($numeroBonOrdonnance)
{
$sql = 'select * from p_prescription where numeroBonOrdonnance = ?;';
$prescription = $this->executerRequete($sql, array($numeroBonOrdonnance));
return $prescription->fetch(PDO::FETCH_ASSOC);
}
public function getprescription_pha($numeroBonOrdonnance, $codePrestataireLivraison)
{
$sql = 'call sp_p_get_cons_pha(?, ?)';
$resultat = $this->executerRequete($sql, array($numeroBonOrdonnance, $codePrestataireLivraison));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['p_numeroFeuilleMaladie_C'] = $ligne['numeroFeuilleMaladie'];
$_SESSION['p_numeroBonConsultation_C'] = $ligne['numeroBonConsultation'];
$_SESSION['p_numeroBonOrdonnance_C'] = $ligne['numeroBonOrdonnance'];
$_SESSION['p_numeroBonHospitalisation_C'] = $ligne['numeroBonHospitalisation'];
$_SESSION['p_numeroBonOptique_C'] = $ligne['numeroBonOptique'];
$_SESSION['p_numeroBonExamen_C'] = $ligne['numeroBonExamen'];
$_SESSION['p_numeroBonKine_C'] = $ligne['numeroBonKine'];
$_SESSION['p_numeroPrescription_C'] = $ligne['numeroPrescription'];
$_SESSION['p_numeroOptique_C'] = $ligne['numeroOptique'];
$_SESSION['p_numeroExamen_C'] = $ligne['numeroExamen'];
$_SESSION['p_numeroPrescriptionKine_C'] = $ligne['numeroPrescriptionKine'];
$_SESSION['p_idFacture_C'] = $ligne['idFacture'];
$_SESSION['p_hospitalisation_C'] = $ligne['hospitalisation'];
$_SESSION['p_chirurgie_C'] = $ligne['chirurgie'];
return $ligne;
}
public function getdetailprescription_pha($numeroBonOrdonnance, $codePrestataireLivraison)
{
$sql = 'call sp_r_get_detail_prescription_pha(?, ?)';
$optique = $this->executerRequete($sql, array($numeroBonOrdonnance, $codePrestataireLivraison));
return $optique->fetchAll(PDO::FETCH_ASSOC);
}
public function enregistrerprescription($numeroBon, $codeMedecin, $codeGestionBon)
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$numeroPrescription = $_SESSION['p_numeroPrescription_C'];
$user = $_SESSION['p_login'];
$fusionConsOrd = $_SESSION['p_fusionConsOrd'];
$sql = 'call sp_p_enregistrer_prescription(?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($idBeneficiaire, $numeroFeuilleMaladie, $numeroPrescription, $numeroBon,
$codeMedecin, $user, $codeGestionBon, $fusionConsOrd));
}
public function envoieprescription()
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$user = $_SESSION['p_login'];
$sql = 'call sp_p_envoie_prescription(?, ?, ?)';
$this->executerRequete($sql, array($idBeneficiaire, $numeroFeuilleMaladie, $user));
}
public function noprescription()
{
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$sql = 'call sp_p_no_prescription(?)';
$this->executerRequete($sql, array($numeroFeuilleMaladie));
}
public function tauxCouverture($ticket="")
{
if($ticket==""){
$tm = $_SESSION['p_tm_C'];
}else{
$tm = $ticket;
}
$sql = 'SELECT fn_libelle_taux_couverture_tm(?) AS tauxCouverture;';
$resultat = $this->executerRequete($sql, array($tm))->fetch(PDO::FETCH_ASSOC);
return $resultat['tauxCouverture'];
}
public function getmedicament()
{
if (isset($_SESSION['p_lang']) && $_SESSION['p_lang']=="en_US"){
$sql = "SELECT `codeMedicament` AS `code`,
CONCAT(m.`libelle`,' <==> ',f.`libelleEng`,
CASE WHEN m.exclu='1' THEN ' <==> Non garanti' ELSE '<==> Garanti' END
) AS libelle
FROM p_medicament m
JOIN `p_formemedicament` f ON (f.`codeForme`=m.`codeForme`)";
}else{
$sql = "SELECT `codeMedicament` AS `code`,
CONCAT(m.`libelle`,' <==> ',f.`libelle`,
CASE WHEN m.exclu='1' THEN ' <==> Non garanti' ELSE '<==> Garanti' END
) AS libelle
FROM p_medicament m
JOIN `p_formemedicament` f ON (f.`codeForme`=m.`codeForme`)";
}
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getmedicamentfiltre($libelle)
{
$libelle = contruireParamLike($libelle);
$numeroPrescription = $_SESSION['p_numeroPrescription_C'];
if (isset($_SESSION['p_lang']) && $_SESSION['p_lang']=="en_US"){
$sql = "CALL sp_p_getmedicamentfiltre_eng(?, ?);";
}else{
$sql = "CALL sp_p_getmedicamentfiltre(?, ?);";
}
$resultat = $this->executerRequete($sql, array($libelle, $numeroPrescription));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getParamMontantTotalExamen()
{
$codeSociete = $_SESSION['p_codeSociete'];
$sql = 'SELECT montantTotalExamen FROM `societeuser` WHERE `codeSociete` = ?;';
$resultat = $this->executerRequete($sql, array($codeSociete))->fetch(PDO::FETCH_ASSOC);
return $resultat['montantTotalExamen'];
}
public function getParamMontantTotalMedicament()
{
$codeSociete = $_SESSION['p_codeSociete'];
$sql = 'SELECT montantTotalMedicament FROM `societeuser` WHERE `codeSociete` = ?;';
$resultat = $this->executerRequete($sql, array($codeSociete))->fetch(PDO::FETCH_ASSOC);
return $resultat['montantTotalMedicament'];
}
public function getDateFinDelaiCarenceActe($codeActe)
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$sql = 'SELECT fn_delai_carence_acte_beneficiaire(?, ?) AS dateFinDelaiCarenceActe';
$resultat = $this->executerRequete($sql, array($_SESSION['p_idBeneficiaire_C'], $codeActe));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['dateFinDelaiCarenceActe'];
}
public function getSituationActeBeneficiaire($codeActe)
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$sql = 'CALL sp_afficher_situation_acte_beneficiaire(?, ?);';
$resultat = $this->executerRequete($sql, array($_SESSION['p_idBeneficiaire_C'], $codeActe));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function getcodeReponseEntentePrealable()
{
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$sql = 'SELECT codeReponseEntentePrealable FROM `p_examen` WHERE `numeroFeuilleMaladie` = ?;';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie))->fetch(PDO::FETCH_ASSOC);
return $resultat['codeReponseEntentePrealable'];
}
public function getcodeReponseEntentePrealable_pha()
{
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$sql = 'SELECT codeReponseEntentePrealable FROM `p_prescription` WHERE `numeroFeuilleMaladie` = ?;';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie))->fetch(PDO::FETCH_ASSOC);
return $resultat['codeReponseEntentePrealable'];
}
public function ticketModerateurActeBeneficiaire($codeActe){
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$sql = 'SELECT fn_ticket_moderateur_acte(?, ?) as tMacte;';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeActe))->fetch(PDO::FETCH_ASSOC);
return $resultat['tMacte'];
}
public function ticketModerateurGarantieBeneficiaire($codeGarantie){
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$sql = 'SELECT fn_ticket_moderateur_garantie(?, ?) as tMgarantie;';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeGarantie))->fetch(PDO::FETCH_ASSOC);
return $resultat['tMgarantie'];
}
public function getGarantieFamilleActe($codeFamilleActe){
$sql = 'SELECT `codeGarantie` FROM `p_familleacte`
WHERE `codeFamilleActe`=?';
$resultat = $this->executerRequete($sql, array($codeFamilleActe))->fetch(PDO::FETCH_ASSOC);
return $resultat['codeGarantie'];
}
//13-03-2023
public function getDateSurvenance($numeroFeuilleMaladie)
{
$sql = 'SELECT `dateSurvenance` FROM `p_feuillemaladie`
WHERE `numeroFeuilleMaladie`=?';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie))->fetch(PDO::FETCH_ASSOC);
return $resultat['dateSurvenance'];
}
//22-03-2023
public function getgarantiebareme($codeGarantie)
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$idSaisie = $_SESSION['p_idSaisie'];
$user = $_SESSION['p_login'];
//var_dump($idBeneficiaire, $numeroFeuilleMaladie, $idSaisie, $user);die();
$sql = 'CALL sp_init_garantiebareme_newversion(?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $numeroFeuilleMaladie, $codeGarantie, $idSaisie, $user));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function getSituationGarantieBeneficiaire($codeGarantie, $datePrestation)
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$idSaisie = $_SESSION['p_idSaisie'];
$user = $_SESSION['p_login'];
//var_dump($idBeneficiaire, $codeGarantie, $datePrestation, $idSaisie, $user);
//die();
$sql = 'CALL sp_afficher_situation_garantie_beneficiaire_newversion(?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeGarantie, $datePrestation, $idSaisie, $user));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function tmGarantie($codeGarantie, $datePrestation)
{
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
//$idSaisie = $_SESSION['p_idSaisie'];
//$user = $_SESSION['p_login'];
$sql = 'SELECT fn_ticket_moderateur_garantie_newversion(?, ?, ?) AS tm;';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $codeGarantie, $datePrestation))->fetch(PDO::FETCH_ASSOC);
return $resultat['tm'];
}
public function getmedicamentfiltreSubstitution($libelle)
{
$libelle = contruireParamLike($libelle);
$numeroPrescription = $_SESSION['p_numeroPrescription_C'];
if (isset($_SESSION['p_lang']) && $_SESSION['p_lang']=="en_US"){
$sql = "CALL sp_p_getmedicamentfiltresubstitut_eng(?, ?);";
}else{
$sql = "CALL sp_p_getmedicamentfiltresubstitut(?, ?);";
}
$resultat = $this->executerRequete($sql, array($libelle, $numeroPrescription));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
}