medicationPart of the Travi AI Agent monolith (
app/modules/medication/). Read00-overview.md§3 (hard rules) before changing anything here.
| Purpose | The four separate truths about a medication, instruction, transmission, access, use, kept physically separate so they can never be conflated. |
| Owns (data) | medication_plan_item, medication_status_event |
| Public surface | /medications, /medications/{id}/status |
| Depends on | compiler (plan-item publication), episode (med tasks), agents (med-access evidence) |
| Requirements owned | MED-003/005/006/010 |
| Constraining ADRs | ADR-009 |
| Key references | reference/data-model.md §6.3 |
evidence_class=patient_report serializes verified:false and the UI badge binds to that flag, a self-report must never look like a pharmacy-confirmed dispense.cannot_do requires a barrier_code (cost, stock, transport, confusion, side_effect, other) and opens the matching automation flow, never free text, never silence.