newdesigngestionnaire/Vue/Ajaxactesgarantiebareme/index.php
2026-04-07 17:56:54 +00:00

355 lines
29 KiB
PHP
Executable File

<?php
$idBareme = $_SESSION['idBaremePriseEnCharge'];
$codeGarantie = $this->nettoyer($garantie['codeGarantie']);
$libelleG = $this->nettoyer($garantie['libelle']);
if (est_anglophone()) { $libelleG = $this->nettoyer($garantie['libelleEng']); }
?>
<div class="modal-dialog modal-xl border-0" role="document" style="max-width: 98%;">
<div class="modal-content shadow-lg border-0">
<div class="modal-header bg-white border-bottom-0 pt-4 px-4">
<div class="d-flex align-items-center">
<div class="p-2 bg-light rounded-3 me-3"><i class="fas fa-layer-group text-secondary"></i></div>
<div>
<h5 class="fw-bold mb-0 text-uppercase"><?= $libelleG; ?></h5>
<small class="text-light"><?= _("Paramétrage complet des règles de prise en charge") ?></small>
</div>
</div>
<button type="button" class="btn p-2 border-0 shadow-none d-flex align-items-center justify-content-center"
data-bs-dismiss="modal" aria-label="Close"
onclick="detail_baremepriseencharge(<?= $idBareme ?>);"
style="background: transparent; transition: transform 0.2s ease;">
<i class="fas fa-times text-white fs-4"></i>
</button>
</div>
<div class="modal-body bg-light p-4">
<input type="hidden" id="datejour" value="<?= dateLang(date('Y/m/d'),$_SESSION['lang']); ?>">
<input type="hidden" id="codeGarantie" value="<?= $codeGarantie; ?>">
<input type="hidden" id="idBaremePriseEnCharge" value="<?= $idBareme ?>">
<div class="accordion" id="accordionBareme">
<div class="card border-0 shadow-sm mb-4 rounded-3">
<div class="card-header bg-white py-3 cursor-pointer d-flex justify-content-between align-items-center" onclick="afficherMasquerGarantiesBareme();">
<span class="fw-bold text-primary small text-uppercase">
1. <?= _("Règle Standard de la Garantie") ?>
<span id="garantiesbaremepriseencharge" class="ms-2 badge bg-light text-primary border fs-6"></span>
</span>
<i id="span_bareme" class="fas fa-chevron-down text-muted"></i>
</div>
<input type="hidden" id="masquerGarantie" value="1">
<div id="div_garanties_masquer" class="bg-light p-3 rounded shadow-sm border">
<h6 class="text-uppercase fw-bold text-secondary mb-3 small">
<i class="fas fa-layer-group me-2"></i><?= _("Particularités sur Garantie") ?>
</h6>
<div class="row g-1">
<div class="col-md-2">
<div class="card h-100 border-primary-subtle">
<div class="card-header bg-primary-subtle py-1 text-center small fw-bold">
<?= _("Application") ?>
</div>
<div class="card-body p-2">
<label class="form-label small mb-1 required fw-bold"><?= _("Date d'effet") ?></label>
<input type="text" id="dateEffetGarantie" name="dateEffetGarantie"
class="form-control form-control-sm text-center datepicker border-primary"
onChange="javascript:controleDateEffetGarantieBareme();" required>
</div>
</div>
</div>
<div class="col-md-5">
<div class="card h-100 border-info-subtle">
<div class="card-header bg-info-subtle py-1 text-center small fw-bold">
<?= _("Limites Famille (Adhérent)") ?>
</div>
<div class="card-body p-2">
<div class="row g-2">
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Plafond") ?></label>
<input type="text" id="forfaitPlafondGarantieAdherent" name="forfaitPlafondGarantieAdherent"
class="form-control form-control-sm text-center fw-bold" value="0"
onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);">
</div>
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Fréquence Plafond") ?></label>
<select class="form-select form-select-sm" id="codePeriodicitePlafondGarantieAdherent" name="codePeriodicitePlafondGarantieAdherent">
<?= liste_options($periodicite,'',true) ?>
</select>
</div>
<div class="col-md-2">
<label class="form-label small mb-0"><?= _("Quota") ?></label>
<input type="text" id="nbreTransactionGarantieAdherent" name="nbreTransactionGarantieAdherent"
class="form-control form-control-sm text-center" value="0" onkeyup="controle_numerique(this);">
</div>
<div class="col-md-2">
<label class="form-label small mb-0"><?= _("Fréq. Quota") ?></label>
<select class="form-select form-select-sm px-1" id="codePeriodiciteGarantieAdherent" name="codePeriodiciteGarantieAdherent">
<?= liste_options($periodiciteFiltre,'',true) ?>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-5">
<div class="card h-100 border-warning-subtle">
<div class="card-header bg-warning-subtle py-1 text-center small fw-bold">
<?= _("Limites par Bénéficiaire") ?>
</div>
<div class="card-body p-2">
<div class="row g-2">
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Plafond") ?></label>
<input type="text" id="forfaitPlafondGarantie" name="forfaitPlafondGarantie"
class="form-control form-control-sm text-center fw-bold" value="0"
onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);">
</div>
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Fréquence Plafond") ?></label>
<select class="form-select form-select-sm" id="codePeriodicitePlafondGarantie" name="codePeriodicitePlafondGarantie">
<?= liste_options($periodicite,'',true) ?>
</select>
</div>
<div class="col-md-2">
<label class="form-label small mb-0"><?= _("Quota") ?></label>
<input type="text" id="nbreTransactionGarantie" name="nbreTransactionGarantie"
class="form-control form-control-sm text-center" value="0" onkeyup="controle_numerique(this);">
</div>
<div class="col-md-2">
<label class="form-label small mb-0"><?= _("Fréq. Quota") ?></label>
<select class="form-select form-select-sm px-1" id="codePeriodiciteGarantie" name="codePeriodiciteGarantie">
<?= liste_options($periodiciteFiltre,'',true) ?>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-7">
<div class="card border-secondary-subtle">
<div class="card-header bg-secondary-subtle py-1 small fw-bold">
<i class="fas fa-hand-holding-usd me-1"></i> <?= _("Conditions de Remboursement") ?>
</div>
<div class="card-body p-2">
<div class="row g-2">
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Type Remboursement") ?></label>
<select class="form-select form-select-sm" id="codeTypeRemboursement" name="codeTypeRemboursement" required>
<?= liste_options($typeremboursement,"RDTP",true) ?>
</select>
</div>
<div class="col-md-2">
<label class="form-label small mb-0"><?= _("Carence (J)") ?></label>
<input type="text" id="delaiCarenceFamilleActe" name="delaiCarenceFamilleActe"
class="form-control form-control-sm text-center" value="0" onkeyup="controle_numerique(this);">
</div>
<div class="col-md-2">
<label class="form-label small mb-0"><?= _("Taux TM %") ?></label>
<input type="text" id="ticketModerateurFamilleActe" name="ticketModerateurFamilleActe"
class="form-control form-control-sm text-center bg-warning-subtle fw-bold"
value="<?= $tmBareme ?>" onkeyup="controle_numerique(this);">
</div>
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Forfait TM") ?></label>
<input type="text" id="forfaitTmGarantie" name="forfaitTmGarantie"
class="form-control form-control-sm text-center" value="0"
onkeyup="controle_numerique(this);" onblur="formatMonetaire(this);">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-5">
<div class="card border-dark-subtle">
<div class="card-header bg-dark-subtle py-1 small fw-bold text-white">
<i class="fas fa-users-cog me-1"></i> <?= _("Âge & Statut") ?>
</div>
<div class="card-body p-2">
<div class="row g-2">
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Âge Min") ?></label>
<input type="number" id="ageMinimumFamilleActe" name="ageMinimumFamilleActe"
class="form-control form-control-sm text-center" value="0">
</div>
<div class="col-md-4">
<label class="form-label small mb-0"><?= _("Âge Max") ?></label>
<input type="number" id="ageMaximumFamilleActe" name="ageMaximumFamilleActe"
class="form-control form-control-sm text-center" value="0">
</div>
<div class="col-md-4">
<label class="form-label small mb-0 fw-bold"><?= _("Actif") ?></label>
<select class="form-select form-select-sm border-danger" id="actifFamilleActe" name="actifFamilleActe" required>
<?= liste_options($actifFamilleActe,"", true) ?>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 text-center mt-3">
<button id="btn_familleacte" name="btn_familleacte" type="button"
class="btn btn-primary px-5 py-2 shadow-sm fw-bold"
onclick="javascript:inserer_bareme_garantie();">
<i class="fas fa-plus-circle me-2"></i><?= _("Insérer une nouvelle ligne dans BAREME GARANTIE") ?>
</button>
</div>
</div>
<div id="div_garanties_bareme" class="mt-4"></div>
</div>
</div>
<div class="card border-0 shadow-sm mb-4 rounded-3">
<div class="card-header bg-white py-3 cursor-pointer d-flex justify-content-between align-items-center" onclick="afficherMasquerGarantiesBaremeLienParente();">
<span class="fw-bold text-primary small text-uppercase">
2. <?= _("Spécificités de la Garantie par Lien Parenté") ?>
<span id="garantiesbaremepriseenchargelienparente" class="ms-2 badge bg-light text-primary border fs-6"></span>
</span>
<i id="span_garantie_lienparente" class="fas fa-chevron-down text-muted"></i>
</div>
<input type="hidden" id="masquerGarantieLienParente" value="1">
<div id="div_garanties_lienparente_masquer" class="card-body border-top bg-white" style="display:none;">
<div class="p-4 mb-3 rounded-3 bg-light border-dashed">
<div class="row g-2 mb-3">
<div class="col-md-2">
<label class="lbl-erp required"><?= _("Date Effet") ?></label>
<input type="text" class="form-control datepicker text-center border-primary" id="dateEffetFamilleActeLienParente" name="dateEffetFamilleActeLienParente">
</div>
<div class="col-md-3">
<label class="lbl-erp"><?= _("Profil / Lien Parenté") ?></label>
<select class="form-select fw-bold border-secondary" id="codeLienParente" name="codeLienParente"><?= liste_options($liens, "", true) ?></select>
</div>
<div class="col-md-3">
<label class="lbl-erp"><?= _("Plafond Profil") ?></label>
<input type="text" class="form-control text-end fw-bold" id="plafondGarantieLienParente" name="plafondGarantieLienParente" onblur="formatMonetaire(this);">
</div>
<div class="col-md-2">
<label class="lbl-erp"><?= _("Périodicité") ?></label>
<select class="form-select" id="periodicitePlafondGarantieLienParente" name="periodicitePlafondGarantieLienParente"><?= liste_options($periodicite,"",true) ?></select>
</div>
<div class="col-md-2">
<label class="lbl-erp"><?= _("Part Patient (%)") ?></label>
<input type="number" class="form-control text-center" id="ticketModerateurGarantieLienParente" name="ticketModerateurGarantieLienParente" value="0">
</div>
</div>
<div class="row g-2 align-items-end border-top pt-3">
<div class="col-md-2">
<label class="lbl-erp"><?= _("Nombre Actes") ?></label>
<input type="number" class="form-control" id="nombreActesGarantieLienParente" name="nombreActesGarantieLienParente" value="0">
</div>
<div class="col-md-2">
<label class="lbl-erp"><?= _("Période Nbre") ?></label>
<select class="form-select" id="periodiciteNombreActesGarantieLienParente" name="periodiciteNombreActesGarantieLienParente"><?= liste_options($periodicite,"",true) ?></select>
</div>
<div class="col-md-2">
<label class="lbl-erp"><?= _("Forfait TM") ?></label>
<input type="text" class="form-control text-end" id="forfaitTmGarantieLienParente" name="forfaitTmGarantieLienParente" onblur="formatMonetaire(this);" value="0">
</div>
<div class="col-md-2">
<label class="lbl-erp"><?= _("Âge Min") ?></label>
<input type="number" class="form-control" id="ageMinimumFamilleActeLienParente" name="ageMinimumFamilleActeLienParente" value="0">
</div>
<div class="col-md-2">
<label class="lbl-erp"><?= _("Âge Max") ?></label>
<input type="number" class="form-control" id="ageMaximumFamilleActeLienParente" name="ageMaximumFamilleActeLienParente" value="200">
</div>
<div class="col-md-2">
<button type="button" class="btn btn-dark w-100 fw-bold shadow-sm" id="btn_familleacteLienParente" onclick="ajouter_garantie_lienparente_college();"><?= _("Enregistrer") ?></button>
</div>
</div>
</div>
<div id="div_liste_garantie_lienparente_college"></div>
</div>
</div>
<div class="card border-0 shadow-sm mb-4 rounded-3">
<div class="card-header bg-white py-3 cursor-pointer d-flex justify-content-between align-items-center" onclick="afficherMasquerActeBareme();">
<span class="fw-bold text-dark small text-uppercase">3. <?= _("Exceptions par Acte Médical") ?> <span id="actesbaremepriseencharge" class="ms-2 badge bg-light text-primary border fw-normal"></span></span>
<i id="span_acte" class="fas fa-chevron-down text-muted"></i>
</div>
<input type="hidden" id="masquerActe" value="1">
<div id="div_acte_masquer" class="card-body border-top bg-white" style="display:none;">
<div id="div_maxdateeffetactebareme"></div>
<div class="p-4 mb-3 rounded-3 bg-light border-dashed">
<div class="row g-2 mb-3">
<div class="col-12">
<label class="lbl-erp required"><?= _("Sélection de l'Acte") ?></label>
<?php if($codeGarantie != "HOS"): ?>
<select class="form-select selectpicker" data-live-search="true" id="codeActe" name="codeActe"><?= liste_options($actesadd,"",false) ?></select>
<?php else: ?>
<div class="input-group"><span class="input-group-text bg-white border-0"><i class="fas fa-search"></i></span><input id="searchInputActe" name="searchInputActe" class="form-control border-0" type="text" placeholder="<?= _("Rechercher un acte...") ?>" onkeyup="affichelisteactes(this.value, 'acte');"></div><input type="hidden" id="codeActe">
<?php endif; ?>
</div>
</div>
<div class="row g-2 align-items-end border-top pt-3">
<div class="col-md-2"><label class="lbl-erp"><?= _("Plafond Acte") ?></label><input type="text" class="form-control text-end fw-bold" id="plafondActe" name="plafondActe" onblur="formatMonetaire(this);"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Part Patient %") ?></label><input type="number" class="form-control text-center" id="ticketModerateurActe" name="ticketModerateurActe" value="0"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Forfait TM") ?></label><input type="text" class="form-control text-end" id="forfaitTmActe" name="forfaitTmActe" onblur="formatMonetaire(this);" value="0"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Âge Min") ?></label><input type="number" class="form-control" id="ageMinimumActe" name="ageMinimumActe" value="0"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Âge Max") ?></label><input type="number" class="form-control" id="ageMaximumActe" name="ageMaximumActe" value="200"></div>
<div class="col-md-2"><button type="button" class="btn btn-dark w-100 fw-bold shadow-sm" id="btn_actebareme" onclick="ajouter_acte_college();"><?= _("Valider") ?></button></div>
</div>
</div>
<div id="div_liste_actebareme_college"></div>
</div>
</div>
<div class="card border-0 shadow-sm mb-4 rounded-3 border-start border-danger border-4">
<div class="card-header bg-white py-3 cursor-pointer d-flex justify-content-between align-items-center" onclick="afficherMasquerActeBaremeLienParente();">
<span class="fw-bold text-danger small text-uppercase">4. <?= _("Précisions par Acte Médical & Profil (Priorité Max)") ?> <span id="actesbaremepriseenchargelienparente" class="ms-2 badge bg-danger-light text-danger border border-danger-subtle fw-normal"></span></span>
<i id="span_acte_lienparente" class="fas fa-chevron-down text-muted"></i>
</div>
<input type="hidden" id="masquerActeLienParente" value="1">
<div id="div_acte_lienparente_masquer" class="card-body border-top bg-white" style="display:none;">
<div id="div_maxdateeffetactebaremelienparente"></div>
<div class="p-4 mb-3 rounded-3 bg-light border-dashed">
<div class="row g-2 mb-3">
<div class="col-md-8"><label class="lbl-erp"><?= _("Acte") ?></label><select class="form-select selectpicker" data-live-search="true" id="codeActeLienParente" name="codeActeLienParente"><?= liste_options($actesadd,"",false) ?></select></div>
<div class="col-md-4"><label class="lbl-erp"><?= _("Profil / Bénéficiaire") ?></label><select class="form-select fw-bold" id="codeLienParenteActe" name="codeLienParenteActe"><?= liste_options($liens, "", true) ?></select></div>
</div>
<div class="row g-2 align-items-end border-top pt-3">
<div class="col-md-2"><label class="lbl-erp"><?= _("Plafond") ?></label><input type="text" class="form-control text-end fw-bold" id="plafondActeLienParente" name="plafondActeLienParente" onblur="formatMonetaire(this);"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Part Patient %") ?></label><input type="number" class="form-control text-center" id="ticketModerateurActeLienParente" name="ticketModerateurActeLienParente" value="0"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Forfait TM") ?></label><input type="text" class="form-control text-end" id="forfaitTmActeLienParente" name="forfaitTmActeLienParente" onblur="formatMonetaire(this);" value="0"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Âge Min") ?></label><input type="number" class="form-control" id="ageMinimumActeLienParente" name="ageMinimumActeLienParente" value="0"></div>
<div class="col-md-2"><label class="lbl-erp"><?= _("Âge Max") ?></label><input type="number" class="form-control" id="ageMaximumActeLienParente" name="ageMaximumActeLienParente" value="200"></div>
<div class="col-md-2"><button type="button" class="btn btn-danger w-100 fw-bold shadow-sm" id="btn_actebaremelienparente" onclick="ajouter_actebaremelienparente_college();"><?= _("Appliquer") ?></button></div>
</div>
</div>
<div id="div_liste_actebaremelienparente_college"></div>
</div>
</div>
</div>
</div>
<div class="modal-footer bg-light border-0 px-4 py-3">
<button type="button" class="btn btn-secondary rounded-pill px-4" data-bs-dismiss="modal" onclick="detail_baremepriseencharge(<?= $idBareme ?>);"><?= _("Fermer le paramétrage") ?></button>
</div>
</div>
</div>
<style>
.bg-body-tertiary { background-color: #f8f9fa !important; }
.lbl-erp { font-size: 7.5pt; font-weight: 800; color: #4b5563; text-transform: uppercase; margin-bottom: 3px; display: block; }
.required::after { content: " *"; color: #ef4444; }
.form-control, .form-select { font-size: 9pt !important; font-weight: 600 !important; border-radius: 6px !important; border: 1px solid #d1d5db !important; }
.border-dashed { border: 1px dashed #9ca3af !important; }
.cursor-pointer { cursor: pointer; }
.bg-danger-light { background-color: rgba(220, 53, 69, 0.05); }
/* SelectPicker SaaS Adaptation */
.bootstrap-select .btn { background-color: #fff !important; border: 1px solid #d1d5db !important; height: 38px !important; font-weight: 600 !important; font-size: 9pt !important; }
</style>