WP-08 exchange
Read projection of diagnostics. Not a second store. Envelope: envelope.md.
Workflow
- Diagnostics already has a
DiagnosticResultfor the patient (WP-07). - The patient GETs
/api/v1/afia/results. - The API calls the diagnostics owner and returns a projection (
summary,kind,orderId). - The patient package writes nothing. Submit stays on WP-07 and stays forbidden for this role.
Wire
GET /api/v1/afia/results
res { data: [ { "orderId", "kind", "summary", "artifactUri"? } ], ... }
No POST on this path.
Errors: missing session, not a patient.
Ownership
WP-08 writes health.afia.app.patient.results and lib/*/patient/results/. Shared language is still DiagnosticResult. Persistence stays in diagnostics.
Does not do
Result inserts. Class internals. Invented timelines.