Créer une demande de substitution tracée
POST/pharmacy/v0/sessions/:sessionId/substitutions
Crée une SubstitutionRequest en statut PENDING (P31 : « record the
substituted code and rationale »). Idempotence canonique par
fingerprint : même clé + même corps → ressource existante ; même clé
- corps différent → 409. Mêmes gates que les suggestions (session OPEN + identification active).
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 409
- 422
Demande de substitution créée (ou rejeu conforme)
En-tête X-Idempotency-Key absent ou invalide
Non authentifié
Rôle insuffisant
Session introuvable, hors périmètre, ou absence d'identification active du patient (anti-énumération)
Session non ouverte, ou même clé d'idempotence avec un corps différent (IdempotencyConflict)
Corps de requête invalide (originalItemCode/proposedItemCode requis)