Rubrique « INDEMNITE DIMANCHE 2 » (code 5821) (RUB_GAIN=0 : retenue, info ou technique selon usage). Actuellement active, variante en vigueur depuis le 1980-01-01. Une seule variante de formule définie. La formule actuelle (2290 octets) référence 23 variable(s).
Explication
Cette règle calcule la prime de dimanche (indemnité versée au salarié pour les heures travaillées le dimanche). Le montant dépend de l'établissement du salarié, et dans certains cas de sa qualification et du nombre d'heures faites.
Le calcul change selon le code de l'établissement :
Établissement 1 : la prime est simplement le nombre d'heures dimanche multiplié par le taux dimanche standard.
Établissement 5 : même logique, mais avec un taux dimanche propre à cet établissement.
Établissement 16 : si le salarié n'a fait aucune heure, la prime est nulle. Sinon le calcul dépend du métier. Pour les aides-soignants qualifiés de jour, IDE de jour et IDE psy de jour, on prend le taux dimanche de l'établissement divisé par 12, on en retire 0,4 fois la valeur du point, et on multiplie par les heures. Pour les aides-soignants qualifiés de nuit, agents des services hospitaliers et responsables entretien des locaux, même formule mais avec une division par 10. Pour les standardistes réceptionnistes, on applique un taux dédié dont on soustrait 0,4 × valeur du point × heures. Pour les IDE de nuit et IDE psy de nuit, division par 11,5.
Établissement 26 : uniquement si des heures ont été faites, et seulement pour les IDE, IADE et IDE puéricultrices ; on applique le taux dimanche 26 divisé par 11,5, diminué de 0,4 × valeur du point, multiplié par les heures.
Établissement 38 : prime forfaitaire égale au nombre d'heures × 0,4 × valeur du point, et le taux horaire de la prime est mémorisé.
Établissements 45 et 46 : la prime est calculée à partir du nombre de dimanches travaillés × un montant dimanche/férié propre à l'établissement, moins un montant de sujétion dimanche déjà versé par ailleurs (pour éviter de payer deux fois).
Remarque : le code se termine par « si code » tronqué, donc il manque vraisemblablement au moins un cas d'établissement non visible ici.
si code_etabliss = 1 alors
prime_dimanche = nombre_heures * taux_dimanche
finsi
si code_etabliss = 5 alors
prime_dimanche = nombre_heures * taux_dimanche5
finsi
si code_etabliss = 16 alors
si nombre_heures = 0 alors
prime_dimanche = 0
sinonsi
libelle_nqualif = 'AIDE SOIGNANT(E) QUALIFIE(E) JOUR' ou
libelle_nqualif = 'IDE JOUR'ou
libelle_nqualif = 'IDE PSY JOUR'
alors
prime_dimanche = ((taux_dimanche16 /12 ) - (valeur_point * 0.4)) * nombre_heures
sinonsi
libelle_nqualif= 'AIDE SOIGNANT(E) QUALIFIE(E) NUIT'ou
libelle_nqualif= 'AGENT SERVICES HOSPITALIERS' ou
libelle_nqualif= 'AGENT SERVICE HOSPITALIER'ou
libelle_nqualif= 'RESPONSABLE ENTRETIEN LOCAUX'
alors
prime_dimanche = ((taux_dimanche16 /10 ) - (valeur_point * 0.4)) * nombre_heures
sinonsi
libelle_qualif = 'STANDARDISTE RECEPTIONNISTE'
alors
prime_dimanche = ((taux_dimanche_stan ) - (valeur_point * 0.4 * nombre_heures))
sinonsi
libelle_nqualif= 'IDE NUIT'OU
libelle_nqualif= 'IDE PSY NUIT'
alors
prime_dimanche = ((taux_dimanche16 /11.5 ) - (valeur_point * 0.4)) * nombre_heures
finsi
finsi
si code_etabliss = 26 alors
si nombre_heures <> 0 alors
si libelle_qualif = 'I.D.E.' ou libelle_qualif ='IADE' ou libelle_qualif = 'IDE PUERICULTRICE' alors
prime_dimanche = ((taux_dimanche26 /11.5 ) - (valeur_point * 0.4)) * nombre_heures
finsi
finsi
finsi
si code_etabliss = 38 alors
prime_dimanche = nombre_heures * 0.4 * valeur_point
tx_prime_dimanche = 0.4 * valeur_point
finsi
Si code_etabliss = 45 alors
Si [Nb_Dimanches_E45] > 0 alors
prime_dimanche = ([Nb_Dimanches_E45] * [Montant dim/férié E45]) - [Montant sujétion dimanche]
nombre_heures = [Nb_Dimanches_E45]
Finsi
Finsi
si code_etabliss = 46 alors
prime_dimanche = ([Nb de dimanches] * [Montant dim/férié E46]) - [Montant sujétion dimanche]
nombre_heures = [Nb de dimanches]
finsi
si code
Narration structurée
Arbre des cas et actions extrait du code par le parseur CEGI.
Résumé : Formule contenant 5 branche(s) conditionnelle(s).
Si (`code_etabliss` égal à 1)
Alors :
Affecter à `prime_dimanche` la valeur de (`nombre_heures` multiplié par `taux_dimanche`)
Si (`code_etabliss` égal à 5)
Alors :
Affecter à `prime_dimanche` la valeur de (`nombre_heures` multiplié par `taux_dimanche5`)
Si (`code_etabliss` égal à 16)
Alors :
Si (`nombre_heures` égal à 0)
Alors :
Affecter à `prime_dimanche` la valeur de 0
Sinon, si (((`libelle_nqualif` égal à « AIDE SOIGNANT(E) QUALIFIE(E) JOUR ») ou (`libelle_nqualif` égal à « IDE JOUR »)) ou (`libelle_nqualif` égal à « IDE PSY JOUR »)) :
Affecter à `prime_dimanche` la valeur de (((`taux_dimanche16` divisé par 12) moins (`valeur_point` multiplié par 0.4)) multiplié par `nombre_heures`)
Sinon, si ((((`libelle_nqualif` égal à « AIDE SOIGNANT(E) QUALIFIE(E) NUIT ») ou (`libelle_nqualif` égal à « AGENT SERVICES HOSPITALIERS »)) ou (`libelle_nqualif` égal à « AGENT SERVICE HOSPITALIER »)) ou (`libelle_nqualif` égal à « RESPONSABLE ENTRETIEN LOCAUX »)) :
Affecter à `prime_dimanche` la valeur de (((`taux_dimanche16` divisé par 10) moins (`valeur_point` multiplié par 0.4)) multiplié par `nombre_heures`)
Sinon, si (`libelle_qualif` égal à « STANDARDISTE RECEPTIONNISTE ») :
Affecter à `prime_dimanche` la valeur de (`taux_dimanche_stan` moins ((`valeur_point` multiplié par 0.4) multiplié par `nombre_heures`))
Sinon, si ((`libelle_nqualif` égal à « IDE NUIT ») ou (`libelle_nqualif` égal à « IDE PSY NUIT »)) :
Affecter à `prime_dimanche` la valeur de (((`taux_dimanche16` divisé par 11.5) moins (`valeur_point` multiplié par 0.4)) multiplié par `nombre_heures`)
Si (`code_etabliss` égal à 26)
Alors :
Si (`nombre_heures` différent de 0)
Alors :
Si (((`libelle_qualif` égal à « I.D.E. ») ou (`libelle_qualif` égal à « IADE »)) ou (`libelle_qualif` égal à « IDE PUERICULTRICE »))
Alors :
Affecter à `prime_dimanche` la valeur de (((`taux_dimanche26` divisé par 11.5) moins (`valeur_point` multiplié par 0.4)) multiplié par `nombre_heures`)
Si (`code_etabliss` égal à 38)
Alors :
Affecter à `prime_dimanche` la valeur de ((`nombre_heures` multiplié par 0.4) multiplié par `valeur_point`)
Affecter à `tx_prime_dimanche` la valeur de (0.4 multiplié par `valeur_point`)