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 - GA |
|
| Perform | Released - GA | |
| Instruct | Released - GA | |
| Diagnose | Released - GA |
|
| Lab Order | Released - GA |
|
| Family History | Released - GA | |
| Allergy | Released - GA | |
| Remove Allergy | Released - GA | |
| Surgical History | Released - GA | |
| Medical History | Released - GA | |
| Task | Released - GA |
|
| Refill | Released - GA |
|
| Vitals | Released - GA |
|
| Change Diagnosis | Released - GA | |
| Close Goal | Released - GA | |
| Educational Material | Released - GA |
|
| Image | Released - GA |
|
| Snooze Protocol | Released - GA | |
| Immunization Statement | Released - GA | |
| Immunize | Released - GA | |
| Physical Exam | Released - GA | |
| Review of Systems | Released - GA | |
| Resolve Condition | Released - GA | |
| Structured Assessment | Released - GA | |
| Refer | Released - GA | |
| Follow Up | Released - GA | |
| Adjust Prescription | Released - Beta |
|
| Change Medication | Released - Beta | |
| Chart Section Review | Released - Beta |
|
| Lab Review | ||
| Imaging Review | ||
| Consult Report Review | ||
| Uncategorized Document Review | ||
| Approve Refill | ||
| Deny Refill |