Beta | Commands Module

Overview #

The commands module is a new, standardized framework for building commands in Canvas. In this new framework, commands are defined by two elements:

  1. The form: This is what the user sees in the front-end. It consists of the fields that the user can fill out, the actions the user can take, and how the command is laid out on the screen.

  2. The event handler: This is Python code that carries out actions depending on actions the user takes in the user-facing form.

Expected benefits #

Commands migrated to the new framework will function similarly if not identically (minus any confusing quirks or bugs!).However, the following are benefits that we anticipate with SDK commands:

Current State #

  • Improved performance. The framework dramatically simplifies the data model behind commands in Canvas, and we expect that this much simpler data model will have a noticeable impact on note load times.
  • Zero chance for data loss to occur. The simpler data model allows information to be captured consistently at several layers in the application – starting with the user’s browser cache – which means that your data is persisted in some form as soon as it’s entered.
  • Consistent keyboard controls. The framework uses built-in browser accessibility features to provide a first-class keyboard navigation experience across all commands.
  • Carry forward previous respones The ability to pull forward the last recorded response will be available more widely across commands.
  • Add partially complete commands to automations. Migrated commands can be added to automations before they are committed, allowing users to include commands that are not fully filled out.

Read more about SDK commands.

Future State #

  • A fully-auditable command lifecycle. The framework tracks all changes to a command over time, which will enable detailed auditing, as well as version control features in the future.
  • Customizable commands. The framework will enable customers to customize existing commands and create new ones by implementing a simple interface consisting of a form and one or more event handlers (roughly outlined above).
  • Editing committed commands. In order to maintain a complete audit trail, current commands cannot be edited after they have been committed. Instead, they must be entered-in-error and re-created, which is cumbersome and often annoying. The framework abstracts this requirement away, allowing commands to be edited after they are committed by handling the enter-in-error and re-creation lifecycle seamlessly behind the scenes.

Progress #

CommandStatusChanges
Plan Released - GA
HPI Released - GA
Reason for Visit Released - GA
Stop Medication Released - Beta
Questionnaire Released - GA
  • No longer supports same encounter carry forward setting
  • Comment bubbles always show and are color coded to indicate whether content is present (yellow)
  • Blank free text responses will no longer print with the question name (i.e ~TXT~)
  • Assess Released - GA
  • Assessing from the condition list adds an uncommitted command directly into the note (based on cursor placement), rather than opening a modal
  • Goal Released - GA
    Update Goal Released - GA
    Medication Statement Released - Beta
    Prescribe Released - Beta
  • Adds max refill validation for epcs
  • Limits to 2 indications
  • Task In Progress
    Diagnose In Progress
    Perform In Progress
    Lab Order Next up
    Refill Next up
    Image Next up
    Immunization Statement Next up
    Refer Next up