');
donnees = 'codeActe='+codeActe+'&datePrestation='+datePrestation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxprixacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosacte").html(data);
//getstatutacte();
//afficheDivPlafond();
$("#numeroBon").val("");
$("#codeRaisonConsultation").focus();
$("#msgErreur").html("");
if (codeGestionBon=="0")
{
$("#btn_enreg").disable();
$("#codeEtatBon").val("");
}
},
complete: function() {
actualiseTauxCouverture();
}
});
}
function ajaxbondisponible()
{
codeMedecin = $("#codeMedecin").val();
if (codeMedecin<=" ")
{
v_msg="Veuillez s\u00e9lectionner un m\u00e9decin!";
v_msgEng="Please select a doctor!";
alert_ebene(v_msg, v_msgEng);
// $("#codeMedecin").focus();
$("#nomMedecin").focus();
$("#numeroBon").val("");
return;
}
codeActe = $("#codeActe").val();
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
$("#numeroBon").val("");
return;
}
codeRaisonConsultation = $("#codeRaisonConsultation").val();
if (codeRaisonConsultation<=" ")
{
v_msg="Veuillez s\u00e9lectionner une raison pour la consultation!";
v_msgEng="Please select a reason for the consultation!";
alert_ebene(v_msg, v_msgEng);
$("#codeRaisonConsultation").focus();
$("#numeroBon").val("");
return;
}
numeroBon = $("#numeroBon").val();
if ($("#numeroBon").val()<="0")
{
v_msg="Veuillez saisir un No de bon!";
v_msgEng="Please enter a prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").focus();
return;
}
donnees = "numeroBon="+numeroBon;
$.ajax({
url: $("#racineWeb").val()+"Ajaxbondisponible/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosbon").html(data);
},
complete: function() {
}
});
}
function ajaxinfosbonconsultation()
{
badcodeGestionBon = $("#badcodeGestionBon").val();
if (badcodeGestionBon=="1")
{
v_msg="Veuillez revoir le type de gestion de bons!";
v_msgEng="Please review the type of forms management!";
alert_ebene(v_msg, v_msgEng);
return;
}
codeGestionBon = $("#codeGestionBon").val();
if (codeGestionBon!="0")
{
v_msg="Option non disponible!";
v_msgEng="Option not available!";
alert_ebene(v_msg, v_msgEng);
return;
}
codeMedecin = $("#codeMedecin").val();
if (codeMedecin<=" ")
{
v_msg="Veuillez s\u00e9lectionner un m\u00e9decin!";
v_msgEng="Please select a doctor!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").val("");
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
// $("#codeMedecin").focus();
$("#nomMedecin").focus();
$("#btn_pop_medecin").click();
return;
}
codeActe = $("#codeActe").val();
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").val("");
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#codeActe").focus();
return;
}
codeRaisonConsultation = $("#codeRaisonConsultation").val();
if (codeRaisonConsultation<=" ")
{
v_msg="Veuillez s\u00e9lectionner une raison pour la consultation!";
v_msgEng="Please select a reason for the consultation!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").val("");
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#codeRaisonConsultation").focus();
return;
}
numeroBon = $("#numeroBon").val();
if(isNaN(numeroBon))
{
v_msg="Veuillez revoir le num\u00e9ro de bon!";
v_msgEng="Please review the prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
if ($("#numeroBon").val()<="0")
{
v_msg="Veuillez saisir un No de bon!";
v_msgEng="Please enter a prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
donnees = "numeroBon="+numeroBon;
$.ajax({
url: $("#racineWeb").val()+"Ajaxinfosbonconsultation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosbon").html(data);
},
complete: function() {
}
});
}
////// pour le mode saisi facture
function receptionner_bon() {
// Validation initiale
let nbligne_info = parseInt($("#nbligne_info").val()) || 0;
if (nbligne_info === 0) {
alert_ebene("Veuillez actualiser la liste avant!", "Please refresh before!");
return;
}
// Récupération et validation des données
const codeTypeBon = $("#codeTypeBon").val();
let noDepart = parseInt($("#noDepart").val()) || 0;
let noFin = parseInt($("#noFin").val()) || 0;
if (!codeTypeBon || codeTypeBon.trim() === "") {
alert_ebene("Veuillez sélectionner un type de bon!", "Please select a form type!");
$("#codeTypeBon").focus();
return;
}
if (noFin < noDepart || noFin === 0) {
alert_ebene("Veuillez revoir vos bornes!", "Please check your limits!");
return;
}
// Confirmation
const confirmationMsg = `Confirmez-vous la réception de la plage de bons de ${noDepart} à ${noFin}?`;
const confirmationMsgEng = `Do you confirm receipt of the prescriptions range from ${noDepart} to ${noFin}?`;
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
// Préparation des données
const prestataire = $("#prestataire_C").val();
const donnees = {
codeTypeBon: codeTypeBon,
noDepart: noDepart,
noFin: noFin
};
const donnees_sav = {
...donnees,
prestataire: prestataire,
typeMail: 'mailreceptionbon'
};
// Envoi des données
$.ajax({
url: `${$("#racineWeb").val()}Ajaxafficherbons/receptionnerBon/`,
type: 'post',
data: donnees,
error: function(errorData) {
// Gestion d'erreur si nécessaire
},
complete: function() {
mettremailattente($.param(donnees_sav));
alert_ebene("Réception confirmée avec succès!", "Reception confirmed successfully!");
afficherbon();
}
});
});
}
////////
function enregistrerconsultationold() {
// Validation initiale
const badcodeGestionBon = $("#badcodeGestionBon").val();
if (badcodeGestionBon === "1") {
alert_ebene("Veuillez revoir le type de gestion de bons!", "Please review the type of forms management!");
return;
}
// Gestion des délais de carence
const appliquerDelaiCarence = $("#appliquerDelaiCarence").val();
const anciennete = parseInt($("#anciennete").val()) || 0;
const delaiCarenceBeneficiaire = parseInt($("#delaiCarenceBeneficiaire").val()) || 0;
const delaiCarenceRaisonconsultation = parseInt($("#delaiCarenceRaisonconsultation").val()) || 0;
if (delaiCarenceBeneficiaire > 0 && appliquerDelaiCarence === "1") {
if (anciennete < delaiCarenceBeneficiaire) {
alert_ebene("Attention! Période de carence!", "Warning! waiting period!");
return;
}
const delaiCarenceActe = parseInt($("#delaiCarenceActe").val()) || 0;
if (anciennete < delaiCarenceActe) {
alert_ebene("Attention! Période de carence => Acte!", "Warning! waiting period => Act!");
return;
}
if (anciennete < delaiCarenceRaisonconsultation) {
alert_ebene("Attention! Période de carence => Raison de consultation!",
"Warning! waiting period => Reason Consultation!");
return;
}
}
// Validation des champs obligatoires
const codeMedecin = $("#codeMedecin").val();
const medecinManquant = $("#medecinManquant").val();
const codeFamilleActe = $("#codeFamilleActe").val();
const codeActe = $("#codeActe").val();
const codeRaisonConsultation = $("#codeRaisonConsultation").val();
const codeGestionBon = $("#codeGestionBon").val();
if (!codeMedecin || codeMedecin.trim() === "") {
alert_ebene("Veuillez sélectionner un médecin!", "Please select a doctor!");
$("#codeMedecin").focus();
return;
}
if (codeMedecin === "ZZZZ" && (!medecinManquant || medecinManquant.trim() === "")) {
alert_ebene("Veuillez saisir le nom du médecin non enregistré!",
"Please enter the name of the non-registered doctor!");
$("#medecinManquant").focus();
return;
}
if (!codeFamilleActe || codeFamilleActe.trim() === "") {
alert_ebene("Veuillez sélectionner un acte!", "Please select an act!");
$("#codeFamilleActe").focus();
return;
}
if (!codeActe || codeActe.trim() === "") {
alert_ebene("Veuillez sélectionner un acte!", "Please select an act!");
$("#codeActe").focus();
return;
}
if (!codeRaisonConsultation || codeRaisonConsultation.trim() === "") {
alert_ebene("Veuillez sélectionner une raison pour la consultation!",
"Please select a reason for the consultation!");
$("#codeRaisonConsultation").focus();
return;
}
// Gestion spécifique des bons
let numeroBon;
let confirmationMsg, confirmationMsgEng;
if (codeGestionBon === "0") {
numeroBon = $("#numeroBon").val();
const numeroBonSave = $("#numeroBonSave").val();
const codeEtatBon = $("#codeEtatBon").val();
if (isNaN(numeroBon)) {
alert_ebene("Veuillez revoir le numéro de bon!", "Please review the prescription number!");
$("#btn_enreg").prop("disabled", true);
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
if (!numeroBon || numeroBon <= "0") {
alert_ebene("Veuillez saisir un No de bon!", "Please enter a prescription number!");
$("#numeroBon").focus();
return;
}
if (codeEtatBon !== "1") {
alert_ebene("Veuillez saisir un No de bon disponible!", "Please enter a prescription number available!");
$("#numeroBon").focus();
return;
}
if (numeroBonSave !== numeroBon) {
alert_ebene("Veuillez revoir le numéro de bon!", "Please review the prescription number!");
$("#btn_enreg").prop("disabled", true);
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
confirmationMsg = "Confirmez-vous ce No de bon?";
confirmationMsgEng = "Do you confirm this number of prescription?";
} else {
numeroBon = "-1";
confirmationMsg = "Confirmez-vous ce dossier?";
confirmationMsgEng = "Do you confirm this claim?";
}
// Confirmation et envoi des données
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
// Préparation des données
const donnees = {
codeActe: codeActe,
numeroBon: numeroBon,
codeMedecin: codeMedecin,
codeRaisonConsultation: codeRaisonConsultation,
dateSurvenance: $("#dateSurvenance").val(),
observations: $("#observations").val(),
prixActe: $("#prixActe").val(),
montantTm: $("#montantTm").val(),
aRembourser: $("#aRembourser").val(),
numeroDerogation: $("#derogation_en_cours_C").val() || "0",
numeroDerogationFinger: $("#derogation_finger_en_cours_C").val() || "0",
medecinManquant: medecinManquant,
dateReferencement: $("#dateReferencement").val() || "",
codeReferencement: $("#codeReferencement").val() || "",
codeGestionBon: codeGestionBon
};
$("#btn_enreg").prop("disabled", true);
$.ajax({
url: `${$("#racineWeb").val()}Ajaxenregistrerconsultation/enregistrerconsultation/`,
type: 'post',
data: donnees,
error: function(errorData) {
// Gestion d'erreur si nécessaire
},
success: function(data) {
maj_fraiseexclu_cso();
if (codeRaisonConsultation === "ACIR") {
preparesms("accident");
alert_ebene("alerte envoyée pour accident!", "alert sent for accident!");
}
},
complete: function() {
alert_ebene("Consultation enregistrée avec succès", "Saved successfully!");
feuillemaladie();
}
});
});
}
function enregistrerconsultation()
{
debugger;
codeLangue = $("#codeLangue").val();
dateEffetCouvert = $("#dateEffetCouvert").val();
codeActeConsultationGratuite = $("#codeActeConsultationGratuite").val();
if (dateEffetCouvert!="1")
{
v_msg="Attention! Non renouvel\u00e9";
v_msgEng="Warning! Not renewed";
alert_ebene(v_msg, v_msgEng);
return;
}
fingerActif = $("#fingerActif" ).val();
faceActif = $("#faceActif").val();
if (prestation_possible())
{
//avecReferencement = $("#avecReferencement").val();
if (prestataireReference=="0")
{
if ($("#codeReferencement").val()==""){
okReferencement="0";
}else{
okReferencement="1";
}
}else{
okReferencement="1";
}
derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
if(derogation_finger_en_cours>0)
{
$("#okId" ).val("1");
$("#okId_face" ).val("1");
}
else
{
finger_id = $("#finger_id_C" ).val();
faceRegistered = $("#faceRegistered" ).val();
if( (fingerActif=='1' && finger_id==0) || (faceActif=='1' && faceRegistered!="1") )
{
v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
v_msgEng="Please enroll before!";
alert_ebene(v_msg, v_msgEng);
return;
}
okId=$("#okId" ).val();
okId_face=$("#okId_face" ).val();
if( (fingerActif=='1' && okId!=1) || (faceActif=='1' && okId_face!=1) )
{
v_msg="Veuillez proc\u00e9der à l\'identification avant!";
v_msgEng="Please check identity before!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
modeSaisieFacture=$("#modeSaisieFacture").val();
if(modeSaisieFacture=="1")
{
$("#btn_popdate_reelle").click();
return;
}else{
codeTypeRemboursement=$("#codeTypeRemboursement").val();
if(codeTypeRemboursement=="RDE"){
v_msg="Attention! La consultation est exclusivement en remboursement direct! Le patient est pri\u00e9 de se rendre chez le gestionnaire pour se faire rembourser. Merci pour votre compr\u00e9hension!";
v_msgEng="Warning! The consultation is exclusively in direct reimbursement! The patient is asked to go to the manager for reimbursement. "+nomSociete+" thanks you!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}
}
badcodeGestionBon = $("#badcodeGestionBon").val();
if (badcodeGestionBon=="1")
{
v_msg="Veuillez revoir le type de gestion de bons!";
v_msgEng="Please review the type of forms management!";
alert_ebene(v_msg, v_msgEng);
return;
}
appliquerDelaiCarence = $("#appliquerDelaiCarence").val();
anciennete = $("#anciennete").val();
anciennete = parseInt(anciennete);
delaiCarenceRaisonconsultation = $("#delaiCarenceRaisonconsultation").val();
delaiCarenceRaisonconsultation = parseInt(delaiCarenceRaisonconsultation);
delaiCarenceBeneficiaire = $("#delaiCarenceBeneficiaire").val();
delaiCarenceBeneficiaire = parseInt(delaiCarenceBeneficiaire);
if (delaiCarenceBeneficiaire > 0 && appliquerDelaiCarence=="1")
{
if (anciennete < delaiCarenceBeneficiaire)
{
v_msg="Attention! P\u00e9riode de carence!";
v_msgEng="Warning! waiting period!";
alert_ebene(v_msg, v_msgEng);
return;
}
delaiCarenceActe = $("#delaiCarenceActe").val();
delaiCarenceActe = parseInt(delaiCarenceActe);
if (anciennete "0") && (dureeDerniereConsultation <= dureeVieBon) && (codePrestataire == dernierCentre)){
if(codeTypeConsultation == "GE"){
v_msg="La derni\u00e8re consultation du patient pour cet acte date de moins de "+dureeVieBon+" jours. Veuiller changer l'acte ou passer en consultation gratuite. Merci pour votre compr\u00e9hension!";
v_msgEng="The patient's last consultation was less than "+dureeVieBon+" days ago. Please change the deed or go to free consultation. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "SP") && (dernierMedecinConsulte == codeMedecin)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 par ce sp\u00e9cialiste, il ya moins de "+dureeVieBon+" jours. Veuiller changer l'acte ou passer en consultation gratuite. Merci pour votre compr\u00e9hension!";
v_msgEng="Please note, this patient has already been consulted by this specialist, less than "+dureeVieBon+" days ago. Please change the deed or go to free consultation. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}
}else if ((codeActe == dernierActe) && (dureeDerniereConsultation == "0")){
if((codeTypeConsultation == "GE") && (codePrestataire == dernierCentre)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui par un g\u00e9n\u00e9raliste. Voulez-vous ouvrir son dossier m\u00e9dical?";
v_msgEng="Attention, this patient has already been consulted by a general practitioner today. Would you like to open his medical file?";
confirm_ebene_sweet(v_msg, v_msgEng).then((confirmed) => {
if (confirmed) {
dossiers(0);
} else {
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui par un g\u00e9n\u00e9raliste. Cliquer sur le menu Dossiers, dans la barre de gauche, pour ouvrir son dossier m\u00e9dical.";
v_msgEng="Attention, this patient has already been consulted by a general practitioner today. Click on the Files menu, in the left bar, to open his medical file.";
faireDefileMessage(v_msg, v_msgEng);
}
});
return;
}else if((codeTypeConsultation == "GE") && (codePrestataire != dernierCentre)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui ailleurs par un g\u00e9n\u00e9raliste. Veuiller changer l'acte ou demander au patient de revenir un autre jour. Merci pour votre compr\u00e9hension!";
v_msgEng="Please note, for this day the patient has already been consulted elsewhere by a general practitioner. Please change the procedure or ask the patient to come back another day. Thank you for your understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "SP") && (nbreConsultaionSpecialisteJour >= paramConsultationSpecialisteJour)){
v_msg="Attention, ce patient a d\u00e9ja consult\u00e9 "+ paramConsultationSpecialisteJour +" sp\u00e9cialistes aujourd'hui. Veuiller changer l'acte. Merci pour votre compr\u00e9hension!";
v_msgEng="Attention, this patient has already consulted "+ paramConsultationSpecialisteJour +" specialists today. Please change the deed. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "SP") && (codePrestataire == dernierCentre) && (dernierMedecinConsulte == codeMedecin)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui par ce sp\u00e9cialiste.";
v_msgEng="Attention, this patient has already been consulted by this specialist today.";
confirm_ebene_sweet(
codeLangue === "en_US" ? "Do you want to open the patient's medical file?" : "Voulez-vous ouvrir le dossier médical du patient?",
codeLangue === "en_US" ? v_msgEng : v_msg
).then((confirmed) => {
if (confirmed) {
dossiers(0);
} else {
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui par ce sp\u00e9cialiste. Cliquer sur le menu Dossiers, dans la barre de gauche, pour ouvrir son dossier m\u00e9dical.";
v_msgEng="Attention, this patient has already been consulted by this specialist today. Click on the Files menu, in the left bar, to open his medical file.";
faireDefileMessage(v_msg, v_msgEng);
}
});
return;
}
}else if ((codeActe == dernierActe) && (dureeDerniereConsultation == "0")){
if((codeTypeConsultation == "GE") && (codePrestataire == dernierCentre)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui par un g\u00e9n\u00e9raliste. Voulez-vous ouvrir son dossier m\u00e9dical?";
v_msgEng="Attention, this patient has already been consulted by a general practitioner today. Would you like to open his medical file?";
confirm_ebene_sweet(v_msg, v_msgEng).then((confirmed) => {
if (confirmed) {
dossiers(0);
} else {
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui par un g\u00e9n\u00e9raliste. Cliquer sur le menu Dossiers, dans la barre de gauche, pour ouvrir son dossier m\u00e9dical.";
v_msgEng="Attention, this patient has already been consulted by a general practitioner today. Click on the Files menu, in the left bar, to open his medical file.";
faireDefileMessage(v_msg, v_msgEng);
}
});
return;
}else if((codeTypeConsultation == "GE") && (codePrestataire != dernierCentre)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui dans un autre centre.";
v_msgEng="Attention, this patient has already been consulted today in another center";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "GE") && (dureeDerniereConsultation >= "0") && (dureeDerniereConsultation <= dureeVieBon) && (codePrestataire == dernierCentre)){
v_msg="La derni\u00e8re consultation g\u00e9n\u00e9raliste du patient date de moins de "+dureeVieBon+" jours. Veuiller changer l'acte ou passer en consultation gratuite. Merci pour votre compr\u00e9hension!";
v_msgEng="The patient's last general consultation was less than "+dureeVieBon+" days ago. Please change the deed or go to free consultation. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "SP") && (specialiteEstPossible == "0")){
if(codeSpecialite == "PED" && (age > agemaxipediatrie)) {
v_msg="Attention, ce patient n'a pas moins de "+agemaxipediatrie+" ans! Il ne peut pas faire cette consultation, veuiller changer l'acte.";
v_msgEng="Attention, this patient is not less than "+agemaxipediatrie+" years old! He cannot do this consultation, please change the act.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else{
v_msg="La derni\u00e8re consultation du patient pour cet acte date de moins de "+dureeVieBon+" jours. Veuiller changer l'acte ou passer en consultation gratuite. Merci pour votre compr\u00e9hension!";
v_msgEng="The patient's last consultation was less than "+dureeVieBon+" days ago. Please change the deed or go to free consultation. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}
}
}else if((codeTypeConsultation == "SP") && (nbreConsultaionSpecialisteJour >= paramConsultationSpecialisteJour) && (dureeDerniereConsultation == "0")){
v_msg="Attention, ce patient a d\u00e9ja consult\u00e9 "+ paramConsultationSpecialisteJour +" sp\u00e9cialistes aujourd'hui. Veuiller changer l'acte. Merci pour votre compr\u00e9hension!";
v_msgEng="Attention, this patient has already consulted "+ paramConsultationSpecialisteJour +" specialists today. Please change the deed. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "GE") && (dureeDerniereConsultation == "0") && (codePrestataire != dernierCentre)){
v_msg="Attention, ce patient a d\u00e9ja \u00e9t\u00e9 consult\u00e9 aujourd'hui dans un autre centre.";
v_msgEng="Attention, this patient has already been consulted today in another center";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "GE") && (dureeDerniereConsultation >= "0") && (dureeDerniereConsultation <= dureeVieBon) && (codePrestataire == dernierCentre)){
v_msg="La derni\u00e8re consultation g\u00e9n\u00e9raliste du patient date de moins de "+dureeVieBon+" jours. Veuiller changer l'acte ou passer en consultation gratuite. Merci pour votre compr\u00e9hension!";
v_msgEng="The patient's last general consultation was less than "+dureeVieBon+" days ago. Please change the deed or go to free consultation. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if((codeTypeConsultation == "SP") && (specialiteEstPossible == "0")){
if(codeSpecialite == "PED" && (age > agemaxipediatrie)) {
v_msg="Attention, ce patient n'a pas moins de "+agemaxipediatrie+" ans! Il ne peut pas faire cette consultation, veuiller changer l'acte.";
v_msgEng="Attention, this patient is not less than "+agemaxipediatrie+" years old! He cannot do this consultation, please change the act.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else{
v_msg="La derni\u00e8re consultation du patient pour cet acte date de moins de "+dureeVieBon+" jours. Veuiller changer l'acte ou passer en consultation gratuite. Merci pour votre compr\u00e9hension!";
v_msgEng="The patient's last consultation was less than "+dureeVieBon+" days ago. Please change the deed or go to free consultation. Thanks for understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}
}
}else if(codeActe == codeActeConsultationGratuite || codeTypeConsultation == "CO"){
if((dureeDerniereConsultation == "0") && (nombreFeuilleGratuite >= parametreNombreFeuilleGratuitJour)){
v_msg="Le quotas journalier de feuille de soin gratuite est atteint pour ce patient.";
v_msgEng="The daily free care sheet quota has been reached for this patient.";
confirm_ouvrir_dossier(v_msg, v_msgEng);
return;
}
}
codeRaisonConsultation = $("#codeRaisonConsultation").val();
if (codeRaisonConsultation<=" ")
{
v_msg="Veuillez s\u00e9lectionner une raison pour la consultation!";
v_msgEng="Please select a reason for the consultation!";
alert_ebene(v_msg, v_msgEng);
$("#codeRaisonConsultation").focus();
return;
}
if (codeGestionBon=="0")
{
numeroBon = $("#numeroBon").val();
if(isNaN(numeroBon))
{
v_msg="Veuillez revoir le num\u00e9ro de bon!";
v_msgEng="Please review the prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
if ($("#numeroBon").val()<="0")
{
v_msg="Veuillez saisir un No de bon!";
v_msgEng="Please enter a prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").focus();
return;
}
codeEtatBon = $("#codeEtatBon").val();
if (codeEtatBon!="1")
{
v_msg="Veuillez saisir un No de bon disponible!";
v_msgEng="Please enter a prescription number available!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").focus();
return;
}
if(numeroBonSave!=numeroBon)
{
v_msg="Veuillez revoir le num\u00e9ro de bon!";
v_msgEng="Please review the prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
v_msg="Confirmez-vous ce No de bon?";
v_msgEng="Do you confirm this number of presciption?";
}
else
{
numeroBon = "-1";
v_msg="Confirmez-vous l'ouverture d'un dossier médical pour ce patient?";
v_msgEng="Do you confirm the opening of a medical file for this patient?";
}
confirm_ebene_sweet(v_msg, v_msgEng).then((confirmed) => {
if (confirmed) {
if (ententePrealable==1){
ententePrealable = "2";
}
dateSurvenance = $("#dateSurvenance").val();
observations = $("#observations").val();
depassement = $("#depassement").val();
numeroDerogation = $("#derogation_en_cours_C").val();
numeroDerogationFinger = $("#derogation_finger_en_cours_C").val();
okReferencement = $("#okReferencement").val();
dateReferencement = $("#dateReferencement").val();
codeReferencement = $("#codeReferencement").val();
if(dateReferencement == undefined){
dateReferencement="";
}
if(codeReferencement == undefined){
codeReferencement="";
}
if (numeroDerogation<1) {
numeroDerogation = "0";
}
if (numeroDerogationFinger<1) {
numeroDerogationFinger = "0";
}
donnees = 'codeActe='+codeActe+'&numeroBon='+numeroBon+'&codeMedecin='+codeMedecin+'&codeRaisonConsultation='+codeRaisonConsultation;
donnees += '&dateSurvenance='+dateSurvenance+'&observations='+observations+'&prixActe='+prixActe+'&prixBase='+prixBase;
donnees += '&montantTm='+montantTm+'&aRembourser='+aRembourser+'&numeroDerogation='+numeroDerogation+'&depassement='+depassement;
donnees += '&numeroDerogationFinger='+numeroDerogationFinger;
donnees += '&medecinManquant='+medecinManquant;
donnees += '&ententePrealable='+ententePrealable;
donnees += '&dateReferencement='+dateReferencement;
donnees += '&codeReferencement='+codeReferencement;
donnees += '&bonPrincipal='+bonPrincipal;
donnees += '&codeGestionBon='+codeGestionBon;
donnees += '&codeSpecialite='+codeSpecialite;
$("#btn_enreg").disable();
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerconsultation/enregistrerconsultation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
maj_fraisexclu_cso();
},
complete: function() {
v_msg="Consultation enregistr\u00e9e avec succ\u00e8s";
v_msgEng="Saved successfully!";
alert_ebene(v_msg, v_msgEng);
feuillemaladie();
}
});
} else {
return;
}
});
}
else{
$('#div_consultation').hide();
}
}
function listerdossier()
{
d1=$("#d1").val();
d2=$("#d2").val();
donnees = 'd1='+d1+'&d2='+d2;
$("#div_dossiers").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxdossiers/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_dossiers").html(data);
},
complete: function() {
}
});
}
function selectionner_feuille_maladie(no)
{
$("#numeroFeuilleMaladie_C" ).val(no);
}
function afficher_feuille_maladie()
{
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val();
if (numeroFeuilleMaladie>"")
{
ajax_context_feuille_maladie_afficher(numeroFeuilleMaladie);
}
}
function ajax_context_feuille_maladie_afficher(numeroFeuilleMaladie)
{
donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie;
$.ajax({
url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/",
type : 'post',
data: donnees,
error: function(errorData) {
},
complete: function() {
feuillemaladie();
}
});
}
function enregistrerprescription() {
// Validation initiale
const badcodeGestionBon = $("#badcodeGestionBon").val();
if (badcodeGestionBon === "1") {
alert_ebene("Veuillez revoir le type de gestion de bons!", "Please review the type of forms management!");
return;
}
// Récupération des données
const codeGestionBon = $("#codeGestionBon").val();
const codeMedecin = $("#codeMedecin").val();
// Validation du médecin
if (!codeMedecin || codeMedecin.trim() === "") {
alert_ebene("Veuillez sélectionner un médecin!", "Please select a doctor!");
$("#nomMedecin").focus();
return;
}
// Gestion spécifique des bons
let numeroBon;
let confirmationMsg, confirmationMsgEng;
if (codeGestionBon === "0") {
numeroBon = $("#numeroBon").val();
const numeroBonSave = $("#numeroBonSave").val();
const codeEtatBon = $("#codeEtatBon").val();
if (isNaN(numeroBon)) {
alert_ebene("Veuillez revoir le numéro de bon!", "Please review the prescription number!");
$("#btn_enreg").prop("disabled", true);
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
if (!numeroBon || numeroBon <= "0") {
alert_ebene("Veuillez saisir un No de bon!", "Please enter a prescription number!");
$("#numeroBon").focus();
return;
}
if (codeEtatBon !== "1") {
alert_ebene("Veuillez saisir un No de bon disponible!", "Please enter a prescription number available!");
$("#numeroBon").focus();
return;
}
if (numeroBonSave !== numeroBon) {
alert_ebene("Veuillez revoir le numéro de bon!", "Please review the prescription number!");
$("#btn_enreg").prop("disabled", true);
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
confirmationMsg = "Confirmez-vous ce No de bon?";
confirmationMsgEng = "Do you confirm this number of prescription?";
} else {
numeroBon = "-1";
confirmationMsg = "Confirmez-vous cette prescription?";
confirmationMsgEng = "Do you confirm this prescription?";
}
// Confirmation et envoi des données
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
// Préparation des données
const donnees = {
numeroBon: numeroBon,
codeMedecin: codeMedecin,
codeGestionBon: codeGestionBon
};
$("#btn_enreg").prop("disabled", true);
// Envoi de la requête AJAX
$.ajax({
url: `${$("#racineWeb").val()}Ajaxenregistrerprescription/enregistrerprescription/`,
type: 'post',
data: donnees,
error: function(errorData) {
// Gestion d'erreur si nécessaire
},
complete: function() {
alert_ebene("Prescription enregistrée avec succès", "Saved successfully!");
prescription_medicament();
}
});
});
}
function envoieprescription()
{
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerprescription/envoieprescription/",
type : 'post',
data: donnees,
error: function(errorData)
{
},
success: function(data)
{
// $('#div_test_gabarit').html(data);
},
complete: function() {
}
});
}
function ajaxinfosbonprescription()
{
bonCaduc=$("#bonCaduc").val();
if (bonCaduc==1)
{
v_msg="Bon caduc!";
v_msgEng="Obsolete!";
alert_ebene(v_msg, v_msgEng);
return;
}
badcodeGestionBon = $("#badcodeGestionBon").val();
if (badcodeGestionBon=="1")
{
v_msg="Veuillez revoir le type de gestion de bons!";
v_msgEng="Please review the type of forms management!";
alert_ebene(v_msg, v_msgEng);
return;
}
codeGestionBon = $("#codeGestionBon").val();
if (codeGestionBon!="0")
{
v_msg="Option non disponible!";
v_msgEng="Option not available!";
alert_ebene(v_msg, v_msgEng);
return;
}
numeroBonOrdonnance = $("#numeroBonOrdonnance").val();
numeroBonOrdonnance = parseInt(numeroBonOrdonnance);
if (numeroBonOrdonnance>0)
{
v_msg="D\u00e9jà effectu\u00e9!";
v_msgEng="Already done!";
alert_ebene(v_msg, v_msgEng);
return;
}
facture=$("#facture").val();
if (facture==1)
{
v_msg="D\u00e9jà factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
codeMedecin = $("#codeMedecin").val();
if (codeMedecin<=" ")
{
v_msg="Veuillez s\u00e9lectionner un m\u00e9decin!";
v_msgEng="Please select a doctor!";
alert_ebene(v_msg, v_msgEng);
$("#numeroBon").val("");
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
// $("#codeMedecin").focus();
$("#nomMedecin").focus();
return;
}
numeroBon = $("#numeroBon").val();
if(isNaN(numeroBon))
{
v_msg="Veuillez revoir le num\u00e9ro de bon!";
v_msgEng="Please review the prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
if ($("#numeroBon").val()<="0")
{
v_msg="Veuillez saisir un No de bon!";
v_msgEng="Please enter a prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
donnees = "numeroBon="+numeroBon;
$.ajax({
url: $("#racineWeb").val()+"Ajaxinfosbonprescription/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosbon").html(data);
},
complete: function() {
}
});
}
function afficher_pop_recherche_medicament()
{
nomsearch = $("#nomsearch").val();
if (nomsearch > " ")
{
donnees = "valid=1&nomsearch="+nomsearch;
$("#div_listemedicament").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxlistemedicaments/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_listemedicament").html(data);
}
});
}
}
function ctrlkeypress(ev)
{
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if(keycode == '13')
{
afficher_pop_recherche_medicament();
}
}
function selectionner_medicament_pop(codeMedicament, libelleMedicament)
{
$("#codeMedicament_pop").val(codeMedicament);
$("#libelleMedicament_pop").val(libelleMedicament);
}
function ajouter_medicament() {
// Récupération et validation des données
const codeMedicament = $("#codeMedicament_pop").val();
const libelleMedicament = $("#libelleMedicament_pop").val();
if (!codeMedicament || codeMedicament.trim() === "") {
alert_ebene("Veuillez sélectionner un médicament!", "Please select a medicine/drug!");
return;
}
// Confirmation
const confirmationMsg = `Prescrire : ${libelleMedicament}?`;
const confirmationMsgEng = `Prescribe : ${libelleMedicament}?`;
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
// Envoi de la requête AJAX
$.ajax({
url: `${$("#racineWeb").val()}Ajaxdetailprescription/ajoutermedicament/`,
type: 'post',
data: { codeMedicament: codeMedicament },
error: function(errorData) {
// Gestion d'erreur si nécessaire
},
success: function(data) {
prescription_medicament();
}
});
});
}
function ajax_maj_qte_medicament(idMedicament, quantite, controle)
{
quantite=quantite.replace(",",".");
controle.value=quantite;
if(controle_numerique(controle))
{
if(quantite==0)
{
controle.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idMedicament='+idMedicament+"&quantite="+quantite;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailprescription/majquantite/",
type: 'POST',
data: donnees,
success: function(data) {
$("#medicaments").html(data);
},
error: function(data) {
},
complete: function() {
//controle.focus();
}
});
}
}
function ajax_maj_posologie_medicament(idMedicament, posologie, controle)
{
donnees = 'idMedicament='+idMedicament+"&posologie="+posologie;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailprescription/majposologie/",
type: 'POST',
data: donnees,
success: function(data) {
$("#medicaments").html(data);
},
error: function(data) {
},
complete: function() {
//controle.focus();
}
});
}
function supprimer_medicament(idMedicament) {
// Messages de confirmation
const confirmationMsg = "Confirmez-vous la suppression de ce médicament?";
const confirmationMsgEng = "Do you confirm the removal of this medicine/drug?";
// Afficher l'indicateur de chargement
const loadingHtml = `
Veuillez patienter...
`;
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
// Afficher le loader
$("#medicaments").html(loadingHtml);
// Envoyer la requête AJAX
$.ajax({
url: `${$("#racineWeb").val()}Ajaxdetailprescription/supprimer/`,
type: 'POST',
data: { idMedicament: idMedicament },
success: function() {
prescription_medicament(); // Rafraîchir la liste des médicaments
},
error: function() {
// Gestion d'erreur si nécessaire
}
});
});
}
function ajoutermedicament(idMedicament)
{
donnees = 'idMedicament='+idMedicament;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/ajoutermedicament/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
//afficheDivPlafond();
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
nbreLigne = parseInt($("#nbreLigne").val());
if(nbreLigne>0){
for(let i = 1; i <= nbreLigne; i++){
$("#div_selection"+i).hide();
}
}
}
});
}
function ajoutermedicament_pha(idMedicament)
{
donnees = 'idMedicament='+idMedicament;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/ajoutermedicament/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
// raffraichier_detail_prescription();
//$(this).get(0).focus();
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
//alerter_depassement_limite();
}
});
}
function actualiseordonnancepha(){
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxactualiseordonnancepha/",
type: 'POST',
data: donnees,
success: function(data) {
$("#ordonnance").html(data);
},
error: function(data) {
},
complete: function() {
}
});
}
function ajoutermedicament_tous()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/ajoutermedicamenttous/",
type: 'POST',
success: function(data) {
$("#livraison").html(data);
//afficheDivPlafond();
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
//alerter_depassement_limite_cso();
}
});
}
function ajoutermedicament_pha_tous()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/ajoutermedicamenttous/",
type: 'POST',
success: function(data) {
$("#livraison").html(data);
// raffraichier_detail_prescription();
$("#valeurActeManuel1").focus();
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
//alerter_depassement_limite();
}
});
}
function formatMonetaire(controle){
controle.value = formatCurrency(controle.value);
return;
}
function controle_numerique(controle)
{
controle.value=controle.value.replace(/ /g,"");
controle.value=parseInt(controle.value.replace(",","."),10);
if(isNaN(controle.value))
{
v_msg="Valeur num\u00e9rique exig\u00e9e!";
v_msgEng="Numeric value required!";
alert_ebene(v_msg, v_msgEng);
controle.value="0";
controle.focus();
return false;
}
return true;
}
function ajax_maj_prix_medicament_pha(idMedicament, tarifPublic, prix, controle)
{
//debugger;
var appliquerMargePrixMedicament = $('#appliquerMargePrixMedicament').val();
var margePrixMedicament = $('#margePrixMedicament').val();
var typeMargePrixMedicament = $('#typeMargePrixMedicament').val();
var devise = $("#devise").val();
prix=prix.replace(",",".");
prix=prix.replace(/ /g,"");
controle.value=prix;
/*if(prix==0)
{
controle.focus();
v_msg="Veuillez saisir le prix!";
v_msgEng="Please enter the price!";
alert_ebene(v_msg, v_msgEng);
return;
}*/
if(typeMargePrixMedicament=="Taux")
{
pourcentage = parseInt(tarifPublic) * parseInt(margePrixMedicament);
prixMarge = parseInt(pourcentage) / 100;
prixMarjore =parseInt(tarifPublic) + parseInt(prixMarge);
}else{
prixMarjore =parseInt(tarifPublic) + parseInt(margePrixMedicament);
}
margePrixMedicament = parseInt(margePrixMedicament);
if(controle_numerique(controle))
{
if(appliquerMargePrixMedicament == "1")
{
if(prix > prixMarjore){
controle.value = tarifPublic;
controle.focus();
v_msg="D\u00e9sol\u00e9! Le prix saisi est sup\u00e9rieur \u00e0 la valeur de la marge de "+formatCurrency(prixMarge)+" "+devise+" appliquable au le prix syst\u00e8me de ce m\u00e9dicament.";
v_msgEng="Sorry! but the price entered is higher than the value of the margin "+formatCurrency(prixMarge)+" "+devise+" applicable to the system price of this medicine.";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idMedicament='+idMedicament+"&prix="+prix;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majprixpha/",
type: 'POST',
data: donnees,
success: function(data) {
// $("#medicaments").html(data);
$("#livraison").html(data);
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
alerter_depassement_limite();
controle.focus();
}
});
}else{
donnees = 'idMedicament='+idMedicament+"&prix="+prix;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majprixpha/",
type: 'POST',
data: donnees,
success: function(data) {
// $("#medicaments").html(data);
$("#livraison").html(data);
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
//alerter_depassement_limite();
controle.focus();
}
});
}
}
}
function ajax_maj_prix_medicament_cso(idMedicament, tarifPublic, prix, controle)
{
var appliquerMargePrixMedicament = $('#appliquerMargePrixMedicament').val();
var margePrixMedicament = $('#margePrixMedicament').val();
var devise = $("#devise").val();
codeLangue = $("#codeLangue").val();
prix=prix.replace(",",".");
prix=prix.replace(/ /g,"");
controle.value=prix;
prixMarge = parseInt(tarifPublic) + parseInt(margePrixMedicament);
margePrixMedicament = parseInt(margePrixMedicament);
if(controle_numerique(controle))
{
if(prix==0)
{
controle.focus();
v_msg="Veuillez saisir le prix!";
v_msgEng="Please enter the price!";
alert_ebene(v_msg, v_msgEng);
return;
}
if(appliquerMargePrixMedicament == "1"){
if(prix > prixMarge){
v_msg="Confirmez vous le d\u00e9passement de la marge de "+formatCurrency(margePrixMedicament)+" "+devise+" que vous avez appliqu\u00e9e au tarif public du m\u00e9dicament?";
v_msgEng="Do you confirm that the margin of "+formatCurrency(margePrixMedicament)+" "+devise+" that you have applied to the public drug price has been exceeded?";
if(codeLangue=="en_US")
{
swal({
title: v_msgEng,
text: "",
icon: 'warning',
buttons: true,
dangerMode: true,
buttons: {
cancel: "No",
confirm: "Yes",
}
}).then(function(isConfirm) {
if (isConfirm)
{
donnees = 'idMedicament='+idMedicament+"&prix="+prix;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/majprixcso/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
getstatutacte("PH");
controle.focus();
}
});
}
else
{
controle.value = 0;
controle.focus();
return;
}
});
}
else
{
swal({
title: v_msg,
text: "",
icon: 'warning',
buttons: true,
dangerMode: true,
buttons: {
cancel: "Non",
confirm: "Oui",
}
}).then(function(isConfirm) {
if (isConfirm)
{
donnees = 'idMedicament='+idMedicament+"&prix="+prix;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/majprixcso/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
getstatutacte("PH");
},
error: function(data) {
},
complete: function() {
//alerter_depassement_limite();
getstatutacte("PH");
controle.focus();
}
});
}
else
{
controle.value = 0;
controle.focus();
return;
}
});
}
} else{
donnees = 'idMedicament='+idMedicament+"&prix="+prix;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/majprixcso/",
type: 'POST',
data: donnees,
success: function(data) {
// $("#medicaments").html(data);
$("#livraison").html(data);
},
error: function(data) {
},
complete: function() {
getstatutacte("PH");
controle.focus();
}
});
}
}else{
donnees = 'idMedicament='+idMedicament+"&prix="+prix;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/majprixcso/",
type: 'POST',
data: donnees,
success: function(data) {
// $("#medicaments").html(data);
$("#livraison").html(data);
},
error: function(data) {
},
complete: function() {
getstatutacte("PH");
controle.focus();
}
});
}
}
}
function maj_prixmanuel_pha(idLivre, nbreLivre, valeurActeManuel, controle)
{
valeurActeManuel=valeurActeManuel.replace(/ /g,"");
valeurActeManuel=parseInt(valeurActeManuel.replace(",","."),10);
controle.value=valeurActeManuel;
tm = parseInt($('#tm').val());
if(controle_numerique(controle))
{
if(valeurActeManuel==0)
{
controle.focus();
v_msg="Veuillez saisir le prix!";
v_msgEng="Please enter the price!";
alert_ebene(v_msg, v_msgEng);
return;
}
$('#prixManuel'+nbreLivre).val(valeurActeManuel*parseInt($('#quantite'+nbreLivre).val()));
prixManuel = parseInt($('#prixManuel'+nbreLivre).val());
$('#montantTm'+nbreLivre).val(parseInt(prixManuel*tm/100));
montantTm = parseInt($('#montantTm'+nbreLivre).val());
$('#montantArembourser'+nbreLivre).val(prixManuel-montantTm);
montantArembourser = parseInt($('#montantArembourser'+nbreLivre).val());
donnees = 'idLivre='+idLivre+"&valeurActeManuel="+valeurActeManuel+"&prixManuel="+prixManuel;
donnees += '&montantTm='+montantTm+"&montantArembourser="+montantArembourser;
//alert(donnees);
//return;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/majprixmanuelpha/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
// raffraichier_detail_prescription();
},
error: function(data) {
},
complete: function() {
alerter_depassement_limite();
controle.focus();
}
});
}
}
function tableaulivre_pha()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/tableaulivre/",
type: 'POST',
data: donnees,
success: function(data) {
$("#div_tableau_pha").html(data);
},
error: function(data) {
},
complete: function() {
}
});
}
function retirermedicament(idMedicament)
{
donnees = 'idMedicament='+idMedicament;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/retirermedicament/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
},
error: function(data) {
},
complete: function() {
}
});
}
function retirermedicament_pha(idMedicament)
{
donnees = 'idMedicament='+idMedicament;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/retirermedicament/",
type: 'POST',
data: donnees,
success: function(data) {
$("#livraison").html(data);
//raffraichier_detail_prescription();
},
error: function(data) {
},
complete: function() {
alerter_depassement_limite();
}
});
}
function retirermedicament_tous()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacie/retirermedicamenttous/",
type: 'POST',
success: function(data) {
$("#livraison").html(data);
},
error: function(data) {
},
complete: function() {
}
});
}
function retirermedicament_pha_tous()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/retirermedicamenttous/",
type: 'POST',
success: function(data) {
$("#livraison").html(data);
//raffraichier_detail_prescription();
},
error: function(data) {
},
complete: function() {
alerter_depassement_limite();
// actualiser_pharmacien();
}
});
}
function valider_pharmacie_cso() {
// Vérification si déjà facturé
const facture = $("#facture").val();
if (facture == 1) {
alert_ebene("Déjà facturé!", "Already charged!");
return;
}
// Validation des quantités
const quantiteTotalLivree = parseInt($("#quantiteTotalLivree").val()) || 0;
if (quantiteTotalLivree <= 0) {
alert_ebene("Aucune quantité à livrer!", "No quantity to deliver!");
return;
}
// Préparation du message de confirmation
const nbLivre = parseInt($("#nbLivre").val()) || 0;
let confirmationMsg, confirmationMsgEng;
if (nbLivre < 1) {
confirmationMsg = "Rien à enregistrer! Confirmez-vous cette situation?";
confirmationMsgEng = "Nothing to save! Do you confirm this situation?";
} else {
confirmationMsg = "Confirmez-vous cette livraison?";
confirmationMsgEng = "Do you confirm this delivery?";
}
// Confirmation et traitement
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
$.ajax({
url: `${$("#racineWeb").val()}Ajaxdetailpharmacie/enregistrerpharmacie/`,
type: 'POST',
success: function() {
maj_fraisexclu_cso();
},
complete: function() {
feuillemaladie();
}
});
});
}
function chercher_ordonnance(numeroBonOrdonnance)
{
donnees = 'numeroBonOrdonnance='+numeroBonOrdonnance;
$.ajax({
url: $("#racineWeb").val()+"Ajaxchangerordonnance/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
window.location.assign($("#racineWeb" ).val()+"Pharmacien/");
}
});
}
function chercher_ordonnance_opt(numeroBonOptique)
{
debugger;
$("#msgErreur").empty();
if(numeroBonOptique<="0")
{
// actualiser_opticien();
reinitialiser_opticien();
return;
}
donnees = 'numeroBonOptique='+numeroBonOptique;
$.ajax({
url: $("#racineWeb").val()+"Ajaxchangerordonnanceopt/",
type: 'POST',
data: donnees,
success: function(data) {
debugger;
$("#ordonnance").html(data);
numeroBon = $("#numeroBon").val();
if(numeroBon=="-1"){
return;
}else{
opticien();
}
//window.location.assign($("#racineWeb" ).val()+"Opticien/");
},
error: function(data) {
},
complete: function() {
}
});
}
function chercher_ordonnance_lab(numeroBonExamen)
{
donnees = 'numeroBonExamen='+numeroBonExamen;
$.ajax({
url: $("#racineWeb").val()+"Ajaxchangerordonnancelab/",
type: 'POST',
data: donnees,
success: function(data) {
window.location.assign($("#racineWeb" ).val()+"Laboratoire/");
},
error: function(data) {
},
complete: function() {
}
});
}
function ctrlkeypressord(ev)
{
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if(keycode == '13')
{
numeroBonOrdonnance=$("#numeroBonOrdonnance").val();
$("#numeroBonOrdonnance").blur();
}
}
function rechercherbonordonnance()
{
numeroBonOrdonnance=$("#numeroBonOrdonnance").val();
if (numeroBonOrdonnance>" ")
{
chercher_ordonnance(numeroBonOrdonnance);
}
}
function ctrlkeypressordopt(ev)
{
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if(keycode == '13')
{
numeroBonOptique=$("#numeroBonOptique").val();
$("#numeroBonOptique").blur();
}
}
function ctrlkeypressordlab(ev)
{
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if(keycode == '13')
{
numeroBonExamen=$("#numeroBonExamen").val();
$("#numeroBonExamen").blur();
}
}
function rechercherbonoptique()
{
numeroBonOptique=$("#numeroBonOptique").val();
if (numeroBonOptique>" ")
{
chercher_ordonnance_opt(numeroBonOptique);
}
}
function valider_presciption() {
// Validations initiales
if ($("#bonCaduc").val() == 1) {
alert_ebene("Bon caduc!", "Obsolete!");
return;
}
if ($("#actVisible").val() != "1") {
alert_ebene("Non autorisée!", "Not allowed!");
return;
}
if ($("#badcodeGestionBon").val() == "1") {
alert_ebene("Veuillez revoir le type de gestion de bons!", "Please review the type of forms management!");
return;
}
if ($("#facture").val() == 1) {
alert_ebene("Déjà facturé!", "Already charged!");
return;
}
const numeroBonOrdonnance = parseInt($("#numeroBonOrdonnance").val()) || 0;
if (numeroBonOrdonnance <= 0) {
alert_ebene("Pas de prescription!", "No prescription!");
return;
}
// Données supplémentaires
const modeSaisieFacture = $("#modeSaisieFacture").val();
const existeEntentePrealable = $("#existeEntentePrealable").val();
// Confirmation
confirm_ebene_sweet(
"Confirmez-vous cette prescription?",
"Do you confirm this prescription?"
).then((isConfirmed) => {
if (!isConfirmed) return;
// Envoi AJAX
$.ajax({
url: `${$("#racineWeb").val()}Ajaxdetailprescription/`,
type: 'post',
success: () => {
if (modeSaisieFacture == "0") {
envoieprescription();
}
if (existeEntentePrealable > "0") {
alert_ebene(
"Demande accord préalable envoyée!",
"Request prior agreement sent!"
);
}
feuillemaladie();
},
error: (errorData) => {
console.error("Erreur lors de la validation:", errorData);
}
});
});
}
function ajaxchanger_type_bon()
{
$("#msgErreur").html("");
}
function ajaxprixactemed()
{
$("#prixActe_info").val("0");
$("#montantTm_info").val("0");
$("#aRembourser_info").val("0");
codeActe = $("#codeActe").val();
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
div_quantite = $("#quantite");
quantite = div_quantite.val();
if(quantite=="")
{
quantite = "0";
}
div_quantite.val(quantite);
quantite = parseInt(quantite);
if(quantite==0)
{
div_quantite.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter quantity!";
alert_ebene(v_msg, v_msgEng);
$("#quantite").focus();
return;
}
donnees = 'codeActe='+codeActe+'&quantite='+quantite;
$.ajax({
url: $("#racineWeb").val()+"Ajaxprixactemed/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosacte").html(data);
},
complete: function() {
}
});
}
function enregistreractemedical() {
// Validations initiales
const acteExclu = $("#acteExclu").val();
let autorisation = "0";
if (acteExclu == 1) {
autorisation = "2";
alert_ebene("Acte non couvert!", "Not covered!");
$("#codeActe").focus();
return;
}
// Validation des champs obligatoires
const codeMedecin = $("#codeMedecin").val();
if (!codeMedecin || codeMedecin.trim() === "") {
alert_ebene("Veuillez sélectionner un médecin!", "Please select a doctor!");
$("#nomMedecin").focus();
return;
}
const codeActe = $("#codeActe").val();
if (!codeActe || codeActe.trim() === "") {
alert_ebene("Veuillez sélectionner un acte!", "Please select an act!");
$("#codeActe").focus();
return;
}
// Validation des prix et quantités
const prixActe = parseFloat($("#prixActe").val()) || 0;
const prixTarif = parseFloat($("#prixTarif").val()) || 0;
if (prixActe === 0 || prixActe > prixTarif) {
alert_ebene("Veuillez revoir le tarif!", "Please review rate!");
return;
}
let quantite = parseInt($("#quantite").val()) || 0;
$("#quantite").val(quantite);
if (quantite === 0) {
$("#quantite").focus();
alert_ebene("Veuillez saisir la quantité!", "Please enter the quantity!");
return;
}
// Confirmation
confirm_ebene_sweet(
"Confirmez-vous cet acte?",
"Do you confirm this act?"
).then((isConfirmed) => {
if (!isConfirmed) return;
// Préparation des données
const valeurActe = $("#valeurActe").val();
const montantTm = $("#montantTm").val();
const aRembourser = $("#aRembourser").val();
let ententePrealable = $("#ententePrealable").val();
ententePrealable = ententePrealable == "1" ? "2" : ententePrealable;
const donnees = {
codeActe: codeActe,
codeMedecin: codeMedecin,
quantite: quantite,
ententePrealable: ententePrealable,
prixActe: prixActe,
valeurActe: valeurActe,
montantTm: montantTm,
aRembourser: aRembourser,
autorisation: autorisation,
prixTarif: prixTarif
};
const numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
const donnees_sav = {
codeActe: codeActe,
numeroFeuilleMaladie: numeroFeuilleMaladie,
typeMail: 'mailententeprealable'
};
const donnees_sav2 = {
codeActe: codeActe,
numeroFeuilleMaladie: numeroFeuilleMaladie,
typeMail: 'mailautorisation'
};
// Envoi AJAX
$.ajax({
url: `${$("#racineWeb").val()}Ajaxenregistreractemedical/enregistreractemedical/`,
type: 'post',
data: donnees,
success: () => {
maj_fraisexclu_cso();
if (ententePrealable == "2") {
preparesms("ententeprealable");
alert_ebene("Demande accord préalable envoyée!", "Request prior agreement sent!");
mettremailattente($.param(donnees_sav));
}
if (autorisation == "2") {
preparesms("autorisation");
alert_ebene("Demande autorisation envoyée!", "Request for authorization sent!");
mettremailattente($.param(donnees_sav2));
}
},
complete: () => {
feuillemaladie();
},
error: (error) => {
console.error("Erreur lors de l'enregistrement:", error);
}
});
});
}
function ajax_changer_qte_acte()
{
codeActe = $("#codeActe").val();
prixActe = $("#prixActe").val();
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
div_quantite = $("#quantite");
quantite = div_quantite.val();
if(quantite=="")
{
quantite = "0";
}
div_quantite.val(quantite);
quantite = parseInt(quantite);
if(quantite==0)
{
div_quantite.focus();
div_quantite.val("");
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please neter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe;
$.ajax({
url: $("#racineWeb").val()+"Ajaxchangerqteacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosacte").html(data);
},
complete: function() {
}
});
}
function supprimer_acte_medical(idPrestationactes, codeTypePrestation) {
// Messages de confirmation
const confirmationMsg = "Confirmez-vous la suppression de cet acte?";
const confirmationMsgEng = "Do you confirm the removal of this act?";
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng).then((isConfirmed) => {
if (!isConfirmed) return;
// Envoi de la requête AJAX
$.ajax({
url: `${$("#racineWeb").val()}Ajaxenregistreractemedical/supprimeracte/`,
type: 'POST',
data: {
idPrestationactes: idPrestationactes,
codeTypePrestation: codeTypePrestation
},
success: function() {
feuillemaladie_ajax();
},
error: function(error) {
console.error("Erreur lors de la suppression:", error);
}
});
});
}
function supprimer_chambre(idChambre) {
// Messages de confirmation
const confirmationMsg = "Confirmez-vous la suppression de cette chambre?";
const confirmationMsgEng = "Do you confirm the removal of this room?";
// Configuration des données AJAX
const ajaxData = {
idPrestationactes: idChambre,
codeTypePrestation: 'HOSP'
};
const ajaxConfig = {
url: `${$("#racineWeb").val()}Ajaxenregistreractemedical/supprimeracte/`,
type: 'POST',
data: ajaxData,
success: attribution_chambre,
error: function(error) {
console.error("Erreur lors de la suppression de la chambre:", error);
}
};
// Gestion de la confirmation et de l'appel AJAX
confirm_ebene_sweet(confirmationMsg, confirmationMsgEng)
.then((confirmed) => {
if (confirmed) {
$.ajax(ajaxConfig);
}
});
}
function ajaxinfosbonhospitalisation()
{
bonCaduc=$("#bonCaduc").val();
// alert("bonCaduc => "+bonCaduc);
// return;
if (bonCaduc==1)
{
v_msg="Bon caduc!";
v_msgEng="Obsolete!";
alert_ebene(v_msg, v_msgEng);
return;
}
badcodeGestionBon = $("#badcodeGestionBon").val();
if (badcodeGestionBon=="1")
{
v_msg="Veuillez revoir le type de gestion de bons!";
v_msgEng="Please review the type of forms management!";
alert_ebene(v_msg, v_msgEng);
return;
}
codeGestionBon = $("#codeGestionBon").val();
if (codeGestionBon!="0")
{
v_msg="Option non disponible!";
v_msgEng="Option not available!";
alert_ebene(v_msg, v_msgEng);
return;
}
numeroBonHospitalisation = $("#numeroBonHospitalisation").val();
numeroBonHospitalisation = parseInt(numeroBonHospitalisation);
if (numeroBonHospitalisation>0)
{
v_msg="D\u00e9jà effectu\u00e9!";
v_msgEng="Already done!";
alert_ebene(v_msg, v_msgEng);
return;
}
facture=$("#facture").val();
if (facture==1)
{
v_msg="D\u00e9jà factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
numeroBon = $("#numeroBon").val();
if(isNaN(numeroBon))
{
v_msg="Veuillez revoir le num\u00e9ro de bon!";
v_msgEng="Please review the prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
if ($("#numeroBon").val()<="0")
{
v_msg="Veuillez saisir un No de bon Hospitalisation!";
v_msgEng="Please enter a prescription number!";
alert_ebene(v_msg, v_msgEng);
$("#btn_enreg").disable();
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
return;
}
donnees = "numeroBon="+numeroBon;
$.ajax({
url: $("#racineWeb").val()+"Ajaxinfosbonhospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosbon").html(data);
},
complete: function() {
}
});
}
async function enregistrerhospitalisation() {
// Validation initiale
if ($("#badcodeGestionBon").val() === "1") {
alert_ebene("Veuillez revoir le type de gestion de bons!", "Please review the type of forms management!");
return;
}
// Récupération des données
const codeGestionBon = $("#codeGestionBon").val();
const motifHospitalisation = $("#motifHospitalisation").val().trim();
const numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
const codeLangue = $("#codeLangue").val();
// Validation du motif d'hospitalisation
if (!motifHospitalisation) {
alert_ebene("Saisissez le motif d'hospitalisation!", "Enter the hospitalization reason!");
$("#motifHospitalisation").focus();
return;
}
// Gestion spécifique des bons
let numeroBon;
let confirmationMsg, confirmationMsgEng;
if (codeGestionBon === "0") {
numeroBon = $("#numeroBon").val();
const numeroBonSave = $("#numeroBonSave").val();
const codeEtatBon = $("#codeEtatBon").val();
if (isNaN(numeroBon)) {
handleNumeroBonError("Veuillez revoir le numéro de bon!", "Please review the prescription number!");
return;
}
if (!numeroBon || numeroBon <= "0") {
alert_ebene("Veuillez saisir un No de bon!", "Please enter a prescription number!");
$("#numeroBon").focus();
return;
}
if (codeEtatBon !== "1") {
alert_ebene("Veuillez saisir un No de bon disponible!", "Please enter a prescription number available!");
$("#numeroBon").focus();
return;
}
if (numeroBonSave !== numeroBon) {
handleNumeroBonError("Veuillez revoir le numéro de bon!", "Please review the prescription number!");
return;
}
confirmationMsg = "Confirmez-vous ce No de bon?";
confirmationMsgEng = "Do you confirm this number of prescription?";
} else {
numeroBon = "-1";
confirmationMsg = "Confirmez-vous cette prescription?";
confirmationMsgEng = "Do you confirm this prescription?";
}
// Fonction helper pour gérer les erreurs de numéro de bon
function handleNumeroBonError(msg, msgEng) {
alert_ebene(msg, msgEng);
$("#btn_enreg").prop("disabled", true);
$("#msgErreur").html("");
$("#codeEtatBon").val("");
$("#numeroBon").focus();
}
// Confirmation principale
const isConfirmed = await confirm_ebene_sweet(confirmationMsg, confirmationMsgEng);
if (!isConfirmed) {
feuillemaladie();
return;
}
// Préparation des données
const donnees = {
numeroBon: numeroBon,
numeroFeuilleMaladie: numeroFeuilleMaladie,
motifHospitalisation: motifHospitalisation,
codeGestionBon: codeGestionBon
};
$("#btn_enreg").prop("disabled", true);
try {
// Envoi de la requête AJAX
await $.ajax({
url: `${$("#racineWeb").val()}Ajaxenregistrerhospitalisation/enregistrerhospitalisation/`,
type: 'post',
data: donnees
});
// Demande de continuation
const continueMsg = "Avis d'hospitalisation envoyé, souhaitez-vous continuer?";
const continueMsgEng = "Hospitalization notice sent, would you like to add a room?";
const wantsToContinue = await confirm_ebene_sweet(continueMsg, continueMsgEng);
if (wantsToContinue) {
attribution_chambre();
} else {
feuillemaladie();
}
} catch (error) {
console.error("Erreur lors de l'enregistrement:", error);
$("#btn_enreg").prop("disabled", false);
}
}
function libellesubstitut(controle)
{
var libelle = controle.options[controle.selectedIndex].text;
$("#libelleSubstitut").val(libelle);
}
function verifierPrixSubstitut(controle){
var prixSubstitut = $('#prixSubstitut').val();
var prixPublicSubstitut = $('#prixPublicSubstitut').val();
var prixTarif = $('#prixTarif').val();
var idMedicament = $('#idMedicament').val();
var nomPrescrit = $('#nomPrescrit').val();
var posologie = $('#posologie').val();
var nvellePosologie = $('#nvellePosologie').val();
var appliquerMargePrixSubstitutMedicament = $('#appliquerMargePrixSubstitutMedicament').val();
var margePrixSubstitutMedicament = $('#margePrixSubstitutMedicament').val();
var idSubstitut = $('#idSubstitut').val();
var libelleSubstitut = $("#libelleSubstitut").val();
var devise = $("#devise").val();
if (idSubstitut=="")
{
v_msg="Veuillez s\u00e9lectionner un m\u00e9dicament de substitution!";
v_msgEng="Please select a replacement drug!";
alert_ebene(v_msg, v_msgEng);
$("#prixSubstitut").val(0);
$("#prixSubstitut").focus();
return false;
}
prixPublicSubstitut = prixPublicSubstitut.replace(/ /g,"");
prixPublicSubstitut = parseInt(prixPublicSubstitut.replace(",","."),10);
prixSubstitut = prixSubstitut.replace(/ /g,"");
prixSubstitut = parseInt(prixSubstitut.replace(",","."),10);
prixTarif = prixTarif.replace(/ /g,"");
prixTarif = parseInt(prixTarif.replace(",","."),10);
margePrixSubstitutMedicament = margePrixSubstitutMedicament.replace(/ /g,"");
margePrixSubstitutMedicament = parseInt(margePrixSubstitutMedicament.replace(",","."),10);
if(appliquerMargePrixSubstitutMedicament == "1"){
prixTarif = prixTarif + margePrixSubstitutMedicament;
}else{
$("#btn_actu").prop("disabled",true);
$("#btn_enreg").prop("disabled",false);
$("#div_patienter").empty();
return false;
}
donnees_sav = 'idMedicament='+idMedicament+'&nomPrescrit='+nomPrescrit+'&prixTarif='+prixTarif;
donnees_sav += '&idSubstitut='+idSubstitut+'&libelleSubstitut='+libelleSubstitut;
donnees_sav += '&prixPublicSubstitut='+prixPublicSubstitut+'&prixSubstitut='+prixSubstitut;
donnees_sav += '&posologie='+posologie+'&nvellePosologie='+nvellePosologie;
donnees_sav += '&typeMail=maildemandesubstitution';
//donnees_sav = 'idMedicament='+idMedicament+'&prixTarif='+prixTarif;
//donnees_sav += '&idSubstitut='+idSubstitut+'&prixSubstitut='+prixSubstitut;
//donnees_sav += '&typeMail=maildemandesubstitution';
if(prixSubstitut > 0){
if(prixSubstitut > prixTarif){
//typeSms = "demandesubstitution";
//v_msg="Le prix du m\u00e9dicament de substitution est sup\u00e9rieur au prix du m\u00e9dicament prescrit augment\u00e9 de la marge maximum de "+formatCurrency(margePrixSubstitutMedicament)+" "+devise+" d\u00e9finie, veuillez attendre l'accord de l'assureur avant de continuer.";
//v_msgEng="The price of the replacement drug is higher than the price of the prescribed drug plus the maximum margin of "+formatCurrency(margePrixSubstitutMedicament)+" "+devise+" defined, please wait for the insurer's agreement before continuing.";
v_msg="Vous devez imp\u00e9rativement prendre un m\u00e9dicament de prix inf\u00e9rieur ou \u00e9gal \u00e0 celui prescrit!";
v_msgEng="You must imperatively take a medicine of lower price or equal to that prescribed!";
alert_ebene(v_msg, v_msgEng);
$("#searchInput").val("");
$("#prixSubstitut").val(0);
//preparesms(typeSms);
//mettremailattente(donnees_sav);
//$("#btn_actu").prop("disabled",false);
//etatreponsesubstitution();
//$("#btn_actu").focus();
//$("#btn_actu").click();
//sleep(1/10);
//$("#btn_actu").click();
return false;
}else{
$("#btn_actu").prop("disabled",true);
$("#btn_enreg").prop("disabled",false);
$("#div_patienter").empty();
}
}
}
function etatreponsesubstitution()
{
var idMedicament = $('#idMedicament').val();
var idSubstitut = $('#idSubstitut').val();
var prixSubstitut = $('#prixSubstitut').val();
var posologie = $('#posologie').val();
var nvellePosologie = $.trim($('#nvellePosologie').val());
donnees = 'idMedicament='+idMedicament;
donnees += '&idSubstitut='+idSubstitut;
donnees += '&prixSubstitut='+prixSubstitut;
donnees += '&posologie='+posologie;
donnees += '&nvellePosologie='+nvellePosologie;
//alert(donnees);
//return;
$("#div_patienter").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxetatreponsesubstitution/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_patienter").html(data);
var codeReponseEntentePrealable = $('#codeReponseEntentePrealable').val();
if(codeReponseEntentePrealable=="1"){
$("#btn_actu").prop("disabled",true);
$("#btn_enreg").prop("disabled",false);
$('#').val();
}
},
complete: function() {
}
});
}
function sleep(seconds){
var waitUntil = new Date().getTime() + seconds*1000;
while(new Date().getTime() < waitUntil){
true;
}
}
function viderDuree(){
//debugger;
$("#quantite").val("1");
div_quantite.focus();
}
function ajaxprixchambre()
{
$("#btn_enreg").disable();
$("#prixActe_info").val("0");
$("#montantTm_info").val("0");
$("#aRembourser_info").val("0");
codeActe = $("#codeActe").val();
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un type de chambre!";
v_msgEng="Please select a category of room!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
div_quantite = $("#quantite");
quantite = div_quantite.val();
if(quantite=="")
{
quantite = "0";
}
div_quantite.val(quantite);
quantite = parseInt(quantite);
if(quantite==0)
{
div_quantite.focus();
v_msg="Veuillez saisir la dur\u00e9e!";
v_msgEng="Please enter the duration!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'codeActe='+codeActe+'&quantite='+quantite;
$("#infosacte").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxprixchambre/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosacte").html(data);
},
complete: function() {
}
});
}
function ajax_changer_duree_chambre()
{
$("#btn_enreg").disable();
codeActe = $("#codeActe").val();
prixActe = $("#prixActe").val();
numeroChambre = $("#numeroChambre").val();
/*
alert("numeroChambre => "+numeroChambre);
return;
*/
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un type de chambre!";
v_msgEng="Please select a category of room!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
div_quantite = $("#quantite");
quantite = div_quantite.val();
if(quantite=="")
{
quantite = "0";
}
div_quantite.val(quantite);
quantite = parseInt(quantite);
if(quantite==0)
{
div_quantite.focus();
div_quantite.val("");
v_msg="Veuillez saisir la dur\u00e9e!";
v_msgEng="Please enter duration!";
alert_ebene(v_msg, v_msgEng);
return;
}
claculerfinchambre();
donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&prixActe='+prixActe+'&numeroChambre='+numeroChambre;
$("#infosacte").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxchangerdureechambre/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosacte").html(data);
},
complete: function() {
}
});
}
function claculerfinchambre()
{
div_quantite = $("#quantite");
quantite = div_quantite.val();
if(quantite=="")
{
quantite = "0";
}
div_quantite.val(quantite);
quantite = parseInt(quantite);
if(quantite==0)
{
div_quantite.focus();
div_quantite.val("");
v_msg="Veuillez saisir la dur\u00e9e!";
v_msgEng="Please enter the duration!";
alert_ebene(v_msg, v_msgEng);
return;
}
var typdate = $("#debut").datepicker("getDate");
typdate.setDate(typdate.getDate() + quantite -1);
$( "#fin" ).datepicker( "setDate", typdate );
}
async function enregistrerchambre() {
// Validate acteExclu
const acteExclu = $("#acteExclu").val();
let autorisation = "0";
if (acteExclu == "1") {
autorisation = "2";
alert_ebene("Non couvert!", "Not covered!");
$("#codeActe").focus();
return;
}
// Validate required fields
const codeActe = $("#codeActe").val();
if (!codeActe || codeActe.trim() === "") {
alert_ebene("Veuillez sélectionner un type de chambre!", "Please select a category of room!");
$("#codeActe").focus();
return;
}
const prixActe = parseFloat($("#prixActe").val()) || 0;
if (prixActe === 0) {
alert_ebene("Veuillez revoir le tarif!", "Please review rate!");
return;
}
let quantite = parseInt($("#quantite").val()) || 0;
$("#quantite").val(quantite);
if (quantite === 0) {
$("#quantite").focus();
alert_ebene("Veuillez saisir la durée!", "Please enter the duration!");
return;
}
const numeroChambre = $("#numeroChambre").val();
if (!numeroChambre || numeroChambre.trim() === "") {
alert_ebene("Veuillez saisir le No de chambre!", "Please enter room number!");
$("#numeroChambre").focus();
return;
}
// Get additional data
const ententePrealable = $("#ententePrealable").val() === "1" ? "2" : $("#ententePrealable").val();
const valeurActe = $("#valeurActe").val();
const montantTm = $("#montantTm").val();
const aRembourser = $("#aRembourser").val();
const debut = $("#debut").val();
const fin = $("#fin").val();
const motifHospit = $("#motifHospit").val();
const numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
const prixTarif = prixActe;
// Confirmation dialog
const isConfirmed = await confirm_ebene_sweet(
"Confirmez-vous cette chambre?",
"Do you confirm this room?"
);
if (!isConfirmed) return;
// Prepare data for AJAX call
const donnees = {
codeActe,
quantite,
prixActe,
valeurActe,
montantTm,
aRembourser,
debut,
fin,
numeroChambre,
autorisation,
prixTarif,
ententePrealable
};
const donnees_sav = {
codeActe,
numeroFeuilleMaladie,
quantite,
motifHospit,
typeMail: 'mailententeprealable'
};
const donnees_sav2 = {
codeActe,
numeroFeuilleMaladie,
quantite,
motifHospit,
typeMail: 'mailautorisation'
};
// Disable button during processing
$("#btn_enreg_chambre").prop("disabled", true);
try {
// Make AJAX call
await $.ajax({
url: `${$("#racineWeb").val()}Ajaxenregistrerchambre/enregistrerchambre/`,
type: 'post',
data: donnees
});
// Process results
maj_fraisexclu_cso();
if (ententePrealable === "2") {
preparesms("ententeprealable");
alert_ebene("Demande accord préalable envoyée!", "Request prior agreement sent!");
await mettremailattente($.param(donnees_sav));
}
if (autorisation === "2") {
preparesms("autorisation");
alert_ebene("Demande autorisation envoyée!", "Request for authorization sent!");
await mettremailattente($.param(donnees_sav2));
}
alert_ebene("Enregistrée avec succès", "Saved successfully!");
attribution_chambre();
} catch (error) {
console.error("Error during room registration:", error);
} finally {
$("#btn_enreg_chambre").prop("disabled", false);
}
}
function actesmedicaux()
{
actVisible=$("#actVisible").val();
// if (actVisible!="1" && modeSaisieFacture!="1")
if (actVisible!="1")
{
v_msg="Non autoris\u00e9e!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
modeSaisieFacture=$("#modeSaisieFacture").val();
facture=$("#facture").val();
if (modeSaisieFacture=="0" && facture==1)
{
v_msg="D\u00e9jà factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
bonCaduc=$("#bonCaduc").val();
if (bonCaduc==1 && modeSaisieFacture!="1")
{
v_msg="Bon caduc!";
v_msgEng="Obsolete!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Actesmedicaux/");
}
function optique()
{
facture=$("#facture").val();
if (facture==1)
{
v_msg="D\u00e9jà factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
prescription_optique();
}
function pharmacien()
{
if (prestation_possible())
{
/* mis en commentaire le 28/11/2017
derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
if(derogation_finger_en_cours>0)
{
$("#okId" ).val("1");
}
else
{
finger_id = $("#finger_id_C" ).val();
if (finger_id==0)
{
v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
v_msgEng="Please enroll before!";
alert_ebene(v_msg, v_msgEng);
return;
}
okId=$("#okId" ).val();
if (okId!=1)
{
v_msg="Veuillez proc\u00e9der à l\'identification avant!";
v_msgEng="Please check identity before!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
*/
window.location.assign($("#racineWeb" ).val()+"Pharmacien/");
}
}
function dossiers(okId)
{
codeProfil = $("#codeProfil_C" ).val();
if(codeProfil=="PHA")
{
pharmacien();
return;
}
if(codeProfil=="OPT")
{
monture = $("#monture").val();
if(monture=="1")
{
window.location.assign($("#racineWeb" ).val()+"Monture/");
return;
}
opticien();
return;
}
if(codeProfil=="LAB")
{
laboratoire();
return;
}
if(codeProfil=="SEA")
{
seancekine();
return;
}
derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
if(derogation_finger_en_cours>0)
{
$("#okId" ).val("1");
}
/*
else
{
// finger_id = $("#finger_id_C" ).val();
finger_id = $("#okId" ).val();
if (finger_id==0)
{
v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
v_msgEng="Please enroll before!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
*/
modeSaisieFacture=$("#modeSaisieFacture").val();
if(modeSaisieFacture=="1")
{
window.location.assign($("#racineWeb" ).val()+"Dossiers/");
return;
}
if (prestation_possible())
{
if (okId==1)
{
window.location.assign($("#racineWeb" ).val()+"Consultation/");
return;
}
else
{
okId=$("#okId" ).val();
}
if (okId==1)
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxcontextidentification/",
type : 'post',
error: function(errorData) {
},
complete: function() {
if (prestation_possible())
{
window.location.assign($("#racineWeb" ).val()+"Dossiers/");
}
}
});
}
else
{
window.location.assign($("#racineWeb" ).val()+"Dossiers/");
}
}
}
function afficher_beneficiaire_id_okId()
{
idBeneficiaire=$("#idBeneficiaire_C").val();
okId=$("#okId").val();
okId_face=$("#okId_face ").val();
if (idBeneficiaire>"")
{
ajax_context_beneficiaire_afficher(idBeneficiaire, okId, okId_face);
}
}
function ajax_context_beneficiaire_afficher(idBeneficiaire, okId, okId_face)
{
donnees = 'idBeneficiaire='+idBeneficiaire+'&okId='+okId+'&okId_face='+okId_face;
$.ajax({
url: $("#racineWeb").val()+"Ajaxcontextbeneficiaire/",
type : 'post',
data: donnees,
error: function(errorData) {
},
complete: function() {
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/");
}
});
}
function facturer_cso(user_id)
{
facture=$("#facture").val();
if (facture==1)
{
v_msg="D\u00e9jà factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
// verifier depasement
fraisExclu=$("#fraisExclu").val();
fraisExclu = parseInt(fraisExclu);
if (fraisExclu>0)
{
v_msg="Attention ! D\u00e9passement de limite, souhaitez-vous continuer?";
v_msgEng="Warning ! Overflow, Would you like to continue?";
if(!confirm_ebene(v_msg, v_msgEng))
{
return;
}
}
// Fin verification depassement
/*
derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
if(derogation_finger_en_cours>0)
{
$("#okId" ).val("1");
}
else
{
okId=$("#okId" ).val();
if (okId!=1)
{
v_msg="Veuillez proc\u00e9der à l\'identification avant!";
v_msgEng="Please check identity before!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
*/
prixActe = $("#prixActe").val();
/*
if (prixActe==0)
{
v_msg="Rien à facturer!";
v_msgEng="Nothing to bill!";
alert_ebene(v_msg, v_msgEng);
return;
}
*/
montantTm = $("#montantTm").val();
cout = $("#cout").val();
montantTm_f = $("#montantTm_f").val();
cout_f = $("#cout_f").val();
donnees = 'prixActe='+prixActe;
donnees += '&montantTm='+montantTm;
donnees += '&cout='+cout;
numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailfacturationfeuillemaladie';
typeSms = "facturer_cso";
user_id_0 = $("#user_id_C").val();
user_id_substitut = "0";
if (user_id_0!=user_id)
{
user_id_substitut = user_id;
}
donnees_substitut = 'user_id_substitut='+user_id_substitut;
$.ajax({
url: $("#racineWeb").val()+"Ajaxfacturerfeuillemaladie/facturer/",
type: 'POST',
data: donnees_substitut,
success: function(data) {
// KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
// preparesms_adherent(typeSms);
},
error: function(data) {
},
complete: function()
{
// KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
// preparemail_adherent(typeSms);
v_msg="Facturation d\u00e9finitive effectu\u00e9e avec succès!";
v_msgEng="Final invoicing successfully completed!";
alert_ebene(v_msg, v_msgEng);
feuillemaladie();
}
});
}
// Fonction de facturation de la feuille de maladie
async function facturer_feuillemaladie() {
debugger;
const codeLangue = $("#codeLangue").val();
const prixActe = $("#prixActe").val();
// Vérification si le prix est nul
if (prixActe === "0") {
const v_msg = "Rien à facturer!";
const v_msgEng = "Nothing to charge!";
alert_ebene(v_msg, v_msgEng);
return;
}
// Entente préalable en attente
const ententePrealableenattente = $("#ententePrealableenattente").val();
if (ententePrealableenattente === "1") {
const v_msg = "Veuillez attendre la réponse du gestionnaire avant la facturation définitive !";
const v_msgEng = "Please wait for the manager's response before final billing!";
alert_ebene(v_msg, v_msgEng);
return;
}
// Entente préalable pour consultation
const ententePrealableCons = $("#ententePrealableCons").val();
if (ententePrealableCons === "2" || ententePrealableCons === "9") {
const v_msg = ententePrealableCons === "2"
? "Veuillez attendre l'accord de l'assureur!"
: "Non autorisé car l'acte consultation a été refusé par l'assureur!";
const v_msgEng = ententePrealableCons === "2"
? "Please wait for insurer approval!"
: "Not authorized because the consultation act was refused by the insurer!";
alert_ebene(v_msg, v_msgEng);
return;
}
const modeSaisieFacture = $("#modeSaisieFacture").val();
const facture = $("#facture").val();
const contestation = $("#contestation").val();
// Dossier médical contesté
if (facture === "0" && contestation === "1") {
const v_msg = "Dossier médical contesté !";
const v_msgEng = "Medical records contested!";
alert_ebene(v_msg, v_msgEng);
return;
}
// Déjà facturé
if (modeSaisieFacture === "0" && facture === "1") {
const v_msg = "Déjà facturé!";
const v_msgEng = "Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
// Bon caduc
const bonCaduc = $("#bonCaduc").val();
if (bonCaduc === "1" && modeSaisieFacture !== "1") {
const v_msg = "Bon caduc!";
const v_msgEng = "Obsolete!";
alert_ebene(v_msg, v_msgEng);
return;
}
// Affection obligatoire non renseignée
const affectionObligatoire = $("#affectionObligatoire").val();
const codeAffection = $("#codeAffection").val();
if (affectionObligatoire === "1" && codeAffection === "990" && modeSaisieFacture !== "1") {
const v_msg = "Diagnostique exigé!";
const v_msgEng = "Diagnosis required!";
alert_ebene(v_msg, v_msgEng);
$("#libelleAffection").focus();
$("#btn_pop_affection").click();
return;
}
// Période clôturée
const codeEtatDecompte = $("#codeEtatDecompte").val();
if (codeEtatDecompte === "1" || codeEtatDecompte === "9") {
const v_msg = "Période clôturée!";
const v_msgEng = "Period closed!";
alert_ebene(v_msg, v_msgEng);
return;
}
const numOrd = $("#numOrd").val();
const noPrescription = $("#noPrescription").val();
const hospitalisation = $("#hospitalisation").val();
// Cas où il n’y a ni ordonnance ni prescription
if (numOrd === "0" && noPrescription === "0" && hospitalisation === "0" && modeSaisieFacture === "0") {
const v_msg = "Souhaitez-vous créer une ordonnance médicale avant de facturer?";
const v_msgEng = "Would you like to create a medical prescription before invoicing?";
const confirmPrescription = await confirm_ebene_sweet(v_msg, v_msgEng);
if (confirmPrescription) {
// L'utilisateur choisit de créer une ordonnance
prescription_medicament();
return;
}
// Si l'utilisateur ne veut pas créer d'ordonnance, confirmation de la facturation finale
const v_msg2 = "Confirmez-vous la facturation définitive?";
const v_msgEng2 = "Do you confirm the final billing?";
const confirmFacture = await confirm_ebene_sweet(v_msg2, v_msgEng2);
if (confirmFacture) {
const user_id_0 = $("#user_id_C").val();
facturer_cso(user_id_0);
}
return;
}
// Cas classique : confirmation directe de la facturation
const v_msg = "Confirmez-vous la facturation définitive?";
const v_msgEng = "Do you confirm the final billing?";
const confirmFacture = await confirm_ebene_sweet(v_msg, v_msgEng);
if (confirmFacture) {
const user_id_0 = $("#user_id_C").val();
facturer_cso(user_id_0);
}
}
function facturer_pha()
{
//debugger;
var div_messages = $('#div_messages');
div_messages.html('');
nbLivre=$("#nbLivre").val();
nbLivre = parseInt(nbLivre);
if (nbLivre<1)
{
v_msg="Rien à facturer!";
v_msgEng="Nothing to bill!";
alert_ebene(v_msg, v_msgEng);
return;
}
coutprescription = $("#coutprescription").val();
//alert(coutprescription);
//return;
montantTm = $("#montantTm").val();
cout = $("#cout").val();
montantTm_f = $("#montantTm_f").val();
cout_f = $("#cout_f").val();
donnees = 'prixActe='+coutprescription;
donnees += '&montantTm='+montantTm;
donnees += '&cout='+cout;
numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
codePrestataire = $("#codePrestataire_C").val();
donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailpharmacie';
typeSms = "facturer_pha";
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailpharmacien/enregistrerpharmacie/",
type: 'POST',
success: function(data) {
// KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
// preparesms_adherent(typeSms);
},
error: function(data) {
},
complete: function() {
// KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
// preparemail_adherent(typeSms);
v_msg="Facturation effectu\u00e9e avec succès!";
v_msgEng="Billing done successfully!";
alert_ebene(v_msg, v_msgEng);
window.location.assign($("#racineWeb" ).val()+"Pharmacien/");
}
});
}
async function valider_pharmacie_pha() {
// Configuration and initial checks
const modeSaisieFacture = $("#modeSaisieFacture").val();
const bonCaduc = $("#bonCaduc").val();
// Validation checks
if (bonCaduc == "1" && modeSaisieFacture != "1") {
alert_ebene("Bon caduc!", "Obsolete!");
return;
}
const estRempalace = $("#estRempalace").val();
if (estRempalace == "1") {
alert_ebene("Remplacée!", "Replaced!");
return;
}
const numeroPrescription = $("#numeroPrescription_C").val();
if (numeroPrescription <= "0") {
alert_ebene("Rien à facturer!", "Nothing to bill!");
return;
}
const coutprescription = $("#coutprescription").val();
if (coutprescription <= 0 || coutprescription == undefined) {
alert_ebene("Rien à facturer!", "Nothing to bill!");
return;
}
const montantsaisi = $("#montantsaisi").val();
if (montantsaisi == "1") {
alert_ebene(
"Veuillez verifier les montants et facturer à nouveau s'il vous plaît!",
"Please check the amounts and invoice again!"
);
return;
}
// Validate medication prices
const nbLivre = parseInt($("#nbLivre").val()) || 0;
if (nbLivre < 1) {
alert_ebene("Rien à facturer!", "Nothing to bill!");
return;
}
for (let pas = 1; pas <= nbLivre; pas++) {
if ($("#valeurActeManuel" + pas).val() == "0") {
alert_ebene(
"Veuiller entrer le prix du médicament!",
"Please enter the drug price!"
);
$("#valeurActeManuel" + pas).focus();
return;
}
}
// Confirmation dialog
const isConfirmed = await confirm_ebene_sweet(
"Confirmez-vous cette facturation?",
"Do you confirm this billing?"
);
if (isConfirmed) {
facturer_pha();
}
}
function imprimer_facture_definitive_pha()
{
//debugger;
idFacture = $("#idFacture").val();
if (idFacture>="0")
{
donnees = "idFacture="+idFacture;
var div_export = $('#div_facture_definitive');
div_export.html('
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxconsultationcsoentete/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_entete_dossier").html(data);
},
complete: function() {
}
});
$.ajax({
url: $("#racineWeb").val()+"Ajaxconsultationcso/",
type : 'post',
data: donnees_sav,
error: function(errorData) {
},
success: function(data) {
$("#detail_reglement").html(data);
$("#detail_reglement").css("padding-top", "0px");
},
complete: function() {
}
});
}
function afficher_feuille_maladie_cons()
{
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val();
if (numeroFeuilleMaladie>"")
{
ajax_context_feuille_maladie_afficher_cons(numeroFeuilleMaladie);
}
}
function ajax_context_feuille_maladie_afficher_cons(numeroFeuilleMaladie)
{
donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie;
$.ajax({
url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/",
type : 'post',
data: donnees,
error: function(errorData) {
},
complete: function() {
consulter_feuillemaladie();
}
});
}
function afficher_feuille_maladie_cons_ben()
{
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C" ).val();
if (numeroFeuilleMaladie>"")
{
ajax_context_feuille_maladie_afficher_cons_ben(numeroFeuilleMaladie);
}
}
function ajax_context_feuille_maladie_afficher_cons_ben(numeroFeuilleMaladie)
{
donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie;
$.ajax({
url: $("#racineWeb").val()+"Ajaxcontextfeuillemaladie/",
type : 'post',
data: donnees,
error: function(errorData) {
},
complete: function() {
consulter_feuillemaladie_ben();
}
});
}
function consulter_prescription_ben()
{
window.location.assign($("#racineWeb" ).val()+"Prescriptionconsben/");
}
function consulter_chambre_ben()
{
window.location.assign($("#racineWeb" ).val()+"Chambreconsben/");
}
function consulter_optique_ben()
{
window.location.assign($("#racineWeb" ).val()+"Optiqueconsben/");
}
function consulter_feuillemaladie_ben()
{
window.location.assign($("#racineWeb" ).val()+"Feuillemaladieconsben/");
}
function consulter_prescription()
{
window.location.assign($("#racineWeb" ).val()+"Prescriptioncons/");
}
function consulter_chambre()
{
window.location.assign($("#racineWeb" ).val()+"Chambrecons/");
}
function consulter_optique()
{
window.location.assign($("#racineWeb" ).val()+"Optiquecons/");
}
function consulter_feuillemaladie()
{
window.location.assign($("#racineWeb" ).val()+"Feuillemaladiecons/");
}
//
function prescription_medicament()
{
debugger;
// POUR LES CONSULTATIONS A ENTENTE PREALBLE
ententePrealableCons=$("#ententePrealableCons").val();
if (ententePrealableCons=="2" || ententePrealableCons=="9" )
{
v_msg="Veuillez attendre l'accord de l'assureur!";
v_msgEng="Please wait for insurer approval!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (ententePrealableCons=="9" )
{
v_msg="Non autoris\u00e9 car l'acte consultation a \u00e9t\u00e9 r\u00e9fus\u00e9 par l'assureur!";
v_msgEng="Not authorized because the consultation act was refused by the insurer!";
alert_ebene(v_msg, v_msgEng);
return;
}
///////////////
hospitalisation = $("#hospitalisation").val();
numOrd = $("#numOrd").val();
facture=$("#facture").val();
if (numOrd == "0" && facture==1)
{
v_msg="D\u00e9j\u00e0 factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
contestation = $("#contestation").val();
if(numOrd == "0" && contestation == "1"){
const v_msg = "Dossier médical contesté !";
const v_msgEng = "Medical records contested!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (hospitalisation=="1" && numOrd=="0")
{
v_msg="Non autoris\u00e9 car la p\u00e9riode d'hospitalisation est en cours.";
v_msgEng="Not authorized because the period of hospitalization is in progress.";
alert_ebene_callback(v_msg, v_msgEng, function() {
window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
});
return;
}
actVisible=$("#actVisible").val();
if (actVisible!="1")
{
v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
alert_ebene(v_msg, v_msgEng);
return;
}
numeroBon = $("#numeroBon").val();
codeMedecin = $("#codeMedecin").val();
codeGestionBon = "2";
/* CODE A RAJOUTER POUR LES CODE D'AFFECTION*/
affectionObligatoire=$("#affectionObligatoire").val();
codeAffection=$("#codeAffection").val();
modeSaisieFacture=$("#modeSaisieFacture").val();
if (affectionObligatoire=="1" && codeAffection=="990" && modeSaisieFacture!="1")
{
v_msg="Diagnostique exig\u00e9!";
v_msgEng="Diagnosis required!";
alert_ebene(v_msg, v_msgEng);
$("#libelleAffection").focus();
$("#btn_pop_affection").click();
return;
}
// if (actVisible!="1" && modeSaisieFacture!="1")
if (actVisible!="1")
{
v_msg="Non autoris\u00e9!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (numOrd=="0" && contestation == "0"){
enregistrerprescriptionmedicatement(numeroBon,codeMedecin,codeGestionBon);
} else{
window.location.assign($("#racineWeb" ).val()+"Prescription/");
}
}
function livraison_pharmacie()
{
actVisible=$("#actVisible").val();
nomForm = $("#nomForm").val();
if (nomForm=="feuillemaladie"){
estGarantiePha = $("#estGarantiePha").val();
/*
if (estGarantiePha!="1"){
v_msg="Cet acte n'est pas garantie pour le b\u00e9n\u00e9ficiaire!";
v_msgEng="This act is not guaranteed for the beneficiary!";
alert_ebene(v_msg, v_msgEng);
return;
}*/
}
// if (actVisible!="1" && modeSaisieFacture!="1")
if (actVisible!="1")
{
v_msg="Non autoris\u00e9e!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
modeSaisieFacture=$("#modeSaisieFacture").val();
bonCaduc=$("#bonCaduc").val();
if (bonCaduc==1 && modeSaisieFacture!="1")
{
v_msg="Bon caduc!";
v_msgEng="Obsolete!";
alert_ebene(v_msg, v_msgEng);
return;
}
numeroBonOrdonnance=$("#numeroBonOrdonnance_C").val();
if (numeroBonOrdonnance==0)
{
v_msg="Aucune prescription!";
v_msgEng="No prescription!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Pharmacie/");
}
function prescription_optique()
{
//debugger;
codePrestataire=$("#codePrestataire").val();
affectionObligatoire=$("#affectionObligatoire").val();
codeAffection=$("#codeAffection").val();
modeSaisieFacture=$("#modeSaisieFacture").val();
numeroBonOptique=$("#numeroBonOptique").val();
facture=$("#facture").val();
if (numeroBonOptique == "0" && facture==1)
{
v_msg="D\u00e9j\u00e0 factur\u00e9!";
v_msgEng="Already charged!";
alert_ebene(v_msg, v_msgEng);
return;
}
contestation = $("#contestation").val();
if(numeroBonOptique == "0" && contestation == "1"){
v_msg="Dossier médical contesté !";
v_msgEng="Medical records contested!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (affectionObligatoire=="1" && codeAffection=="990" && modeSaisieFacture!="1")
{
v_msg="Diagnostique exig\u00e9!";
v_msgEng="Diagnosis required!";
alert_ebene(v_msg, v_msgEng);
$("#libelleAffection").focus();
$("#btn_pop_affection").click();
return;
}
actVisible=$("#actVisible").val();
if (actVisible!="1")
{
v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
alert_ebene(v_msg, v_msgEng);
return;
}
hospitalisation = $("#hospitalisation").val();
if (hospitalisation=="1")
{
v_msg="Non autoris\u00e9 car la p\u00e9riode d'hospitalisation est en cours.";
v_msgEng="Not authorized because the period of hospitalization is in progress.";
alert_ebene_callback(v_msg, v_msgEng, function() {
window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
});
return;
}
window.location.assign($("#racineWeb" ).val()+"Optique/");
}
// Fonction pour gérer l'attribution d'une chambre d'hospitalisation
async function attribution_chambre() {
debugger;
const affectionObligatoire = $("#affectionObligatoire").val();
const codeAffection = $("#codeAffection").val();
let modeSaisieFacture = $("#modeSaisieFacture").val();
const numeroBonHospitalisation = $("#numeroBonHospitalisation").val();
const dateDebutHospit = $("#dateDebutHospit").val();
let facture = $("#facture").val();
const codeLangue = $("#codeLangue").val();
const contestation = $("#contestation").val();
const ententePrealableCons = $("#ententePrealableCons").val();
const avisHospitalisation = $("#avisHospitalisation").val();
const idProformaHospitalisation = $("#idProformaHospitalisation").val();
const garantieHospitalisation = $("#garantieHospitalisation").val();
const finCarenceHospitalisation = $("#finCarenceHospitalisation").val();
const autoriserBonHospitAvantDate = $("#autoriserBonHospitAvantDate").val();
// Déjà facturé
if (numeroBonHospitalisation === "0" && facture === "1") {
alert_ebene("Déjà facturé!", "Already charged!");
return;
}
// Dossier médical contesté
if (numeroBonHospitalisation === "0" && contestation === "1") {
alert_ebene("Dossier médical contesté !", "Medical records contested!");
return;
}
// Diagnostique exigé
if (affectionObligatoire === "1" && codeAffection === "990" && modeSaisieFacture !== "1") {
alert_ebene("Diagnostique exigé!", "Diagnosis required!");
$("#libelleAffection").focus();
$("#btn_pop_affection").click();
return;
}
// L'assureur n'a pas encore donné son accord
if (ententePrealableCons === "2" || ententePrealableCons === "9") {
const msg = ententePrealableCons === "9"
? ["Non autorisé car l'acte consultation a été refusé par l'assureur!", "Not authorized because the consultation act was refused by the insurer!"]
: ["Veuillez attendre l'accord de l'assureur!", "Please wait for insurer approval!"];
alert_ebene(msg[0], msg[1]);
return;
}
// Carence toujours en cours
if (garantieHospitalisation !== undefined && garantieHospitalisation !== "1970-01-01") {
alert_ebene(
"Le délai de carence est toujours en vigueur pour cet assuré sur cette prescription, la fin est prévue pour le " + finCarenceHospitalisation,
"Waiting period is still in force for this insured on this prescription, the end is scheduled for " + finCarenceHospitalisation
);
return;
}
// Proforma disponible : l'afficher
if (avisHospitalisation === "0" && numeroBonHospitalisation === "0" && idProformaHospitalisation > "0" && facture === "0") {
afficher_proforma_hospitalisation(idProformaHospitalisation);
return;
}
// Cas où l'hospitalisation est programmée dans le futur mais non autorisée
if (avisHospitalisation === "1" && estDateFuture(dateDebutHospit) && autoriserBonHospitAvantDate === "0" && idProformaHospitalisation > "0" && facture === "0") {
alert_ebene(
"Hospitalisation chirurgicale non encore autorisée! Attendez, s'il vous plaît, la date de sa programmation. Merci pour votre compréhension!",
"Surgical hospitalization not yet authorized! Please wait for the scheduling date. Thank you for understanding!"
);
return;
}
// Si un avis d’hospitalisation est en attente de validation
if (avisHospitalisation === "2") {
const v_msg = "Un avis d'hospitalisation a déjà été envoyé pour validation! Souhaitez-vous le modifier?";
const v_msgEng = "A notice of hospitalization has already been sent for validation! Would you like to modify it?";
const confirmer = await confirm_ebene_sweet(v_msg, v_msgEng);
if (confirmer) {
hospitalisation(); // L’utilisateur confirme vouloir modifier
} else {
feuillemaladie(); // Sinon on retourne à la feuille de maladie
}
return;
}
// Si l’avis a été rejeté
if (avisHospitalisation === "3" && facture === "0") {
alert_ebene("Avis rejeté!", "Review rejected!");
return;
}
// Si un avis de prorogation a été envoyé
if (avisHospitalisation === "4") {
const v_msg = "Avis de prorogation d'hospitalisation envoyé pour validation! Souhaitez-vous le modifier?";
const v_msgEng = "Notice of extension of hospitalization sent for validation! Would you like to modify it?";
const confirmer = await confirm_ebene_sweet(v_msg, v_msgEng);
if (confirmer) {
hospitalisation();
} else {
feuillemaladie();
}
return;
}
// Aucun cas bloquant : passer à l’hospitalisation
hospitalisation();
}
// K@M0us2023
function hospitalisation()
{
feuillemaladie_ajax();
window.location.assign($("#racineWeb" ).val()+"Chambre/");
}
function feuillemaladie()
{
nomForm = $("#nomForm").val();
if(nomForm=="frmactesmedicaux"){
motifActe = $("#motifActe").val();
nbEntentePrealable = parseInt($("#nbEntentePrealable").val());
if(nbEntentePrealable>0 && motifActe <=" ")
{
v_msg="Le renseignement clinique est obligatoire pour que votre demande soit envoy\u00e9e \u00e0 l'assureur.";
v_msgEng="Clinical information is mandatory for your claim to be sent to the insurer.";
alert_ebene(v_msg, v_msgEng);
$("#motifActe").focus();
return;
}
}
window.location.assign($("#racineWeb" ).val()+"Feuillemaladie/");
}
function feuillemaladie_ajax()
{
feuillemaladie();
}
function recherche()
{
window.location.assign($("#racineWeb" ).val()+"Recherche/");
}
function requetes()
{
codeProfil = $("#codeProfil_C" ).val();
if(codeProfil=="PHA")
{
consultationpha();
return;
}
if(codeProfil=="OPT")
{
consultationopt();
return;
}
if(codeProfil=="CSO")
{
consultationcso();
return;
}
if(codeProfil=="LAB")
{
consultationlab();
return;
}
if(codeProfil=="SEA")
{
consultationsea();
return;
}
}
//
function lister_factures_pha_ben()
{
d1=$("#d1").val();
d2=$("#d2").val();
donnees = 'd1='+d1+'&d2='+d2;
$("#div_dossiers").html('
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxselectactesmedicauxobservation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#totam_donnees").html(data);
//$("#listeacte").html(data);
appliquerDataTable();
},
complete: function() {
}
});
}
async function ajouter_un_acte_miseenobservation(codeActe, prixBase, prixActe, ententePrealable) {
// 1. Initialisation des variables
let donnee_a_afficher = "";
const codeFamilleActe = $("#codeFamilleActe").val();
// 2. Validation des données en entrée
if (!codeActe || codeActe.trim() <= " ") {
await alert_ebene(
"Veuillez sélectionner un acte!",
"Please select an act!"
);
return;
}
if (parseFloat(prixActe) === 0) {
await alert_ebene(
"Veuillez revoir le tarif!",
"Please review rate!"
);
return;
}
// 3. Confirmation utilisateur
const isConfirmed = await confirm_ebene_sweet(
"Confirmez-vous cet acte?",
"Do you confirm this act?"
);
if (!isConfirmed) return;
// 4. Préparation des données pour l'API
const donnees = {
codeFamilleActe: codeFamilleActe,
codeActe: codeActe,
ententePrealable: ententePrealable,
prixActe: prixActe,
prixBase: prixBase
};
// 5. Affichage du loader pendant le traitement
$("#listeacte").html(`
Veuillez patienter... / Please wait...
`);
// 6. Envoi de la requête AJAX
try {
const response = await $.ajax({
url: $("#racineWeb").val() + "Ajaxselectactesmedicauxobservation/enregistreractemedicalobservation/",
type: 'post',
data: donnees
});
donnee_a_afficher = response;
// 8. Mise à jour de l'interface
$("#totam_donnees").html(donnee_a_afficher);
appliquerDataTable();
} catch (error) {
console.error("Erreur lors de l'ajout de l'acte:", error);
}
}
/**
* Fonction pour ajouter un acte médical lors d'une hospitalisation
* Gère les cas avec ou sans entente préalable et met à jour l'interface
* @param {string} codeActe - Code de l'acte médical
* @param {number} prixBase - Prix de base de l'acte
* @param {number} prixActe - Prix facturé de l'acte
* @param {number} montantTm - Montant total pris en charge
* @param {number} aRembourser - Montant à rembourser
* @param {number} depassement - Montant du dépassement
* @param {string} ententePrealable - Statut de l'entente préalable (0/1/2)
* @param {string} plafond - Indicateur si l'acte est au plafond (0/1)
*/
async function ajouter_un_acte_selection_hospitalisation(codeActe, prixBase, prixActe, montantTm, aRembourser, depassement, ententePrealable, plafond) {
// 1. Initialisation des variables
let donnee_a_afficher = "";
const codeFamilleActe = "FA100"; // Code famille acte fixe pour hospitalisation
// 2. Récupération des données du formulaire
const plafondHospitalisation = $("#plafondHospitalisation").val().replace(/ /g, "");
const totalHospitalisation = $("#totalHospitalisation").val().replace(/ /g, "");
const modeSaisieFacture = $("#modeSaisieFacture").val();
const nbreChambre = $('#nbreChambre').val();
const nbreActeEntentePrealable = $('#nbreActeEntentePrealable').val();
// 3. Vérification des ententes préalables en cours
if (parseInt(nbreActeEntentePrealable) > 0) {
const v_msg = "Une demande d'accord préalable a déjà été envoyée à l'assureur. Merci de patienter qu'il vous donne sa réponse avant de poursuivre!";
const v_msgEng = "A request for prior agreement has already been sent to the insurer. Please wait for him to give you his answer before continuing!";
await alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
// Planification d'une nouvelle tentative après délai
window.setTimeout(attribution_chambre, 25000);
return;
}
// 4. Validation de la sélection d'acte
if (!codeActe || codeActe.trim() <= " ") {
await alert_ebene(
"Veuillez sélectionner un acte!",
"Please select an act!"
);
return;
}
// 5. Notification si acte plafond (non modifiable)
if (plafond === "1") {
await alert_ebene(
"Le prix de cet acte est le plafond qui sera pris en charge par l'assureur, par conséquent, en le sélectionnant vous ne pourrez pas modifier sa quantité.",
"The price of this act is the ceiling that will be borne by the insurer, therefore, by selecting it you will not be able to change its quantity."
);
}
// 6. Confirmation utilisateur
const isConfirmed = await confirm_ebene_sweet(
"Confirmez-vous cet acte?",
"Do you confirm this act?"
);
if (!isConfirmed) return;
// 7. Préparation des données pour l'API
if (ententePrealable === "1") {
ententePrealable = "2"; // Passage en mode "demande envoyée"
}
const donnees = {
codeFamilleActe: codeFamilleActe,
codeActe: codeActe,
ententePrealable: ententePrealable,
prixActe: prixActe,
montantTm: montantTm,
aRembourser: aRembourser,
prixBase: prixBase,
depassement: depassement
};
const numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
// 8. Vérification des délais de carence
info_fin_delaicarence(codeActe);
// 9. Affichage du loader pendant le traitement
$("#listeacte").html(`
Veuillez patienter... / Please wait...
`);
// 10. Envoi de la requête AJAX
try {
const response = await $.ajax({
url: $("#racineWeb").val() + "Ajaxselectactesmedicauxhospitalisation/enregistreractemedical/",
type: 'post',
data: donnees
});
donnee_a_afficher = response;
// 11. Mise à jour de l'interface
$("#totam_donnees").html(donnee_a_afficher);
appliquerDataTable();
// 12. Gestion de l'affichage des prolongations
cach();
const nbreProlongation = parseInt($("#nbreProlongation").val()) || 0;
if (nbreProlongation > 0) {
for (let pas = 1; pas <= nbreProlongation; pas++) {
cachLigneTab(pas);
}
}
// 13. Affichage du plafond d'hospitalisation
afficherPlafondHospitalisation();
} catch (error) {
console.error("Erreur lors de l'ajout de l'acte d'hospitalisation:", error);
}
}
/**
* Fonction pour supprimer un acte médical en mise en observation
* @param {string} idDetail - Identifiant unique de l'acte à supprimer
*/
async function supprimer_acte_medical_miseenobservation(idDetail) {
// 1. Initialisation de la variable pour stocker les données à afficher
let donnee_a_afficher = "";
// 2. Messages de confirmation multilingues
const confirmationMsg = {
fr: "Confirmez-vous la suppression de cet acte?",
en: "Do you confirm the removal of this act?"
};
// 3. Demande de confirmation à l'utilisateur
const isConfirmed = await confirm_ebene_sweet(confirmationMsg.fr, confirmationMsg.en);
if (!isConfirmed) return;
// 4. Affichage de l'indicateur de chargement
$("#listeacte").html(`
Veuillez patienter... / Please wait...
`);
// 5. Envoi de la requête de suppression au serveur
try {
const response = await $.ajax({
url: $("#racineWeb").val() + "Ajaxselectactesmedicauxobservation/supprimeracte/",
type: 'POST',
data: { idDetail: idDetail }
});
// 6. Traitement de la réponse
donnee_a_afficher = response;
// 7. Mise à jour de l'interface utilisateur
$("#totam_donnees").html(donnee_a_afficher);
appliquerDataTable(); // Application du plugin DataTables
ajaxactespossibles_miseenobservation(); // Rafraîchissement de la liste des actes
} catch (error) {
console.error("Erreur lors de la suppression de l'acte:", error);
// Gestion supplémentaire des erreurs pourrait être ajoutée ici
}
}
function ajax_maj_qte_acte_miseenobservation(idDetail, quantite, controle)
{
quantite=quantite.replace(",",".");
controle.value=quantite;
if(controle_numerique(controle))
{
if(quantite==0)
{
controle.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idDetail='+idDetail+"&quantite="+quantite;
donnee_a_affciher = "";
//donnees = 'idDetail='+idDetail+"&quantite="+quantite;;
$.ajax({
url: $("#racineWeb").val()+"Ajaxactesmedicauxmiseenobservation/majquantite/",
type: 'POST',
data: donnees,
success: function(data) {
donnee_a_affciher = data;
},
error: function(data) {
},
complete: function() {
$("#div_prestations").html(donnee_a_affciher);
controle.focus();
}
});
}
}
function ajax_maj_prix_acte_hospitalisation(idPrestationactes, valeurActe, controle)
{
valeurActe=valeurActe.replace(",",".");
controle.value=valeurActe;
valeurActe=valeurActe.replace(/ /g,"");
valeurActe=parseInt(valeurActe.replace(",","."),10);
controle.value=valeurActe;
if(controle_numerique(controle))
{
/*
if(valeurActe==0)
{
controle.focus();
v_msg="Veuillez saisir le prix!";
v_msgEng="Please enter the price!";
alert_ebene(v_msg, v_msgEng);
return;
}
*/
donnees = 'idPrestationactes='+idPrestationactes+"&valeurActe="+valeurActe;
//donnee_a_affciher = "";
//$("#div_prestations").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxselectactesmedicauxhospitalisation/majvaleuracte/",
type: 'POST',
data: donnees,
success: function(data) {
//prestations_hospitalisation();
},
error: function(data) {
},
complete: function() {
ajaxactespossibles_selection_hospitalisation();
//afficherPlafondHospitalisation();
}
});
}
}
/**
* Fonction pour supprimer un acte médical sélectionné
* @param {string} idPrestationactes - Identifiant unique de la prestation à supprimer
* @param {string} codeTypePrestation - Code du type de prestation
*/
async function supprimer_acte_medical_selection(idPrestationactes, codeTypePrestation) {
// 1. Initialisation des variables
let donnee_a_afficher = "";
// 2. Messages de confirmation multilingues
const messages = {
confirmation: {
fr: "Confirmez-vous la suppression de cet acte?",
en: "Do you confirm the removal of this act?"
},
chargement: {
fr: "Veuillez patienter...",
en: "Please wait..."
}
};
// 3. Demande de confirmation à l'utilisateur
const isConfirmed = await confirm_ebene_sweet(
messages.confirmation.fr,
messages.confirmation.en
);
if (!isConfirmed) return;
// 4. Récupération du code famille acte
const codeFamilleActe = $("#codeFamilleActe").val();
// 5. Affichage de l'indicateur de chargement
$("#listeacte").html(`
`);
// 6. Préparation des données pour la requête
const donnees = {
codeFamilleActe: codeFamilleActe,
idPrestationactes: idPrestationactes,
codeTypePrestation: codeTypePrestation
};
// 7. Envoi de la requête AJAX
try {
const response = await $.ajax({
url: $("#racineWeb").val() + "Ajaxselectactesmedicaux/supprimeracte/",
type: 'POST',
data: donnees
});
// 8. Traitement de la réponse
donnee_a_afficher = response;
// 9. Mise à jour de l'interface utilisateur
$("#totam_donnees").html(donnee_a_afficher);
appliquerDataTable(); // Application du plugin DataTables
majgestionacte(); // Mise à jour de la gestion des actes
} catch (error) {
console.error("Erreur lors de la suppression de l'acte médical:", error);
// Gestion supplémentaire des erreurs pourrait être ajoutée ici
}
}
/**
* Valide la sélection d'un acte médical avec vérification des prérequis
* et gestion des ententes préalables si nécessaire.
*/
async function valider_selection_acte() {
// 1. Récupération des valeurs du formulaire
const motifActe = $("#motifActe").val().trim();
const nbEntentePrealable = parseInt($("#nbEntentePrealable").val()) || 0;
// 2. Validation des données obligatoires
if (nbEntentePrealable > 0 && !motifActe) {
await alert_ebene(
"Le renseignement clinique est obligatoire pour que votre demande soit envoyée à l'assureur.",
"Clinical information is mandatory for your claim to be sent to the insurer."
);
$("#motifActe").focus(); // Focus sur le champ manquant
return;
}
// 3. Messages de confirmation multilingues
const messages = {
confirmation: {
fr: "Confirmez-vous cette saisie?",
en: "Do you confirm this situation?"
},
success: {
fr: "Demande accord préalable envoyée!",
en: "Request prior agreement sent!"
}
};
// 4. Demande de confirmation à l'utilisateur
const isConfirmed = await confirm_ebene_sweet(
messages.confirmation.fr,
messages.confirmation.en
);
if (!isConfirmed) return;
// 5. Traitement après confirmation
if (nbEntentePrealable > 0) {
await alert_ebene(messages.success.fr, messages.success.en);
}
// 6. Mise à jour de l'interface
feuillemaladie();
}
/**
* Valide une mise en observation médicale avec gestion des ententes préalables
* - Vérifie le motif saisi
* - Gère l'envoi des demandes d'autorisation
* - Met à jour l'interface après validation
*/
async function valider_miseenobservation() {
// 1. Récupération des données du formulaire
const motif = $("#motif").val().trim();
const modeSaisieFacture = $("#modeSaisieFacture").val();
const numeroEntentePrealable = $("#numeroEntentePrealable").val();
// 2. Validation du champ obligatoire
if (!motif) {
await alert_ebene(
"Veuillez saisir le motif!",
"Please enter the motif!"
);
$("#motif").focus();
return;
}
// 3. Détermination du type d'entente préalable
const ententePrealable = numeroEntentePrealable === "0" ? "2" : "1";
// 4. Messages multilingues
const messages = {
confirmation: {
fr: "Confirmez-vous cette saisie?",
en: "Do you confirm this situation?"
},
success: {
fr: "Demande accord préalable envoyée!",
en: "Request prior agreement sent!"
}
};
// 5. Préparation des données pour l'API
const donnees = { motif: motif };
// 6. Confirmation utilisateur
const isConfirmed = await confirm_ebene_sweet(
messages.confirmation.fr,
messages.confirmation.en
);
if (!isConfirmed) return;
// 7. Envoi de la requête AJAX
try {
await $.ajax({
url: $("#racineWeb").val() + "Ajaxselectactesmedicauxobservation/validermiseenobservation/",
type: 'POST',
data: donnees
});
} catch (error) {
console.error("Erreur lors de la validation:", error);
} finally {
// 8. Mise à jour de l'interface dans tous les cas
feuillemaladie();
}
}
function ajax_maj_qte_acte(idPrestationactes, quantite, controle)
{
quantite=quantite.replace(",",".");
controle.value=quantite;
if(controle_numerique(controle))
{
if(quantite==0)
{
controle.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;
donnee_a_affciher = "";
donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;;
$.ajax({
url: $("#racineWeb").val()+"Ajaxactesmedicauxselect/majquantite/",
type: 'POST',
data: donnees,
success: function(data) {
donnee_a_affciher = data;
},
error: function(data) {
},
complete: function() {
$("#div_prestations").html(donnee_a_affciher);
controle.focus();
}
});
}
}
/**
* Supprime un acte médical d'hospitalisation après confirmation
* @param {string} idPrestationactes - ID de la prestation à supprimer
* @param {string} codeTypePrestation - Code du type de prestation
*/
async function supprimer_acte_medical_hospitalisation(idPrestationactes, codeTypePrestation) {
// 1. Préparation des données pour la requête AJAX
const donnees = {
idPrestationactes: idPrestationactes,
codeTypePrestation: codeTypePrestation
};
// 2. Messages multilingues
const messages = {
confirmation: {
fr: "Confirmez-vous cette suppression?",
en: "Do you confirm this deletion?"
},
loading: {
fr: "Veuillez patienter...",
en: "Please wait..."
}
};
// 3. Récupération de la langue courante
const codeLangue = $("#codeLangue").val();
// 4. Demande de confirmation à l'utilisateur
const isConfirmed = await confirm_ebene_sweet(
messages.confirmation.fr,
messages.confirmation.en
);
if (!isConfirmed) return;
// 5. Affichage du loader pendant le traitement
$("#div_prestations").html(`
${messages.loading.fr} / ${messages.loading.en}
`);
// 6. Envoi de la requête de suppression
try {
await $.ajax({
url: $("#racineWeb").val() + "Ajaxselectactesmedicauxhospitalisation/supprimeracte/",
type: 'POST',
data: donnees
});
} catch (error) {
console.error("Erreur lors de la suppression:", error);
} finally {
// 7. Rafraîchissement de la liste des actes
ajaxactespossibles_selection_hospitalisation();
}
}
function ajax_maj_qte_acte_hospitalisation(idPrestationactes, quantite, controle)
{
quantite=quantite.replace(",",".");
controle.value=quantite;
if(controle_numerique(controle))
{
if(quantite==0)
{
controle.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;
//donnee_a_affciher = "";
donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;
//$("#div_prestations").html('
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxecartdecomptecons/ecartnonsaisi/",
error: function(errorData) {
},
success: function(data) {
donnees_retour = data;
},
complete: function() {
$("#div_ecart_decompte").html(donnees_retour);
}
});
}
function initvidermessagerie()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxvidermessagerie/",
error: function(errorData) {
},
success: function(data) {
$("#div_vider_messagerie").html(data);
},
complete: function() {
$("#btn_pop_vider_messagerie").click();
$(".datepicker" ).datepicker();
}
});
}
/**
* Vide la messagerie des messages antérieurs à une date donnée
* - Demande confirmation avec la date limite affichée
* - Affiche un indicateur de chargement pendant l'opération
* - Notifie du succès de l'opération
* - Rafraîchit l'affichage de la messagerie
*/
async function vidermessagerie() {
// Récupération de la date limite
const dateLimite = $("#dateLimite").val();
// Messages dynamiques avec la date
const messages = {
fr: `Confirmez-vous le vidage de tous les messages générés avant le ${dateLimite} ?`,
en: `Do you confirm the emptying of all messages generated before the ${dateLimite} ?`,
success: {
fr: "Vidage effectué avec succès!",
en: "Emptying done successfully!"
}
};
// Demande de confirmation
const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
if (!confirmation) return;
// Affichage du loader
afficherLoader("#btn_pop_vider_messagerie");
try {
// Envoi de la requête
await $.ajax({
url: `${$("#racineWeb").val()}Ajaxvidermessagerie/vidermessagerie/`,
type: 'POST',
data: `dateLimite=${dateLimite}`
});
// Notification et rafraîchissement
alert_ebene(messages.success.fr, messages.success.en);
$("#btn_pop_vider_messagerie_quit").click();
gerer_messagerie();
} catch (error) {
console.error("Erreur lors du vidage", error);
}
}
/**
* Affiche l'animation de chargement
*/
function afficherLoader(selector) {
$(selector).html(`
Veuillez patienter...
`);
}
function afficher_contacts_assureur()
{
window.location.assign($("#racineWeb" ).val()+"Infossassureur/");
}
function ajaxdelaicarencecaisonconsultation()
{
codeRaisonConsultation=$("#codeRaisonConsultation").val();
donnees = 'codeRaisonConsultation='+codeRaisonConsultation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdelaicarencecaisonconsultation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infodelaicarence").html(data);
},
complete: function() {
$("#delaiCarenceRaisonconsultation").val( $("#delaiCarenceRaisonconsultation_info").val());
$("#appliquerDelaiCarence").val( $("#appliquerDelaiCarence_info").val());
}
});
}
function CalculerFinMoisDecompte()
{
var typdate = $("#debutMoisDecompte").datepicker("getDate");
typdate.addMonths(1);
$("#finMoisDecompte").datepicker( "setDate", typdate );
}
function reposmedical()
{
actVisible=$("#actVisible").val();
if (actVisible!="1")
{
v_msg="Non autoris\u00e9e!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Reposmedical/");
}
function afficher_repos_medical()
{
$("#div_notes").html('
' + 'Veuillez patienter...' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxreposmedical/",
error: function(errorData) {
},
success: function(data) {
donnees_retour = data;
},
complete: function() {
$("#div_notes").html(donnees_retour);
}
});
}
function initier_repos_medical()
{
$.ajax({
url: $("#racineWeb").val()+"Ajaxreposmedical/nouveaureposmedical/",
error: function(errorData) {
},
success: function(data)
{
$("#div_note_new").html(data);
},
complete: function() {
$("#btn_pop_note_new").click();
}
});
}
/**
* Enregistre un nouveau repos médical après validation
* - Vérifie que la note n'est pas vide
* - Valide la durée du repos (nombre positif)
* - Demande confirmation à l'utilisateur
* - Envoie les données au serveur via AJAX
* - Ferme le popup et rafraîchit l'affichage
*/
async function enregistrer_new_repos_medical() {
// Récupération et validation de la note
const notesNew = $("#notesNew").val().trim();
if (!notesNew || notesNew <= " ") {
alert_ebene("Veuillez saisir la note!", "Please enter the note!");
$("#notesNew").focus();
return;
}
// Validation de la durée
const nbJour = $("#nbJour").val();
if (isNaN(nbJour) || nbJour <= "0") {
alert_ebene("Veuillez revoir la durée!", "Please review the duration!");
$("#nbJour").focus();
return;
}
// Préparation des données
const donnees = `notesNew=${encodeURIComponent(notesNew)}&nbJour=${nbJour}`;
const url = `${$("#racineWeb").val()}Ajaxreposmedical/creerreposmedical/`;
// Demande de confirmation
const confirmation = await confirm_ebene_sweet(
"Confirmez-vous ce repos médical?",
"Do you confirm this medical rest?"
);
if (!confirmation) return;
// Envoi des données
try {
await $.ajax({
url: url,
type: 'POST',
data: donnees
});
// Fermeture du popup et rafraîchissement
$("#btn_pop_note_new_quit").click();
afficher_repos_medical();
} catch (error) {
console.error("Erreur lors de l'enregistrement", error);
}
}
/**
* Supprime une affection médicale après confirmation
* @param {number} idAffection - L'identifiant de l'affection à supprimer
*/
async function supprimer_affections(idAffection) {
// Messages de confirmation multilingues
const messages = {
fr: "Confirmez-vous cette suppression?",
en: "Do you confirm this deletion?"
};
// Demande de confirmation
const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
if (!confirmation) return;
// Configuration de la requête
const url = `${$("#racineWeb").val()}Ajaxenregistreraffection/supprimeraffection/`;
const donnees = `idAffection=${idAffection}`;
// Exécution de la suppression
try {
await $.ajax({
url: url,
type: 'POST',
data: donnees
});
// Fermeture du popup et rafraîchissement
$("#close_pop_affection").click();
feuillemaladie();
} catch (error) {
console.error("Erreur lors de la suppression", error);
}
}
function anteceentsmedicaux()
{
estMedecin=$("#estMedecin").val();
if (estMedecin!="1")
{
v_msg="Non autoris\u00e9!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Anteceentsmedicaux/");
}
function diagnosticsbeneficiaire()
{
estMedecin=$("#estMedecin").val();
if (estMedecin!="1")
{
v_msg="Non autoris\u00e9!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Diagnosticsconsbeneficiaire/");
}
function notesbeneficiaire()
{
estMedecin=$("#estMedecin").val();
if (estMedecin!="1")
{
v_msg="Non autoris\u00e9!";
v_msgEng="Not allowed!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Notesbeneficiaire/");
}
function afficher_diagnostics_beneficiaire()
{
$("#div_dianostics").html('
');
$("#btn_facture_selection").click();
$.ajax({
url: $("#racineWeb").val()+"Ajaximprimerfacturepartielleselection/",
type: 'POST',
data: donnees,
success: function(data)
{
div_export.html(data);
//facturepartielle();
},
error : function(resultat, statut, erreur)
{
},
complete: function(data)
{
//
}
});
}else{
v_msg="Rien \u00e0 imprimer!";
v_msgEng="Nothing to print!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
/**
* Supprime une facture sélectionnée après confirmation
* @param {number} idEnteteFacture - ID de l'entête de facture à supprimer
* @param {string} numeroFacture - Numéro de facture pour l'affichage
*/
async function supprimefactureselection(idEnteteFacture, numeroFacture) {
// Préparation des données et messages
const donnees = `idEnteteFacture=${idEnteteFacture}`;
const messages = {
fr: `Confirmez-vous la suppression de la facture ${numeroFacture}?`,
en: `Do you confirm suppression of invoice ${numeroFacture}?`
};
// Configuration de l'URL
const url = `${$("#racineWeb").val()}Ajaxlistefacturepartielle/supprimefactureselection/`;
// Demande de confirmation
const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
if (!confirmation) return;
// Exécution de la suppression
try {
await $.ajax({
url: url,
type: 'POST',
data: donnees
});
// Rafraîchissement de l'affichage
facturepartielle();
} catch (error) {
console.error("Erreur lors de la suppression de la facture", error);
}
}
/**
* Supprime une facture partielle après confirmation utilisateur
* @param {number} idPrestationactes - ID de la prestation à supprimer
* @param {string} numeroFacture - Numéro de facture pour affichage dans la confirmation
*/
async function supprimefacturepartielle(idPrestationactes, numeroFacture) {
// Préparation des données
const donnees = `idPrestationactes=${idPrestationactes}`;
const url = `${$("#racineWeb").val()}Ajaxlistefacturepartielle/supprimefacturepartielle/`;
// Messages de confirmation (incluant le numéro de facture)
const messages = {
fr: `Confirmez-vous la suppression de la facture ${numeroFacture}?`,
en: `Do you confirm suppression of invoice ${numeroFacture}?`
};
// Demande de confirmation
const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
if (!confirmation) return;
// Exécution de la suppression
try {
await $.ajax({
url: url,
type: 'POST',
data: donnees
});
// Rafraîchissement de l'affichage
facturepartielle();
} catch (error) {
console.error("Erreur lors de la suppression de la facture partielle", error);
// Potentiellement ajouter un message d'erreur utilisateur ici
}
}
// 28/05/2021
function afficher_liste_recherche_medicament()
{
libelleMedicamentSearch = $("#libelleMedicamentSearch").val();
if(libelleMedicamentSearch<=" ")
{
v_msg="Entrez le nom du m\u00e9dicament à rechercher";
v_msgEng="Enter the name of drug for search";
alert_ebene(v_msg,v_msgEng);
$("#libelleMedicamentSearch").focus();
return false;
}
donnees = "valid=1&libelleMedicamentSearch="+libelleMedicamentSearch;
$("#div_liste_medicament").html('
');
donnees = "";
$.ajax({
url: $("#racineWeb").val()+"Ajaximprimerbonprescrition/",
type: 'POST',
data: donnees,
success: function(data)
{
div_wait.html(data);
},
error : function(resultat, statut, erreur)
{
},
complete: function(data)
{
}
});
}
//08-11-2021
function afficheGaranties()
{
masquer = $("#masquer").val();
if(masquer=="1"){
$('#div_garantie').hide();
$("#masquer").val("0");
$("#span_libelle").text("Afficher");
}else{
$('#div_garantie').show();
$("#masquer").val("1");
$("#span_libelle").text("Masquer");
}
}
function afficherficheconsultation()
{
masquerconsulation = $("#masquerconsulation").val();
if(masquerconsulation=="Renseigner la fiche de consultation"){
$('#div_consultation').hide();
$("#masquerconsulation").val("Consultation");
}if(masquerconsulation=="Consultation"){
dateEffetCouvert = $("#dateEffetCouvert").val();
if (dateEffetCouvert!="1")
{
v_msg="Attention! Non renouvel\u00e9";
v_msgEng="Warning! Not renewed";
alert_ebene(v_msg, v_msgEng);
return;
}
modeSaisieFacture=$("#modeSaisieFacture").val();
if(modeSaisieFacture=="1")
{
$("#btn_popdate_reelle").click();
return;
}
if (prestation_possible())
{
//avecReferencement = $("#avecReferencement").val();
if (prestataireReference=="0")
{
if ($("#codeReferencement").val()==""){
okReferencement="0";
}else{
okReferencement="1";
}
}else{
okReferencement="1";
//window.location.assign($("#racineWeb" ).val()+"Consultation/"+okReferencement);
$('#div_consultation').show();
return;
}
modeSaisieFacture=$("#modeSaisieFacture").val();
if(modeSaisieFacture=="1")
{
$("#okId" ).val("1");
//window.location.assign($("#racineWeb" ).val()+"Consultation/");
$('#div_consultation').show();
return;
}
derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
if(derogation_finger_en_cours>0)
{
$("#okId" ).val("1");
}
else
{
finger_id = $("#finger_id_C" ).val();
if (finger_id==0)
{
v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
v_msgEng="Please enroll before!";
alert_ebene(v_msg, v_msgEng);
return;
}
okId=$("#okId" ).val();
if (okId!=1)
{
v_msg="Veuillez proc\u00e9der à l\'identification avant!";
v_msgEng="Please check identity before!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
//window.location.assign($("#racineWeb" ).val()+"Consultation/");
$('#div_consultation').show();
}
else{
$('#div_consultation').hide();
}
}
}
function imprimer_hospitalisation()
{
numeroBonHospitalisation = $("#numeroBonHospitalisation").val();
if (numeroBonHospitalisation=="0"){
v_msg="Rien à imprimer!";
v_msgEng="Nothing to print!";
alert_ebene(v_msg, v_msgEng);
return;
}
$.ajax({
url: $("#racineWeb").val()+"Ajaximprimerbonhospitalisation/",
success: function(data)
{
$("#div_export_a").html(data);
$("#btn_imprimer_hospit").click();
},
error : function(resultat, statut, erreur)
{
},
complete: function(data)
{
}
});
}
function ajax_maj_qte_prescrit_examen(idExamen, quantite, controle)
{
donnee_a_affciher = "";
quantite=quantite.replace(",",".");
controle.value=quantite;
fraisTotal = parseInt($("#fraisTotal").val());
montantTotalMedicament = parseInt($("#montantTotalMedicament").val());
codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val();
if(controle_numerique(controle))
{
if(quantite==0)
{
controle.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idExamen='+idExamen+"&quantite="+quantite;
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/majquantite/",
type: 'POST',
data: donnees,
success: function(data) {
$("#examens").html(data);
controle.focus();
},
error: function(data) {
},
complete: function() {
prescription_examen();
}
});
}
}
function ajax_affiche_fin_delaicarence() {
// Récupération des informations nécessaires
codeLangue = $("#codeLangue").val();
plafondAtteint = $("#plafondAtteint").val();
nomForm = $("#nomForm").val();
codeMedecin = $("#codeMedecin").val();
var codeActe = $('#codeActe').val();
var datePrestation = $('#dateSurvenance').val();
// Vérification du médecin sélectionné
if (codeMedecin <= " ") {
v_msg = "Veuillez sélectionner un médecin!";
v_msgEng = "Please select a doctor!";
alert_ebene(v_msg, v_msgEng);
$("#codeMedecin").focus();
return;
}
// Vérification de l’acte sélectionné
if (codeActe <= " ") {
v_msg = "Veuillez sélectionner un acte";
v_msgEng = "Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
// Préparation des données pour l’appel AJAX
let donnees = 'codeActe=' + codeActe + '&datePrestation=' + datePrestation;
// Si le plafond est atteint, demander confirmation avant de continuer
if (plafondAtteint == "1") {
let msgFr = "L'assuré assumera entièrement les frais de consultation car son plafond est atteint! Souhaitez-vous continuer?";
let msgEng = "The insured will fully assume the consultation costs because his ceiling has been reached! Would you like to continue?";
// Appel de la fonction de confirmation personnalisée
confirm_ebene_sweet(msgFr, msgEng).then(function (isConfirmed) {
if (isConfirmed) {
enregistrerconsultation();
}
});
} else {
// Sinon on continue avec l’appel AJAX pour vérifier le délai de carence
$.ajax({
url: $("#racineWeb").val() + "Ajaxaffichedatefindelaicarenceacte/",
type: 'POST',
data: donnees,
success: function (data) {
$("#div_findelaicarence").html(data);
var dateFinDelaiCarenceActe = $("#dateFinDelaiCarenceActe").val();
var plafondActe = $("#plafondActe").val().replace(/ /g, "");
var consommation = $("#consommation").val().replace(/ /g, "");
var soldeConsommation = $("#soldeConsommation").val().replace(/ /g, "");
var nbreTransaction = $("#nbreTransaction").val();
var nbreSinistre = $("#nbreSinistre").val();
var soldeNbreTransaction = $("#soldeNbreTransaction").val();
// Vérification du délai de carence
if (dateFinDelaiCarenceActe != "01/01/1970") {
v_msg = "Impossible de faire cet acte à cause du délai de carence qui est toujours en vigueur pour cet assuré! Il prendra fin le " + dateFinDelaiCarenceActe + ". Merci pour votre compréhension!";
v_msgEng = "Impossible to do this act because of the deficiency period that is still in force for this insured! It will end on " + dateFinDelaiCarenceActe + ". Thank you for your understanding.";
alert_ebene(v_msg, v_msgEng);
return;
} else {
// Cas de la consultation ou fiche bénéficiaire
if (nomForm == "consultation" || nomForm == "ficheBeneficiaire") {
if (soldeConsommation > "0") {
if (nbreTransaction == "0") {
enregistrerconsultation();
} else {
if (nbreTransaction > "0" && soldeNbreTransaction > "0") {
enregistrerconsultation();
} else {
let msgFr = "L'assuré assumera entièrement les frais de consultation car le seuil de garantie est atteint! Souhaitez-vous continuer?";
let msgEng = "The insured will fully assume the consultation costs because the guarantee threshold has been reached! Would you like to continue?";
// Confirmation avant d’enregistrer la consultation si le seuil est atteint
confirm_ebene_sweet(msgFr, msgEng).then(function (isConfirmed) {
if (isConfirmed) {
enregistrerconsultation();
}
});
}
}
} else {
v_msg = "L'assuré a atteint son plafond de garantie pour cet acte. Prise en charge impossible.";
v_msgEng = "The insured has reached his limit of cover for this act. Support not possible.";
alert_ebene(v_msg, v_msgEng);
return;
}
}
}
},
error: function (data) {
// Gérer les erreurs ici si nécessaire
},
complete: function () {
// Traitement à faire une fois l’appel terminé
}
});
}
}
function info_fin_delaicarence(codeActe){
donnees_s = 'codeActe='+codeActe;
$.ajax({
url: $("#racineWeb").val()+"Ajaxaffichedatefindelaicarenceacte/",
type: 'POST',
data: donnees_s,
success: function(data){
$("#div_findelaicarence").html(data);
var dateFinDelaiCarenceActe = $("#dateFinDelaiCarenceActe").val();
if(dateFinDelaiCarenceActe!="01/01/1970"){
v_msg="Le d\u00e9lai de carence est toujours en vigueur sur cet acte. Les frais qui seront g\u00e9n\u00e9r\u00e9s seront enti\u00e8rement \u00e0 la charge du patient. La fin du d\u00e9lai de carence est pr\u00e9vu pour le: "+dateFinDelaiCarenceActe+". Merci pour votre compr\u00e9hension!";
v_msgEng="The waiting period is still in force on this act. The costs that will be generated will be entirely at the expense of the patient. The end of the deficiency period is present for: "+dateFinDelaiCarenceActe+". Thank you for your understanding.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
}
},
error: function(data) {
},
complete: function() {
}
});
}
function faireDefileMessage(p_msg, p_msg_eng){
if(p_msg!=""){
codeLangue = $("#codeLangue").val();
if(codeLangue=="en_US")
{
$("#div_messages").html('');
}
else
{
$("#div_messages").html('');
}
}else{
$("#div_messages").html('');
}
}
function ajax_demande_accord_pharmacie(){
typeSms="ententeprealable";
donnees = "";
fraisTotal = parseInt($("#fraisTotal").val());
ententePrealable = $("#ententePrealable").val();
montantTotalMedicament = parseInt($("#montantTotalMedicament").val());
if(fraisTotal > montantTotalMedicament){
v_msg="Une demande d'accord pr\u00e9alable a \u00e9t\u00e9 envoy\u00e9e \u00e0 l'assureur car les frais de m\u00e9dicaments prescrits sont sup\u00e9rieurs \u00e0 "+montantTotalMedicament+" Fcfa";
v_msgEng="A request for prior agreement will be sent to the insurer because prescription drug costs are higher than "+montantTotalMedicament;
alert_ebene(v_msg, v_msgEng);
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailprescription/accordpharmacie/",
type: 'POST',
data: donnees,
success: function(data){
$("#medicaments").html(data);
if(fraisTotal > montantTotalMedicament){
preparesms(typeSms);
}
},
error: function(data) {
},
complete: function() {
}
});
}
}
function ajax_demande_accord_examen(){
typeSms="ententeprealableexamen";
donnees = "";
fraisTotal = parseInt($("#fraisTotal").val());
ententePrealable = $("#ententePrealable").val();
montantTotalExamen = parseInt($("#montantTotalExamen").val());
codeReponseEntentePrealable=$("#codeReponseEntentePrealable").val();
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
if((fraisTotal > montantTotalExamen) && (codeReponseEntentePrealable=="2")){
v_msg="Une demande d'accord pr\u00e9alable a \u00e9t\u00e9 envoy\u00e9e \u00e0 l'assureur car les frais d'examen sont sup\u00e9rieurs \u00e0 "+montantTotalExamen+" Fcfa";
v_msgEng="A request for prior agreement will be sent to the insurer because the examination fees are higher than "+montantTotalExamen;
alert_ebene(v_msg, v_msgEng);
$.ajax({
url: $("#racineWeb").val()+"Ajaxdetailprescriptionexamen/accordexamen/",
type: 'POST',
data: donnees,
success: function(data){
$("#examens").html(data);
if((fraisTotal > montantTotalExamen) && (codeReponseEntentePrealable=="2")){
preparesms(typeSms);
}
},
error: function(data) {
},
complete: function() {
}
});
}
}
// 26-05-2022
function afficheDivPlafond()
{
masquer = $("#masquer").val();
if(masquer=="1"){
$('#div_plafond_beneficiaire').hide();
$("#masquer").val("0");
$("#span_libelle").text("Voir");
}else{
$('#div_plafond_beneficiaire').show();
$("#masquer").val("1");
$("#span_libelle").text("Masquer");
}
}
// 10-06-2022
function addDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() + days);
return result.toLocaleDateString("fr");
}
function formatDateInput(date){
return date.split('/').reverse().join('-');
}
// 25-10-2022
function ajax_maj_prix_actesmedicaux(idPrestationactes, prix, controle, codeActe, ententePrealable, autorisation)
{
prix=prix.replace(/ /g,"");
controle.value=prix;
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable';
donnees_sav2 = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation';
//alert(ententePrealable);
//return;
typeSms="ententeprealable";
typeSms2="autorisation";
if(controle_numerique(controle))
{
if(prix==0)
{
controle.focus();
v_msg="Veuillez saisir le tarif!";
v_msgEng="Please enter the price!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idPrestationactes='+idPrestationactes+"&prix="+prix;
donnee_a_affciher = "";
donnees = 'idPrestationactes='+idPrestationactes+"&prix="+prix;;
$.ajax({
url: $("#racineWeb").val()+"Ajaxactesmedicauxselect/majprixacte/",
type: 'POST',
data: donnees,
success: function(data) {
donnee_a_affciher = data;
maj_fraisexclu_cso();
if(ententePrealable=="2")
{
preparesms(typeSms);
v_msg="Demande accord prealable envoy\u00e9e!";
v_msgEng="Request prior agreement sent!";
alert_ebene(v_msg, v_msgEng);
}
if(autorisation=="2")
{
preparesms(typeSms2);
v_msg="Demande autorisation envoy\u00e9e!";
v_msgEng="Request for authorization sent!";
alert_ebene(v_msg, v_msgEng);
}
},
error: function(data) {
},
complete: function() {
$("#div_prestations").html(donnee_a_affciher);
controle.focus();
}
});
}
}
//26-10-2022
function formatNumerique(controle){
controle.value = controle.value.replace(/ /g,"");
return;
}
//28-10-2022
function messageSituationHospitalisation(){
var optionHospitalisation = $("#optionHospitalisation").val();
if(optionHospitalisation == "option-1"){
codeActe = "HHM";
}else if (optionHospitalisation == "option-3"){
codeActe = "HHC";
}else{
codeActe = "";
}
getstatutacte(codeActe);
var donnees = 'codeActe='+codeActe;
$.ajax({
url: $("#racineWeb").val()+"Ajaxsituationhospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
$("#div_reponse").html(data);
},
complete: function(data)
{
}
});
}
function avishospitalisation()
{
//
motifHospitalisation = $("#motifHospitalisation").val();
dureeHospit = $("#dureeHospit").val();
dateDebutHospit = $("#dateDebutHospit").val();
optionHospitalisation = $("#optionHospitalisation").val();
modeSaisieFacture = $("#modeSaisieFacture").val();
codeActeChambreHospit = $("#codeActeChambreHospit").val();
//typeSms = "hospitalisation";
if (motifHospitalisation <= " ")
{
v_msg="Veuillez renseigner le motif d'hospitalisation!";
v_msgEng="Please fill in the reason for hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#motifHospitalisation").focus();
return;
}
if (optionHospitalisation <= " ")
{
v_msg="Veuillez renseigner le type d'hospitalisation!";
v_msgEng="Please fill in the type of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#optionHospitalisation").focus();
return;
}
if (codeActeChambreHospit <= " ")
{
v_msg="Veuillez renseigner le type de chambre!";
v_msgEng="Please enter the room type!";
alert_ebene(v_msg, v_msgEng);
$("#codeActeChambreHospit").focus();
return;
}
if (dateDebutHospit<=" ")
{
v_msg="Veuillez saisir la date de d\u00e9but!";
v_msgEng="Please enter the start date!";
alert_ebene(v_msg, v_msgEng);
$("#dateDebutHospit").focus();
return;
}
if (dureeHospit == "0")
{
v_msg="Veuillez renseigner le nombre de jours pr\u00e9visionnels d'hospitalisation!";
v_msgEng="Please fill in the estimated number of days of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#dureeHospit").focus();
return;
}
//alert(typeSms);
donnees = 'motifHospitalisation='+motifHospitalisation;
donnees += '&dureeHospit='+dureeHospit+'&dateDebutHospit='+dateDebutHospit;
donnees += '&optionHospitalisation='+optionHospitalisation+'&codeActeChambreHospit='+codeActeChambreHospit;
if (optionHospitalisation=="option-1"){
codeActe = "HHM";
}
if (optionHospitalisation=="option-3"){
codeActe = "HHC";
}
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
//donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&quantite='+dureeHospit+'&motifHospit='+motifHospitalisation+'&typeMail=mailententeprealable';
//alert(donnees);return;
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerchambre/majavishospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
/*if(modeSaisieFacture=="0"){
preparesms(typeSms);
}*/
v_msg="Avis d'hospitalisation envoy\u00e9 avec succ\u00e8s, merci de patienter un instant pour la suite...";
v_msgEng="Hospitalization notice sent successfully, please wait a moment for the rest...";
alert_ebene_callback(v_msg, v_msgEng, function() {
window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
});
return;
},
complete: function() {
/*if(modeSaisieFacture=="0"){
mettremailattente(donnees_sav);
}*/
}
});
}
function modidieravishospitalisation()
{
//
motifHospitalisation = $("#motifHospitalisation").val();
dureeHospit = $("#dureeHospit").val();
dateDebutHospit = $("#dateDebutHospit").val();
optionHospitalisation = $("#optionHospitalisation").val();
modeSaisieFacture = $("#modeSaisieFacture").val();
codeActeChambre = $("#codeActeChambreHospit").val();
if (motifHospitalisation <= " ")
{
v_msg="Veuillez renseigner le motif d'hospitalisation!";
v_msgEng="Please fill in the reason for hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#motifHospitalisation").focus();
return;
}
if (optionHospitalisation <= " ")
{
v_msg="Veuillez renseigner le type d'hospitalisation!";
v_msgEng="Please fill in the type of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#optionHospitalisation").focus();
return;
}
if (codeActeChambre <= " ")
{
v_msg="Veuillez renseigner le type de chambre!";
v_msgEng="Please enter the room type!";
alert_ebene(v_msg, v_msgEng);
$("#codeActeChambreHospit").focus();
return;
}
if (dateDebutHospit<=" ")
{
v_msg="Veuillez saisir la date de d\u00e9but!";
v_msgEng="Please enter the start date!";
alert_ebene(v_msg, v_msgEng);
$("#dateDebutHospit").focus();
return;
}
if (dureeHospit == "0")
{
v_msg="Veuillez renseigner le nombre de jours pr\u00e9visionnels d'hospitalisation!";
v_msgEng="Please fill in the estimated number of days of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#dureeHospit").focus();
return;
}
//alert(typeSms);
donnees = 'motifHospitalisation='+motifHospitalisation;
donnees += '&dureeHospit='+dureeHospit+'&dateDebutHospit='+dateDebutHospit;
donnees += '&optionHospitalisation='+optionHospitalisation+'&codeActeChambre='+codeActeChambre;
//alert(donnees);
if (optionHospitalisation=="option-1"){
codeActe = "HHM";
}
if (optionHospitalisation=="option-3"){
codeActe = "HHC";
}
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
//donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&quantite='+dureeHospit+'&motifHospit='+motifHospitalisation+'&typeMail=mailententeprealable';
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerchambre/majavishospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
v_msg="Avis d'hospitalisation modifi\u00e9 avec succ\u00e8s, merci de patienter un instant pour la suite...";
v_msgEng="Notice of hospitalization successfully modified, please wait a moment for the rest...";
alert_ebene_callback(v_msg, v_msgEng, function() {
window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
});
return;
},
complete: function() {
}
});
}
function afficheReponseAvis(){
var avisHospitalisation = $('#avisHospitalisation').val();
console.log(avisHospitalisation);
$.ajax({
url: $("#racineWeb").val()+"Ajaxreponseavis/",
success: function(data)
{
//$("#div_reponse").html('');
$("#div_reponse").html(data);
},
error: function(errorData) {
},
complete: function(data)
{
}
});
}
function creerbonhospitalisation()
{
codeGestionBon = "2";
numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
motifHospitalisation = $("#motifHospitalisation").val();
numeroBon = "-1";
donnees = 'numeroBon='+numeroBon+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&motifHospitalisation='+motifHospitalisation;
donnees += '&codeGestionBon='+codeGestionBon;
var div_patientez = $('#div_patientez');
div_patientez.html('
' + "Veuillez patienter...Bon d'hospitalisation en création" + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaximprimerfacturehospitalisation/",
success: function(data)
{
donnees_retour = data;
},
error : function(resultat, statut, erreur)
{
},
complete: function(data)
{
div_export.html(donnees_retour);
}
});
}
//01-11-2022
function selectionner_tous_hospitalisation()
{
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxfacturepartielle/selectionnertoushospit/",
type: 'POST',
data: donnees,
success: function(data) {
//$("#div_liste_actes").html(data);
//facturepartielle();
},
error: function(data) {
},
complete: function() {
}
});
}
function test()
{
v_msg="Confirmez-vous le test?";
v_msgEng="Do you confirm this test?";
if (confirm_ebene(v_msg, v_msgEng)){
console.log('ok');
}else{
console.log('false');
}
}
function specialite_medecin()
{
debugger;
donnees_retour = "";
codeSpecialite = $("#codeSpecialite").val();
dureeVieBon = parseInt($("#dureeVieBon").val());
agemaxipediatrie = parseInt($("#agemaxipediatrie").val());
donnees = 'codeSpecialite='+codeSpecialite;
//alert(donnees);
//return;
$.ajax({
url: $("#racineWeb").val()+"Ajaxspecialitemedecin/",
type: 'POST',
data: donnees,
success: function(data) {
debugger;
donnees_retour = data;
},
error: function(data) {
},
complete: function() {
debugger;
$("#div_medecin").html(donnees_retour);
$(".selectpicker").selectpicker();
specialiteEstPossible = $("#specialiteEstPossible").val();
if(specialiteEstPossible == "1"){
ajaxprixacte();
}else if(specialiteEstPossible == "2"){
v_msg="Attention, ce patient n'a pas moins de "+agemaxipediatrie+" ans! Il ne peut pas faire cette consultation, veuiller changer l'acte ou la sp\u00e9cialit\u00e9.";
v_msgEng="Attention, this patient is not less than "+agemaxipediatrie+" years old! He cannot do this consultation, please change the act or specialty.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
$("#codeActe").focus();
vider_medecin();
$("#infosacte").html('');
return;
}else if(specialiteEstPossible == "0"){
v_msg="La derni\u00e8re consultation du patient pour cette sp\u00e9cialit\u00e9 date de moins de "+dureeVieBon+" jours. Veuiller la changer ou passer en consultation gratuite.";
v_msgEng="The patient's last consultation for this specialty was less than "+dureeVieBon+" days ago. Please change it or have a free consultation.";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
vider_medecin();
$("#infosacte").html('');
return;
}
}
});
}
function majDebutHospitalisation()
{
var dateDebutHospit = $("#dateDebutHospit").val();
var dureeHospit = $("#dureeHospit").val();
var dureeCorrigeeHospit = $("#dureeCorrigeeHospit").val();
donnees = 'dateDebutHospit='+dateDebutHospit;
donnees += '&dureeHospit='+dureeHospit;
donnees += '&dureeCorrigeeHospit='+dureeCorrigeeHospit;
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerhospitalisation/majdebut/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
//ajaxactespossibles_selection_hospitalisation();
},
complete: function()
{
}
});
}
function majDureeHospitalisation()
{
var dureeHospit = $("#dureeHospit").val();
var dateDebutHospit = $("#dateDebutHospit").val();
if(dateDebutHospit==""){
v_msg="Veuillez saisir la date de début de l'hospitalisation!";
v_msgEng="Please enter the start date of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#dateDebutHospit").focus();
return;
}
donnees = 'dureeHospit='+dureeHospit;
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerhospitalisation/majduree/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
//$("#div_datefin").html(data);
//majTypeHospitalisation();
//prestations_hospitalisation();
},
complete: function()
{
}
});
}
function majTypeHospitalisation()
{
var optionHospitalisation = $("#optionHospitalisation").val();
donnees = 'optionHospitalisation='+optionHospitalisation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerhospitalisation/majoptionhospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
//ajaxactespossibles_selection_hospitalisation();
},
complete: function()
{
}
});
}
//03-03-2023
function getsourcebaremegarantie(codeGarantie, datePrestation)
{
donnees = 'codeGarantie='+codeGarantie;
donnees += '&datePrestation='+datePrestation;
//alert(donnees);
//return;
$.ajax({
url: $("#racineWeb").val()+"Ajaxsourcebareme/sourcebaremegarantie/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
actualiserInfosBareme();
},
complete: function()
{
}
});
}
function getsourcebareme(codeActe, datePrestation)
{
donnees = 'codeActe='+codeActe;
donnees += '&datePrestation='+datePrestation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxsourcebareme/sourcebareme/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
actualiserInfosBareme();
},
complete: function()
{
}
});
}
function actualiserInfosBareme()
{
donnees = '';
$("#div_infos_baremegarantie").html('
' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxsourcebareme/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
$("#div_infos_baremegarantie").html(data);
var statut = $("#statut").val();
alert_bareme_statut(statut);
},
complete: function()
{
}
});
}
//10-03-2023
function ajax_afficher_beneficiaire()
{
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxfichebeneficiaire/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
$("#div_beneficiaire").html(data);
$("#codeMedecin").selectpicker();
$("#codeActe").selectpicker();
},
complete: function()
{
}
});
}
//22-03-2023
function alert_bareme()
{
baremeExiste = $("#baremeExiste").val();
bareme_actif = $("#bareme_actif").val();
ageBeneficiaire = parseInt($("#ageBeneficiaire").val());
ageMinimum = parseInt($("#ageMinimum").val());
ageMaximum = parseInt($("#ageMaximum").val());
bareme_codeTypeRemboursement = $("#bareme_codeTypeRemboursement").val();
soldeConsommationFamilleAct = $("#soldeConsommationFamilleAct").val();
soldeConsommationAct = $("#soldeConsommationAct").val();
soldeConsommationFamilleGar = $("#soldeConsommationFamilleGar").val();
soldeConsommationGar = $("#soldeConsommationGar").val();
soldeNbreTransactionFamilleAct = $("#soldeNbreTransactionFamilleAct").val();
soldeNbreTransactionAct = $("#soldeNbreTransactionAct").val();
soldeNbreTransactionFamilleGar = $("#soldeNbreTransactionFamilleGar").val();
soldeNbreTransactionGar = $("#soldeNbreTransactionGar").val();
if(soldeConsommationFamilleAct<="0" || soldeConsommationAct<="0" || soldeConsommationFamilleGar<="0"
|| soldeConsommationGar<="0" || soldeNbreTransactionFamilleAct<="0" || soldeNbreTransactionAct<="0"
|| soldeNbreTransactionFamilleGar<="0" || soldeNbreTransactionGar<="0")
{
v_msg="Impossible de s\u00e9lectionner cet acte! Le solde du plafond ou du nombre de transaction est nul!";
v_msgEng="Unable to select this act! The balance of the ceiling or number of transactions is zero!";
alert_ebene(v_msg, v_msgEng);
//faireDefileMessage(v_msg, v_msgEng);
return;
}
if(baremeExiste == "0")
{
v_msg="Aucun bar\u00e8me n'existe, veuillez en informer "+nomSociete+" afin que cel\u00e0 soit corrig\u00e9.";
v_msgEng="No scale exists, please inform "+nomSociete+" so that this can be corrected.";
alert_ebene(v_msg, v_msgEng);
//faireDefileMessage(v_msg, v_msgEng);
return;
}
if(bareme_actif == "0")
{
v_msg="Il n'y a pas de bar\u00e8me de garantie actif \u00e0 cette date, veuillez en informer "+nomSociete+" afin que cel\u00e0 soit corrig\u00e9.";
v_msgEng="There is no active guarantee schedule on this date, please inform "+nomSociete+" so that this can be corrected.";
alert_ebene(v_msg, v_msgEng);
//faireDefileMessage(v_msg, v_msgEng);
return;
}
if((ageMinimum > "0" && ageMaximum > "0") && (ageBeneficiaire < ageMinimum || ageBeneficiaire > ageMaximum))
{
v_msg="L'\u00e2ge du patient n'est pas pris en compte dans le bar\u00e8me de garantie!";
v_msgEng="The age of the insured is not taken into account in the warranty schedule!";
alert_ebene(v_msg, v_msgEng);
//faireDefileMessage(v_msg, v_msgEng);
return;
}
if(bareme_codeTypeRemboursement == "RDE")
{
v_msg="L'assur\u00e9 est en remboursement direct pour cette garantie. Il devra enti\u00e8rement payer la prestation et se faire rembourser par "+nomSociete+"!";
v_msgEng="The insured is in direct reimbursement for this guarantee. He will have to fully pay for the service and be reimbursed by "+nomSociete+"!";
alert_ebene(v_msg, v_msgEng);
//faireDefileMessage(v_msg, v_msgEng);
return;
}
}
function alert_bareme_statut(statut)
{
if(statut == "0")
{
v_msg="Le bar\u00e8me n'existe pas ou il est inactif!";
v_msgEng="The scale does not exist or it is inactive!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if(statut == "2")
{
v_msg="Le patient est en remboursement direct exclusif (RDE) pour cette garantie!";
v_msgEng="The patient is in exclusive direct reimbursement (DDR) for this benefit!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if(statut=="3")
{
v_msg="L'\u00e2ge du patient n'est pas pris en compte dans le bar\u00e8me!";
v_msgEng="The age of the patient is not taken into account in the scale!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if(statut=="4")
{
v_msg="Le d\u00e9lai de carence est toujours en vigueur sur cette garantie!";
v_msgEng="The waiting period is still in effect on this guarantee!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if(statut=="5")
{
v_msg="Le solde du plafond ou du nombre de prestations de la famille ou du patient est nul!";
v_msgEng="The balance of the ceiling or the number of benefits of the family or the patient is zero!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else if(statut=="7")
{
v_msg="Le plafond annuelle du patient est atteint!";
v_msgEng="The annual patient ceiling has been reached!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}else{
faireDefileMessage("", "");
}
}
function isNumeric(num){
return !isNaN(parseInt(num)) && isFinite(num);
}
function getstatutacte(codeActe="")
{
debugger;
if(codeActe==""){
codeActe = $("#codeActe").val();
}
datePrestation = $('#dateSurvenance').val();
donnee_a_affciher = "";
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
donnees = 'codeActe='+codeActe+'&datePrestation='+datePrestation;
//alert(donnees);
$.ajax({
url: $("#racineWeb").val()+"Ajaxstatutacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
donnee_a_affciher = data;
},
complete: function() {
debugger;
$("#div_statutacte").html(donnee_a_affciher);
var statut = $("#statut").val();
var libelleMotif = $("#libelleMotif").val();
var libelleMotifEng = $("#libelleMotifEng").val();
faireDefileMessage(libelleMotif, libelleMotifEng);
}
});
}
function isStatut(codeActe)
{
debugger;
var myVar = '';
if(codeActe==""){
codeActe = $("#codeActe").val();
}
datePrestation = $('#dateSurvenance').val();
donnee_a_affciher = "";
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
donnees = 'codeActe='+codeActe+'&datePrestation='+datePrestation;
//alert(donnees);
$.ajax({
url: $("#racineWeb").val()+"Ajaxstatutacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
async: false,
success: function(data) {
donnee_a_affciher = data;
},
complete: function() {
debugger;
$("#div_statutacte").html(donnee_a_affciher);
var statut = $("#statut").val();
myVar = statut;
}
});
return myVar;
}
function enregistrer_consultation()
{
debugger;
codeActe = $("#codeActe").val();
nomForm = $('#nomForm').val();
datePrestation = $('#dateSurvenance').val();
codeMedecin = $("#codeMedecin").val();
medecinManquant = $("#medecinManquant").val();
dateEffetCouvert= $("#dateEffetCouvert").val();
codeActeConsultationGratuite = $("#codeActeConsultationGratuite").val();
if (dateEffetCouvert!="1")
{
v_msg="Attention! Non renouvel\u00e9";
v_msgEng="Warning! Not renewed";
alert_ebene(v_msg, v_msgEng);
return;
}
fingerActif = $("#fingerActif" ).val();
faceActif = $("#faceActif").val();
if (prestation_possible())
{
if (prestataireReference=="0")
{
if ($("#codeReferencement").val()==""){
okReferencement="0";
}else{
okReferencement="1";
}
}else{
okReferencement="1";
}
derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
if(derogation_finger_en_cours>0)
{
$("#okId" ).val("1");
$("#okId_face" ).val("1");
}
else
{
finger_id = $("#finger_id_C" ).val();
faceRegistered = $("#faceRegistered").val();
if( (fingerActif=='1' && finger_id==0) || (faceActif=='1' && faceRegistered!="1") )
{
v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
v_msgEng="Please enroll before!";
alert_ebene(v_msg, v_msgEng);
return;
}
okId=$("#okId" ).val();
okId_face=$("#okId_face" ).val();
if( (fingerActif=='1' && okId!=1) || (faceActif=='1' && okId_face!=1) )
{
v_msg="Veuillez proc\u00e9der à l\'identification avant!";
v_msgEng="Please check identity before!";
alert_ebene(v_msg, v_msgEng);
return;
}
}
}
if (codeActe<=" ")
{
v_msg="Veuillez s\u00e9lectionner un acte!";
v_msgEng="Please select an act!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
if (codeSpecialite<=" ")
{
v_msg="Veuillez s\u00e9lectionner une sp\u00e9cialit\u00e9!";
v_msgEng="Please select a specialty!";
alert_ebene(v_msg, v_msgEng);
$("#codeSpecialite").focus();
return;
}
if (codeMedecin<=" ")
{
v_msg="Veuillez s\u00e9lectionner un praticien!";
v_msgEng="Please select a practitioner!";
alert_ebene(v_msg, v_msgEng);
$("#codeMedecin").focus();
return;
}
if (codeMedecin=="ZZZZ" && medecinManquant<=" ")
{
v_msg="Veuillez saisir le nom du praticien non enregistr\u00e9!";
v_msgEng="Please enter the name of the non-registered practitioner!";
alert_ebene(v_msg, v_msgEng);
$("#medecinManquant").focus();
return;
}
bonPrincipal = $("#bonPrincipal").val();
autoriserUnBonPrincipal = $("#autoriserUnBonPrincipal").val();
if(codeActe == codeActeConsultationGratuite && $("#prixActe").val() == "0" && autoriserUnBonPrincipal == "1"){
if(bonPrincipal=="0")
{
v_msg="Veuillez entrer le numéro du bon principal!";
v_msgEng="Please enter the main voucher number!";
alert_ebene(v_msg, v_msgEng);
$("#bonPrincipal").focus();
return;
}
}
donnee_a_affciher = "";
donnees = 'codeActe='+codeActe+'&datePrestation='+datePrestation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxstatutacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
donnee_a_affciher = data;
},
complete: function() {
debugger;
$("#div_statutacte").html(donnee_a_affciher);
var statut = $("#statut").val();
var libelleMotif = $("#libelleMotif").val();
var libelleMotifEng = $("#libelleMotifEng").val();
if(statut != "1")
{
alert_ebene(libelleMotif, libelleMotifEng);
faireDefileMessage(libelleMotif, libelleMotifEng);
//conserver_infos_consultation();
return;
}else{
faireDefileMessage("", "");
if(nomForm == "ficheBeneficiaire")
{
enregistrerconsultation();
}else{
enregistrerconsultationassureur();
}
}
}
});
}
//28-05-2023
function actualiseTauxCouverture()
{
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxactualisetauxcouverture/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_taux").html(data);
},
complete: function() {
}
});
}
//Modifier par sorel le 29-05-2023
/**
* Fonction pour ajouter un acte médical à la sélection
* @param {string} codeActe - Code identifiant l'acte médical
* @param {number} prixBase - Prix de base de l'acte
* @param {number} prixActe - Prix appliqué de l'acte
* @param {number} ententePrealable - Indicateur d'entente préalable (1=oui, 0=non)
*/
async function ajouter_un_acte_selection(codeActe, prixBase, prixActe, ententePrealable) {
// Initialisation des variables
donnee_a_affciher = "";
// Récupération des valeurs du formulaire
codeFamilleActeMed = $("#codeFamilleActeMed").val();
datePrestation = $("#datePrestation").val();
codeFamilleActe = $("#codeFamilleActe").val();
donnees = "";
donnees_sav = "";
modeSaisieFacture = $("#modeSaisieFacture").val();
codeMedecin = $("#codeMedecin").val();
// Vérification du prix de l'acte
if(prixActe == 0) {
v_msg = "Veuillez faire enregistrer votre tarif!";
v_msgEng = "Please register your rate!";
alert_ebene(v_msg, v_msgEng);
return;
}
motifActe = $("#motifActe").val();
// Messages de confirmation
v_msg = "Confirmez-vous cet acte?";
v_msgEng = "Do you confirm this act?";
// Confirmation avec SweetAlert standardisé
const isConfirm = await confirm_ebene_sweet(v_msg, v_msgEng);
if (!isConfirm) {
return; // Annulation par l'utilisateur
}
// Traitement si confirmation
if(ententePrealable == 1) {
ententePrealable = "2";
}
// Préparation des données pour l'AJAX
donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable;
donnees += '&prixActe='+prixActe+'&prixBase='+prixBase+'&motifActe='+motifActe;
numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable';
// Affichage du loader
$("#listeacte").html('
' + '
');
// Appel AJAX pour enregistrer l'acte
$.ajax({
url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/enregistreractemedical/",
type: 'post',
data: donnees,
error: function(errorData) {
// Gestion des erreurs (à compléter selon les besoins)
},
success: function(data) {
donnee_a_affciher = data;
},
complete: function() {
// Mise à jour de l'interface après l'enregistrement
$("#totam_donnees").html(donnee_a_affciher);
appliquerDataTable();
majgestionacte();
}
});
}
//Ajouter par sorel le 30-05-2023
function verifie_statut_acte_selection(codeActe, prixBase, prixActe, ententePrealable)
{
datePrestation = $("#datePrestation").val();
nomForm = $("#nomForm").val();
donnees = "codeActe="+codeActe+"&datePrestation="+datePrestation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxstatutacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_statutacte").html(data);
var statut = $("#statut").val();
if(statut=="1"){
if(nomForm=="frmactesmedicaux"){
ajouter_un_acte_selection(codeActe, prixBase, prixActe, ententePrealable);
}else if(nomForm=="miseEnObservation"){
ajouter_un_acte_miseenobservation(codeActe, prixBase, prixActe, ententePrealable);
}
}else{
var libelleMotif = $("#libelleMotif").val();
var libelleMotifEng = $("#libelleMotifEng").val();
alert_ebene(libelleMotif, libelleMotifEng);
faireDefileMessage(libelleMotif, libelleMotifEng);
return;
}
},
complete: function() {
}
});
}
//06-06-2023
function ajax_btn_avishospitalisation()
{
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxbtnavishospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_btn_avis").html(data);
},
complete: function() {
}
});
}
//07-06-2023
function majgestionacte(){
nbreActesPrescrits = $("#nbreActesPrescrits").val();
donnees = "nbreActesPrescrits="+nbreActesPrescrits;
$.ajax({
url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/majgestionacte/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
}
});
}
// 1 - modifieravisprorogationhospitalisation()
// 0 - avisprorogationhospitalisation()
function verifiestatutprorogationhospitalisation(id, codeTypeHospitalisationPro)
{
motifProlongation = $("#motifProlongation").val();
quantite = $("#quantite").val();
datePrestation = $("#debut").val();
codeActeChambre = $("#codeActeChambre").val();
if (motifProlongation <= " ")
{
v_msg="Veuillez renseigner le motif d'hospitalisation!";
v_msgEng="Please fill in the reason for hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#motifProlongation").focus();
return;
}
/*
if (codeTypeHospitalisationPro <= " ")
{
v_msg="Veuillez renseigner le type d'hospitalisation!";
v_msgEng="Please fill in the type of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#codeTypeHospitalisationPro").focus();
return;
}
*/
if (codeActeChambre <= " ")
{
v_msg="Veuillez renseigner le type de chambre!";
v_msgEng="Please enter the room type!";
alert_ebene(v_msg, v_msgEng);
$("#codeActeChambre").focus();
return;
}
if (quantite == "0")
{
v_msg="Veuillez renseigner le nombre de jours pr\u00e9visionnels d'hospitalisation!";
v_msgEng="Please fill in the estimated number of days of hospitalization!";
alert_ebene(v_msg, v_msgEng);
$("#quantite").focus();
return;
}
if(codeTypeHospitalisationPro == "option-1"){
codeActe = "HHM";
}else if (codeTypeHospitalisationPro == "option-3"){
codeActe = "HHC";
}else{
codeActe = "";
}
donnees = "codeActe="+codeActe+"&datePrestation="+datePrestation;
$.ajax({
url: $("#racineWeb").val()+"Ajaxstatutacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_statutacte").html(data);
var statut = $("#statut").val();
if(statut=="1"){
if(id=="0"){
avisprorogationhospitalisation();
}else if(id=="1"){
modifieravisprorogationhospitalisation();
}
}else{
var libelleMotif = $("#libelleMotif").val();
var libelleMotifEng = $("#libelleMotifEng").val();
alert_ebene(libelleMotif, libelleMotifEng);
return;
}
},
complete: function() {
}
});
}
function avisprorogationhospitalisation()
{
//
motifProlongation = $("#motifProlongation").val();
quantite = $("#quantite").val();
debut = $("#debut").val();
codeTypeHospitalisationPro = $("#codeTypeHospitalisationPro").val();
dateDebutPro = $("#dateDebutPro").val();
dateJour = $("#dateJour").val();
optionHospitalisationPro= $("#optionHospitalisationPro").val();
idProlongation = $("#idProlongation").val();
prixChambre = $("#prixChambre").val();
prixChambreProlongation = $("#prixChambreProlongation").val();
codeActeChambre = $("#codeActeChambre").val();
if (idProlongation==undefined || idProlongation == "0") {
if (prixChambre==undefined || prixChambre == "0")
{
v_msg="Prorogation impossible! Vous n'avez pas saisi de prix de la derni\u00e8re chambre d'hospitalisation.";
v_msgEng="Impossible extension! You did not enter a price for the last hospital room.";
alert_ebene(v_msg, v_msgEng);
$("#btn_close_pop").click();
return;
}
}else{
if (prixChambreProlongation==undefined || prixChambreProlongation == "0")
{
v_msg="Prorogation impossible! Vous n'avez pas saisi de prix pour la derni\u00e8re chambre d'hospitalisation.";
v_msgEng="Impossible extension! You did not enter a price for the last hospital room.";
alert_ebene(v_msg, v_msgEng);
$("#btn_close_pop").click();
return;
}
}
var td0 = new Date(dateDebutPro);
var tdj = new Date(dateJour);
dt0=Math.round(Date.parse(td0)/(1000*3600*24));
dtj=Math.round(Date.parse(tdj)/(1000*3600*24));
//alert('dateDebutPro ='+dt0+' dateJour='+dtj);
//return;
if(codeTypeHospitalisationPro == optionHospitalisationPro){
if (dtj < dt0)
{
v_msg="Prorogation impossible! Veuillez attendre la fin de l'hospitalisation en cours avant de la proroger.";
v_msgEng="Extension not possible! Please wait until the end of the current hospitalization before extending it.";
alert_ebene(v_msg, v_msgEng);
return false;
}
}
//alert("dateDebutPro="+dateDebutPro+", dateJour="+dateJour); return;
donnees = 'motifProlongation='+motifProlongation;
donnees += '&quantite='+quantite+'&debut='+debut;
donnees += '&codeTypeHospitalisationPro='+codeTypeHospitalisationPro;
donnees += '&codeActeChambre='+codeActeChambre;
if (codeTypeHospitalisationPro=="option-1"){
codeActe = "HHM";
}
if (codeTypeHospitalisationPro=="option-3"){
codeActe = "HHC";
}
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
//donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&quantite='+quantite+'&motifHospit='+motifProlongation+'&typeMail=mailententeprealable';
//typeSms = "hospitalisation";
//alert(donnees); return;
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerchambre/avisprorogationhospit/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
//preparesms(typeSms);
//alertsmsavis(typeSms);
v_msg="Avis de prorogation d'hospitalisation envoy\u00e9 avec succ\u00e8s, merci de patienter un instant pour la suite...";
v_msgEng="Notice of extension of hospitalization sent successfully, please wait a moment for the rest...";
alert_ebene_callback(v_msg, v_msgEng, function() {
window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
});
return;
},
complete: function() {
mettremailattente(donnees_sav);
}
});
}
function modifieravisprorogationhospitalisation()
{
//
motifProlongation = $("#motifProlongation").val();
quantite = $("#quantite").val();
debut = $("#debut").val();
codeTypeHospitalisationPro = $("#codeTypeHospitalisationPro").val();
optionHospitalisationPro= $("#optionHospitalisationPro").val();
idProlongation = $("#idProlongation").val();
prixChambre = $("#prixChambre").val();
prixChambreProlongation = $("#prixChambreProlongation").val();
dateDebutPro = $("#dateDebutPro").val();
dateJour = $("#dateJour").val();
codeActeChambre = $("#codeActeChambre").val();
if (idProlongation==undefined || idProlongation == "0") {
if (prixChambre==undefined || prixChambre == "0")
{
v_msg="Prorogation impossible! Vous n'avez pas saisi de prix de la derni\u00e8re chambre d'hospitalisation.";
v_msgEng="Impossible extension! You did not enter a price for the last hospital room.";
alert_ebene(v_msg, v_msgEng);
$("#btn_close_pop").click();
return;
}
}else{
if (prixChambreProlongation==undefined || prixChambreProlongation == "0")
{
v_msg="Prorogation impossible! Vous n'avez pas saisi de prix pour la derni\u00e8re chambre d'hospitalisation.";
v_msgEng="Impossible extension! You did not enter a price for the last hospital room.";
alert_ebene(v_msg, v_msgEng);
$("#btn_close_pop").click();
return;
}
}
var td0 = new Date(dateDebutPro);
var tdj = new Date(dateJour);
dt0=Math.round(Date.parse(td0)/(1000*3600*24));
dtj=Math.round(Date.parse(tdj)/(1000*3600*24));
//alert('dateDebutPro ='+dt0+' dateJour='+dtj);
//return;
if(codeTypeHospitalisationPro == optionHospitalisationPro){
if (dtj < dt0)
{
v_msg="Prorogation impossible! Veuillez attendre la fin de l'hospitalisation en cours avant de la proroger.";
v_msgEng="Extension not possible! Please wait until the end of the current hospitalization before extending it.";
alert_ebene(v_msg, v_msgEng);
return false;
}
}
donnees = 'motifProlongation='+motifProlongation;
donnees += '&quantite='+quantite+'&debut='+debut;
donnees += '&codeTypeHospitalisationPro='+codeTypeHospitalisationPro;
donnees += '&codeActeChambre='+codeActeChambre;
if (codeTypeHospitalisationPro=="option-1"){
codeActe = "HHM";
}
if (codeTypeHospitalisationPro=="option-3"){
codeActe = "HHC";
}
numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
//donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&quantite='+quantite+'&motifHospit='+motifProlongation+'&typeMail=mailententeprealable';
//typeSms = "hospitalisation";
$.ajax({
url: $("#racineWeb").val()+"Ajaxenregistrerchambre/avisprorogationhospit/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
//preparesms(typeSms);
//alertsmsavis(typeSms);
v_msg="Avis de prorogation d'hospitalisation modifi\u00e9 avec succ\u00e8s, merci de patienter un instant pour la suite...";
v_msgEng="Notice of extension of hospitalization modified successfully, please wait a moment for the rest...";
alert_ebene_callback(v_msg, v_msgEng, function() {
window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
});
return;
},
complete: function() {
//mettremailattente(donnees_sav);
}
});
}
//Face Sorel 25-07-2023
function re_init_photo_face()
{
var photo = document.getElementById('photo_face');
photo.setAttribute('src', "");
$('#message_face').html("");
$('#image_face').val("");
$("#div_wait_face_ebene").html('');
}
function ebene_init_photo_face() // OK
{
faceRegistered = $("#faceRegistered").val();
if(faceRegistered=="1")
{
v_msg="Cettte personne a déjà une face dans le système!";
v_msgEng="This person already has a face in the system!";
alert_ebene(v_msg, v_msgEng);
$('#message_face').html("");
return;
}
re_init_photo_face();
$("#btn_pop_save_face").click();
}
function ebene_init_confirm_photo_face() // OK
{
faceRegistered = $("#faceRegistered").val();
if(faceRegistered!="1")
{
v_msg="Cettte personne n'a pas encore de face dans le système!";
v_msgEng="This person doesn't have a face in the system yet!";
alert_ebene(v_msg, v_msgEng);
$('#message_face').html("");
return;
}
re_init_photo_face();
$("#btn_pop_save_face").click();
}
function ebene_enregistrer_photo_face() // OK
{
$("#ebene_confirmer_photo_face").disable();
$("#ebene_supprimer_photo_face").disable();
$("#ebene_take_photo_face").disable();
$("#motif").disable();
$("ebene_confirmer_photo_face").prop('disabled', true);
$("ebene_supprimer_photo_face").prop('disabled', true);
$("ebene_take_photo_face").prop('disabled', true);
$("motif").prop('disabled', true);
$('#message_face').html("");
$("#div_wait_face_ebene").html('');
$("#okId").val("-1");
$("#okId_face").val("-1");
$("#del_face").val("0");
image_face = $("#image_face").val();
if(image_face<=" ")
{
v_msg="Veuillez prendre une photo!";
v_msgEng="Please take a photo!";
alert_ebene(v_msg, v_msgEng);
return;
}
$("#div_wait_face_ebene").html('
' + 'Veuillez patienter... / Please wait...' + '
');
compare_face = $("#compare_face").val();
var dataURL = canvas.toDataURL("image/jpeg");
$.ajax({
url: $("#racineWeb").val()+"Fichebeneficiaire/ebeneenregistrerface/",
type: 'POST',
data: {'image_face' : dataURL, 'compare_face' : compare_face , 'del_face' : "0"},
success: function(data) {
$("#ebene_take_photo_face").enable();
$("#div_wait_face_ebene").html('');
$("#message_face").html(data);
photo_succes = $("#photo_succes").val();
if(photo_succes=="1")
{
v_msg="Enrôlement effectué avec succès!";
v_msgEng="Enrollment completed successfully!!";
// alert_ebene(v_msg, v_msgEng);
setTimeout(() => {
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/");
}, 1000)
}
},
error: function(data) {
},
complete: function(data) {
$("#div_wait_face_ebene").html('');
}
});
}
function ebene_confirmer_photo_face() // OK
{
$("#ebene_confirmer_photo_face").disable();
$("#ebene_supprimer_photo_face").disable();
$("#ebene_take_photo_face").disable();
$("#motif").disable();
$("ebene_confirmer_photo_face").prop('disabled', true);
$("ebene_supprimer_photo_face").prop('disabled', true);
$("ebene_take_photo_face").prop('disabled', true);
$("motif").prop('disabled', true);
$('#message_face').html("");
$("#div_wait_face_ebene").html('');
$("#del_face").val("0");
faceRegistered = $("#faceRegistered").val();
if(faceRegistered!="1")
{
v_msg="Cette personne n'a pas encore de photo dans le système!";
v_msgEng="This person does not have a photo in the system yet!";
alert_ebene(v_msg, v_msgEng);
$('#message_face').html("");
return;
}
image_face = $("#image_face").val();
if(image_face<=" ")
{
v_msg="Veuillez prendre une photo!";
v_msgEng="Please take a photo!";
alert_ebene(v_msg, v_msgEng);
$('#message_face').html("");
return;
}
$("#div_wait_face_ebene").html('
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxactesproformahospitalisation/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
debugger;
$("#div_prestations").html(data);
if(nomForm=="proformahospitalisation"){
motifProforma = $("#motif").val();
dureeProforma = $("#duree").val();
codeMedecinProforma = $("#codeMedecin").val();
codeMedecinProforma = $("#codeMedecin").val();
codeAffectionProforma = $("#codeAffection").val();
motif = $("#motif").val(motifProforma);
duree = $("#duree").val(dureeProforma);
codeMedecin = $("#codeMedecin").val(codeMedecinProforma);
codeAffection = $("#codeMedecin").val(codeAffectionProforma);
}
},
complete: function() {
}
});
}
function ajax_maj_prix_acte_proformahospitalisation(idPrestationactes, valeurActe, controle)
{
debugger;
valeurActe=valeurActe.replace(",",".");
controle.value=valeurActe;
valeurActe=valeurActe.replace(/ /g,"");
valeurActe=parseInt(valeurActe.replace(",","."),10);
controle.value=valeurActe;
if(controle_numerique(controle))
{
donnees = 'idPrestationactes='+idPrestationactes+"&valeurActe="+valeurActe;
$.ajax({
url: $("#racineWeb").val()+"Ajaxactesproformahospitalisation/majvaleuracte/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
ajaxactes_proforma_hospitalisation();
}
});
}
}
function ajax_maj_qte_acte_proformahospitalisation(idPrestationactes, quantite, controle)
{
quantite=quantite.replace(",",".");
controle.value=quantite;
if(controle_numerique(controle))
{
if(quantite==0)
{
controle.focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'idPrestationactes='+idPrestationactes+"&quantite="+quantite;
$.ajax({
url: $("#racineWeb").val()+"Ajaxactesproformahospitalisation/majquantite/",
type: 'POST',
data: donnees,
success: function(data) {
},
error: function(data) {
},
complete: function() {
ajaxactes_proforma_hospitalisation();
}
});
}
}
/**
* Supprime un acte proforma d'une hospitalisation après confirmation
* @param {string} idPrestationactes - L'identifiant de la prestation à supprimer
* @param {string} codeTypePrestation - Le code type de la prestation
*/
async function supprimer_acte_proforma_hospitalisation(idPrestationactes, codeTypePrestation) {
// Préparation des données pour la requête AJAX
const donnees = `idPrestationactes=${idPrestationactes}&codeTypePrestation=${codeTypePrestation}`;
// Demande de confirmation à l'utilisateur
const isConfirmed = await confirm_ebene_sweet(
"Confirmez-vous cette suppression?",
"Do you confirm this deletion?"
);
// Si l'utilisateur confirme la suppression
if (isConfirmed) {
// Affichage du message d'attente
$("#div_prestations").html(`
Veuillez patienter... / Please wait...
`);
// Envoi de la requête AJAX pour suppression
try {
await $.ajax({
url: $("#racineWeb").val() + "Ajaxactesproformahospitalisation/supprimeracte/",
type: 'POST',
data: donnees
});
} catch (error) {
// Gestion silencieuse des erreurs (comme dans le code original)
} finally {
// Rechargement de la liste des prestations après suppression
ajaxactes_proforma_hospitalisation();
}
}
}
/**
* Fonction pour initialiser/réinitialiser un formulaire d'hospitalisation
* - Vide tous les champs du formulaire
* - Réinitialise les sessions via AJAX
* - Recharge la page après traitement
*/
async function init_proforma_hopitalisation() {
// Messages de confirmation multilingues
const v_msg = "Confirmez-vous cette la réinitialisation?";
const v_msgEng = "Do you confirm this reset?";
// Demande de confirmation à l'utilisateur
const isConfirm = await confirm_ebene_sweet(v_msg, v_msgEng);
if (!isConfirm) {
return; // Annulation par l'utilisateur
}
// Réinitialisation des champs du formulaire
$("#searchInputB").val("");
$("#div_selectionB").hide();
$("#nomAssure").val("");
$("#idBeneficiaire").val("0");
$("#nomPolice").val("");
$("#nomCollege").val("");
$("#codeLienParente").val("");
$("#noAdherent").val("");
$("#nomAdherent").val("");
$("#dateDebut").val("");
$("#duree").val("0");
$("#motif").val("");
$("#codeMedecin").val("");
$("#codeAffection").val("");
$("#searchInput").val('');
// Vidage des divs de contenu
$("#div_prestations").html("");
$("#div_couverture").html("");
$("#div_messages").html("");
// Réactivation des champs
$("#dateDebut").enable();
$("#duree").enable();
$("#motif").enable();
$("#codeMedecin").enable();
$("#codeAffection").enable();
// Mise à jour des select pickers
$('.selectpicker').selectpicker('refresh');
// Appel AJAX pour nettoyer la session
$.ajax({
url: $("#racineWeb").val() + "Ajaxproformahospitalisation/unsetsession/",
type: 'POST',
data: '',
success: function(data) {
// Callback si besoin
},
error: function(data) {
// Gestion d'erreur si besoin
},
complete: function() {
// Redirection après nettoyage
window.location.assign($("#racineWeb").val() + "Proformahospitalisation/");
}
});
}
/**
* Fonction pour valider une proforma d'hospitalisation
* - Effectue plusieurs vérifications préalables
* - Valide la proforma via un appel AJAX
* - Affiche les messages appropriés
*/
async function valider_proforma_hopitalisation() {
// Récupération des valeurs du formulaire
const idBeneficiaire = $("#idBeneficiaire").val();
const motif = $("#motif").val();
const dateDebut = $("#dateDebut").val();
const duree = $("#duree").val();
const codeReponseEntentePrealable = $("#codeReponseEntentePrealable").val();
const nbreActe = $("#nbreActe").val();
const demandeTraite = $("#demandeTraite").val();
const ligneZero = $("#ligneZero").val();
const idProforma = $("#idProforma").val();
const numeroEntentePrealable = $("#numeroEntentePrealable").val();
// Vérification 1: Proforma déjà validée
if (codeReponseEntentePrealable > " ") {
alert_ebene(
"Proforma déjà validée!",
"Proforma already validated!"
);
return;
}
// Vérification 2: Proforma déjà traitée
if (demandeTraite > "0") {
alert_ebene(
"Proforma déjà traitée!",
"Proforma already processed!"
);
return;
}
// Vérification 3: Aucun acte sélectionné
if (nbreActe == "0") {
alert_ebene(
"Veuillez sélectionner et ajouter des actes à la proforma!",
"Please select and add acts to the proforma!"
);
return;
}
// Vérification 4: Bénéficiaire non sélectionné
if (idBeneficiaire == '0' || idBeneficiaire <= " ") {
alert_ebene(
"Veuillez sélectionner un No Bénéficiaire!",
"Please select a Beneficiary Number!"
);
$("#searchInput").val('');
$("#searchInputB").focus();
return;
}
// Vérification 5: Motif non renseigné
if (motif <= " ") {
alert_ebene(
"Veuillez renseigner le motif d'hospitalisation!",
"Please fill in the reason for hospitalization!"
);
$("#searchInput").val('');
$("#motif").focus();
return;
}
// Vérification 6: Date non renseignée
if (dateDebut <= " ") {
alert_ebene(
"Veuillez saisir la date de début!",
"Please enter the start date!"
);
$("#dateDebut").focus();
return;
}
// Vérification 7: Durée non renseignée
if (duree == "0") {
alert_ebene(
"Veuillez renseigner le nombre de jours prévisionnels d'hospitalisation!",
"Please fill in the estimated number of days of hospitalization!"
);
$("#duree").focus();
return;
}
// Vérification 8: Aucun acte ajouté
if (idProforma == "0") {
alert_ebene(
"Veuillez d'abord, ajouter, au moins un acte!",
"Please first add at least one act"
);
return;
}
// Vérification 9: Lignes nulles présentes
if (ligneZero == "1") {
alert_ebene(
"Il y a des lignes nulles! Supprimer les ou entrer leurs montants.",
"There are zero lines! Delete them or enter their amounts."
);
return;
}
// Préparation des données pour l'AJAX
const donnees = 'idProforma=' + idProforma;
// Demande de confirmation
const isConfirm = await confirm_ebene_sweet(
"Validez-vous cette Proforma?",
"Do you validate this Proforma?"
);
if (!isConfirm) return;
// Appel AJAX pour validation
try {
await $.ajax({
url: $("#racineWeb").val() + "Ajaxproformahospitalisation/valider/",
type: 'post',
data: donnees
});
// Message de succès si nouvelle entente
if (numeroEntentePrealable == "0") {
alert_ebene(
"La facture proforma d'hospitalisation No: " + idProforma + " envoyé avec succès!",
"The proforma hospitalization invoice No: " + idProforma + " sent successfully"
);
}
// Fermeture de la proforma
fermer_proforma_hospitalisation();
} catch (error) {
// Gestion des erreurs (à adapter selon les besoins)
console.error("Erreur lors de la validation:", error);
}
}
function fermer_proforma_hospitalisation()
{
window.location.assign($("#racineWeb" ).val()+"Historiqueproformahospitalisation/");
}
function save_nv_consommable_proformahospit()
{
idProforma = $("#idProformaHospitalisation").val();
nomForm = $("#nomForm").val();
if(idProforma=="0"){
v_msg="Veuillez d'abord, ajouter, au moins un acte!";
v_msgEng="Please first add at least one act";
alert_ebene(v_msg, v_msgEng);
if(nomForm=="hospitalisationproforma"){
window.location.assign($("#racineWeb" ).val()+"Hospitalisationproforma/");
}else{
window.location.assign($("#racineWeb" ).val()+"Proformahospitalisation/");
}
//return;
}
libelleconsommable = $("#libelleconsommable").val();
if (libelleconsommable<=" ")
{
v_msg="Veuillez saisir le nom!";
v_msgEng="Please enter tyhe name!";
alert_ebene(v_msg, v_msgEng);
$("#libelleconsommable").focus();
return;
}
quantiteconsommable=$("#quantiteconsommable").val();
quantiteconsommable=quantiteconsommable.replace(",",".");
$("#quantiteconsommable").val(quantiteconsommable);
if(isNaN(quantiteconsommable))
{
v_msg="Valeur num\u00e9rique exig\u00e9e!";
v_msgEng="Numeric value required!";
alert_ebene(v_msg, v_msgEng);
$("#quantiteconsommable").val("0");
$("#quantiteconsommable").focus();
return;
}
if(quantiteconsommable==0)
{
$("#quantiteconsommable").focus();
v_msg="Veuillez saisir la quantit\u00e9!";
v_msgEng="Please enter the quantity!";
alert_ebene(v_msg, v_msgEng);
return;
}
prixconsommable=$("#prixconsommable").val();
prixconsommable=prixconsommable.replace(",",".");
$("#prixconsommable").val(prixconsommable);
if(isNaN(prixconsommable))
{
v_msg="Valeur num\u00e9rique exig\u00e9e!";
v_msgEng="Numeric value required!";
alert_ebene(v_msg, v_msgEng);
$("#prixconsommable").val("0");
$("#prixconsommable").focus();
return;
}
if(prixconsommable==0)
{
$("#prixconsommable").focus();
v_msg="Veuillez saisir le prix!";
v_msgEng="Please enter the price!";
alert_ebene(v_msg, v_msgEng);
return;
}
donnees = 'libelleconsommable='+libelleconsommable+'&prixconsommable='+prixconsommable+'&quantiteconsommable='+quantiteconsommable;
donnees += '&idProforma='+idProforma;
$("#div_patienter_consommable").html('
');
// div_specialite
$.ajax({
url: $("#racineWeb").val()+"Ajaxspecialiteacte/",
type : 'post',
data: donnees,
error: function(errorData)
{
},
success: function(data)
{
debugger;
donnees_retour = data;
},
complete: function()
{
debugger;
$("#div_specialite").html(donnees_retour);
$(".selectpicker").selectpicker();
acteNuit = $("#acteNuit").val();
nuit = $("#nuit").val();
nbSpecialite = $("#nbSpecialite").val();
//vider_medecin();
if (acteNuit=="1" && nuit=="0")
{
v_msg="Vous ne pouvez pas effectuer cet acte à cette heure!";
v_msgEng="You cannot perform this act at this time!";
alert_ebene(v_msg, v_msgEng);
$("#codeActe").focus();
return;
}
if(nbSpecialite=="1"){
specialite_medecin();
//ajaxprixacte();
}
}
});
}
function consulter_envois_sms()
{
donnees = "";
donnees_retour = "";
date1 = $("#date1").val();
date2 = $("#date2").val();
donnees += 'date1=' + date1;
donnees += '&date2=' + date2;
$("#div_sms").html('
' + 'Veuillez patienter... / Please wait...' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxdestinatairesms/consulter/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
donnees_retour = data;
},
complete: function() {
$("#div_sms").html(donnees_retour);
$("#nbligne").val("Lignes : "+$("#nbligne_info").val());
}
});
}
function vider_medecin(){
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxspecialitemedecin/vider/",
type : 'post',
data: donnees,
error: function(errorData)
{
},
success: function(data)
{
$("#div_medecin").html(data);
},
complete: function()
{
$(".selectpicker").selectpicker();
initialiser_prix_acte();
}
});
}
function initialiser_prix_acte(){
donnees = '';
$.ajax({
url: $("#racineWeb").val()+"Ajaxprixacte/initialiser/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#infosacte").html(data);
},
complete: function() {
}
});
}
/**
* Fonction pour créer une nouvelle proforma d'hospitalisation chirurgicale
* - Valide les champs obligatoires
* - Crée la proforma via un appel AJAX
* - Redirige vers la page de la proforma après création
*/
async function nouvelle_proforma_hopitalisation() {
// Récupération des valeurs du formulaire
const codeLangue = $("#codeLangue").val();
const motifHospitalisation = $('#motifHospitalisation').val();
const optionHospitalisation = $('#optionHospitalisation').val();
const codeActeChambreHospit = $('#codeActeChambreHospit').val();
const dateDebutHospit = $('#dateDebutHospit').val();
const dureeHospit = $('#dureeHospit').val();
const numeroFeuilleMaladie = $("#numeroFeuilleMaladie").val();
const idBeneficiaire = $("#idBeneficiaire").val();
const codePrestataire = $("#codePrestataire").val();
// Validation des champs obligatoires
if (motifHospitalisation <= " ") {
alert_ebene(
"Veuillez renseigner le motif d'hospitalisation!",
"Please fill in the reason for hospitalization!"
);
$("#motifHospitalisation").focus();
return;
}
if (optionHospitalisation <= " ") {
alert_ebene(
"Veuillez renseigner le type d'hospitalisation!",
"Please fill in the type of hospitalization!"
);
$("#optionHospitalisation").focus();
return;
}
if (codeActeChambreHospit <= " ") {
alert_ebene(
"Veuillez renseigner le type de chambre!",
"Please enter the room type!"
);
$("#codeActeChambreHospit").focus();
return;
}
if (dateDebutHospit <= " ") {
alert_ebene(
"Veuillez saisir la date de début!",
"Please enter the start date!"
);
$("#dateDebutHospit").focus();
return;
}
if (dureeHospit == "0") {
alert_ebene(
"Veuillez renseigner le nombre de jours prévisionnels d'hospitalisation!",
"Please fill in the estimated number of days of hospitalization!"
);
$("#dureeHospit").focus();
return;
}
// Préparation des données pour l'AJAX
let donnees = `motifHospitalisation=${motifHospitalisation}`;
donnees += `&optionHospitalisation=${optionHospitalisation}`;
donnees += `&codeActeChambreHospit=${codeActeChambreHospit}`;
donnees += `&dateDebutHospit=${dateDebutHospit}`;
donnees += `&dureeHospit=${dureeHospit}`;
donnees += `&numeroFeuilleMaladie=${numeroFeuilleMaladie}`;
donnees += `&idBeneficiaire=${idBeneficiaire}`;
donnees += `&codePrestataire=${codePrestataire}`;
// Demande de confirmation
const isConfirm = await confirm_ebene_sweet(
"Confirmez-vous la création d'une facture proforma d'hospitalisation chirurgicale?",
"Do you confirm the creation of a surgical hospitalization proforma invoice?"
);
if (!isConfirm) return false;
try {
// Envoi de la requête AJAX
const response = await $.ajax({
url: $("#racineWeb").val() + "Ajaxproformahospitalisationfeuille/",
type: 'POST',
data: donnees
});
// Traitement de la réponse
$("#div_proforma").html(response);
const idProforma = parseInt($("#idProforma").val());
// Redirection si proforma créée
if (idProforma > 0) {
window.location.assign(`${$("#racineWeb").val()}Hospitalisationproforma/${idProforma}/`);
}
} catch (error) {
console.error("Erreur lors de la création de la proforma:", error);
// Gestion d'erreur supplémentaire possible ici
}
}
function messageSituationProformaHospit(){
debugger;
var optionHospitalisation = $("#optionHospitalisation").val();
var datePrestation = $('#dateDebut').val();
var idBeneficiaire = $('#idBeneficiaire').val();
var estcouvert = $('#estcouvert').val();
var estsorti = $('#estsorti').val();
if(optionHospitalisation == "option-1"){
codeActe = "HHM";
}else if (optionHospitalisation == "option-3"){
codeActe = "HHC";
}else{
codeActe = "";
}
if(estcouvert == "0" || estsorti == "1")
{
v_msg="Proforma impossible \u00e0 \u00e9tablir car ce b\u00e9n\u00e9ficiaire n'est plus couvert par l'assurance!";
v_msgEng="Proforma impossible to establish because this beneficiary is no longer covered by insurance!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
$("#dateDebut").disable();
$("#duree").disable();
$("#motif").disable();
$("#codeMedecin").disable();
$("#codeAffection").disable();
return;
}
ajax_beneficiaire_contexte(idBeneficiaire);
getstatutactedate(codeActe, datePrestation);
var donnees = 'codeActe='+codeActe+'&datePrestation='+datePrestation+'&idBeneficiaire='+idBeneficiaire;
$("#div_reponse").html('
' + 'Veuillez patienter... / Please wait...' + '
');
$.ajax({
url: $("#racineWeb").val()+"Ajaxsituationproformahospit/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
$("#div_reponse").html(data);
},
complete: function(data)
{
}
});
}
function ajaxbeneficiairecouvert(id)
{
donnees = "idBeneficiaire="+id;
$.ajax({
url: $("#racineWeb").val()+"Ajaxbeneficiairecouvert/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_couverture").html(data);
},
complete: function(data) {
}
});
}
function ajax_beneficiaire_contexte(idBeneficiaire)
{
donnees = 'idBeneficiaire='+idBeneficiaire;
$.ajax({
url: $("#racineWeb").val()+"Ajaxbeneficiairecontexte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
complete: function() {
}
});
}
function getstatutactedate(codeActe, datePrestation)
{
debugger;
donnee_a_affciher = "";
donnees = 'codeActe='+codeActe+'&datePrestation='+datePrestation;
//alert(donnees);
$.ajax({
url: $("#racineWeb").val()+"Ajaxstatutacte/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
donnee_a_affciher = data;
},
complete: function() {
debugger;
$("#div_statutacte").html(donnee_a_affciher);
var statut = $("#statut").val();
var libelleMotif = $("#libelleMotif").val();
var libelleMotifEng = $("#libelleMotifEng").val();
faireDefileMessage(libelleMotif, libelleMotifEng);
}
});
}
/**
* Fonction pour supprimer une proforma d'hospitalisation
* - Demande confirmation avant suppression
* - Envoie la requête de suppression via AJAX
* - Actualise la liste des proformas après suppression
* @param {number} idProforma - L'identifiant de la proforma à supprimer
*/
async function supprimer_proforma_hospitalisation(idProforma) {
// Préparation des données pour la requête AJAX
const donnees = `idProforma=${idProforma}`;
// Demande de confirmation avec gestion multilingue
const isConfirm = await confirm_ebene_sweet(
"Attention! Confirmez-vous la suppression de cette proforma?",
"Attention! Do you confirm the deletion of this proforma?"
);
if (!isConfirm) {
return false;
}
try {
// Envoi de la requête de suppression
await $.ajax({
url: $("#racineWeb").val() + "Ajaxlisterproformahospitalisation/supprimer/",
type: 'POST',
data: donnees
});
// Actualisation de la liste des proformas
listerproformahospitalisation();
} catch (error) {
console.error("Erreur lors de la suppression de la proforma:", error);
// Gestion d'erreur supplémentaire possible ici
}
}
// Fonction pour vérifier si une date est antérieure à aujourd'hui
function verifierDate() {
dateString = $("#dateDebut").val();
// Décomposer la date au format "jj/mm/aaaa"
const [jour, mois, annee] = dateString.split('/').map(Number);
// Créer un objet Date à partir de la date saisie
const dateSaisie = new Date(annee, mois - 1, jour);
// Obtenir la date actuelle sans l'heure
const aujourdHui = new Date();
aujourdHui.setHours(0, 0, 0, 0);
// Vérifier si la date saisie est strictement antérieure à aujourd'hui
if (dateSaisie < aujourdHui) {
v_msg="La date de d\u00e9but ne peut-\u00eatre ant\u00e9rieure \u00e0 la date du jour!";
v_msgEng="The start date cannot be earlier than today!";
alert_ebene(v_msg, v_msgEng);
$("#dateDebut").val("");
$("#dateDebut").focus();
return;
} else{
messageSituationProformaHospit();
}
}
function estDateFuture(date) {
// Obtenir la date d'aujourd'hui sans l'heure
const aujourdHui = new Date();
aujourdHui.setHours(0, 0, 0, 0); // Réinitialiser les heures pour une comparaison pure de dates
// S'assurer que l'argument 'date' est un objet Date
const dateComparee = new Date(date);
dateComparee.setHours(0, 0, 0, 0); // De même, ignorer l'heure
// Comparer les dates
return dateComparee > aujourdHui;
}
function ouvrir_feuillemaladie(numeroBon, dateDebut)
{
debugger;
autoriserBonHospitAvantDate = $("#autoriserBonHospitAvantDate").val();
if(estDateFuture(dateDebut) && autoriserBonHospitAvantDate=="0")
{
v_msg="Hospitalisation chirurgicale non encore autorisée! Attendez, s'il vous plaît, la date de sa programmation. Merci pour votre compréhension!";
v_msgEng="Surgical hospitalization not yet authorized! Please wait for the scheduling date. Thank you for understanding!";
alert_ebene(v_msg, v_msgEng);
faireDefileMessage(v_msg, v_msgEng);
return;
}
donnees = 'numeroBon='+numeroBon;
$.ajax({
url: $("#racineWeb").val()+"Ajaxouvrirfeuillemaladie/",
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data)
{
feuillemaladie();
},
complete: function(data)
{
}
});
}
function verifierDateChambre() {
dateString = $("#dateDebutHospit").val();
// Décomposer la date au format "jj/mm/aaaa"
const [jour, mois, annee] = dateString.split('/').map(Number);
// Créer un objet Date à partir de la date saisie
const dateSaisie = new Date(annee, mois - 1, jour);
// Obtenir la date actuelle sans l'heure
const aujourdHui = new Date();
aujourdHui.setHours(0, 0, 0, 0);
// Vérifier si la date saisie est strictement antérieure à aujourd'hui
if (dateSaisie < aujourdHui) {
v_msg="La date de d\u00e9but ne peut-\u00eatre ant\u00e9rieure \u00e0 la date du jour!";
v_msgEng="The start date cannot be earlier than today!";
alert_ebene(v_msg, v_msgEng);
$("#dateDebutHospit").val("");
$("#dateDebutHospit").focus();
return;
}
}
/**
* Fonction pour changer le mot de passe utilisateur
* - Affiche un avertissement avant redirection
* - Gère la confirmation en multilingue (FR/EN)
* - Redirige vers la page de changement de mot de passe après confirmation
* - Prévient l'utilisateur qu'il sera déconnecté après l'opération
*/
async function change_password() {
// Messages d'avertissement multilingues
const messages = {
fr: {
titre: "Attention, vous serez déconnecté par la suite!",
question: "Voulez-vous changer votre mot de passe?",
confirm: "Oui",
cancel: "Non"
},
en: {
titre: "Attention, you will be logged out afterwards!",
question: "Do you want to change your password?",
confirm: "Yes",
cancel: "No"
}
};
// Détermination de la langue
const langue = $("#codeLangue").val() === "en_US" ? "en" : "fr";
const { titre, question, confirm, cancel } = messages[langue];
// Demande de confirmation
const isConfirm = await Swal.fire({
title: `${titre} ${question}`,
icon: 'warning',
showCancelButton: true,
confirmButtonText: confirm,
cancelButtonText: cancel,
dangerMode: true
});
// Redirection si confirmé
if (isConfirm.isConfirmed) {
window.location.assign(`${$("#racineWeb").val()}Changermotpass/`);
}
}
function tarif_applique(tarif)
{
v_msg="Tarif appliqué : "+tarif;
v_msgEng="Price applied : "+tarif;
alert_ebene(v_msg, v_msgEng);
}
function imprimer_facture_seance(idFacture)
{
debugger;
donnees = "idFacture="+idFacture;
var div_export = $('#div_facture_definitive');
div_export.html('