WP-03 exchange
Contract type ClinicianProfile. Envelope: envelope.md.
Workflow
- A clinician session GETs
/api/v1/afia/clinician/profile. - The API returns
accountIdandspecialty. - The client writes
specialty. - The API returns the same profile row.
Wire
GET /api/v1/afia/clinician/profile
res { data: { "accountId", "specialty" }, status, message, errors }
Write:
req { "specialty": "..." }
res { data: { "accountId", "specialty" }, ... }
Errors: missing session, not a clinician, validation on specialty.
Ownership
WP-03 writes health.afia.app.clinician.profile and lib/*/clinician/profile/. Shared language is ClinicianProfile.
Does not do
Agenda or encounter JSON. Class internals. Invented screens.