🔧 Résumé Technique

Caredeal - Resume Technique De L'Application

1. Presentation Generale

CareDeal est une application mobile Flutter de mise en relation entre :

L'application permet aux patients de creer des demandes de soins et aux

professionnels de sante de consulter et repondre a ces demandes.

Marche cible : Belgique (code pays par defaut +32)

2. TYPES D'UTILISATEURS (UserType)

Fichier source : lib/core/domain/entities/user_type.dart

Trois types d'utilisateurs :

a) PATIENT

b) CAREGIVER (Infirmier/Infirmiere)

c) ORGANIZATION (Entreprise/Organisation)

3. Flux D'Inscription

A) Patient (onboarding module)

Fichiers principaux :

Etapes :

1. Selection du role (Patient ou Caregiver)

2. Saisie du numero de telephone

3. Verification par SMS (code OTP 6 chiffres)

4. Creation du compte dans Firebase Auth

5. Creation de l'entite User en base de donnees

B) Caregiver/Organization (caregiver module)

Fichiers principaux :

Etapes :

1. Selection du type (Caregiver individuel ou Organization)

2. Saisie du numero INAMI (11 chiffres)

3. Creation du profil (nom, prenom, email, langues acceptees)

4. Definition de la zone d'activite (geolocalisation)

5. Upload des documents d'identite (recto + verso)

6. Verification du numero de telephone par SMS

7. Confirmation du code SMS

8. Validation et creation du compte

4. DEMANDES DE SOINS (CareRequest)

Fichier source : lib/modules/carerequest/domain/entities/carerequest_entity.dart

Champs principaux d'une demande :

5. TYPES DE CONTACT (ContactPersonType)

Fichier source : lib/core/domain/entities/contact_person_type.dart

Enum definissant qui fait la demande :

IMPORTANT : Il n'existe PAS de role "assistante sociale" dans l'application.

Les assistantes sociales utilisent le type "professional" lors de la creation

d'une demande de soins pour un patient.

6. Gestion Des Numeros De Telephone

A) Pour les Patients :

B) Pour les Caregivers :

C) Dans les demandes de soins :

Logique (lib/modules/carerequest/presentation/controllers/carerequest_form_controller.dart, ligne 238):

7. Statuts Des Demandes De Soins

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

Il n'y a PAS d'enum "status" explicite. Le statut est determine par combinaison de champs :

A) arrangedForPatient (bool?) :

B) arrangedForCareGiver (Map) :

C) active (bool) :

Etats calcules (request_card_controller.dart) :

8. Actions Sur Les Demandes

Fichier source : lib/modules/home/presentation/controllers/request_detail_screen_controller.dart

A) Marquer comme organisee (markAsArranged) :

B) Annuler une demande :

C) Appeler un patient (initiateCall) :

9. Architecture Technique

10. Questions/Points D'Attention

a) Le terme "assistante sociale" n'existe pas dans le code

-> Utilise ContactPersonType.professional

b) Les termes "organisee" et "planifiee" sont utilises de maniere interchangeable

-> Correspondent tous deux a arrangedForPatient = true

c) Verification des caregivers :

-> Statut initial = pendingVerification

-> Un admin doit les valider pour passer a "active"