Architecture Technique — Plexir MVP

Version : 0.1

Responsable : CTO

1. Objectif architecture

Construire une plateforme mobile permettant :

  • gestion utilisateurs multi-rôles ;
  • création prescription numérique ;
  • historique patient ;
  • validation pharmacie ;
  • traçabilité complète.

2. Architecture générale

```text

            Flutter Mobile App

      Roles:
      - Patient
      - Médecin
      - Pharmacien


                |
                |
                v


          Laravel API


                |
    -------------------------
    |                       |
    v                       v

PostgreSQL Services externes

                     |
                     |
             IA transcription
  1. Applications Application mobile

Technologie :

Flutter

Rôles :

Patient Médecin Pharmacien

Backend

Technologie :

Laravel

Responsabilités :

authentification ; autorisation ; logique métier ; gestion prescriptions ; audit. Base de données

Technologie :

PostgreSQL

Responsabilités :

données utilisateurs ; prescriptions ; médicaments ; événements. Interface web

MVP :

Administration minimale.

Post-MVP :

Portail laboratoire analytics.


/docs/04-technical/domain-model.md

```markdown

Domain Model — Plexir MVP

Entités principales

User

Représente une personne utilisant Plexir.

Types :

  • Patient
  • Médecin
  • Pharmacien

Champs :

id name email phone role created_at


Doctor

Profil professionnel médecin.

id user_id speciality order_number verification_status


Patient

Profil patient.

id user_id date_of_birth


Pharmacy

id user_id name address verification_status


Prescription

Entité centrale.

id

doctor_id

patient_id

status

created_at

validated_at

Statuts :

DRAFT

VALIDATED

VIEWED

DISPENSED

CLOSED


Prescription Item

Médicament prescrit.

id

prescription_id

medication_id

dosage

frequency

duration

quantity


Medication

Référence médicament.

id

name

active_ingredient

laboratory_id


Dispensation

Confirmation pharmacie.

id

prescription_id

pharmacy_id

confirmed_at


Audit Event

Traçabilité.

id

entity_type

entity_id

action

user_id

timestamp