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:
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.
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.
- A fully-auditable command lifecycle. The framework tracks all changes to a command over time, allowing for detailed auditing and the ability to revert to previous changes.
Future State #
- 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 #
Command | Status | Changes |
---|---|---|
Plan | Released - GA | |
HPI | Released - GA | |
Reason for Visit | Released - GA | |
Stop Medication | Released - GA | |
Questionnaire | Released - GA |
|
Assess | Released - GA |
|
Goal | Released - GA | |
Update Goal | Released - GA | |
Medication Statement | Released - GA | |
Prescribe | Released - Beta |
|
Perform | Released - GA | |
Instruct | Released - GA | |
Diagnose | Released - Beta |
|
Lab Order | Released - Beta |
|
Family History | Released - GA | |
Allergy | Released - GA | |
Remove Allergy | Released - GA | |
Surgical History | Released - GA | |
Medical History | Released - GA | |
Task | Released - Beta |
|
Refill | Released - Beta |
|
Vitals | Released - Beta |
|
Change Diagnosis | Released - Beta | |
Close Goal | Released - GA | |
Educational Material | Released - GA |
|
Image | Released - Beta |
|
Snooze Protocol | Released - Beta | |
Immunization Statement | Released - Beta | |
Immunize | Released - Beta | |
Physical Exam | Released - Beta | |
Review of Systems | Released - Beta | |
Structured Assessment | Released - Beta | |
Refer | ||
Follow Up |