Add medication-followup-protocol plugin - #441
Open
milosdjakovic-vicert wants to merge 2 commits into
Open
Conversation
milosdjakovic-vicert
force-pushed
the
vicert/medication-followup-protocol
branch
from
August 31, 2026 08:31
88e8f1e to
6772ac9
Compare
A practice defines a medication class as a list of timed steps. A provider enrols a patient onto one from the note, and a daily scheduled walk runs whatever is due. Coverage is a classification path from the FDB catalogue rather than a product identifier, so one entry covers every strength and form of a drug without anybody picking them one at a time. The enrolment control appears in the note header only when a committed prescription on that note matches a configured class, so it is absent on the notes it has nothing to offer. A step is a day offset, one of three kinds, its content, and optionally a condition. The kinds are a message to the patient, a questionnaire in the portal, and a task for a team or a named person. The one condition is whether the recheck appointment is still unbooked, evaluated on the morning the step is due rather than remembered from when the programme started. MIT, matching the rest of the repository, declared in the manifest and in pyproject rather than only in the LICENSE file. Vicert is named as the developer, since Canvas Medical holds the copyright and is the party releasing it. 269 tests, each naming the acceptance criterion or scenario it covers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0146jL4PrwZ8ZVfUFBp1wi7Q
milosdjakovic-vicert
force-pushed
the
vicert/medication-followup-protocol
branch
from
August 31, 2026 14:48
6772ac9 to
9eb4ced
Compare
One follow ups pane for both scopes, the chart control and the note control open the same page, the chart one grouping program cards under each note with a link that scrolls the chart to it, the note one filtering to that note. The program dropdown is gone, every matched program is its own card with status badges, and starting a program late opens a catch up dialog with checkboxes for the steps already due. Programs are created deactivated and cannot be activated until they carry at least one step, enforced on the server and reflected by the Activate and Deactivate controls. Starting or stopping a program refreshes the chart controls live. The coverage search now matches group names as well as drug names, so typing statins finds the Statins group the way typing atorvastatin always did, with the classification path shown as context on a row found by name. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A practice defines a medication class as a list of timed steps. A provider enrols a patient onto one from the note, and a daily scheduled walk runs whatever is due.
What it adds
Coverage
Coverage is a classification path from the FDB catalogue rather than a product identifier. Picking a medication group stores the whole path, so one entry covers every strength and form of a drug without anybody picking them one at a time.
Steps
A step is a day offset, one of three kinds, its content, and optionally a condition. The kinds are a message to the patient, a questionnaire in the portal, and a task for a team or a named person. The one condition is whether the recheck appointment is still unbooked, and it is evaluated on the morning the step is due rather than remembered from when the programme started.
Tests
269 tests pass. Every one carries, verbatim, the acceptance criterion identifier or the scenario title it covers, so one grep over
tests/produces the whole mapping between the behaviour contract and the code.Custom data namespace is
vicert__medication_followup_protocol, matching the convention already used bysalesforce-to-canvas-integration.