> ## Documentation Index
> Fetch the complete documentation index at: https://api-documentation.kare-app.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Historisation

Historisation est le processus automatique du logiciel qui permet de différencier les derniers éléments actifs et les anciens.

Les règles métier sont:

| Service      | Condition d'historisation                                                                                                                                                                               |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Rapport      | S'historise lorsque tous les sites (ou équipements),<br />de toutes les règles du rapport en question, ont un rapport plus récent                                                                       |
| Intervention | S'historise lorsque tous les rapports enfants sont historisés ET<br />que l'intervention est validée <br />(pour le registre: que tout le cadre de l'intervention contient au moins 1 rapport de relié) |
| Anomalie     | S'historise lorsque le rapport est historisé                                                                                                                                                            |

**Cas concrets**

* **Ajout d'un rapport** : historisation potentielle d'un ancien rapport (et donc de l'intervention et de ses anomalies reliées).
* **Supprimer un rapport actif** : rend actif le ou les anciens rapports qui avaient au moins 1 périmètre relié (avec son intervention et ses anomalies)
* **Ajouter un cadre (siteRule, equipmentRule) à un rapport historisé** : le rapport est rendu actif ssi il n'y a pas de rapport plus récent qui couvre le cadre.
* **Ajouter un cadre à un rapport actif** : doit vérifier s'il n'y a pas un autre rapport actif qui couvrait ce cadre. S'il y en avait un, et que c'était le dernier cadre non couvert, ça historise l'ancien rapport. (⇒ même process que ajout d'un rapport)
* **Supprimer un cadre d'un rapport actif** : doit vérifier s'il n'y a pas un autre rapport actif avec ce même cadre. Si le dernier en date est historisé, il faut le rendre à nouveau actif, avec ses anomalies et son intervention. (⇒ même process que supprimer un rapport actif)

**Pas d'effets :**

* Supprimer un rapport historisé
* Supprimer un cadre d'un rapport historisé
* Ajouter une intervention
* Supprimer un cadre d'une intervention historisée
* Ajouter un cadre à une intervention active
* Ajouter / supprimer une anomalie

### Stocker en base VS calculer l'historisation des éléments

On doit stocker l'information d'historisation, car il faut faire la filtration de ces éléments dans l'affichage.

### Décision

<Tip>
  On garde un seul processus d'historisation pour les cadre de registre ET de plan maintenance afin de simplifier la gestion sur le long terme. Toutefois, un système sur mesure doit être mise en place pour avoir la possibilité rendre optionnel un rapport dans une intervention.
</Tip>

### Réflexion écartée

* **Ajouter un cadre à une intervention historisée** : ça dé-historise l'intervention si c'est cadre de registre (mais pas si c'est un cadre de plan de maintenance)
* **Ajouter une intervention :** si le cadre de l'intervention couvre un ou plusieurs cadres d'interventions ultérieures ET que les cadres sont de plan de maintenance ALORS les anciennes interventions sont historisées.
