---
# System prepended metadata

title: FrenchSickLeave
tags: [Integration Payfit]

---

---
title: "FrenchSickLeave"
tags: Integration Payfit
---

# Prépa spés FrenchSickLeave
    
## Lexique 
* FSL : FrenchSickLeave

## Remarques
### Quels comptes sont concernés ?
FrenchSickLeaves : Accident de trajet, Accident du travail, Maladie, Maladie professionnelle, Maternité, Paternité, enfant malade, Mi temps thérapeutique

ps. Maternité & Paternité sont 2 natures différentes

EVF : Décès, naissance, adoption, déménagement, enfant malade

Autres : Récupération , Chômage partiel avec suivi du solde

## Lots
### #1
 * Ajout des propriétés Type et Nature sur les comptes
 * Ajout des propriétés sur les SickLeaves
 * Modification du formulaire de création de compte pour permettre la création d’un compte FrenchSickLeave
* Adaptation des formulaires de saisie d’arrêts de travail en fonction de la nature (avec champs obligatoires si obligatoires en DSN)
* Ajout de la condition : si Type FrenchSickLeave alors saisie d’un SL avec formulaire, peu importe la catégorie.
* La permission Saisir un arrêt de travail permet de voir les comptes de Type FrenchSickLeave ET les comptes de la catégorie SL (peu importe leur type).
* Ajout dans le moteur de l’export des arrêts de travail des nouvelles données SL (lieu de l’accident etc.)

## Questions
* Solde à débiter pour la récupération
    * uniquement des comptes spés à créer et des codes rubriques à paramétrer ?
* Dates `LastWorkingDay` & `EarlyReturnDate` 
    * actuellement calculatoires sur l’export 
    * à persister pour les frenchSickLeaves ?
* Date de début d'arrêt ?
    * être capable d'exporter la date de début de l'arrêt initial ?
* "Nature de l'arrêt (bool)" ?
    * Gestion d'un AT de prolongation de nature différente de l'AT initiale ? Champ informatif complémentaire à exporter ?
* Il nous faut un format de fichier exhaustif pour être sûr de notre implémentation. C'est un pré-requis pour le dev.
    * Un exemple serait idéal

## Gestion des droits

- Permission CreateSL (pas de chgt)

## Acces au formulaire
- Catégorie SL (avec module activé) ou FrenchSickLeave

## Modélisation
### LeaveAccount:
`[Type] [nvarchar(20)] NOT NULL default(“standard”)`
enum “standard”, “frenchSickLeave”

`[Nature] [nvarchar(50)] NULL`
contrainte NOT NULL pour les frenchSickLeaves : AccidentTravail, AccidentTrajet, Maladie, MaladieProfessionnelle, Maternite, Paternite, TempsPartielTherapeutique 

(nommage français assumé)

“Autre” nature non précisée, uniquement pour les FrenchSickLeaves

NULL pour les comptes "standard"

### SickLeaves
`[AccidentDate] [date] NULL` 
Date de l'accident
Constraint not null pour les natures : Accident de trajet, Accident du travail

`[AccidentPlace] [nvarchar(10)] NULL`
Lieu de l'accident: enum aller/retour/lieuRepas
Constraint pour les natures : Accident de trajet: not null

`[FirstObservationDate] [date] NULL`
Date de la première constatation
Constraint pour les natures “Maladie professionnelle”: not null

`[ChildArrivalType] [nvarchar(10)] NULL`
“Naissance” ou “Adoption”
Constraint pour les natures “Maternité / Paternité”: not null

`[ChildCount] int NULL`
Constraint pour les natures  “Maternité / Paternité”: not null, >=1, <10

`[ChildAdoptionDistribution] [nvarchar(20)] NULL`
“mono-parental” ou “duo”
“LineageType”==”adoption”: not null

`[ChildArrivalScheduledDate] [date] NULL`
“date d'adoption/naissance prévue”
`[ChildArrivalEffectiveDate] [date] NULL`
“date d'adoption/naissance réelle”

`[LastWorkingDay] [date] NULL` ??
Constraint pour les natures “Maternité / Paternité”, “Mi temps thérapeutique”: not null
vrai pour tous les FSL ...

`[CompensationRate] [decimal(5,2)] NULL`
“Taux de remboursement de l'absence”
% => précsion décimale ?
Constraint pour les natures “Enfant malade”: not null

`[PaternityLeavePartType] [int] NULL`
“Partie du congé paternité:  1ere partie / partie fractionnable”


`[PartTimeNature] [nvarchar(50)] NULL`
“Motif du TPT”
enum (Traj, Mal, MalPro) => sous-ensemble des natures ?
accident de travail ?
Constraint pour les natures “Mi temps thérapeutique”: not null

`[PartTimeActivityRate] [decimal(5,2)] NULL`
“Taux d'activité”
Constraint pour les natures “Mi temps thérapeutique”: not null

`[EarlyReturnDate] [date] NULL` ??
Constraint pour les realyReturn
vrai pour tous les FSL ...

## Champs par nature

✔ : Obligatoire
❔ : Facultatif
❌ : Non renseigné


|  | Accident du travail | Accident de trajet | Maladie | Maladie professionnelle | Maternite /Paternite | Enfant malade | Temps Partiel Therapeutique |
| - | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
| AccidentDate | ✔ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ |
| AccidentPlace | ❌ | ✔ | ❌ | ❌ | ❌ | ❌ | ❌ |
| FirstObservationDate | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ | ❌ |
| ChildArrivalType | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ |
| ChildCount | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ |
| ChildAdoptionDistribution | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ |
| LastWorkingDay | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ | ❌ |
| CompensationRate | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ | ❌ |
| PartTimeType | ❌| ❌| ❌ | ❌ | ❌ | ❌ | ✔ |
| PartTimeActivityRate | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ |
| EarlyReturnDate | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔ |

❔ Si on décide de les persister, est-ce que les champs `LastWorkingDay` et `EarlyReturnDate` ne sont pas applicables à tous les arrêts de travails ?
❔ Est-ce que certains champs, spécifiques à une nature donnée, ne sont pas facultatifs ? Ex: ne pas renseigner le taux de remboursement doit vraiment empêcher la saisie de l'AT ?

## Formulaire d'édition d'un FrenchSickLeave

- Nom
- Réglementaire
- Nature
- Personnaliser l'identifiant
- ~~Unite~~ => calendaire
- ~~Usage~~
- ~~Acquisition~~
- ~~Consommation~~
- ~~Pose par 1/2 journée~~ => journée pleine
- ~~Décompté comme une absence ~~ => oui
- Décompté comme de l'absentéisme
- ~~Compte de télétravail~~
- ~~Motif public ~~ => Non
- Temps de travail effectif
- ~~Inclure le compte dans une catégorie existante~~
- Personnaliser l'ordre d'affichage

## Export
* Model PayFit augmenté avec les nouvelles fonctions
* (Nature) : LeaveAccount.Nature

=> modèle à fournir par payfit ou expression formelle du besoin

## Migration
* Lot 1
* Lot 2
