Skip to content

Treatment plans

The treatment plans module is the hub that ties the patient to their planned treatments, the budget that backs them, and the odontogram they are performed on. It runs the full clinical-meets- commercial workflow: draft → pending → active → completed, with branches to closed (rejected, expired, cancelled, abandoned).

A plan groups everything you intend to do for the patient, keeps it in sync with a budget, marks executions when a treatment is performed on the odontogram or an appointment is completed, and publishes events for recalls, timeline, and other modules.

Screens

  • Plans inbox — five-tab inbox (Drafts / Pending / Active / Completed / Closed) plus the follow-up pipeline.
  • Plan detail — edit items, move through states, mark treatments as done, see the linked budget, and record contacts.
  • New plan — create a plan for a patient.

Quick reference

ActionRequired permission
View inbox, detail, and pipelinetreatment_plan.plans.read
Create/edit plans, add or reorder items, log contactstreatment_plan.plans.write
Confirm a plan (draft → pending)treatment_plan.plans.confirm
Close a plantreatment_plan.plans.close
Reactivate a closed plantreatment_plan.plans.reactivate
  • Patients / Odontogram / Catalog — sources for the plan: the catalog defines possible treatments, the odontogram says where they go.
  • Budget — confirming a plan creates/keeps in sync a linked budget via snapshot events (treatment_plan.treatment_added / _removed / budget_sync_requested). Accepting the budget on the budget module moves the plan to active.
  • Agenda — completing an appointment marks linked planned items as performed.
  • Recalls — completing a treatment (with treatment_category_key) drives a recall suggestion.
  • Media — clinical attachments for the plan (x-rays, photos) live in media.
  • Clinical notes — execution-time notes live in their own module since issue #60. Plans no longer store note_body themselves.