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 commands SDK:

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 committing, allowing users to include commands that are not fully filled out.

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 #

CommandStatus
Plan Released - GA
HPI Released - GA
Reason for Visit Released - GA
Stop Medication Released - Beta
Questionnaire Released - GA
Assess Released - GA
Goal Released - GA
Update Goal Released - GA
Medication Statement Released - Beta
Prescribe In Progress
Task In Progress
Lab Order Next up
Refill Next up
Image Next up
Diagnose Next up
Immunization Statement Next up
Refer Next up