إنتقل إلى المحتوى الرئيسي

ADR 0007 — Five Stitch modules are mobile role shells

Status: accepted
Date: 2026-09-19
Supersedes: ADR 0004 on client placement

Context​

AFIA-resources/design.txt lists five Stitch projects as peers: Patient, Médecin, Admin, Imagerie, Laboratoire. ADR 0004 put Admin (and maybe imaging or lab) on web because afia-web omits an Admin card. That was an inference from marketing copy, not from the resource list. The operator corrected it. All five designs are mobile.

Decision​

One Flutter binary (afia-app) hosts five role shells. One shell per Stitch module.

Stitch moduleRole shell in afia-app
Patientpresentation/patient/
Médecinpresentation/clinician/
Adminpresentation/admin/
Imageriepresentation/diagnostics/ with kind=IMAGING
Laboratoirepresentation/diagnostics/ with kind=LAB

afia-web stays landing plus legal pages. It is not an admin console and not an imaging or lab worklist.

Role gates the shell. A PATIENT session does not open Admin, Imagerie, or Laboratoire screens. That is authorization, not a second client.

Still one store listing. Still one /app-version. Still one API.

Consequences​

  • Privileged admin UI ships in the consumer binary. Hide it behind the ADMIN role.
  • Imaging and lab stay mobile worklists that share diagnostics.
  • ADR 0004's "admin later as web" path is closed unless a later ADR reopens it.