📋 UC08: Statut Organisé

USE CASE UC08 : STATUT "ORGANISEE" D'UNE DEMANDE

Ce document explique comment fonctionne le statut "organise" des

demandes de soins et qui peut le modifier.

Les termes "ORGANISEE" et "PLANIFIEE" sont SYNONYMES.

Il n'y a PAS de difference entre ces deux termes.

Dans l'application, un seul statut existe : "arrangee" (arranged en anglais).

1. Comprendre Les Statuts

IMPORTANT : Il n'y a PAS d'enum "status" explicite dans le code.

Le statut est determine par la combinaison de plusieurs champs.

Champs Utilises

A) active (bool) :

B) arrangedForPatient (bool?) :

C) arrangedForCareGiver (Map) :

Terminologie

Les termes "organisee" et "planifiee" sont SYNONYMES - il n'y a aucune difference.

Dans le code : arrangedForPatient = true signifie que les soins sont organises.

2. Etats Possibles D'Une Demande

Fichier : lib/core/presentation/controllers/request_card_controller.dart

1. EN COURS (Ongoing) :

-> La demande vient d'etre creee, en attente de reponse

2. ORGANISEE (Arranged) :

-> Un soignant a ete trouve, les soins sont planifies

3. ANNULEE (Cancelled) :

-> La demande a ete annulee avant d'etre organisee

4. TERMINEE (Completed) :

-> Les soins ont ete dispenses et sont termines

3. Qui Peut Marquer Une Demande Comme "Organisee" ?

A) LE PATIENT (ou la personne ayant cree la demande)

Cas D'Utilisation

ACTION :

Code Source

lib/modules/home/presentation/controllers/request_detail_screen_controller.dart

```dart

Future markAsArranged({

required String uuid,

bool? arrangedForPatient,

Map? arrangedForCareGiver,

}) async {

// ...

if (arrangedForCareGiver == null) {

// Patient marking as arranged

await arrangedRepo.call(requestId: uuid, arrangedForPatient: true);

// ...

B) L'INFIRMIERE (Caregiver)

Cas D'Utilisation

ACTION :

Code Source

```dart

if (arrangedForCareGiver != null) {

await arrangedRepo.call(

requestId: uuid,

arrangedForCareGiver: arrangedForCareGiver,

// ...

Difference Importante

4. Conditions Pour Marquer Comme "Organisee"

Pour Le Patient

Pour L'Infirmiere

5. Changements Visibles Pour Les Utilisateurs

QUAND LE PATIENT MARQUE COMME "ORGANISEE" :

Pour le patient :

Pour les infirmieres :

(selon les regles metier definies)

QUAND L'INFIRMIERE MARQUE COMME "ARRANGEE" :

Pour l'infirmiere :

Pour le patient :

6. Annulation D'Un Arrangement

Le Patient Peut

L'Infirmiere Peut

Code Source

lib/modules/home/presentation/controllers/request_detail_screen_controller.dart

7. Use Case Complet : Cycle De Vie

1. CREATION (Patient)

-> Statut : EN COURS

2. INFIRMIERE ARRANGE (optionnel)

-> L'infirmiere a arrange de son cote

-> Le patient n'a pas encore confirme

3. Patient Confirme

-> Statut : ORGANISEE

4. SOINS TERMINES (eventuellement)

-> Statut : TERMINEE

Ou Annulation

3bis. PATIENT ANNULE

-> Statut : ANNULEE

8. References Techniques

Entite :

Use Case :

Controllers :

Repository :

Providers :