Lab Order Favorites | Canvas Medical

JessicaHerbert/lab-order-favorites

Lab Order Favorites

What it does

Lab Order Favorites lets staff save reusable lab orders - a single test or a multi-test panel from one lab partner - and drop them into a patient's note as staged lab order commands, one or more at a time.

Problem it solves

Providers reorder the same labs constantly - a single recurring test or a standard panel from one lab partner - and rebuild each Lab order command by hand every visit. That is slow and error-prone, and a stale or wrong test code can reach the chart. This plugin turns a recurring order into a one- or two-click insert, validates every code against the live catalog first, and lets a group standardize on shared panels.

Who it's for

Ordering providers and clinical staff who place lab orders repeatedly, and practice/lab leads who want to seed and maintain a shared library of standard panels for the group.

How to install

Install with the Canvas CLI, pointing at the plugin package directory:

canvas install lab_order_favorites --host <your-instance>

The plugin declares the custom-data namespace canvas_medical__lab_order_favorites (granted automatically on install) and respects the lab partners and tests already configured in the instance - there are no seeded/default favorites. Populate them in the config app or via CSV upload.

To manage or remove it:

canvas disable lab_order_favorites --host <your-instance>
canvas enable  lab_order_favorites --host <your-instance>
canvas uninstall lab_order_favorites --host <your-instance>

Configuration options

Variable Sensitive Purpose
SHARED_FAVORITE_EDITORS no Comma-separated staff keys allowed to edit/delete shared favorites, in addition to each favorite's author. Empty = shared favorites are author-only. (The root superuser may always edit.)

Set it at install time if desired:

canvas install lab_order_favorites --host <your-instance> --variable SHARED_FAVORITE_EDITORS=<key1>,<key2>

Per-favorite settings (in the config app): lab partner, tests, tags, personal vs shared, an optional default ordering provider (active staff with a usable NPI), an optional default comment, default ICD-10 diagnosis codes, and a fasting flag.

Bulk upload (CSV)

Column Required Example Notes
name yes Annual Wellness Panel Favorite name
lab_partner yes LabCorp Matched by exact name against active partners, else by partner ID; ambiguous names are rejected
test_order_codes yes 001453;322000;001065 ;-separated order codes, all for that partner
tags no wellness;annual ;-separated
is_shared no true true/false (default true)
fasting_required no false true/false (default false)
comment no Fasting 8h preferred Default command comment
diagnosis_codes no Z00.00;E11.9 ;-separated ICD-10

Upload validates every row against the live catalog and shows a preview (ready vs error rows) before import.

Screenshots