canvas 0.15.0__py3-none-any.whl → 0.17.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of canvas might be problematic. Click here for more details.
- {canvas-0.15.0.dist-info → canvas-0.17.0.dist-info}/METADATA +25 -31
- {canvas-0.15.0.dist-info → canvas-0.17.0.dist-info}/RECORD +70 -53
- {canvas-0.15.0.dist-info → canvas-0.17.0.dist-info}/WHEEL +1 -1
- canvas-0.17.0.dist-info/entry_points.txt +2 -0
- canvas_cli/apps/plugin/plugin.py +1 -1
- canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +6 -3
- canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +4 -1
- canvas_cli/utils/validators/manifest_schema.py +9 -2
- canvas_generated/messages/effects_pb2.py +2 -2
- canvas_generated/messages/effects_pb2.pyi +14 -0
- canvas_generated/messages/events_pb2.py +2 -2
- canvas_generated/messages/events_pb2.pyi +40 -0
- canvas_sdk/commands/tests/protocol/tests.py +12 -2
- canvas_sdk/commands/tests/test_utils.py +4 -9
- canvas_sdk/effects/banner_alert/tests.py +5 -2
- canvas_sdk/effects/launch_modal.py +14 -3
- canvas_sdk/handlers/action_button.py +33 -16
- canvas_sdk/templates/__init__.py +3 -0
- canvas_sdk/templates/tests/__init__.py +0 -0
- canvas_sdk/templates/tests/test_utils.py +43 -0
- canvas_sdk/templates/utils.py +44 -0
- canvas_sdk/utils/http.py +1 -1
- canvas_sdk/v1/data/__init__.py +23 -1
- canvas_sdk/v1/data/allergy_intolerance.py +22 -2
- canvas_sdk/v1/data/appointment.py +56 -0
- canvas_sdk/v1/data/assessment.py +40 -0
- canvas_sdk/v1/data/base.py +35 -22
- canvas_sdk/v1/data/billing.py +2 -2
- canvas_sdk/v1/data/care_team.py +60 -0
- canvas_sdk/v1/data/command.py +1 -1
- canvas_sdk/v1/data/common.py +53 -0
- canvas_sdk/v1/data/condition.py +19 -3
- canvas_sdk/v1/data/coverage.py +294 -0
- canvas_sdk/v1/data/detected_issue.py +1 -0
- canvas_sdk/v1/data/lab.py +26 -3
- canvas_sdk/v1/data/medication.py +13 -3
- canvas_sdk/v1/data/note.py +5 -1
- canvas_sdk/v1/data/observation.py +15 -3
- canvas_sdk/v1/data/patient.py +140 -1
- canvas_sdk/v1/data/protocol_override.py +18 -2
- canvas_sdk/v1/data/questionnaire.py +15 -2
- canvas_sdk/value_set/hcc2018.py +55369 -0
- plugin_runner/plugin_installer.py +21 -13
- plugin_runner/plugin_runner.py +67 -14
- plugin_runner/sandbox.py +28 -0
- plugin_runner/tests/fixtures/plugins/test_render_template/CANVAS_MANIFEST.json +47 -0
- plugin_runner/tests/fixtures/plugins/test_render_template/README.md +11 -0
- plugin_runner/tests/fixtures/plugins/test_render_template/protocols/__init__.py +0 -0
- plugin_runner/tests/fixtures/plugins/test_render_template/protocols/my_protocol.py +43 -0
- plugin_runner/tests/fixtures/plugins/test_render_template/templates/template.html +10 -0
- plugin_runner/tests/test_plugin_runner.py +37 -51
- plugin_runner/tests/test_sandbox.py +21 -1
- protobufs/canvas_generated/messages/effects.proto +225 -0
- protobufs/canvas_generated/messages/events.proto +1049 -0
- protobufs/canvas_generated/messages/plugins.proto +9 -0
- protobufs/canvas_generated/services/plugin_runner.proto +12 -0
- settings.py +14 -1
- canvas-0.15.0.dist-info/entry_points.txt +0 -3
- plugin_runner/plugin_synchronizer.py +0 -92
|
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from canvas_generated.messages import effects_pb2 as canvas__generated_dot_messages_dot_effects__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&canvas_generated/messages/events.proto\x12\x06\x63\x61nvas\x1a\'canvas_generated/messages/effects.proto\"^\n\x05\x45vent\x12\x1f\n\x04type\x18\x01 \x01(\x0e\x32\x11.canvas.EventType\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontext\x18\x03 \x01(\t\x12\x13\n\x0btarget_type\x18\x04 \x01(\t\"A\n\rEventResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x1f\n\x07\x65\x66\x66\x65\x63ts\x18\x02 \x03(\x0b\x32\x0e.canvas.Effect*\xab\xd5\x01\n\tEventType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x1f\n\x1b\x41LLERGY_INTOLERANCE_CREATED\x10\x01\x12\x1f\n\x1b\x41LLERGY_INTOLERANCE_UPDATED\x10\x02\x12\x18\n\x14\x41PPOINTMENT_CANCELED\x10\x04\x12\x1a\n\x16\x41PPOINTMENT_CHECKED_IN\x10\x05\x12\x17\n\x13\x41PPOINTMENT_CREATED\x10\x06\x12\x19\n\x15\x41PPOINTMENT_NO_SHOWED\x10\x07\x12\x1b\n\x17\x41PPOINTMENT_RESCHEDULED\x10\x08\x12\x18\n\x14\x41PPOINTMENT_RESTORED\x10\t\x12\x17\n\x13\x41PPOINTMENT_UPDATED\x10\n\x12\x1d\n\x19\x42ILLING_LINE_ITEM_CREATED\x10\x0b\x12\x1d\n\x19\x42ILLING_LINE_ITEM_UPDATED\x10\x0c\x12\x16\n\x12\x43ONDITION_ASSESSED\x10\r\x12\x15\n\x11\x43ONDITION_CREATED\x10\x0e\x12\x16\n\x12\x43ONDITION_RESOLVED\x10\x0f\x12\x15\n\x11\x43ONDITION_UPDATED\x10\x10\x12\x13\n\x0f\x43ONSENT_CREATED\x10\x11\x12\x13\n\x0f\x43ONSENT_DELETED\x10\x12\x12\x13\n\x0f\x43ONSENT_UPDATED\x10\x13\x12\x14\n\x10\x43OVERAGE_CREATED\x10\x14\x12\x14\n\x10\x43OVERAGE_UPDATED\x10\x15\x12\x15\n\x11\x45NCOUNTER_CREATED\x10\x16\x12\x15\n\x11\x45NCOUNTER_UPDATED\x10\x17\x12\x1a\n\x16IMAGING_REPORT_CREATED\x10\x1a\x12\x1a\n\x16IMAGING_REPORT_UPDATED\x10\x1b\x12\x18\n\x14IMMUNIZATION_CREATED\x10\x1c\x12\"\n\x1eIMMUNIZATION_STATEMENT_CREATED\x10\x1d\x12\"\n\x1eIMMUNIZATION_STATEMENT_UPDATED\x10\x1e\x12\x18\n\x14IMMUNIZATION_UPDATED\x10\x1f\x12\x17\n\x13INSTRUCTION_CREATED\x10 \x12\x17\n\x13INSTRUCTION_UPDATED\x10!\x12\x15\n\x11INTERVIEW_CREATED\x10\"\x12\x15\n\x11INTERVIEW_UPDATED\x10#\x12\x15\n\x11LAB_ORDER_CREATED\x10$\x12\x15\n\x11LAB_ORDER_UPDATED\x10%\x12\x16\n\x12LAB_REPORT_CREATED\x10&\x12\x16\n\x12LAB_REPORT_UPDATED\x10\'\x12 \n\x1cMEDICATION_LIST_ITEM_CREATED\x10(\x12 \n\x1cMEDICATION_LIST_ITEM_UPDATED\x10)\x12\x13\n\x0fMESSAGE_CREATED\x10*\x12\x13\n\x0fPATIENT_CREATED\x10+\x12\x13\n\x0fPATIENT_UPDATED\x10,\x12\x18\n\x14PRESCRIPTION_CREATED\x10-\x12\x18\n\x14PRESCRIPTION_UPDATED\x10.\x12\x1b\n\x17REFERRAL_REPORT_CREATED\x10/\x12\x1b\n\x17REFERRAL_REPORT_UPDATED\x10\x30\x12\x18\n\x14TASK_COMMENT_CREATED\x10\x33\x12\x10\n\x0cTASK_CREATED\x10\x36\x12\x18\n\x14TASK_LABELS_ADJUSTED\x10\x37\x12\x10\n\x0cTASK_UPDATED\x10\x39\x12\x16\n\x12VITAL_SIGN_CREATED\x10:\x12\x16\n\x12VITAL_SIGN_UPDATED\x10;\x12\x08\n\x04\x43RON\x10<\x12 \n\x1c\x43\x41RE_TEAM_MEMBERSHIP_CREATED\x10=\x12 \n\x1c\x43\x41RE_TEAM_MEMBERSHIP_UPDATED\x10>\x12 \n\x1c\x43\x41RE_TEAM_MEMBERSHIP_DELETED\x10?\x12#\n\x1fNOTE_STATE_CHANGE_EVENT_CREATED\x10@\x12#\n\x1fNOTE_STATE_CHANGE_EVENT_UPDATED\x10\x41\x12\x1b\n\x17PATIENT_ADDRESS_CREATED\x10\x42\x12\x1b\n\x17PATIENT_ADDRESS_UPDATED\x10\x43\x12\x1b\n\x17PATIENT_ADDRESS_DELETED\x10\x44\x12\"\n\x1ePATIENT_CONTACT_PERSON_CREATED\x10\x45\x12\"\n\x1ePATIENT_CONTACT_PERSON_UPDATED\x10\x46\x12\"\n\x1ePATIENT_CONTACT_PERSON_DELETED\x10G\x12!\n\x1dPATIENT_CONTACT_POINT_CREATED\x10H\x12!\n\x1dPATIENT_CONTACT_POINT_UPDATED\x10I\x12!\n\x1dPATIENT_CONTACT_POINT_DELETED\x10J\x12\x1d\n\x19PROTOCOL_OVERRIDE_CREATED\x10K\x12\x1d\n\x19PROTOCOL_OVERRIDE_UPDATED\x10L\x12\x1d\n\x19PROTOCOL_OVERRIDE_DELETED\x10M\x12\x18\n\x14TASK_COMMENT_UPDATED\x10N\x12\x18\n\x14TASK_COMMENT_DELETED\x10O\x12\x12\n\x0e\x44\x45VICE_CREATED\x10P\x12\x12\n\x0e\x44\x45VICE_UPDATED\x10Q\x12\x17\n\x13OBSERVATION_CREATED\x10R\x12\x17\n\x13OBSERVATION_UPDATED\x10S\x12\x1a\n\x16\x44\x45TECTED_ISSUE_CREATED\x10T\x12\x1a\n\x16\x44\x45TECTED_ISSUE_UPDATED\x10U\x12\x0f\n\x0bTASK_CLOSED\x10V\x12\x12\n\x0eTASK_COMPLETED\x10W\x12\x19\n\x15PRE_COMMAND_ORIGINATE\x10\x64\x12\x1a\n\x16POST_COMMAND_ORIGINATE\x10\x65\x12\x16\n\x12PRE_COMMAND_UPDATE\x10\x66\x12\x17\n\x13POST_COMMAND_UPDATE\x10g\x12\x16\n\x12PRE_COMMAND_COMMIT\x10h\x12\x17\n\x13POST_COMMAND_COMMIT\x10i\x12\x16\n\x12PRE_COMMAND_DELETE\x10j\x12\x17\n\x13POST_COMMAND_DELETE\x10k\x12\x1e\n\x1aPRE_COMMAND_ENTER_IN_ERROR\x10l\x12\x1f\n\x1bPOST_COMMAND_ENTER_IN_ERROR\x10m\x12\x1e\n\x1aPRE_COMMAND_EXECUTE_ACTION\x10n\x12\x1f\n\x1bPOST_COMMAND_EXECUTE_ACTION\x10o\x12#\n\x1fPOST_COMMAND_INSERTED_INTO_NOTE\x10p\x12\'\n\"ASSESS_COMMAND__CONDITION_SELECTED\x10\xc8\x01\x12\x31\n,MEDICATION_STATEMENT__MEDICATION__PRE_SEARCH\x10\xc9\x01\x12\x32\n-MEDICATION_STATEMENT__MEDICATION__POST_SEARCH\x10\xca\x01\x12/\n*MEDICATION_STATEMENT__MEDICATION__SELECTED\x10\xcb\x01\x12#\n\x1e\x41LLERGY_COMMAND__PRE_ORIGINATE\x10\xa0\x1f\x12$\n\x1f\x41LLERGY_COMMAND__POST_ORIGINATE\x10\xa1\x1f\x12 \n\x1b\x41LLERGY_COMMAND__PRE_UPDATE\x10\xa2\x1f\x12!\n\x1c\x41LLERGY_COMMAND__POST_UPDATE\x10\xa3\x1f\x12 \n\x1b\x41LLERGY_COMMAND__PRE_COMMIT\x10\xa4\x1f\x12!\n\x1c\x41LLERGY_COMMAND__POST_COMMIT\x10\xa5\x1f\x12 \n\x1b\x41LLERGY_COMMAND__PRE_DELETE\x10\xa6\x1f\x12!\n\x1c\x41LLERGY_COMMAND__POST_DELETE\x10\xa7\x1f\x12(\n#ALLERGY_COMMAND__PRE_ENTER_IN_ERROR\x10\xa8\x1f\x12)\n$ALLERGY_COMMAND__POST_ENTER_IN_ERROR\x10\xa9\x1f\x12(\n#ALLERGY_COMMAND__PRE_EXECUTE_ACTION\x10\xaa\x1f\x12)\n$ALLERGY_COMMAND__POST_EXECUTE_ACTION\x10\xab\x1f\x12!\n\x1c\x41LLERGY__ALLERGY__PRE_SEARCH\x10\xac\x1f\x12\"\n\x1d\x41LLERGY__ALLERGY__POST_SEARCH\x10\xad\x1f\x12\"\n\x1d\x41SSESS_COMMAND__PRE_ORIGINATE\x10\xd8\x36\x12#\n\x1e\x41SSESS_COMMAND__POST_ORIGINATE\x10\xd9\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_UPDATE\x10\xda\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_UPDATE\x10\xdb\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_COMMIT\x10\xdc\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_COMMIT\x10\xdd\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_DELETE\x10\xde\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_DELETE\x10\xdf\x36\x12\'\n\"ASSESS_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\x36\x12(\n#ASSESS_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\x36\x12\'\n\"ASSESS_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\x36\x12(\n#ASSESS_COMMAND__POST_EXECUTE_ACTION\x10\xe3\x36\x12#\n\x1e\x41SSESS__CONDITION__POST_SEARCH\x10\xe4\x36\x12\"\n\x1d\x41SSESS__CONDITION__PRE_SEARCH\x10\xe5\x36\x12&\n CLIPBOARD_COMMAND__PRE_ORIGINATE\x10\x88\x9e\x03\x12\'\n!CLIPBOARD_COMMAND__POST_ORIGINATE\x10\x89\x9e\x03\x12#\n\x1d\x43LIPBOARD_COMMAND__PRE_UPDATE\x10\x8a\x9e\x03\x12$\n\x1e\x43LIPBOARD_COMMAND__POST_UPDATE\x10\x8b\x9e\x03\x12#\n\x1d\x43LIPBOARD_COMMAND__PRE_COMMIT\x10\x8c\x9e\x03\x12$\n\x1e\x43LIPBOARD_COMMAND__POST_COMMIT\x10\x8d\x9e\x03\x12#\n\x1d\x43LIPBOARD_COMMAND__PRE_DELETE\x10\x8e\x9e\x03\x12$\n\x1e\x43LIPBOARD_COMMAND__POST_DELETE\x10\x8f\x9e\x03\x12+\n%CLIPBOARD_COMMAND__PRE_ENTER_IN_ERROR\x10\x90\x9e\x03\x12,\n&CLIPBOARD_COMMAND__POST_ENTER_IN_ERROR\x10\xf9\xa5\x03\x12+\n%CLIPBOARD_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\xad\x03\x12,\n&CLIPBOARD_COMMAND__POST_EXECUTE_ACTION\x10\xcb\xb5\x03\x12\x30\n*CLIPBOARD_COMMAND__POST_INSERTED_INTO_NOTE\x10\xcc\xb5\x03\x12&\n!CLOSE_GOAL_COMMAND__PRE_ORIGINATE\x10\x90N\x12\'\n\"CLOSE_GOAL_COMMAND__POST_ORIGINATE\x10\x91N\x12#\n\x1e\x43LOSE_GOAL_COMMAND__PRE_UPDATE\x10\x92N\x12$\n\x1f\x43LOSE_GOAL_COMMAND__POST_UPDATE\x10\x93N\x12#\n\x1e\x43LOSE_GOAL_COMMAND__PRE_COMMIT\x10\x94N\x12$\n\x1f\x43LOSE_GOAL_COMMAND__POST_COMMIT\x10\x95N\x12#\n\x1e\x43LOSE_GOAL_COMMAND__PRE_DELETE\x10\x96N\x12$\n\x1f\x43LOSE_GOAL_COMMAND__POST_DELETE\x10\x97N\x12+\n&CLOSE_GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\x98N\x12,\n\'CLOSE_GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\x99N\x12+\n&CLOSE_GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\x9aN\x12,\n\'CLOSE_GOAL_COMMAND__POST_EXECUTE_ACTION\x10\x9bN\x12\x30\n+CLOSE_GOAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\x9eN\x12$\n\x1f\x43LOSE_GOAL__GOAL_ID__PRE_SEARCH\x10\x9cN\x12%\n CLOSE_GOAL__GOAL_ID__POST_SEARCH\x10\x9dN\x12$\n\x1f\x44IAGNOSE_COMMAND__PRE_ORIGINATE\x10\xb0m\x12%\n DIAGNOSE_COMMAND__POST_ORIGINATE\x10\xb1m\x12!\n\x1c\x44IAGNOSE_COMMAND__PRE_UPDATE\x10\xb2m\x12\"\n\x1d\x44IAGNOSE_COMMAND__POST_UPDATE\x10\xb3m\x12!\n\x1c\x44IAGNOSE_COMMAND__PRE_COMMIT\x10\xb4m\x12\"\n\x1d\x44IAGNOSE_COMMAND__POST_COMMIT\x10\xb5m\x12!\n\x1c\x44IAGNOSE_COMMAND__PRE_DELETE\x10\xb6m\x12\"\n\x1d\x44IAGNOSE_COMMAND__POST_DELETE\x10\xb7m\x12)\n$DIAGNOSE_COMMAND__PRE_ENTER_IN_ERROR\x10\xb8m\x12*\n%DIAGNOSE_COMMAND__POST_ENTER_IN_ERROR\x10\xb9m\x12)\n$DIAGNOSE_COMMAND__PRE_EXECUTE_ACTION\x10\xbam\x12*\n%DIAGNOSE_COMMAND__POST_EXECUTE_ACTION\x10\xbbm\x12.\n)DIAGNOSE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbem\x12$\n\x1f\x44IAGNOSE__DIAGNOSE__POST_SEARCH\x10\xbcm\x12#\n\x1e\x44IAGNOSE__DIAGNOSE__PRE_SEARCH\x10\xbdm\x12\x30\n+EDUCATIONAL_MATERIAL_COMMAND__PRE_ORIGINATE\x10\x98u\x12\x31\n,EDUCATIONAL_MATERIAL_COMMAND__POST_ORIGINATE\x10\x99u\x12-\n(EDUCATIONAL_MATERIAL_COMMAND__PRE_UPDATE\x10\x9au\x12.\n)EDUCATIONAL_MATERIAL_COMMAND__POST_UPDATE\x10\x9bu\x12-\n(EDUCATIONAL_MATERIAL_COMMAND__PRE_COMMIT\x10\x9cu\x12.\n)EDUCATIONAL_MATERIAL_COMMAND__POST_COMMIT\x10\x9du\x12-\n(EDUCATIONAL_MATERIAL_COMMAND__PRE_DELETE\x10\x9eu\x12.\n)EDUCATIONAL_MATERIAL_COMMAND__POST_DELETE\x10\x9fu\x12\x35\n0EDUCATIONAL_MATERIAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0u\x12\x36\n1EDUCATIONAL_MATERIAL_COMMAND__POST_ENTER_IN_ERROR\x10\xa1u\x12\x35\n0EDUCATIONAL_MATERIAL_COMMAND__PRE_EXECUTE_ACTION\x10\xa2u\x12\x36\n1EDUCATIONAL_MATERIAL_COMMAND__POST_EXECUTE_ACTION\x10\xa3u\x12:\n5EDUCATIONAL_MATERIAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xa8u\x12,\n\'EDUCATIONAL_MATERIAL__TITLE__PRE_SEARCH\x10\xa4u\x12-\n(EDUCATIONAL_MATERIAL__TITLE__POST_SEARCH\x10\xa5u\x12/\n*EDUCATIONAL_MATERIAL__LANGUAGE__PRE_SEARCH\x10\xa6u\x12\x30\n+EDUCATIONAL_MATERIAL__LANGUAGE__POST_SEARCH\x10\xa7u\x12*\n%FAMILY_HISTORY_COMMAND__PRE_ORIGINATE\x10\x80}\x12+\n&FAMILY_HISTORY_COMMAND__POST_ORIGINATE\x10\x81}\x12\'\n\"FAMILY_HISTORY_COMMAND__PRE_UPDATE\x10\x82}\x12(\n#FAMILY_HISTORY_COMMAND__POST_UPDATE\x10\x83}\x12\'\n\"FAMILY_HISTORY_COMMAND__PRE_COMMIT\x10\x84}\x12(\n#FAMILY_HISTORY_COMMAND__POST_COMMIT\x10\x85}\x12\'\n\"FAMILY_HISTORY_COMMAND__PRE_DELETE\x10\x86}\x12(\n#FAMILY_HISTORY_COMMAND__POST_DELETE\x10\x87}\x12/\n*FAMILY_HISTORY_COMMAND__PRE_ENTER_IN_ERROR\x10\x88}\x12\x30\n+FAMILY_HISTORY_COMMAND__POST_ENTER_IN_ERROR\x10\x89}\x12/\n*FAMILY_HISTORY_COMMAND__PRE_EXECUTE_ACTION\x10\x8a}\x12\x30\n+FAMILY_HISTORY_COMMAND__POST_EXECUTE_ACTION\x10\x8b}\x12\x34\n/FAMILY_HISTORY_COMMAND__POST_INSERTED_INTO_NOTE\x10\x90}\x12/\n*FAMILY_HISTORY__FAMILY_HISTORY__PRE_SEARCH\x10\x8c}\x12\x30\n+FAMILY_HISTORY__FAMILY_HISTORY__POST_SEARCH\x10\x8d}\x12)\n$FAMILY_HISTORY__RELATIVE__PRE_SEARCH\x10\x8e}\x12*\n%FAMILY_HISTORY__RELATIVE__POST_SEARCH\x10\x8f}\x12!\n\x1bGOAL_COMMAND__PRE_ORIGINATE\x10\xd0\x8c\x01\x12\"\n\x1cGOAL_COMMAND__POST_ORIGINATE\x10\xd1\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_UPDATE\x10\xd2\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_UPDATE\x10\xd3\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_COMMIT\x10\xd4\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_COMMIT\x10\xd5\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_DELETE\x10\xd6\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_DELETE\x10\xd7\x8c\x01\x12&\n GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x8c\x01\x12\'\n!GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x8c\x01\x12&\n GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x8c\x01\x12\'\n!GOAL_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x8c\x01\x12+\n%GOAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xde\x8c\x01\x12\x37\n1HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_ORIGINATE\x10\xb8\x94\x01\x12\x38\n2HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_ORIGINATE\x10\xb9\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_UPDATE\x10\xba\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_UPDATE\x10\xbb\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_COMMIT\x10\xbc\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_COMMIT\x10\xbd\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_DELETE\x10\xbe\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_DELETE\x10\xbf\x94\x01\x12<\n6HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_ENTER_IN_ERROR\x10\xc0\x94\x01\x12=\n7HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_ENTER_IN_ERROR\x10\xc1\x94\x01\x12<\n6HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_EXECUTE_ACTION\x10\xc2\x94\x01\x12=\n7HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_EXECUTE_ACTION\x10\xc3\x94\x01\x12\x41\n;HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_INSERTED_INTO_NOTE\x10\xc4\x94\x01\x12*\n$IMAGING_ORDER_COMMAND__PRE_ORIGINATE\x10\xa0\x9c\x01\x12+\n%IMAGING_ORDER_COMMAND__POST_ORIGINATE\x10\xa1\x9c\x01\x12\'\n!IMAGING_ORDER_COMMAND__PRE_UPDATE\x10\xa2\x9c\x01\x12(\n\"IMAGING_ORDER_COMMAND__POST_UPDATE\x10\xa3\x9c\x01\x12\'\n!IMAGING_ORDER_COMMAND__PRE_COMMIT\x10\xa4\x9c\x01\x12(\n\"IMAGING_ORDER_COMMAND__POST_COMMIT\x10\xa5\x9c\x01\x12\'\n!IMAGING_ORDER_COMMAND__PRE_DELETE\x10\xa6\x9c\x01\x12(\n\"IMAGING_ORDER_COMMAND__POST_DELETE\x10\xa7\x9c\x01\x12/\n)IMAGING_ORDER_COMMAND__PRE_ENTER_IN_ERROR\x10\xa8\x9c\x01\x12\x30\n*IMAGING_ORDER_COMMAND__POST_ENTER_IN_ERROR\x10\xa9\x9c\x01\x12/\n)IMAGING_ORDER_COMMAND__PRE_EXECUTE_ACTION\x10\xaa\x9c\x01\x12\x30\n*IMAGING_ORDER_COMMAND__POST_EXECUTE_ACTION\x10\xab\x9c\x01\x12\x34\n.IMAGING_ORDER_COMMAND__POST_INSERTED_INTO_NOTE\x10\xb4\x9c\x01\x12&\n IMAGING_ORDER__IMAGE__PRE_SEARCH\x10\xac\x9c\x01\x12\'\n!IMAGING_ORDER__IMAGE__POST_SEARCH\x10\xad\x9c\x01\x12,\n&IMAGING_ORDER__INDICATIONS__PRE_SEARCH\x10\xae\x9c\x01\x12-\n\'IMAGING_ORDER__INDICATIONS__POST_SEARCH\x10\xaf\x9c\x01\x12/\n)IMAGING_ORDER__IMAGING_CENTER__PRE_SEARCH\x10\xb0\x9c\x01\x12\x30\n*IMAGING_ORDER__IMAGING_CENTER__POST_SEARCH\x10\xb1\x9c\x01\x12\x32\n,IMAGING_ORDER__ORDERING_PROVIDER__PRE_SEARCH\x10\xb2\x9c\x01\x12\x33\n-IMAGING_ORDER__ORDERING_PROVIDER__POST_SEARCH\x10\xb3\x9c\x01\x12\x33\n-IMMUNIZATION_STATEMENT_COMMAND__PRE_ORIGINATE\x10\xf0\xab\x01\x12\x34\n.IMMUNIZATION_STATEMENT_COMMAND__POST_ORIGINATE\x10\xf1\xab\x01\x12\x30\n*IMMUNIZATION_STATEMENT_COMMAND__PRE_UPDATE\x10\xf2\xab\x01\x12\x31\n+IMMUNIZATION_STATEMENT_COMMAND__POST_UPDATE\x10\xf3\xab\x01\x12\x30\n*IMMUNIZATION_STATEMENT_COMMAND__PRE_COMMIT\x10\xf4\xab\x01\x12\x31\n+IMMUNIZATION_STATEMENT_COMMAND__POST_COMMIT\x10\xf5\xab\x01\x12\x30\n*IMMUNIZATION_STATEMENT_COMMAND__PRE_DELETE\x10\xf6\xab\x01\x12\x31\n+IMMUNIZATION_STATEMENT_COMMAND__POST_DELETE\x10\xf7\xab\x01\x12\x38\n2IMMUNIZATION_STATEMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xf8\xab\x01\x12\x39\n3IMMUNIZATION_STATEMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xf9\xab\x01\x12\x38\n2IMMUNIZATION_STATEMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xfa\xab\x01\x12\x39\n3IMMUNIZATION_STATEMENT_COMMAND__POST_EXECUTE_ACTION\x10\xfb\xab\x01\x12=\n7IMMUNIZATION_STATEMENT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xfe\xab\x01\x12\x33\n-IMMUNIZATION_STATEMENT__STATEMENT__PRE_SEARCH\x10\xfc\xab\x01\x12\x34\n.IMMUNIZATION_STATEMENT__STATEMENT__POST_SEARCH\x10\xfd\xab\x01\x12%\n\x1fIMMUNIZE_COMMAND__PRE_ORIGINATE\x10\xd8\xb3\x01\x12&\n IMMUNIZE_COMMAND__POST_ORIGINATE\x10\xd9\xb3\x01\x12\"\n\x1cIMMUNIZE_COMMAND__PRE_UPDATE\x10\xda\xb3\x01\x12#\n\x1dIMMUNIZE_COMMAND__POST_UPDATE\x10\xdb\xb3\x01\x12\"\n\x1cIMMUNIZE_COMMAND__PRE_COMMIT\x10\xdc\xb3\x01\x12#\n\x1dIMMUNIZE_COMMAND__POST_COMMIT\x10\xdd\xb3\x01\x12\"\n\x1cIMMUNIZE_COMMAND__PRE_DELETE\x10\xde\xb3\x01\x12#\n\x1dIMMUNIZE_COMMAND__POST_DELETE\x10\xdf\xb3\x01\x12*\n$IMMUNIZE_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\xb3\x01\x12+\n%IMMUNIZE_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\xb3\x01\x12*\n$IMMUNIZE_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\xb3\x01\x12+\n%IMMUNIZE_COMMAND__POST_EXECUTE_ACTION\x10\xe3\xb3\x01\x12/\n)IMMUNIZE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xea\xb3\x01\x12\"\n\x1cIMMUNIZE__CODING__PRE_SEARCH\x10\xe4\xb3\x01\x12#\n\x1dIMMUNIZE__CODING__POST_SEARCH\x10\xe5\xb3\x01\x12&\n IMMUNIZE__LOT_NUMBER__PRE_SEARCH\x10\xe6\xb3\x01\x12\'\n!IMMUNIZE__LOT_NUMBER__POST_SEARCH\x10\xe7\xb3\x01\x12$\n\x1eIMMUNIZE__GIVEN_BY__PRE_SEARCH\x10\xe8\xb3\x01\x12%\n\x1fIMMUNIZE__GIVEN_BY__POST_SEARCH\x10\xe9\xb3\x01\x12%\n\x1fINSTRUCT_COMMAND__PRE_ORIGINATE\x10\xc0\xbb\x01\x12&\n INSTRUCT_COMMAND__POST_ORIGINATE\x10\xc1\xbb\x01\x12\"\n\x1cINSTRUCT_COMMAND__PRE_UPDATE\x10\xc2\xbb\x01\x12#\n\x1dINSTRUCT_COMMAND__POST_UPDATE\x10\xc3\xbb\x01\x12\"\n\x1cINSTRUCT_COMMAND__PRE_COMMIT\x10\xc4\xbb\x01\x12#\n\x1dINSTRUCT_COMMAND__POST_COMMIT\x10\xc5\xbb\x01\x12\"\n\x1cINSTRUCT_COMMAND__PRE_DELETE\x10\xc6\xbb\x01\x12#\n\x1dINSTRUCT_COMMAND__POST_DELETE\x10\xc7\xbb\x01\x12*\n$INSTRUCT_COMMAND__PRE_ENTER_IN_ERROR\x10\xc8\xbb\x01\x12+\n%INSTRUCT_COMMAND__POST_ENTER_IN_ERROR\x10\xc9\xbb\x01\x12*\n$INSTRUCT_COMMAND__PRE_EXECUTE_ACTION\x10\xca\xbb\x01\x12+\n%INSTRUCT_COMMAND__POST_EXECUTE_ACTION\x10\xcb\xbb\x01\x12/\n)INSTRUCT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xce\xbb\x01\x12$\n\x1eINSTRUCT__INSTRUCT__PRE_SEARCH\x10\xcc\xbb\x01\x12%\n\x1fINSTRUCT__INSTRUCT__POST_SEARCH\x10\xcd\xbb\x01\x12&\n LAB_ORDER_COMMAND__PRE_ORIGINATE\x10\xa8\xc3\x01\x12\'\n!LAB_ORDER_COMMAND__POST_ORIGINATE\x10\xa9\xc3\x01\x12#\n\x1dLAB_ORDER_COMMAND__PRE_UPDATE\x10\xaa\xc3\x01\x12$\n\x1eLAB_ORDER_COMMAND__POST_UPDATE\x10\xab\xc3\x01\x12#\n\x1dLAB_ORDER_COMMAND__PRE_COMMIT\x10\xac\xc3\x01\x12$\n\x1eLAB_ORDER_COMMAND__POST_COMMIT\x10\xad\xc3\x01\x12#\n\x1dLAB_ORDER_COMMAND__PRE_DELETE\x10\xae\xc3\x01\x12$\n\x1eLAB_ORDER_COMMAND__POST_DELETE\x10\xaf\xc3\x01\x12+\n%LAB_ORDER_COMMAND__PRE_ENTER_IN_ERROR\x10\xb0\xc3\x01\x12,\n&LAB_ORDER_COMMAND__POST_ENTER_IN_ERROR\x10\xb1\xc3\x01\x12+\n%LAB_ORDER_COMMAND__PRE_EXECUTE_ACTION\x10\xb2\xc3\x01\x12,\n&LAB_ORDER_COMMAND__POST_EXECUTE_ACTION\x10\xb3\xc3\x01\x12\x30\n*LAB_ORDER_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbc\xc3\x01\x12(\n\"LAB_ORDER__LAB_PARTNER__PRE_SEARCH\x10\xb4\xc3\x01\x12)\n#LAB_ORDER__LAB_PARTNER__POST_SEARCH\x10\xb5\xc3\x01\x12\"\n\x1cLAB_ORDER__TESTS__PRE_SEARCH\x10\xb6\xc3\x01\x12#\n\x1dLAB_ORDER__TESTS__POST_SEARCH\x10\xb7\xc3\x01\x12.\n(LAB_ORDER__ORDERING_PROVIDER__PRE_SEARCH\x10\xb8\xc3\x01\x12/\n)LAB_ORDER__ORDERING_PROVIDER__POST_SEARCH\x10\xb9\xc3\x01\x12&\n LAB_ORDER__DIAGNOSIS__PRE_SEARCH\x10\xba\xc3\x01\x12\'\n!LAB_ORDER__DIAGNOSIS__POST_SEARCH\x10\xbb\xc3\x01\x12,\n&MEDICAL_HISTORY_COMMAND__PRE_ORIGINATE\x10\xf8\xd2\x01\x12-\n\'MEDICAL_HISTORY_COMMAND__POST_ORIGINATE\x10\xf9\xd2\x01\x12)\n#MEDICAL_HISTORY_COMMAND__PRE_UPDATE\x10\xfa\xd2\x01\x12*\n$MEDICAL_HISTORY_COMMAND__POST_UPDATE\x10\xfb\xd2\x01\x12)\n#MEDICAL_HISTORY_COMMAND__PRE_COMMIT\x10\xfc\xd2\x01\x12*\n$MEDICAL_HISTORY_COMMAND__POST_COMMIT\x10\xfd\xd2\x01\x12)\n#MEDICAL_HISTORY_COMMAND__PRE_DELETE\x10\xfe\xd2\x01\x12*\n$MEDICAL_HISTORY_COMMAND__POST_DELETE\x10\xff\xd2\x01\x12\x31\n+MEDICAL_HISTORY_COMMAND__PRE_ENTER_IN_ERROR\x10\x80\xd3\x01\x12\x32\n,MEDICAL_HISTORY_COMMAND__POST_ENTER_IN_ERROR\x10\x81\xd3\x01\x12\x31\n+MEDICAL_HISTORY_COMMAND__PRE_EXECUTE_ACTION\x10\x82\xd3\x01\x12\x32\n,MEDICAL_HISTORY_COMMAND__POST_EXECUTE_ACTION\x10\x83\xd3\x01\x12\x36\n0MEDICAL_HISTORY_COMMAND__POST_INSERTED_INTO_NOTE\x10\x8a\xd3\x01\x12\x37\n1MEDICAL_HISTORY__PAST_MEDICAL_HISTORY__PRE_SEARCH\x10\x84\xd3\x01\x12\x38\n2MEDICAL_HISTORY__PAST_MEDICAL_HISTORY__POST_SEARCH\x10\x85\xd3\x01\x12\x39\n3MEDICAL_HISTORY__APPROXIMATE_START_DATE__PRE_SEARCH\x10\x86\xd3\x01\x12:\n4MEDICAL_HISTORY__APPROXIMATE_START_DATE__POST_SEARCH\x10\x87\xd3\x01\x12\x37\n1MEDICAL_HISTORY__APPROXIMATE_END_DATE__PRE_SEARCH\x10\x88\xd3\x01\x12\x38\n2MEDICAL_HISTORY__APPROXIMATE_END_DATE__POST_SEARCH\x10\x89\xd3\x01\x12\x31\n+MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE\x10\xe0\xda\x01\x12\x32\n,MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE\x10\xe1\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_UPDATE\x10\xe2\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_UPDATE\x10\xe3\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_COMMIT\x10\xe4\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_COMMIT\x10\xe5\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_DELETE\x10\xe6\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_DELETE\x10\xe7\xda\x01\x12\x36\n0MEDICATION_STATEMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xda\x01\x12\x37\n1MEDICATION_STATEMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xda\x01\x12\x36\n0MEDICATION_STATEMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xda\x01\x12\x37\n1MEDICATION_STATEMENT_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xda\x01\x12;\n5MEDICATION_STATEMENT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xec\xda\x01\x12$\n\x1ePERFORM_COMMAND__PRE_ORIGINATE\x10\xc8\xe2\x01\x12%\n\x1fPERFORM_COMMAND__POST_ORIGINATE\x10\xc9\xe2\x01\x12!\n\x1bPERFORM_COMMAND__PRE_UPDATE\x10\xca\xe2\x01\x12\"\n\x1cPERFORM_COMMAND__POST_UPDATE\x10\xcb\xe2\x01\x12!\n\x1bPERFORM_COMMAND__PRE_COMMIT\x10\xcc\xe2\x01\x12\"\n\x1cPERFORM_COMMAND__POST_COMMIT\x10\xcd\xe2\x01\x12!\n\x1bPERFORM_COMMAND__PRE_DELETE\x10\xce\xe2\x01\x12\"\n\x1cPERFORM_COMMAND__POST_DELETE\x10\xcf\xe2\x01\x12)\n#PERFORM_COMMAND__PRE_ENTER_IN_ERROR\x10\xd0\xe2\x01\x12*\n$PERFORM_COMMAND__POST_ENTER_IN_ERROR\x10\xd1\xe2\x01\x12)\n#PERFORM_COMMAND__PRE_EXECUTE_ACTION\x10\xd2\xe2\x01\x12*\n$PERFORM_COMMAND__POST_EXECUTE_ACTION\x10\xd3\xe2\x01\x12.\n(PERFORM_COMMAND__POST_INSERTED_INTO_NOTE\x10\xd6\xe2\x01\x12\"\n\x1cPERFORM__PERFORM__PRE_SEARCH\x10\xd4\xe2\x01\x12#\n\x1dPERFORM__PERFORM__POST_SEARCH\x10\xd5\xe2\x01\x12*\n$PHYSICAL_EXAM_COMMAND__PRE_ORIGINATE\x10\xb0\xea\x01\x12+\n%PHYSICAL_EXAM_COMMAND__POST_ORIGINATE\x10\xb1\xea\x01\x12\'\n!PHYSICAL_EXAM_COMMAND__PRE_UPDATE\x10\xb2\xea\x01\x12(\n\"PHYSICAL_EXAM_COMMAND__POST_UPDATE\x10\xb3\xea\x01\x12\'\n!PHYSICAL_EXAM_COMMAND__PRE_COMMIT\x10\xb4\xea\x01\x12(\n\"PHYSICAL_EXAM_COMMAND__POST_COMMIT\x10\xb5\xea\x01\x12\'\n!PHYSICAL_EXAM_COMMAND__PRE_DELETE\x10\xb6\xea\x01\x12(\n\"PHYSICAL_EXAM_COMMAND__POST_DELETE\x10\xb7\xea\x01\x12/\n)PHYSICAL_EXAM_COMMAND__PRE_ENTER_IN_ERROR\x10\xb8\xea\x01\x12\x30\n*PHYSICAL_EXAM_COMMAND__POST_ENTER_IN_ERROR\x10\xb9\xea\x01\x12/\n)PHYSICAL_EXAM_COMMAND__PRE_EXECUTE_ACTION\x10\xba\xea\x01\x12\x30\n*PHYSICAL_EXAM_COMMAND__POST_EXECUTE_ACTION\x10\xbb\xea\x01\x12\x34\n.PHYSICAL_EXAM_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbe\xea\x01\x12.\n(PHYSICAL_EXAM__QUESTIONNAIRE__PRE_SEARCH\x10\xbc\xea\x01\x12/\n)PHYSICAL_EXAM__QUESTIONNAIRE__POST_SEARCH\x10\xbd\xea\x01\x12!\n\x1bPLAN_COMMAND__PRE_ORIGINATE\x10\x98\xf2\x01\x12\"\n\x1cPLAN_COMMAND__POST_ORIGINATE\x10\x99\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_UPDATE\x10\x9a\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_UPDATE\x10\x9b\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_COMMIT\x10\x9c\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_COMMIT\x10\x9d\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_DELETE\x10\x9e\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_DELETE\x10\x9f\xf2\x01\x12&\n PLAN_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0\xf2\x01\x12\'\n!PLAN_COMMAND__POST_ENTER_IN_ERROR\x10\xa1\xf2\x01\x12&\n PLAN_COMMAND__PRE_EXECUTE_ACTION\x10\xa2\xf2\x01\x12\'\n!PLAN_COMMAND__POST_EXECUTE_ACTION\x10\xa3\xf2\x01\x12+\n%PLAN_COMMAND__POST_INSERTED_INTO_NOTE\x10\xa4\xf2\x01\x12&\n PRESCRIBE_COMMAND__PRE_ORIGINATE\x10\xe8\x81\x02\x12\'\n!PRESCRIBE_COMMAND__POST_ORIGINATE\x10\xe9\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_UPDATE\x10\xea\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_UPDATE\x10\xeb\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_COMMIT\x10\xec\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_COMMIT\x10\xed\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_DELETE\x10\xee\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_DELETE\x10\xef\x81\x02\x12+\n%PRESCRIBE_COMMAND__PRE_ENTER_IN_ERROR\x10\xf0\x81\x02\x12,\n&PRESCRIBE_COMMAND__POST_ENTER_IN_ERROR\x10\xf1\x81\x02\x12+\n%PRESCRIBE_COMMAND__PRE_EXECUTE_ACTION\x10\xf2\x81\x02\x12,\n&PRESCRIBE_COMMAND__POST_EXECUTE_ACTION\x10\xf3\x81\x02\x12\x30\n*PRESCRIBE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xfa\x81\x02\x12\'\n!PRESCRIBE__PRESCRIBE__POST_SEARCH\x10\xf4\x81\x02\x12&\n PRESCRIBE__PRESCRIBE__PRE_SEARCH\x10\xf5\x81\x02\x12(\n\"PRESCRIBE__INDICATIONS__PRE_SEARCH\x10\xf6\x81\x02\x12)\n#PRESCRIBE__INDICATIONS__POST_SEARCH\x10\xf7\x81\x02\x12%\n\x1fPRESCRIBE__PHARMACY__PRE_SEARCH\x10\xf8\x81\x02\x12&\n PRESCRIBE__PHARMACY__POST_SEARCH\x10\xf9\x81\x02\x12*\n$QUESTIONNAIRE_COMMAND__PRE_ORIGINATE\x10\xd0\x89\x02\x12+\n%QUESTIONNAIRE_COMMAND__POST_ORIGINATE\x10\xd1\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_UPDATE\x10\xd2\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_UPDATE\x10\xd3\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_COMMIT\x10\xd4\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_COMMIT\x10\xd5\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_DELETE\x10\xd6\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_DELETE\x10\xd7\x89\x02\x12/\n)QUESTIONNAIRE_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x89\x02\x12\x30\n*QUESTIONNAIRE_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x89\x02\x12/\n)QUESTIONNAIRE_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x89\x02\x12\x30\n*QUESTIONNAIRE_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x89\x02\x12\x34\n.QUESTIONNAIRE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xde\x89\x02\x12/\n)QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH\x10\xdc\x89\x02\x12.\n(QUESTIONNAIRE__QUESTIONNAIRE__PRE_SEARCH\x10\xdd\x89\x02\x12-\n\'REASON_FOR_VISIT_COMMAND__PRE_ORIGINATE\x10\xb8\x91\x02\x12.\n(REASON_FOR_VISIT_COMMAND__POST_ORIGINATE\x10\xb9\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_UPDATE\x10\xba\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_UPDATE\x10\xbb\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_COMMIT\x10\xbc\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_COMMIT\x10\xbd\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_DELETE\x10\xbe\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_DELETE\x10\xbf\x91\x02\x12\x32\n,REASON_FOR_VISIT_COMMAND__PRE_ENTER_IN_ERROR\x10\xc0\x91\x02\x12\x33\n-REASON_FOR_VISIT_COMMAND__POST_ENTER_IN_ERROR\x10\xc1\x91\x02\x12\x32\n,REASON_FOR_VISIT_COMMAND__PRE_EXECUTE_ACTION\x10\xc2\x91\x02\x12\x33\n-REASON_FOR_VISIT_COMMAND__POST_EXECUTE_ACTION\x10\xc3\x91\x02\x12\x37\n1REASON_FOR_VISIT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xc6\x91\x02\x12+\n%REASON_FOR_VISIT__CODING__POST_SEARCH\x10\xc4\x91\x02\x12*\n$REASON_FOR_VISIT__CODING__PRE_SEARCH\x10\xc5\x91\x02\x12#\n\x1dREFILL_COMMAND__PRE_ORIGINATE\x10\xd8\xb0\x02\x12$\n\x1eREFILL_COMMAND__POST_ORIGINATE\x10\xd9\xb0\x02\x12 \n\x1aREFILL_COMMAND__PRE_UPDATE\x10\xda\xb0\x02\x12!\n\x1bREFILL_COMMAND__POST_UPDATE\x10\xdb\xb0\x02\x12 \n\x1aREFILL_COMMAND__PRE_COMMIT\x10\xdc\xb0\x02\x12!\n\x1bREFILL_COMMAND__POST_COMMIT\x10\xdd\xb0\x02\x12 \n\x1aREFILL_COMMAND__PRE_DELETE\x10\xde\xb0\x02\x12!\n\x1bREFILL_COMMAND__POST_DELETE\x10\xdf\xb0\x02\x12(\n\"REFILL_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\xb0\x02\x12)\n#REFILL_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\xb0\x02\x12(\n\"REFILL_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\xb0\x02\x12)\n#REFILL_COMMAND__POST_EXECUTE_ACTION\x10\xe3\xb0\x02\x12-\n\'REFILL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xea\xb0\x02\x12#\n\x1dREFILL__PRESCRIBE__PRE_SEARCH\x10\xe4\xb0\x02\x12$\n\x1eREFILL__PRESCRIBE__POST_SEARCH\x10\xe5\xb0\x02\x12%\n\x1fREFILL__INDICATIONS__PRE_SEARCH\x10\xe6\xb0\x02\x12&\n REFILL__INDICATIONS__POST_SEARCH\x10\xe7\xb0\x02\x12\"\n\x1cREFILL__PHARMACY__PRE_SEARCH\x10\xe8\xb0\x02\x12#\n\x1dREFILL__PHARMACY__POST_SEARCH\x10\xe9\xb0\x02\x12+\n%REMOVE_ALLERGY_COMMAND__PRE_ORIGINATE\x10\xc0\xb8\x02\x12,\n&REMOVE_ALLERGY_COMMAND__POST_ORIGINATE\x10\xc1\xb8\x02\x12(\n\"REMOVE_ALLERGY_COMMAND__PRE_UPDATE\x10\xc2\xb8\x02\x12)\n#REMOVE_ALLERGY_COMMAND__POST_UPDATE\x10\xc3\xb8\x02\x12(\n\"REMOVE_ALLERGY_COMMAND__PRE_COMMIT\x10\xc4\xb8\x02\x12)\n#REMOVE_ALLERGY_COMMAND__POST_COMMIT\x10\xc5\xb8\x02\x12(\n\"REMOVE_ALLERGY_COMMAND__PRE_DELETE\x10\xc6\xb8\x02\x12)\n#REMOVE_ALLERGY_COMMAND__POST_DELETE\x10\xc7\xb8\x02\x12\x30\n*REMOVE_ALLERGY_COMMAND__PRE_ENTER_IN_ERROR\x10\xc8\xb8\x02\x12\x31\n+REMOVE_ALLERGY_COMMAND__POST_ENTER_IN_ERROR\x10\xc9\xb8\x02\x12\x30\n*REMOVE_ALLERGY_COMMAND__PRE_EXECUTE_ACTION\x10\xca\xb8\x02\x12\x31\n+REMOVE_ALLERGY_COMMAND__POST_EXECUTE_ACTION\x10\xcb\xb8\x02\x12\x35\n/REMOVE_ALLERGY_COMMAND__POST_INSERTED_INTO_NOTE\x10\xce\xb8\x02\x12)\n#REMOVE_ALLERGY__ALLERGY__PRE_SEARCH\x10\xcc\xb8\x02\x12*\n$REMOVE_ALLERGY__ALLERGY__POST_SEARCH\x10\xcd\xb8\x02\x12 \n\x1aROS_COMMAND__PRE_ORIGINATE\x10\x90\xc8\x02\x12!\n\x1bROS_COMMAND__POST_ORIGINATE\x10\x91\xc8\x02\x12\x1d\n\x17ROS_COMMAND__PRE_UPDATE\x10\x92\xc8\x02\x12\x1e\n\x18ROS_COMMAND__POST_UPDATE\x10\x93\xc8\x02\x12\x1d\n\x17ROS_COMMAND__PRE_COMMIT\x10\x94\xc8\x02\x12\x1e\n\x18ROS_COMMAND__POST_COMMIT\x10\x95\xc8\x02\x12\x1d\n\x17ROS_COMMAND__PRE_DELETE\x10\x96\xc8\x02\x12\x1e\n\x18ROS_COMMAND__POST_DELETE\x10\x97\xc8\x02\x12%\n\x1fROS_COMMAND__PRE_ENTER_IN_ERROR\x10\x98\xc8\x02\x12&\n ROS_COMMAND__POST_ENTER_IN_ERROR\x10\x99\xc8\x02\x12%\n\x1fROS_COMMAND__PRE_EXECUTE_ACTION\x10\x9a\xc8\x02\x12&\n ROS_COMMAND__POST_EXECUTE_ACTION\x10\x9b\xc8\x02\x12*\n$ROS_COMMAND__POST_INSERTED_INTO_NOTE\x10\x9e\xc8\x02\x12$\n\x1eROS__QUESTIONNAIRE__PRE_SEARCH\x10\x9c\xc8\x02\x12%\n\x1fROS__QUESTIONNAIRE__POST_SEARCH\x10\x9d\xc8\x02\x12,\n&STOP_MEDICATION_COMMAND__PRE_ORIGINATE\x10\xe0\xd7\x02\x12-\n\'STOP_MEDICATION_COMMAND__POST_ORIGINATE\x10\xe1\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_UPDATE\x10\xe2\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_UPDATE\x10\xe3\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_COMMIT\x10\xe4\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_COMMIT\x10\xe5\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_DELETE\x10\xe6\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_DELETE\x10\xe7\xd7\x02\x12\x31\n+STOP_MEDICATION_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xd7\x02\x12\x32\n,STOP_MEDICATION_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xd7\x02\x12\x31\n+STOP_MEDICATION_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xd7\x02\x12\x32\n,STOP_MEDICATION_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xd7\x02\x12\x36\n0STOP_MEDICATION_COMMAND__POST_INSERTED_INTO_NOTE\x10\xef\xd7\x02\x12-\n\'STOP_MEDICATION__MEDICATION__PRE_SEARCH\x10\xed\xd7\x02\x12.\n(STOP_MEDICATION__MEDICATION__POST_SEARCH\x10\xee\xd7\x02\x12\x32\n,STRUCTURED_ASSESSMENT_COMMAND__PRE_ORIGINATE\x10\xc8\xdf\x02\x12\x33\n-STRUCTURED_ASSESSMENT_COMMAND__POST_ORIGINATE\x10\xc9\xdf\x02\x12/\n)STRUCTURED_ASSESSMENT_COMMAND__PRE_UPDATE\x10\xca\xdf\x02\x12\x30\n*STRUCTURED_ASSESSMENT_COMMAND__POST_UPDATE\x10\xcb\xdf\x02\x12/\n)STRUCTURED_ASSESSMENT_COMMAND__PRE_COMMIT\x10\xcc\xdf\x02\x12\x30\n*STRUCTURED_ASSESSMENT_COMMAND__POST_COMMIT\x10\xcd\xdf\x02\x12/\n)STRUCTURED_ASSESSMENT_COMMAND__PRE_DELETE\x10\xce\xdf\x02\x12\x30\n*STRUCTURED_ASSESSMENT_COMMAND__POST_DELETE\x10\xcf\xdf\x02\x12\x37\n1STRUCTURED_ASSESSMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xd0\xdf\x02\x12\x38\n2STRUCTURED_ASSESSMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xd1\xdf\x02\x12\x37\n1STRUCTURED_ASSESSMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xd2\xdf\x02\x12\x38\n2STRUCTURED_ASSESSMENT_COMMAND__POST_EXECUTE_ACTION\x10\xd3\xdf\x02\x12<\n6STRUCTURED_ASSESSMENT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xd6\xdf\x02\x12\x36\n0STRUCTURED_ASSESSMENT__QUESTIONNAIRE__PRE_SEARCH\x10\xd4\xdf\x02\x12\x37\n1STRUCTURED_ASSESSMENT__QUESTIONNAIRE__POST_SEARCH\x10\xd5\xdf\x02\x12-\n\'SURGICAL_HISTORY_COMMAND__PRE_ORIGINATE\x10\xb0\xe7\x02\x12.\n(SURGICAL_HISTORY_COMMAND__POST_ORIGINATE\x10\xb1\xe7\x02\x12*\n$SURGICAL_HISTORY_COMMAND__PRE_UPDATE\x10\xb2\xe7\x02\x12+\n%SURGICAL_HISTORY_COMMAND__POST_UPDATE\x10\xb3\xe7\x02\x12*\n$SURGICAL_HISTORY_COMMAND__PRE_COMMIT\x10\xb4\xe7\x02\x12+\n%SURGICAL_HISTORY_COMMAND__POST_COMMIT\x10\xb5\xe7\x02\x12*\n$SURGICAL_HISTORY_COMMAND__PRE_DELETE\x10\xb6\xe7\x02\x12+\n%SURGICAL_HISTORY_COMMAND__POST_DELETE\x10\xb7\xe7\x02\x12\x32\n,SURGICAL_HISTORY_COMMAND__PRE_ENTER_IN_ERROR\x10\xb8\xe7\x02\x12\x33\n-SURGICAL_HISTORY_COMMAND__POST_ENTER_IN_ERROR\x10\xb9\xe7\x02\x12\x32\n,SURGICAL_HISTORY_COMMAND__PRE_EXECUTE_ACTION\x10\xba\xe7\x02\x12\x33\n-SURGICAL_HISTORY_COMMAND__POST_EXECUTE_ACTION\x10\xbb\xe7\x02\x12\x37\n1SURGICAL_HISTORY_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbe\xe7\x02\x12\x39\n3SURGICAL_HISTORY__PAST_SURGICAL_HISTORY__PRE_SEARCH\x10\xbc\xe7\x02\x12:\n4SURGICAL_HISTORY__PAST_SURGICAL_HISTORY__POST_SEARCH\x10\xbd\xe7\x02\x12!\n\x1bTASK_COMMAND__PRE_ORIGINATE\x10\x98\xef\x02\x12\"\n\x1cTASK_COMMAND__POST_ORIGINATE\x10\x99\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_UPDATE\x10\x9a\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_UPDATE\x10\x9b\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_COMMIT\x10\x9c\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_COMMIT\x10\x9d\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_DELETE\x10\x9e\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_DELETE\x10\x9f\xef\x02\x12&\n TASK_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0\xef\x02\x12\'\n!TASK_COMMAND__POST_ENTER_IN_ERROR\x10\xa1\xef\x02\x12&\n TASK_COMMAND__PRE_EXECUTE_ACTION\x10\xa2\xef\x02\x12\'\n!TASK_COMMAND__POST_EXECUTE_ACTION\x10\xa3\xef\x02\x12+\n%TASK_COMMAND__POST_INSERTED_INTO_NOTE\x10\xa8\xef\x02\x12!\n\x1bTASK__ASSIGN_TO__PRE_SEARCH\x10\xa4\xef\x02\x12\"\n\x1cTASK__ASSIGN_TO__POST_SEARCH\x10\xa5\xef\x02\x12\x1e\n\x18TASK__LABELS__PRE_SEARCH\x10\xa6\xef\x02\x12\x1f\n\x19TASK__LABELS__POST_SEARCH\x10\xa7\xef\x02\x12(\n\"UPDATE_GOAL_COMMAND__PRE_ORIGINATE\x10\xd0\x86\x03\x12)\n#UPDATE_GOAL_COMMAND__POST_ORIGINATE\x10\xd1\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_UPDATE\x10\xd2\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_UPDATE\x10\xd3\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_COMMIT\x10\xd4\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_COMMIT\x10\xd5\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_DELETE\x10\xd6\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_DELETE\x10\xd7\x86\x03\x12-\n\'UPDATE_GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x86\x03\x12.\n(UPDATE_GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x86\x03\x12-\n\'UPDATE_GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x86\x03\x12.\n(UPDATE_GOAL_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x86\x03\x12\x32\n,UPDATE_GOAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xdc\x86\x03\x12-\n\'UPDATE_GOAL__GOAL_STATEMENT__PRE_SEARCH\x10\xdd\x86\x03\x12.\n(UPDATE_GOAL__GOAL_STATEMENT__POST_SEARCH\x10\xde\x86\x03\x12#\n\x1dVITALS_COMMAND__PRE_ORIGINATE\x10\xa0\x96\x03\x12$\n\x1eVITALS_COMMAND__POST_ORIGINATE\x10\xa1\x96\x03\x12 \n\x1aVITALS_COMMAND__PRE_UPDATE\x10\xa2\x96\x03\x12!\n\x1bVITALS_COMMAND__POST_UPDATE\x10\xa3\x96\x03\x12 \n\x1aVITALS_COMMAND__PRE_COMMIT\x10\xa4\x96\x03\x12!\n\x1bVITALS_COMMAND__POST_COMMIT\x10\xa5\x96\x03\x12 \n\x1aVITALS_COMMAND__PRE_DELETE\x10\xa6\x96\x03\x12!\n\x1bVITALS_COMMAND__POST_DELETE\x10\xa7\x96\x03\x12(\n\"VITALS_COMMAND__PRE_ENTER_IN_ERROR\x10\xa8\x96\x03\x12)\n#VITALS_COMMAND__POST_ENTER_IN_ERROR\x10\xa9\x96\x03\x12(\n\"VITALS_COMMAND__PRE_EXECUTE_ACTION\x10\xaa\x96\x03\x12)\n#VITALS_COMMAND__POST_EXECUTE_ACTION\x10\xab\x96\x03\x12-\n\'VITALS_COMMAND__POST_INSERTED_INTO_NOTE\x10\xac\x96\x03\x12.\n(ASSESS_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\xa8\xbd\x03\x12/\n)ASSESS_CODING_GAP_COMMAND__POST_ORIGINATE\x10\xa9\xbd\x03\x12+\n%ASSESS_CODING_GAP_COMMAND__PRE_UPDATE\x10\xaa\xbd\x03\x12,\n&ASSESS_CODING_GAP_COMMAND__POST_UPDATE\x10\xab\xbd\x03\x12+\n%ASSESS_CODING_GAP_COMMAND__PRE_COMMIT\x10\xac\xbd\x03\x12,\n&ASSESS_CODING_GAP_COMMAND__POST_COMMIT\x10\xad\xbd\x03\x12+\n%ASSESS_CODING_GAP_COMMAND__PRE_DELETE\x10\xae\xbd\x03\x12,\n&ASSESS_CODING_GAP_COMMAND__POST_DELETE\x10\xaf\xbd\x03\x12\x33\n-ASSESS_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\xb0\xbd\x03\x12\x34\n.ASSESS_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\xb1\xbd\x03\x12\x33\n-ASSESS_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\xb2\xbd\x03\x12\x34\n.ASSESS_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\xb3\xbd\x03\x12\x38\n2ASSESS_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\xb6\xbd\x03\x12-\n\'ASSESS_CODING_GAP__DIAGNOSE__PRE_SEARCH\x10\xb4\xbd\x03\x12.\n(ASSESS_CODING_GAP__DIAGNOSE__POST_SEARCH\x10\xb5\xbd\x03\x12.\n(CREATE_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\x90\xc5\x03\x12/\n)CREATE_CODING_GAP_COMMAND__POST_ORIGINATE\x10\x91\xc5\x03\x12+\n%CREATE_CODING_GAP_COMMAND__PRE_UPDATE\x10\x92\xc5\x03\x12,\n&CREATE_CODING_GAP_COMMAND__POST_UPDATE\x10\x93\xc5\x03\x12+\n%CREATE_CODING_GAP_COMMAND__PRE_COMMIT\x10\x94\xc5\x03\x12,\n&CREATE_CODING_GAP_COMMAND__POST_COMMIT\x10\x95\xc5\x03\x12+\n%CREATE_CODING_GAP_COMMAND__PRE_DELETE\x10\x96\xc5\x03\x12,\n&CREATE_CODING_GAP_COMMAND__POST_DELETE\x10\x97\xc5\x03\x12\x33\n-CREATE_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\x98\xc5\x03\x12\x34\n.CREATE_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\x99\xc5\x03\x12\x33\n-CREATE_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\x9a\xc5\x03\x12\x34\n.CREATE_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\x9b\xc5\x03\x12\x38\n2CREATE_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\x9e\xc5\x03\x12-\n\'CREATE_CODING_GAP__DIAGNOSE__PRE_SEARCH\x10\x9c\xc5\x03\x12.\n(CREATE_CODING_GAP__DIAGNOSE__POST_SEARCH\x10\x9d\xc5\x03\x12\x30\n*VALIDATE_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\xf8\xcc\x03\x12\x31\n+VALIDATE_CODING_GAP_COMMAND__POST_ORIGINATE\x10\xf9\xcc\x03\x12-\n\'VALIDATE_CODING_GAP_COMMAND__PRE_UPDATE\x10\xfa\xcc\x03\x12.\n(VALIDATE_CODING_GAP_COMMAND__POST_UPDATE\x10\xfb\xcc\x03\x12-\n\'VALIDATE_CODING_GAP_COMMAND__PRE_COMMIT\x10\xfc\xcc\x03\x12.\n(VALIDATE_CODING_GAP_COMMAND__POST_COMMIT\x10\xfd\xcc\x03\x12-\n\'VALIDATE_CODING_GAP_COMMAND__PRE_DELETE\x10\xfe\xcc\x03\x12.\n(VALIDATE_CODING_GAP_COMMAND__POST_DELETE\x10\xff\xcc\x03\x12\x35\n/VALIDATE_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\x80\xcd\x03\x12\x36\n0VALIDATE_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\x81\xcd\x03\x12\x35\n/VALIDATE_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\x82\xcd\x03\x12\x36\n0VALIDATE_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\x83\xcd\x03\x12:\n4VALIDATE_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\x84\xcd\x03\x12-\n\'DEFER_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\xe0\xd4\x03\x12.\n(DEFER_CODING_GAP_COMMAND__POST_ORIGINATE\x10\xe1\xd4\x03\x12*\n$DEFER_CODING_GAP_COMMAND__PRE_UPDATE\x10\xe2\xd4\x03\x12+\n%DEFER_CODING_GAP_COMMAND__POST_UPDATE\x10\xe3\xd4\x03\x12*\n$DEFER_CODING_GAP_COMMAND__PRE_COMMIT\x10\xe4\xd4\x03\x12+\n%DEFER_CODING_GAP_COMMAND__POST_COMMIT\x10\xe5\xd4\x03\x12*\n$DEFER_CODING_GAP_COMMAND__PRE_DELETE\x10\xe6\xd4\x03\x12+\n%DEFER_CODING_GAP_COMMAND__POST_DELETE\x10\xe7\xd4\x03\x12\x32\n,DEFER_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xd4\x03\x12\x33\n-DEFER_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xd4\x03\x12\x32\n,DEFER_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xd4\x03\x12\x33\n-DEFER_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xd4\x03\x12\x37\n1DEFER_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\xec\xd4\x03\x12\x1d\n\x17SHOW_NOTE_HEADER_BUTTON\x10\xf0\xa2\x04\x12\x1d\n\x17SHOW_NOTE_FOOTER_BUTTON\x10\xf1\xa2\x04\x12\x1b\n\x15\x41\x43TION_BUTTON_CLICKED\x10\xf2\xa2\x04\x12\x1f\n\x19PATIENT_CHART__CONDITIONS\x10\xa0\x8d\x06\x12\x32\n,PATIENT_CHART_SUMMARY__SECTION_CONFIGURATION\x10\xa1\x8d\x06\x12,\n&PATIENT_PROFILE__SECTION_CONFIGURATION\x10\xa2\x8d\x06\x12\x30\n*PATIENT_PROFILE__ADD_PHARMACY__POST_SEARCH\x10\xa3\x8d\x06\x12\x17\n\x11\x43LAIM__CONDITIONS\x10\x88\x95\x06\x12\x14\n\x0ePLUGIN_CREATED\x10\xf0\x9c\x06\x12\x14\n\x0ePLUGIN_UPDATED\x10\xf1\x9c\x06\x12\x1a\n\x14\x41PPLICATION__ON_OPEN\x10\xd8\xa4\x06\x12&\n PATIENT_PORTAL__GET_INTAKE_FORMS\x10\xb0\xdb\x06\x12*\n$PATIENT_PORTAL__APPOINTMENT_CANCELED\x10\xb1\xdb\x06\x12-\n\'PATIENT_PORTAL__APPOINTMENT_RESCHEDULED\x10\xb2\xdb\x06\x12\x31\n+PATIENT_PORTAL__APPOINTMENT_CAN_BE_CANCELED\x10\xb3\xdb\x06\x12\x34\n.PATIENT_PORTAL__APPOINTMENT_CAN_BE_RESCHEDULED\x10\xb4\xdb\x06\x62\x06proto3')
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&canvas_generated/messages/events.proto\x12\x06\x63\x61nvas\x1a\'canvas_generated/messages/effects.proto\"^\n\x05\x45vent\x12\x1f\n\x04type\x18\x01 \x01(\x0e\x32\x11.canvas.EventType\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontext\x18\x03 \x01(\t\x12\x13\n\x0btarget_type\x18\x04 \x01(\t\"A\n\rEventResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x1f\n\x07\x65\x66\x66\x65\x63ts\x18\x02 \x03(\x0b\x32\x0e.canvas.Effect*\x8a\xde\x01\n\tEventType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x1f\n\x1b\x41LLERGY_INTOLERANCE_CREATED\x10\x01\x12\x1f\n\x1b\x41LLERGY_INTOLERANCE_UPDATED\x10\x02\x12\x18\n\x14\x41PPOINTMENT_CANCELED\x10\x04\x12\x1a\n\x16\x41PPOINTMENT_CHECKED_IN\x10\x05\x12\x17\n\x13\x41PPOINTMENT_CREATED\x10\x06\x12\x19\n\x15\x41PPOINTMENT_NO_SHOWED\x10\x07\x12\x1b\n\x17\x41PPOINTMENT_RESCHEDULED\x10\x08\x12\x18\n\x14\x41PPOINTMENT_RESTORED\x10\t\x12\x17\n\x13\x41PPOINTMENT_UPDATED\x10\n\x12\x1d\n\x19\x42ILLING_LINE_ITEM_CREATED\x10\x0b\x12\x1d\n\x19\x42ILLING_LINE_ITEM_UPDATED\x10\x0c\x12\x16\n\x12\x43ONDITION_ASSESSED\x10\r\x12\x15\n\x11\x43ONDITION_CREATED\x10\x0e\x12\x16\n\x12\x43ONDITION_RESOLVED\x10\x0f\x12\x15\n\x11\x43ONDITION_UPDATED\x10\x10\x12\x13\n\x0f\x43ONSENT_CREATED\x10\x11\x12\x13\n\x0f\x43ONSENT_DELETED\x10\x12\x12\x13\n\x0f\x43ONSENT_UPDATED\x10\x13\x12\x14\n\x10\x43OVERAGE_CREATED\x10\x14\x12\x14\n\x10\x43OVERAGE_UPDATED\x10\x15\x12\x15\n\x11\x45NCOUNTER_CREATED\x10\x16\x12\x15\n\x11\x45NCOUNTER_UPDATED\x10\x17\x12\x1a\n\x16IMAGING_REPORT_CREATED\x10\x1a\x12\x1a\n\x16IMAGING_REPORT_UPDATED\x10\x1b\x12\x18\n\x14IMMUNIZATION_CREATED\x10\x1c\x12\"\n\x1eIMMUNIZATION_STATEMENT_CREATED\x10\x1d\x12\"\n\x1eIMMUNIZATION_STATEMENT_UPDATED\x10\x1e\x12\x18\n\x14IMMUNIZATION_UPDATED\x10\x1f\x12\x17\n\x13INSTRUCTION_CREATED\x10 \x12\x17\n\x13INSTRUCTION_UPDATED\x10!\x12\x15\n\x11INTERVIEW_CREATED\x10\"\x12\x15\n\x11INTERVIEW_UPDATED\x10#\x12\x15\n\x11LAB_ORDER_CREATED\x10$\x12\x15\n\x11LAB_ORDER_UPDATED\x10%\x12\x16\n\x12LAB_REPORT_CREATED\x10&\x12\x16\n\x12LAB_REPORT_UPDATED\x10\'\x12 \n\x1cMEDICATION_LIST_ITEM_CREATED\x10(\x12 \n\x1cMEDICATION_LIST_ITEM_UPDATED\x10)\x12\x13\n\x0fMESSAGE_CREATED\x10*\x12\x13\n\x0fPATIENT_CREATED\x10+\x12\x13\n\x0fPATIENT_UPDATED\x10,\x12\x18\n\x14PRESCRIPTION_CREATED\x10-\x12\x18\n\x14PRESCRIPTION_UPDATED\x10.\x12\x1b\n\x17REFERRAL_REPORT_CREATED\x10/\x12\x1b\n\x17REFERRAL_REPORT_UPDATED\x10\x30\x12\x18\n\x14TASK_COMMENT_CREATED\x10\x33\x12\x10\n\x0cTASK_CREATED\x10\x36\x12\x18\n\x14TASK_LABELS_ADJUSTED\x10\x37\x12\x10\n\x0cTASK_UPDATED\x10\x39\x12\x16\n\x12VITAL_SIGN_CREATED\x10:\x12\x16\n\x12VITAL_SIGN_UPDATED\x10;\x12\x08\n\x04\x43RON\x10<\x12 \n\x1c\x43\x41RE_TEAM_MEMBERSHIP_CREATED\x10=\x12 \n\x1c\x43\x41RE_TEAM_MEMBERSHIP_UPDATED\x10>\x12 \n\x1c\x43\x41RE_TEAM_MEMBERSHIP_DELETED\x10?\x12#\n\x1fNOTE_STATE_CHANGE_EVENT_CREATED\x10@\x12#\n\x1fNOTE_STATE_CHANGE_EVENT_UPDATED\x10\x41\x12\x1b\n\x17PATIENT_ADDRESS_CREATED\x10\x42\x12\x1b\n\x17PATIENT_ADDRESS_UPDATED\x10\x43\x12\x1b\n\x17PATIENT_ADDRESS_DELETED\x10\x44\x12\"\n\x1ePATIENT_CONTACT_PERSON_CREATED\x10\x45\x12\"\n\x1ePATIENT_CONTACT_PERSON_UPDATED\x10\x46\x12\"\n\x1ePATIENT_CONTACT_PERSON_DELETED\x10G\x12!\n\x1dPATIENT_CONTACT_POINT_CREATED\x10H\x12!\n\x1dPATIENT_CONTACT_POINT_UPDATED\x10I\x12!\n\x1dPATIENT_CONTACT_POINT_DELETED\x10J\x12\x1d\n\x19PROTOCOL_OVERRIDE_CREATED\x10K\x12\x1d\n\x19PROTOCOL_OVERRIDE_UPDATED\x10L\x12\x1d\n\x19PROTOCOL_OVERRIDE_DELETED\x10M\x12\x18\n\x14TASK_COMMENT_UPDATED\x10N\x12\x18\n\x14TASK_COMMENT_DELETED\x10O\x12\x12\n\x0e\x44\x45VICE_CREATED\x10P\x12\x12\n\x0e\x44\x45VICE_UPDATED\x10Q\x12\x17\n\x13OBSERVATION_CREATED\x10R\x12\x17\n\x13OBSERVATION_UPDATED\x10S\x12\x1a\n\x16\x44\x45TECTED_ISSUE_CREATED\x10T\x12\x1a\n\x16\x44\x45TECTED_ISSUE_UPDATED\x10U\x12\x0f\n\x0bTASK_CLOSED\x10V\x12\x12\n\x0eTASK_COMPLETED\x10W\x12#\n\x1f\x44\x45TECTED_ISSUE_EVIDENCE_CREATED\x10X\x12#\n\x1f\x44\x45TECTED_ISSUE_EVIDENCE_UPDATED\x10Y\x12\x19\n\x15PRE_COMMAND_ORIGINATE\x10\x64\x12\x1a\n\x16POST_COMMAND_ORIGINATE\x10\x65\x12\x16\n\x12PRE_COMMAND_UPDATE\x10\x66\x12\x17\n\x13POST_COMMAND_UPDATE\x10g\x12\x16\n\x12PRE_COMMAND_COMMIT\x10h\x12\x17\n\x13POST_COMMAND_COMMIT\x10i\x12\x16\n\x12PRE_COMMAND_DELETE\x10j\x12\x17\n\x13POST_COMMAND_DELETE\x10k\x12\x1e\n\x1aPRE_COMMAND_ENTER_IN_ERROR\x10l\x12\x1f\n\x1bPOST_COMMAND_ENTER_IN_ERROR\x10m\x12\x1e\n\x1aPRE_COMMAND_EXECUTE_ACTION\x10n\x12\x1f\n\x1bPOST_COMMAND_EXECUTE_ACTION\x10o\x12#\n\x1fPOST_COMMAND_INSERTED_INTO_NOTE\x10p\x12\'\n\"ASSESS_COMMAND__CONDITION_SELECTED\x10\xc8\x01\x12\x31\n,MEDICATION_STATEMENT__MEDICATION__PRE_SEARCH\x10\xc9\x01\x12\x32\n-MEDICATION_STATEMENT__MEDICATION__POST_SEARCH\x10\xca\x01\x12/\n*MEDICATION_STATEMENT__MEDICATION__SELECTED\x10\xcb\x01\x12#\n\x1e\x41LLERGY_COMMAND__PRE_ORIGINATE\x10\xa0\x1f\x12$\n\x1f\x41LLERGY_COMMAND__POST_ORIGINATE\x10\xa1\x1f\x12 \n\x1b\x41LLERGY_COMMAND__PRE_UPDATE\x10\xa2\x1f\x12!\n\x1c\x41LLERGY_COMMAND__POST_UPDATE\x10\xa3\x1f\x12 \n\x1b\x41LLERGY_COMMAND__PRE_COMMIT\x10\xa4\x1f\x12!\n\x1c\x41LLERGY_COMMAND__POST_COMMIT\x10\xa5\x1f\x12 \n\x1b\x41LLERGY_COMMAND__PRE_DELETE\x10\xa6\x1f\x12!\n\x1c\x41LLERGY_COMMAND__POST_DELETE\x10\xa7\x1f\x12(\n#ALLERGY_COMMAND__PRE_ENTER_IN_ERROR\x10\xa8\x1f\x12)\n$ALLERGY_COMMAND__POST_ENTER_IN_ERROR\x10\xa9\x1f\x12(\n#ALLERGY_COMMAND__PRE_EXECUTE_ACTION\x10\xaa\x1f\x12)\n$ALLERGY_COMMAND__POST_EXECUTE_ACTION\x10\xab\x1f\x12!\n\x1c\x41LLERGY__ALLERGY__PRE_SEARCH\x10\xac\x1f\x12\"\n\x1d\x41LLERGY__ALLERGY__POST_SEARCH\x10\xad\x1f\x12\"\n\x1d\x41SSESS_COMMAND__PRE_ORIGINATE\x10\xd8\x36\x12#\n\x1e\x41SSESS_COMMAND__POST_ORIGINATE\x10\xd9\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_UPDATE\x10\xda\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_UPDATE\x10\xdb\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_COMMIT\x10\xdc\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_COMMIT\x10\xdd\x36\x12\x1f\n\x1a\x41SSESS_COMMAND__PRE_DELETE\x10\xde\x36\x12 \n\x1b\x41SSESS_COMMAND__POST_DELETE\x10\xdf\x36\x12\'\n\"ASSESS_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\x36\x12(\n#ASSESS_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\x36\x12\'\n\"ASSESS_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\x36\x12(\n#ASSESS_COMMAND__POST_EXECUTE_ACTION\x10\xe3\x36\x12#\n\x1e\x41SSESS__CONDITION__POST_SEARCH\x10\xe4\x36\x12\"\n\x1d\x41SSESS__CONDITION__PRE_SEARCH\x10\xe5\x36\x12&\n CLIPBOARD_COMMAND__PRE_ORIGINATE\x10\x88\x9e\x03\x12\'\n!CLIPBOARD_COMMAND__POST_ORIGINATE\x10\x89\x9e\x03\x12#\n\x1d\x43LIPBOARD_COMMAND__PRE_UPDATE\x10\x8a\x9e\x03\x12$\n\x1e\x43LIPBOARD_COMMAND__POST_UPDATE\x10\x8b\x9e\x03\x12#\n\x1d\x43LIPBOARD_COMMAND__PRE_COMMIT\x10\x8c\x9e\x03\x12$\n\x1e\x43LIPBOARD_COMMAND__POST_COMMIT\x10\x8d\x9e\x03\x12#\n\x1d\x43LIPBOARD_COMMAND__PRE_DELETE\x10\x8e\x9e\x03\x12$\n\x1e\x43LIPBOARD_COMMAND__POST_DELETE\x10\x8f\x9e\x03\x12+\n%CLIPBOARD_COMMAND__PRE_ENTER_IN_ERROR\x10\x90\x9e\x03\x12,\n&CLIPBOARD_COMMAND__POST_ENTER_IN_ERROR\x10\xf9\xa5\x03\x12+\n%CLIPBOARD_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\xad\x03\x12,\n&CLIPBOARD_COMMAND__POST_EXECUTE_ACTION\x10\xcb\xb5\x03\x12\x30\n*CLIPBOARD_COMMAND__POST_INSERTED_INTO_NOTE\x10\xcc\xb5\x03\x12&\n!CLOSE_GOAL_COMMAND__PRE_ORIGINATE\x10\x90N\x12\'\n\"CLOSE_GOAL_COMMAND__POST_ORIGINATE\x10\x91N\x12#\n\x1e\x43LOSE_GOAL_COMMAND__PRE_UPDATE\x10\x92N\x12$\n\x1f\x43LOSE_GOAL_COMMAND__POST_UPDATE\x10\x93N\x12#\n\x1e\x43LOSE_GOAL_COMMAND__PRE_COMMIT\x10\x94N\x12$\n\x1f\x43LOSE_GOAL_COMMAND__POST_COMMIT\x10\x95N\x12#\n\x1e\x43LOSE_GOAL_COMMAND__PRE_DELETE\x10\x96N\x12$\n\x1f\x43LOSE_GOAL_COMMAND__POST_DELETE\x10\x97N\x12+\n&CLOSE_GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\x98N\x12,\n\'CLOSE_GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\x99N\x12+\n&CLOSE_GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\x9aN\x12,\n\'CLOSE_GOAL_COMMAND__POST_EXECUTE_ACTION\x10\x9bN\x12\x30\n+CLOSE_GOAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\x9eN\x12$\n\x1f\x43LOSE_GOAL__GOAL_ID__PRE_SEARCH\x10\x9cN\x12%\n CLOSE_GOAL__GOAL_ID__POST_SEARCH\x10\x9dN\x12$\n\x1f\x44IAGNOSE_COMMAND__PRE_ORIGINATE\x10\xb0m\x12%\n DIAGNOSE_COMMAND__POST_ORIGINATE\x10\xb1m\x12!\n\x1c\x44IAGNOSE_COMMAND__PRE_UPDATE\x10\xb2m\x12\"\n\x1d\x44IAGNOSE_COMMAND__POST_UPDATE\x10\xb3m\x12!\n\x1c\x44IAGNOSE_COMMAND__PRE_COMMIT\x10\xb4m\x12\"\n\x1d\x44IAGNOSE_COMMAND__POST_COMMIT\x10\xb5m\x12!\n\x1c\x44IAGNOSE_COMMAND__PRE_DELETE\x10\xb6m\x12\"\n\x1d\x44IAGNOSE_COMMAND__POST_DELETE\x10\xb7m\x12)\n$DIAGNOSE_COMMAND__PRE_ENTER_IN_ERROR\x10\xb8m\x12*\n%DIAGNOSE_COMMAND__POST_ENTER_IN_ERROR\x10\xb9m\x12)\n$DIAGNOSE_COMMAND__PRE_EXECUTE_ACTION\x10\xbam\x12*\n%DIAGNOSE_COMMAND__POST_EXECUTE_ACTION\x10\xbbm\x12.\n)DIAGNOSE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbem\x12$\n\x1f\x44IAGNOSE__DIAGNOSE__POST_SEARCH\x10\xbcm\x12#\n\x1e\x44IAGNOSE__DIAGNOSE__PRE_SEARCH\x10\xbdm\x12\x30\n+EDUCATIONAL_MATERIAL_COMMAND__PRE_ORIGINATE\x10\x98u\x12\x31\n,EDUCATIONAL_MATERIAL_COMMAND__POST_ORIGINATE\x10\x99u\x12-\n(EDUCATIONAL_MATERIAL_COMMAND__PRE_UPDATE\x10\x9au\x12.\n)EDUCATIONAL_MATERIAL_COMMAND__POST_UPDATE\x10\x9bu\x12-\n(EDUCATIONAL_MATERIAL_COMMAND__PRE_COMMIT\x10\x9cu\x12.\n)EDUCATIONAL_MATERIAL_COMMAND__POST_COMMIT\x10\x9du\x12-\n(EDUCATIONAL_MATERIAL_COMMAND__PRE_DELETE\x10\x9eu\x12.\n)EDUCATIONAL_MATERIAL_COMMAND__POST_DELETE\x10\x9fu\x12\x35\n0EDUCATIONAL_MATERIAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0u\x12\x36\n1EDUCATIONAL_MATERIAL_COMMAND__POST_ENTER_IN_ERROR\x10\xa1u\x12\x35\n0EDUCATIONAL_MATERIAL_COMMAND__PRE_EXECUTE_ACTION\x10\xa2u\x12\x36\n1EDUCATIONAL_MATERIAL_COMMAND__POST_EXECUTE_ACTION\x10\xa3u\x12:\n5EDUCATIONAL_MATERIAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xa8u\x12,\n\'EDUCATIONAL_MATERIAL__TITLE__PRE_SEARCH\x10\xa4u\x12-\n(EDUCATIONAL_MATERIAL__TITLE__POST_SEARCH\x10\xa5u\x12/\n*EDUCATIONAL_MATERIAL__LANGUAGE__PRE_SEARCH\x10\xa6u\x12\x30\n+EDUCATIONAL_MATERIAL__LANGUAGE__POST_SEARCH\x10\xa7u\x12*\n%FAMILY_HISTORY_COMMAND__PRE_ORIGINATE\x10\x80}\x12+\n&FAMILY_HISTORY_COMMAND__POST_ORIGINATE\x10\x81}\x12\'\n\"FAMILY_HISTORY_COMMAND__PRE_UPDATE\x10\x82}\x12(\n#FAMILY_HISTORY_COMMAND__POST_UPDATE\x10\x83}\x12\'\n\"FAMILY_HISTORY_COMMAND__PRE_COMMIT\x10\x84}\x12(\n#FAMILY_HISTORY_COMMAND__POST_COMMIT\x10\x85}\x12\'\n\"FAMILY_HISTORY_COMMAND__PRE_DELETE\x10\x86}\x12(\n#FAMILY_HISTORY_COMMAND__POST_DELETE\x10\x87}\x12/\n*FAMILY_HISTORY_COMMAND__PRE_ENTER_IN_ERROR\x10\x88}\x12\x30\n+FAMILY_HISTORY_COMMAND__POST_ENTER_IN_ERROR\x10\x89}\x12/\n*FAMILY_HISTORY_COMMAND__PRE_EXECUTE_ACTION\x10\x8a}\x12\x30\n+FAMILY_HISTORY_COMMAND__POST_EXECUTE_ACTION\x10\x8b}\x12\x34\n/FAMILY_HISTORY_COMMAND__POST_INSERTED_INTO_NOTE\x10\x90}\x12/\n*FAMILY_HISTORY__FAMILY_HISTORY__PRE_SEARCH\x10\x8c}\x12\x30\n+FAMILY_HISTORY__FAMILY_HISTORY__POST_SEARCH\x10\x8d}\x12)\n$FAMILY_HISTORY__RELATIVE__PRE_SEARCH\x10\x8e}\x12*\n%FAMILY_HISTORY__RELATIVE__POST_SEARCH\x10\x8f}\x12!\n\x1bGOAL_COMMAND__PRE_ORIGINATE\x10\xd0\x8c\x01\x12\"\n\x1cGOAL_COMMAND__POST_ORIGINATE\x10\xd1\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_UPDATE\x10\xd2\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_UPDATE\x10\xd3\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_COMMIT\x10\xd4\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_COMMIT\x10\xd5\x8c\x01\x12\x1e\n\x18GOAL_COMMAND__PRE_DELETE\x10\xd6\x8c\x01\x12\x1f\n\x19GOAL_COMMAND__POST_DELETE\x10\xd7\x8c\x01\x12&\n GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x8c\x01\x12\'\n!GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x8c\x01\x12&\n GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x8c\x01\x12\'\n!GOAL_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x8c\x01\x12+\n%GOAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xde\x8c\x01\x12\x37\n1HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_ORIGINATE\x10\xb8\x94\x01\x12\x38\n2HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_ORIGINATE\x10\xb9\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_UPDATE\x10\xba\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_UPDATE\x10\xbb\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_COMMIT\x10\xbc\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_COMMIT\x10\xbd\x94\x01\x12\x34\n.HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_DELETE\x10\xbe\x94\x01\x12\x35\n/HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_DELETE\x10\xbf\x94\x01\x12<\n6HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_ENTER_IN_ERROR\x10\xc0\x94\x01\x12=\n7HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_ENTER_IN_ERROR\x10\xc1\x94\x01\x12<\n6HISTORY_OF_PRESENT_ILLNESS_COMMAND__PRE_EXECUTE_ACTION\x10\xc2\x94\x01\x12=\n7HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_EXECUTE_ACTION\x10\xc3\x94\x01\x12\x41\n;HISTORY_OF_PRESENT_ILLNESS_COMMAND__POST_INSERTED_INTO_NOTE\x10\xc4\x94\x01\x12*\n$IMAGING_ORDER_COMMAND__PRE_ORIGINATE\x10\xa0\x9c\x01\x12+\n%IMAGING_ORDER_COMMAND__POST_ORIGINATE\x10\xa1\x9c\x01\x12\'\n!IMAGING_ORDER_COMMAND__PRE_UPDATE\x10\xa2\x9c\x01\x12(\n\"IMAGING_ORDER_COMMAND__POST_UPDATE\x10\xa3\x9c\x01\x12\'\n!IMAGING_ORDER_COMMAND__PRE_COMMIT\x10\xa4\x9c\x01\x12(\n\"IMAGING_ORDER_COMMAND__POST_COMMIT\x10\xa5\x9c\x01\x12\'\n!IMAGING_ORDER_COMMAND__PRE_DELETE\x10\xa6\x9c\x01\x12(\n\"IMAGING_ORDER_COMMAND__POST_DELETE\x10\xa7\x9c\x01\x12/\n)IMAGING_ORDER_COMMAND__PRE_ENTER_IN_ERROR\x10\xa8\x9c\x01\x12\x30\n*IMAGING_ORDER_COMMAND__POST_ENTER_IN_ERROR\x10\xa9\x9c\x01\x12/\n)IMAGING_ORDER_COMMAND__PRE_EXECUTE_ACTION\x10\xaa\x9c\x01\x12\x30\n*IMAGING_ORDER_COMMAND__POST_EXECUTE_ACTION\x10\xab\x9c\x01\x12\x34\n.IMAGING_ORDER_COMMAND__POST_INSERTED_INTO_NOTE\x10\xb4\x9c\x01\x12&\n IMAGING_ORDER__IMAGE__PRE_SEARCH\x10\xac\x9c\x01\x12\'\n!IMAGING_ORDER__IMAGE__POST_SEARCH\x10\xad\x9c\x01\x12,\n&IMAGING_ORDER__INDICATIONS__PRE_SEARCH\x10\xae\x9c\x01\x12-\n\'IMAGING_ORDER__INDICATIONS__POST_SEARCH\x10\xaf\x9c\x01\x12/\n)IMAGING_ORDER__IMAGING_CENTER__PRE_SEARCH\x10\xb0\x9c\x01\x12\x30\n*IMAGING_ORDER__IMAGING_CENTER__POST_SEARCH\x10\xb1\x9c\x01\x12\x32\n,IMAGING_ORDER__ORDERING_PROVIDER__PRE_SEARCH\x10\xb2\x9c\x01\x12\x33\n-IMAGING_ORDER__ORDERING_PROVIDER__POST_SEARCH\x10\xb3\x9c\x01\x12\x33\n-IMMUNIZATION_STATEMENT_COMMAND__PRE_ORIGINATE\x10\xf0\xab\x01\x12\x34\n.IMMUNIZATION_STATEMENT_COMMAND__POST_ORIGINATE\x10\xf1\xab\x01\x12\x30\n*IMMUNIZATION_STATEMENT_COMMAND__PRE_UPDATE\x10\xf2\xab\x01\x12\x31\n+IMMUNIZATION_STATEMENT_COMMAND__POST_UPDATE\x10\xf3\xab\x01\x12\x30\n*IMMUNIZATION_STATEMENT_COMMAND__PRE_COMMIT\x10\xf4\xab\x01\x12\x31\n+IMMUNIZATION_STATEMENT_COMMAND__POST_COMMIT\x10\xf5\xab\x01\x12\x30\n*IMMUNIZATION_STATEMENT_COMMAND__PRE_DELETE\x10\xf6\xab\x01\x12\x31\n+IMMUNIZATION_STATEMENT_COMMAND__POST_DELETE\x10\xf7\xab\x01\x12\x38\n2IMMUNIZATION_STATEMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xf8\xab\x01\x12\x39\n3IMMUNIZATION_STATEMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xf9\xab\x01\x12\x38\n2IMMUNIZATION_STATEMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xfa\xab\x01\x12\x39\n3IMMUNIZATION_STATEMENT_COMMAND__POST_EXECUTE_ACTION\x10\xfb\xab\x01\x12=\n7IMMUNIZATION_STATEMENT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xfe\xab\x01\x12\x33\n-IMMUNIZATION_STATEMENT__STATEMENT__PRE_SEARCH\x10\xfc\xab\x01\x12\x34\n.IMMUNIZATION_STATEMENT__STATEMENT__POST_SEARCH\x10\xfd\xab\x01\x12%\n\x1fIMMUNIZE_COMMAND__PRE_ORIGINATE\x10\xd8\xb3\x01\x12&\n IMMUNIZE_COMMAND__POST_ORIGINATE\x10\xd9\xb3\x01\x12\"\n\x1cIMMUNIZE_COMMAND__PRE_UPDATE\x10\xda\xb3\x01\x12#\n\x1dIMMUNIZE_COMMAND__POST_UPDATE\x10\xdb\xb3\x01\x12\"\n\x1cIMMUNIZE_COMMAND__PRE_COMMIT\x10\xdc\xb3\x01\x12#\n\x1dIMMUNIZE_COMMAND__POST_COMMIT\x10\xdd\xb3\x01\x12\"\n\x1cIMMUNIZE_COMMAND__PRE_DELETE\x10\xde\xb3\x01\x12#\n\x1dIMMUNIZE_COMMAND__POST_DELETE\x10\xdf\xb3\x01\x12*\n$IMMUNIZE_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\xb3\x01\x12+\n%IMMUNIZE_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\xb3\x01\x12*\n$IMMUNIZE_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\xb3\x01\x12+\n%IMMUNIZE_COMMAND__POST_EXECUTE_ACTION\x10\xe3\xb3\x01\x12/\n)IMMUNIZE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xea\xb3\x01\x12\"\n\x1cIMMUNIZE__CODING__PRE_SEARCH\x10\xe4\xb3\x01\x12#\n\x1dIMMUNIZE__CODING__POST_SEARCH\x10\xe5\xb3\x01\x12&\n IMMUNIZE__LOT_NUMBER__PRE_SEARCH\x10\xe6\xb3\x01\x12\'\n!IMMUNIZE__LOT_NUMBER__POST_SEARCH\x10\xe7\xb3\x01\x12$\n\x1eIMMUNIZE__GIVEN_BY__PRE_SEARCH\x10\xe8\xb3\x01\x12%\n\x1fIMMUNIZE__GIVEN_BY__POST_SEARCH\x10\xe9\xb3\x01\x12%\n\x1fINSTRUCT_COMMAND__PRE_ORIGINATE\x10\xc0\xbb\x01\x12&\n INSTRUCT_COMMAND__POST_ORIGINATE\x10\xc1\xbb\x01\x12\"\n\x1cINSTRUCT_COMMAND__PRE_UPDATE\x10\xc2\xbb\x01\x12#\n\x1dINSTRUCT_COMMAND__POST_UPDATE\x10\xc3\xbb\x01\x12\"\n\x1cINSTRUCT_COMMAND__PRE_COMMIT\x10\xc4\xbb\x01\x12#\n\x1dINSTRUCT_COMMAND__POST_COMMIT\x10\xc5\xbb\x01\x12\"\n\x1cINSTRUCT_COMMAND__PRE_DELETE\x10\xc6\xbb\x01\x12#\n\x1dINSTRUCT_COMMAND__POST_DELETE\x10\xc7\xbb\x01\x12*\n$INSTRUCT_COMMAND__PRE_ENTER_IN_ERROR\x10\xc8\xbb\x01\x12+\n%INSTRUCT_COMMAND__POST_ENTER_IN_ERROR\x10\xc9\xbb\x01\x12*\n$INSTRUCT_COMMAND__PRE_EXECUTE_ACTION\x10\xca\xbb\x01\x12+\n%INSTRUCT_COMMAND__POST_EXECUTE_ACTION\x10\xcb\xbb\x01\x12/\n)INSTRUCT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xce\xbb\x01\x12$\n\x1eINSTRUCT__INSTRUCT__PRE_SEARCH\x10\xcc\xbb\x01\x12%\n\x1fINSTRUCT__INSTRUCT__POST_SEARCH\x10\xcd\xbb\x01\x12&\n LAB_ORDER_COMMAND__PRE_ORIGINATE\x10\xa8\xc3\x01\x12\'\n!LAB_ORDER_COMMAND__POST_ORIGINATE\x10\xa9\xc3\x01\x12#\n\x1dLAB_ORDER_COMMAND__PRE_UPDATE\x10\xaa\xc3\x01\x12$\n\x1eLAB_ORDER_COMMAND__POST_UPDATE\x10\xab\xc3\x01\x12#\n\x1dLAB_ORDER_COMMAND__PRE_COMMIT\x10\xac\xc3\x01\x12$\n\x1eLAB_ORDER_COMMAND__POST_COMMIT\x10\xad\xc3\x01\x12#\n\x1dLAB_ORDER_COMMAND__PRE_DELETE\x10\xae\xc3\x01\x12$\n\x1eLAB_ORDER_COMMAND__POST_DELETE\x10\xaf\xc3\x01\x12+\n%LAB_ORDER_COMMAND__PRE_ENTER_IN_ERROR\x10\xb0\xc3\x01\x12,\n&LAB_ORDER_COMMAND__POST_ENTER_IN_ERROR\x10\xb1\xc3\x01\x12+\n%LAB_ORDER_COMMAND__PRE_EXECUTE_ACTION\x10\xb2\xc3\x01\x12,\n&LAB_ORDER_COMMAND__POST_EXECUTE_ACTION\x10\xb3\xc3\x01\x12\x30\n*LAB_ORDER_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbc\xc3\x01\x12(\n\"LAB_ORDER__LAB_PARTNER__PRE_SEARCH\x10\xb4\xc3\x01\x12)\n#LAB_ORDER__LAB_PARTNER__POST_SEARCH\x10\xb5\xc3\x01\x12\"\n\x1cLAB_ORDER__TESTS__PRE_SEARCH\x10\xb6\xc3\x01\x12#\n\x1dLAB_ORDER__TESTS__POST_SEARCH\x10\xb7\xc3\x01\x12.\n(LAB_ORDER__ORDERING_PROVIDER__PRE_SEARCH\x10\xb8\xc3\x01\x12/\n)LAB_ORDER__ORDERING_PROVIDER__POST_SEARCH\x10\xb9\xc3\x01\x12&\n LAB_ORDER__DIAGNOSIS__PRE_SEARCH\x10\xba\xc3\x01\x12\'\n!LAB_ORDER__DIAGNOSIS__POST_SEARCH\x10\xbb\xc3\x01\x12,\n&MEDICAL_HISTORY_COMMAND__PRE_ORIGINATE\x10\xf8\xd2\x01\x12-\n\'MEDICAL_HISTORY_COMMAND__POST_ORIGINATE\x10\xf9\xd2\x01\x12)\n#MEDICAL_HISTORY_COMMAND__PRE_UPDATE\x10\xfa\xd2\x01\x12*\n$MEDICAL_HISTORY_COMMAND__POST_UPDATE\x10\xfb\xd2\x01\x12)\n#MEDICAL_HISTORY_COMMAND__PRE_COMMIT\x10\xfc\xd2\x01\x12*\n$MEDICAL_HISTORY_COMMAND__POST_COMMIT\x10\xfd\xd2\x01\x12)\n#MEDICAL_HISTORY_COMMAND__PRE_DELETE\x10\xfe\xd2\x01\x12*\n$MEDICAL_HISTORY_COMMAND__POST_DELETE\x10\xff\xd2\x01\x12\x31\n+MEDICAL_HISTORY_COMMAND__PRE_ENTER_IN_ERROR\x10\x80\xd3\x01\x12\x32\n,MEDICAL_HISTORY_COMMAND__POST_ENTER_IN_ERROR\x10\x81\xd3\x01\x12\x31\n+MEDICAL_HISTORY_COMMAND__PRE_EXECUTE_ACTION\x10\x82\xd3\x01\x12\x32\n,MEDICAL_HISTORY_COMMAND__POST_EXECUTE_ACTION\x10\x83\xd3\x01\x12\x36\n0MEDICAL_HISTORY_COMMAND__POST_INSERTED_INTO_NOTE\x10\x8a\xd3\x01\x12\x37\n1MEDICAL_HISTORY__PAST_MEDICAL_HISTORY__PRE_SEARCH\x10\x84\xd3\x01\x12\x38\n2MEDICAL_HISTORY__PAST_MEDICAL_HISTORY__POST_SEARCH\x10\x85\xd3\x01\x12\x39\n3MEDICAL_HISTORY__APPROXIMATE_START_DATE__PRE_SEARCH\x10\x86\xd3\x01\x12:\n4MEDICAL_HISTORY__APPROXIMATE_START_DATE__POST_SEARCH\x10\x87\xd3\x01\x12\x37\n1MEDICAL_HISTORY__APPROXIMATE_END_DATE__PRE_SEARCH\x10\x88\xd3\x01\x12\x38\n2MEDICAL_HISTORY__APPROXIMATE_END_DATE__POST_SEARCH\x10\x89\xd3\x01\x12\x31\n+MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE\x10\xe0\xda\x01\x12\x32\n,MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE\x10\xe1\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_UPDATE\x10\xe2\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_UPDATE\x10\xe3\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_COMMIT\x10\xe4\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_COMMIT\x10\xe5\xda\x01\x12.\n(MEDICATION_STATEMENT_COMMAND__PRE_DELETE\x10\xe6\xda\x01\x12/\n)MEDICATION_STATEMENT_COMMAND__POST_DELETE\x10\xe7\xda\x01\x12\x36\n0MEDICATION_STATEMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xda\x01\x12\x37\n1MEDICATION_STATEMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xda\x01\x12\x36\n0MEDICATION_STATEMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xda\x01\x12\x37\n1MEDICATION_STATEMENT_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xda\x01\x12;\n5MEDICATION_STATEMENT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xec\xda\x01\x12$\n\x1ePERFORM_COMMAND__PRE_ORIGINATE\x10\xc8\xe2\x01\x12%\n\x1fPERFORM_COMMAND__POST_ORIGINATE\x10\xc9\xe2\x01\x12!\n\x1bPERFORM_COMMAND__PRE_UPDATE\x10\xca\xe2\x01\x12\"\n\x1cPERFORM_COMMAND__POST_UPDATE\x10\xcb\xe2\x01\x12!\n\x1bPERFORM_COMMAND__PRE_COMMIT\x10\xcc\xe2\x01\x12\"\n\x1cPERFORM_COMMAND__POST_COMMIT\x10\xcd\xe2\x01\x12!\n\x1bPERFORM_COMMAND__PRE_DELETE\x10\xce\xe2\x01\x12\"\n\x1cPERFORM_COMMAND__POST_DELETE\x10\xcf\xe2\x01\x12)\n#PERFORM_COMMAND__PRE_ENTER_IN_ERROR\x10\xd0\xe2\x01\x12*\n$PERFORM_COMMAND__POST_ENTER_IN_ERROR\x10\xd1\xe2\x01\x12)\n#PERFORM_COMMAND__PRE_EXECUTE_ACTION\x10\xd2\xe2\x01\x12*\n$PERFORM_COMMAND__POST_EXECUTE_ACTION\x10\xd3\xe2\x01\x12.\n(PERFORM_COMMAND__POST_INSERTED_INTO_NOTE\x10\xd6\xe2\x01\x12\"\n\x1cPERFORM__PERFORM__PRE_SEARCH\x10\xd4\xe2\x01\x12#\n\x1dPERFORM__PERFORM__POST_SEARCH\x10\xd5\xe2\x01\x12*\n$PHYSICAL_EXAM_COMMAND__PRE_ORIGINATE\x10\xb0\xea\x01\x12+\n%PHYSICAL_EXAM_COMMAND__POST_ORIGINATE\x10\xb1\xea\x01\x12\'\n!PHYSICAL_EXAM_COMMAND__PRE_UPDATE\x10\xb2\xea\x01\x12(\n\"PHYSICAL_EXAM_COMMAND__POST_UPDATE\x10\xb3\xea\x01\x12\'\n!PHYSICAL_EXAM_COMMAND__PRE_COMMIT\x10\xb4\xea\x01\x12(\n\"PHYSICAL_EXAM_COMMAND__POST_COMMIT\x10\xb5\xea\x01\x12\'\n!PHYSICAL_EXAM_COMMAND__PRE_DELETE\x10\xb6\xea\x01\x12(\n\"PHYSICAL_EXAM_COMMAND__POST_DELETE\x10\xb7\xea\x01\x12/\n)PHYSICAL_EXAM_COMMAND__PRE_ENTER_IN_ERROR\x10\xb8\xea\x01\x12\x30\n*PHYSICAL_EXAM_COMMAND__POST_ENTER_IN_ERROR\x10\xb9\xea\x01\x12/\n)PHYSICAL_EXAM_COMMAND__PRE_EXECUTE_ACTION\x10\xba\xea\x01\x12\x30\n*PHYSICAL_EXAM_COMMAND__POST_EXECUTE_ACTION\x10\xbb\xea\x01\x12\x34\n.PHYSICAL_EXAM_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbe\xea\x01\x12.\n(PHYSICAL_EXAM__QUESTIONNAIRE__PRE_SEARCH\x10\xbc\xea\x01\x12/\n)PHYSICAL_EXAM__QUESTIONNAIRE__POST_SEARCH\x10\xbd\xea\x01\x12!\n\x1bPLAN_COMMAND__PRE_ORIGINATE\x10\x98\xf2\x01\x12\"\n\x1cPLAN_COMMAND__POST_ORIGINATE\x10\x99\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_UPDATE\x10\x9a\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_UPDATE\x10\x9b\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_COMMIT\x10\x9c\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_COMMIT\x10\x9d\xf2\x01\x12\x1e\n\x18PLAN_COMMAND__PRE_DELETE\x10\x9e\xf2\x01\x12\x1f\n\x19PLAN_COMMAND__POST_DELETE\x10\x9f\xf2\x01\x12&\n PLAN_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0\xf2\x01\x12\'\n!PLAN_COMMAND__POST_ENTER_IN_ERROR\x10\xa1\xf2\x01\x12&\n PLAN_COMMAND__PRE_EXECUTE_ACTION\x10\xa2\xf2\x01\x12\'\n!PLAN_COMMAND__POST_EXECUTE_ACTION\x10\xa3\xf2\x01\x12+\n%PLAN_COMMAND__POST_INSERTED_INTO_NOTE\x10\xa4\xf2\x01\x12&\n PRESCRIBE_COMMAND__PRE_ORIGINATE\x10\xe8\x81\x02\x12\'\n!PRESCRIBE_COMMAND__POST_ORIGINATE\x10\xe9\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_UPDATE\x10\xea\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_UPDATE\x10\xeb\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_COMMIT\x10\xec\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_COMMIT\x10\xed\x81\x02\x12#\n\x1dPRESCRIBE_COMMAND__PRE_DELETE\x10\xee\x81\x02\x12$\n\x1ePRESCRIBE_COMMAND__POST_DELETE\x10\xef\x81\x02\x12+\n%PRESCRIBE_COMMAND__PRE_ENTER_IN_ERROR\x10\xf0\x81\x02\x12,\n&PRESCRIBE_COMMAND__POST_ENTER_IN_ERROR\x10\xf1\x81\x02\x12+\n%PRESCRIBE_COMMAND__PRE_EXECUTE_ACTION\x10\xf2\x81\x02\x12,\n&PRESCRIBE_COMMAND__POST_EXECUTE_ACTION\x10\xf3\x81\x02\x12\x30\n*PRESCRIBE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xfa\x81\x02\x12\'\n!PRESCRIBE__PRESCRIBE__POST_SEARCH\x10\xf4\x81\x02\x12&\n PRESCRIBE__PRESCRIBE__PRE_SEARCH\x10\xf5\x81\x02\x12(\n\"PRESCRIBE__INDICATIONS__PRE_SEARCH\x10\xf6\x81\x02\x12)\n#PRESCRIBE__INDICATIONS__POST_SEARCH\x10\xf7\x81\x02\x12%\n\x1fPRESCRIBE__PHARMACY__PRE_SEARCH\x10\xf8\x81\x02\x12&\n PRESCRIBE__PHARMACY__POST_SEARCH\x10\xf9\x81\x02\x12*\n$QUESTIONNAIRE_COMMAND__PRE_ORIGINATE\x10\xd0\x89\x02\x12+\n%QUESTIONNAIRE_COMMAND__POST_ORIGINATE\x10\xd1\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_UPDATE\x10\xd2\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_UPDATE\x10\xd3\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_COMMIT\x10\xd4\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_COMMIT\x10\xd5\x89\x02\x12\'\n!QUESTIONNAIRE_COMMAND__PRE_DELETE\x10\xd6\x89\x02\x12(\n\"QUESTIONNAIRE_COMMAND__POST_DELETE\x10\xd7\x89\x02\x12/\n)QUESTIONNAIRE_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x89\x02\x12\x30\n*QUESTIONNAIRE_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x89\x02\x12/\n)QUESTIONNAIRE_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x89\x02\x12\x30\n*QUESTIONNAIRE_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x89\x02\x12\x34\n.QUESTIONNAIRE_COMMAND__POST_INSERTED_INTO_NOTE\x10\xde\x89\x02\x12/\n)QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH\x10\xdc\x89\x02\x12.\n(QUESTIONNAIRE__QUESTIONNAIRE__PRE_SEARCH\x10\xdd\x89\x02\x12-\n\'REASON_FOR_VISIT_COMMAND__PRE_ORIGINATE\x10\xb8\x91\x02\x12.\n(REASON_FOR_VISIT_COMMAND__POST_ORIGINATE\x10\xb9\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_UPDATE\x10\xba\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_UPDATE\x10\xbb\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_COMMIT\x10\xbc\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_COMMIT\x10\xbd\x91\x02\x12*\n$REASON_FOR_VISIT_COMMAND__PRE_DELETE\x10\xbe\x91\x02\x12+\n%REASON_FOR_VISIT_COMMAND__POST_DELETE\x10\xbf\x91\x02\x12\x32\n,REASON_FOR_VISIT_COMMAND__PRE_ENTER_IN_ERROR\x10\xc0\x91\x02\x12\x33\n-REASON_FOR_VISIT_COMMAND__POST_ENTER_IN_ERROR\x10\xc1\x91\x02\x12\x32\n,REASON_FOR_VISIT_COMMAND__PRE_EXECUTE_ACTION\x10\xc2\x91\x02\x12\x33\n-REASON_FOR_VISIT_COMMAND__POST_EXECUTE_ACTION\x10\xc3\x91\x02\x12\x37\n1REASON_FOR_VISIT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xc6\x91\x02\x12+\n%REASON_FOR_VISIT__CODING__POST_SEARCH\x10\xc4\x91\x02\x12*\n$REASON_FOR_VISIT__CODING__PRE_SEARCH\x10\xc5\x91\x02\x12#\n\x1dREFILL_COMMAND__PRE_ORIGINATE\x10\xd8\xb0\x02\x12$\n\x1eREFILL_COMMAND__POST_ORIGINATE\x10\xd9\xb0\x02\x12 \n\x1aREFILL_COMMAND__PRE_UPDATE\x10\xda\xb0\x02\x12!\n\x1bREFILL_COMMAND__POST_UPDATE\x10\xdb\xb0\x02\x12 \n\x1aREFILL_COMMAND__PRE_COMMIT\x10\xdc\xb0\x02\x12!\n\x1bREFILL_COMMAND__POST_COMMIT\x10\xdd\xb0\x02\x12 \n\x1aREFILL_COMMAND__PRE_DELETE\x10\xde\xb0\x02\x12!\n\x1bREFILL_COMMAND__POST_DELETE\x10\xdf\xb0\x02\x12(\n\"REFILL_COMMAND__PRE_ENTER_IN_ERROR\x10\xe0\xb0\x02\x12)\n#REFILL_COMMAND__POST_ENTER_IN_ERROR\x10\xe1\xb0\x02\x12(\n\"REFILL_COMMAND__PRE_EXECUTE_ACTION\x10\xe2\xb0\x02\x12)\n#REFILL_COMMAND__POST_EXECUTE_ACTION\x10\xe3\xb0\x02\x12-\n\'REFILL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xea\xb0\x02\x12#\n\x1dREFILL__PRESCRIBE__PRE_SEARCH\x10\xe4\xb0\x02\x12$\n\x1eREFILL__PRESCRIBE__POST_SEARCH\x10\xe5\xb0\x02\x12%\n\x1fREFILL__INDICATIONS__PRE_SEARCH\x10\xe6\xb0\x02\x12&\n REFILL__INDICATIONS__POST_SEARCH\x10\xe7\xb0\x02\x12\"\n\x1cREFILL__PHARMACY__PRE_SEARCH\x10\xe8\xb0\x02\x12#\n\x1dREFILL__PHARMACY__POST_SEARCH\x10\xe9\xb0\x02\x12+\n%REMOVE_ALLERGY_COMMAND__PRE_ORIGINATE\x10\xc0\xb8\x02\x12,\n&REMOVE_ALLERGY_COMMAND__POST_ORIGINATE\x10\xc1\xb8\x02\x12(\n\"REMOVE_ALLERGY_COMMAND__PRE_UPDATE\x10\xc2\xb8\x02\x12)\n#REMOVE_ALLERGY_COMMAND__POST_UPDATE\x10\xc3\xb8\x02\x12(\n\"REMOVE_ALLERGY_COMMAND__PRE_COMMIT\x10\xc4\xb8\x02\x12)\n#REMOVE_ALLERGY_COMMAND__POST_COMMIT\x10\xc5\xb8\x02\x12(\n\"REMOVE_ALLERGY_COMMAND__PRE_DELETE\x10\xc6\xb8\x02\x12)\n#REMOVE_ALLERGY_COMMAND__POST_DELETE\x10\xc7\xb8\x02\x12\x30\n*REMOVE_ALLERGY_COMMAND__PRE_ENTER_IN_ERROR\x10\xc8\xb8\x02\x12\x31\n+REMOVE_ALLERGY_COMMAND__POST_ENTER_IN_ERROR\x10\xc9\xb8\x02\x12\x30\n*REMOVE_ALLERGY_COMMAND__PRE_EXECUTE_ACTION\x10\xca\xb8\x02\x12\x31\n+REMOVE_ALLERGY_COMMAND__POST_EXECUTE_ACTION\x10\xcb\xb8\x02\x12\x35\n/REMOVE_ALLERGY_COMMAND__POST_INSERTED_INTO_NOTE\x10\xce\xb8\x02\x12)\n#REMOVE_ALLERGY__ALLERGY__PRE_SEARCH\x10\xcc\xb8\x02\x12*\n$REMOVE_ALLERGY__ALLERGY__POST_SEARCH\x10\xcd\xb8\x02\x12 \n\x1aROS_COMMAND__PRE_ORIGINATE\x10\x90\xc8\x02\x12!\n\x1bROS_COMMAND__POST_ORIGINATE\x10\x91\xc8\x02\x12\x1d\n\x17ROS_COMMAND__PRE_UPDATE\x10\x92\xc8\x02\x12\x1e\n\x18ROS_COMMAND__POST_UPDATE\x10\x93\xc8\x02\x12\x1d\n\x17ROS_COMMAND__PRE_COMMIT\x10\x94\xc8\x02\x12\x1e\n\x18ROS_COMMAND__POST_COMMIT\x10\x95\xc8\x02\x12\x1d\n\x17ROS_COMMAND__PRE_DELETE\x10\x96\xc8\x02\x12\x1e\n\x18ROS_COMMAND__POST_DELETE\x10\x97\xc8\x02\x12%\n\x1fROS_COMMAND__PRE_ENTER_IN_ERROR\x10\x98\xc8\x02\x12&\n ROS_COMMAND__POST_ENTER_IN_ERROR\x10\x99\xc8\x02\x12%\n\x1fROS_COMMAND__PRE_EXECUTE_ACTION\x10\x9a\xc8\x02\x12&\n ROS_COMMAND__POST_EXECUTE_ACTION\x10\x9b\xc8\x02\x12*\n$ROS_COMMAND__POST_INSERTED_INTO_NOTE\x10\x9e\xc8\x02\x12$\n\x1eROS__QUESTIONNAIRE__PRE_SEARCH\x10\x9c\xc8\x02\x12%\n\x1fROS__QUESTIONNAIRE__POST_SEARCH\x10\x9d\xc8\x02\x12,\n&STOP_MEDICATION_COMMAND__PRE_ORIGINATE\x10\xe0\xd7\x02\x12-\n\'STOP_MEDICATION_COMMAND__POST_ORIGINATE\x10\xe1\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_UPDATE\x10\xe2\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_UPDATE\x10\xe3\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_COMMIT\x10\xe4\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_COMMIT\x10\xe5\xd7\x02\x12)\n#STOP_MEDICATION_COMMAND__PRE_DELETE\x10\xe6\xd7\x02\x12*\n$STOP_MEDICATION_COMMAND__POST_DELETE\x10\xe7\xd7\x02\x12\x31\n+STOP_MEDICATION_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xd7\x02\x12\x32\n,STOP_MEDICATION_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xd7\x02\x12\x31\n+STOP_MEDICATION_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xd7\x02\x12\x32\n,STOP_MEDICATION_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xd7\x02\x12\x36\n0STOP_MEDICATION_COMMAND__POST_INSERTED_INTO_NOTE\x10\xef\xd7\x02\x12-\n\'STOP_MEDICATION__MEDICATION__PRE_SEARCH\x10\xed\xd7\x02\x12.\n(STOP_MEDICATION__MEDICATION__POST_SEARCH\x10\xee\xd7\x02\x12\x32\n,STRUCTURED_ASSESSMENT_COMMAND__PRE_ORIGINATE\x10\xc8\xdf\x02\x12\x33\n-STRUCTURED_ASSESSMENT_COMMAND__POST_ORIGINATE\x10\xc9\xdf\x02\x12/\n)STRUCTURED_ASSESSMENT_COMMAND__PRE_UPDATE\x10\xca\xdf\x02\x12\x30\n*STRUCTURED_ASSESSMENT_COMMAND__POST_UPDATE\x10\xcb\xdf\x02\x12/\n)STRUCTURED_ASSESSMENT_COMMAND__PRE_COMMIT\x10\xcc\xdf\x02\x12\x30\n*STRUCTURED_ASSESSMENT_COMMAND__POST_COMMIT\x10\xcd\xdf\x02\x12/\n)STRUCTURED_ASSESSMENT_COMMAND__PRE_DELETE\x10\xce\xdf\x02\x12\x30\n*STRUCTURED_ASSESSMENT_COMMAND__POST_DELETE\x10\xcf\xdf\x02\x12\x37\n1STRUCTURED_ASSESSMENT_COMMAND__PRE_ENTER_IN_ERROR\x10\xd0\xdf\x02\x12\x38\n2STRUCTURED_ASSESSMENT_COMMAND__POST_ENTER_IN_ERROR\x10\xd1\xdf\x02\x12\x37\n1STRUCTURED_ASSESSMENT_COMMAND__PRE_EXECUTE_ACTION\x10\xd2\xdf\x02\x12\x38\n2STRUCTURED_ASSESSMENT_COMMAND__POST_EXECUTE_ACTION\x10\xd3\xdf\x02\x12<\n6STRUCTURED_ASSESSMENT_COMMAND__POST_INSERTED_INTO_NOTE\x10\xd6\xdf\x02\x12\x36\n0STRUCTURED_ASSESSMENT__QUESTIONNAIRE__PRE_SEARCH\x10\xd4\xdf\x02\x12\x37\n1STRUCTURED_ASSESSMENT__QUESTIONNAIRE__POST_SEARCH\x10\xd5\xdf\x02\x12-\n\'SURGICAL_HISTORY_COMMAND__PRE_ORIGINATE\x10\xb0\xe7\x02\x12.\n(SURGICAL_HISTORY_COMMAND__POST_ORIGINATE\x10\xb1\xe7\x02\x12*\n$SURGICAL_HISTORY_COMMAND__PRE_UPDATE\x10\xb2\xe7\x02\x12+\n%SURGICAL_HISTORY_COMMAND__POST_UPDATE\x10\xb3\xe7\x02\x12*\n$SURGICAL_HISTORY_COMMAND__PRE_COMMIT\x10\xb4\xe7\x02\x12+\n%SURGICAL_HISTORY_COMMAND__POST_COMMIT\x10\xb5\xe7\x02\x12*\n$SURGICAL_HISTORY_COMMAND__PRE_DELETE\x10\xb6\xe7\x02\x12+\n%SURGICAL_HISTORY_COMMAND__POST_DELETE\x10\xb7\xe7\x02\x12\x32\n,SURGICAL_HISTORY_COMMAND__PRE_ENTER_IN_ERROR\x10\xb8\xe7\x02\x12\x33\n-SURGICAL_HISTORY_COMMAND__POST_ENTER_IN_ERROR\x10\xb9\xe7\x02\x12\x32\n,SURGICAL_HISTORY_COMMAND__PRE_EXECUTE_ACTION\x10\xba\xe7\x02\x12\x33\n-SURGICAL_HISTORY_COMMAND__POST_EXECUTE_ACTION\x10\xbb\xe7\x02\x12\x37\n1SURGICAL_HISTORY_COMMAND__POST_INSERTED_INTO_NOTE\x10\xbe\xe7\x02\x12\x39\n3SURGICAL_HISTORY__PAST_SURGICAL_HISTORY__PRE_SEARCH\x10\xbc\xe7\x02\x12:\n4SURGICAL_HISTORY__PAST_SURGICAL_HISTORY__POST_SEARCH\x10\xbd\xe7\x02\x12!\n\x1bTASK_COMMAND__PRE_ORIGINATE\x10\x98\xef\x02\x12\"\n\x1cTASK_COMMAND__POST_ORIGINATE\x10\x99\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_UPDATE\x10\x9a\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_UPDATE\x10\x9b\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_COMMIT\x10\x9c\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_COMMIT\x10\x9d\xef\x02\x12\x1e\n\x18TASK_COMMAND__PRE_DELETE\x10\x9e\xef\x02\x12\x1f\n\x19TASK_COMMAND__POST_DELETE\x10\x9f\xef\x02\x12&\n TASK_COMMAND__PRE_ENTER_IN_ERROR\x10\xa0\xef\x02\x12\'\n!TASK_COMMAND__POST_ENTER_IN_ERROR\x10\xa1\xef\x02\x12&\n TASK_COMMAND__PRE_EXECUTE_ACTION\x10\xa2\xef\x02\x12\'\n!TASK_COMMAND__POST_EXECUTE_ACTION\x10\xa3\xef\x02\x12+\n%TASK_COMMAND__POST_INSERTED_INTO_NOTE\x10\xa8\xef\x02\x12!\n\x1bTASK__ASSIGN_TO__PRE_SEARCH\x10\xa4\xef\x02\x12\"\n\x1cTASK__ASSIGN_TO__POST_SEARCH\x10\xa5\xef\x02\x12\x1e\n\x18TASK__LABELS__PRE_SEARCH\x10\xa6\xef\x02\x12\x1f\n\x19TASK__LABELS__POST_SEARCH\x10\xa7\xef\x02\x12(\n\"UPDATE_GOAL_COMMAND__PRE_ORIGINATE\x10\xd0\x86\x03\x12)\n#UPDATE_GOAL_COMMAND__POST_ORIGINATE\x10\xd1\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_UPDATE\x10\xd2\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_UPDATE\x10\xd3\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_COMMIT\x10\xd4\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_COMMIT\x10\xd5\x86\x03\x12%\n\x1fUPDATE_GOAL_COMMAND__PRE_DELETE\x10\xd6\x86\x03\x12&\n UPDATE_GOAL_COMMAND__POST_DELETE\x10\xd7\x86\x03\x12-\n\'UPDATE_GOAL_COMMAND__PRE_ENTER_IN_ERROR\x10\xd8\x86\x03\x12.\n(UPDATE_GOAL_COMMAND__POST_ENTER_IN_ERROR\x10\xd9\x86\x03\x12-\n\'UPDATE_GOAL_COMMAND__PRE_EXECUTE_ACTION\x10\xda\x86\x03\x12.\n(UPDATE_GOAL_COMMAND__POST_EXECUTE_ACTION\x10\xdb\x86\x03\x12\x32\n,UPDATE_GOAL_COMMAND__POST_INSERTED_INTO_NOTE\x10\xdc\x86\x03\x12-\n\'UPDATE_GOAL__GOAL_STATEMENT__PRE_SEARCH\x10\xdd\x86\x03\x12.\n(UPDATE_GOAL__GOAL_STATEMENT__POST_SEARCH\x10\xde\x86\x03\x12#\n\x1dVITALS_COMMAND__PRE_ORIGINATE\x10\xa0\x96\x03\x12$\n\x1eVITALS_COMMAND__POST_ORIGINATE\x10\xa1\x96\x03\x12 \n\x1aVITALS_COMMAND__PRE_UPDATE\x10\xa2\x96\x03\x12!\n\x1bVITALS_COMMAND__POST_UPDATE\x10\xa3\x96\x03\x12 \n\x1aVITALS_COMMAND__PRE_COMMIT\x10\xa4\x96\x03\x12!\n\x1bVITALS_COMMAND__POST_COMMIT\x10\xa5\x96\x03\x12 \n\x1aVITALS_COMMAND__PRE_DELETE\x10\xa6\x96\x03\x12!\n\x1bVITALS_COMMAND__POST_DELETE\x10\xa7\x96\x03\x12(\n\"VITALS_COMMAND__PRE_ENTER_IN_ERROR\x10\xa8\x96\x03\x12)\n#VITALS_COMMAND__POST_ENTER_IN_ERROR\x10\xa9\x96\x03\x12(\n\"VITALS_COMMAND__PRE_EXECUTE_ACTION\x10\xaa\x96\x03\x12)\n#VITALS_COMMAND__POST_EXECUTE_ACTION\x10\xab\x96\x03\x12-\n\'VITALS_COMMAND__POST_INSERTED_INTO_NOTE\x10\xac\x96\x03\x12.\n(ASSESS_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\xa8\xbd\x03\x12/\n)ASSESS_CODING_GAP_COMMAND__POST_ORIGINATE\x10\xa9\xbd\x03\x12+\n%ASSESS_CODING_GAP_COMMAND__PRE_UPDATE\x10\xaa\xbd\x03\x12,\n&ASSESS_CODING_GAP_COMMAND__POST_UPDATE\x10\xab\xbd\x03\x12+\n%ASSESS_CODING_GAP_COMMAND__PRE_COMMIT\x10\xac\xbd\x03\x12,\n&ASSESS_CODING_GAP_COMMAND__POST_COMMIT\x10\xad\xbd\x03\x12+\n%ASSESS_CODING_GAP_COMMAND__PRE_DELETE\x10\xae\xbd\x03\x12,\n&ASSESS_CODING_GAP_COMMAND__POST_DELETE\x10\xaf\xbd\x03\x12\x33\n-ASSESS_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\xb0\xbd\x03\x12\x34\n.ASSESS_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\xb1\xbd\x03\x12\x33\n-ASSESS_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\xb2\xbd\x03\x12\x34\n.ASSESS_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\xb3\xbd\x03\x12\x38\n2ASSESS_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\xb6\xbd\x03\x12-\n\'ASSESS_CODING_GAP__DIAGNOSE__PRE_SEARCH\x10\xb4\xbd\x03\x12.\n(ASSESS_CODING_GAP__DIAGNOSE__POST_SEARCH\x10\xb5\xbd\x03\x12.\n(CREATE_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\x90\xc5\x03\x12/\n)CREATE_CODING_GAP_COMMAND__POST_ORIGINATE\x10\x91\xc5\x03\x12+\n%CREATE_CODING_GAP_COMMAND__PRE_UPDATE\x10\x92\xc5\x03\x12,\n&CREATE_CODING_GAP_COMMAND__POST_UPDATE\x10\x93\xc5\x03\x12+\n%CREATE_CODING_GAP_COMMAND__PRE_COMMIT\x10\x94\xc5\x03\x12,\n&CREATE_CODING_GAP_COMMAND__POST_COMMIT\x10\x95\xc5\x03\x12+\n%CREATE_CODING_GAP_COMMAND__PRE_DELETE\x10\x96\xc5\x03\x12,\n&CREATE_CODING_GAP_COMMAND__POST_DELETE\x10\x97\xc5\x03\x12\x33\n-CREATE_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\x98\xc5\x03\x12\x34\n.CREATE_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\x99\xc5\x03\x12\x33\n-CREATE_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\x9a\xc5\x03\x12\x34\n.CREATE_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\x9b\xc5\x03\x12\x38\n2CREATE_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\x9e\xc5\x03\x12-\n\'CREATE_CODING_GAP__DIAGNOSE__PRE_SEARCH\x10\x9c\xc5\x03\x12.\n(CREATE_CODING_GAP__DIAGNOSE__POST_SEARCH\x10\x9d\xc5\x03\x12\x30\n*VALIDATE_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\xf8\xcc\x03\x12\x31\n+VALIDATE_CODING_GAP_COMMAND__POST_ORIGINATE\x10\xf9\xcc\x03\x12-\n\'VALIDATE_CODING_GAP_COMMAND__PRE_UPDATE\x10\xfa\xcc\x03\x12.\n(VALIDATE_CODING_GAP_COMMAND__POST_UPDATE\x10\xfb\xcc\x03\x12-\n\'VALIDATE_CODING_GAP_COMMAND__PRE_COMMIT\x10\xfc\xcc\x03\x12.\n(VALIDATE_CODING_GAP_COMMAND__POST_COMMIT\x10\xfd\xcc\x03\x12-\n\'VALIDATE_CODING_GAP_COMMAND__PRE_DELETE\x10\xfe\xcc\x03\x12.\n(VALIDATE_CODING_GAP_COMMAND__POST_DELETE\x10\xff\xcc\x03\x12\x35\n/VALIDATE_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\x80\xcd\x03\x12\x36\n0VALIDATE_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\x81\xcd\x03\x12\x35\n/VALIDATE_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\x82\xcd\x03\x12\x36\n0VALIDATE_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\x83\xcd\x03\x12:\n4VALIDATE_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\x84\xcd\x03\x12-\n\'DEFER_CODING_GAP_COMMAND__PRE_ORIGINATE\x10\xe0\xd4\x03\x12.\n(DEFER_CODING_GAP_COMMAND__POST_ORIGINATE\x10\xe1\xd4\x03\x12*\n$DEFER_CODING_GAP_COMMAND__PRE_UPDATE\x10\xe2\xd4\x03\x12+\n%DEFER_CODING_GAP_COMMAND__POST_UPDATE\x10\xe3\xd4\x03\x12*\n$DEFER_CODING_GAP_COMMAND__PRE_COMMIT\x10\xe4\xd4\x03\x12+\n%DEFER_CODING_GAP_COMMAND__POST_COMMIT\x10\xe5\xd4\x03\x12*\n$DEFER_CODING_GAP_COMMAND__PRE_DELETE\x10\xe6\xd4\x03\x12+\n%DEFER_CODING_GAP_COMMAND__POST_DELETE\x10\xe7\xd4\x03\x12\x32\n,DEFER_CODING_GAP_COMMAND__PRE_ENTER_IN_ERROR\x10\xe8\xd4\x03\x12\x33\n-DEFER_CODING_GAP_COMMAND__POST_ENTER_IN_ERROR\x10\xe9\xd4\x03\x12\x32\n,DEFER_CODING_GAP_COMMAND__PRE_EXECUTE_ACTION\x10\xea\xd4\x03\x12\x33\n-DEFER_CODING_GAP_COMMAND__POST_EXECUTE_ACTION\x10\xeb\xd4\x03\x12\x37\n1DEFER_CODING_GAP_COMMAND__POST_INSERTED_INTO_NOTE\x10\xec\xd4\x03\x12\x1d\n\x17SHOW_NOTE_HEADER_BUTTON\x10\xf0\xa2\x04\x12\x1d\n\x17SHOW_NOTE_FOOTER_BUTTON\x10\xf1\xa2\x04\x12\x1b\n\x15\x41\x43TION_BUTTON_CLICKED\x10\xf2\xa2\x04\x12\x1f\n\x19PATIENT_CHART__CONDITIONS\x10\xa0\x8d\x06\x12\x32\n,PATIENT_CHART_SUMMARY__SECTION_CONFIGURATION\x10\xa1\x8d\x06\x12,\n&PATIENT_PROFILE__SECTION_CONFIGURATION\x10\xa2\x8d\x06\x12\x30\n*PATIENT_PROFILE__ADD_PHARMACY__POST_SEARCH\x10\xa3\x8d\x06\x12\x17\n\x11\x43LAIM__CONDITIONS\x10\x88\x95\x06\x12\x14\n\x0ePLUGIN_CREATED\x10\xf0\x9c\x06\x12\x14\n\x0ePLUGIN_UPDATED\x10\xf1\x9c\x06\x12\x1a\n\x14\x41PPLICATION__ON_OPEN\x10\xd8\xa4\x06\x12&\n PATIENT_PORTAL__GET_INTAKE_FORMS\x10\xb0\xdb\x06\x12*\n$PATIENT_PORTAL__APPOINTMENT_CANCELED\x10\xb1\xdb\x06\x12-\n\'PATIENT_PORTAL__APPOINTMENT_RESCHEDULED\x10\xb2\xdb\x06\x12\x31\n+PATIENT_PORTAL__APPOINTMENT_CAN_BE_CANCELED\x10\xb3\xdb\x06\x12\x34\n.PATIENT_PORTAL__APPOINTMENT_CAN_BE_RESCHEDULED\x10\xb4\xdb\x06\x12\x36\n0PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH\x10\xb5\xdb\x06\x12\x46\n@PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH\x10\xb6\xdb\x06\x12G\nAPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH\x10\xb7\xdb\x06\x12>\n8PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH\x10\xb8\xdb\x06\x12?\n9PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH\x10\xb9\xdb\x06\x12>\n8PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH\x10\xba\xdb\x06\x12?\n9PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH\x10\xbb\xdb\x06\x12;\n5SHOW_CHART_SUMMARY_SOCIAL_DETERMINANTS_SECTION_BUTTON\x10\xc0\xa9\x07\x12-\n\'SHOW_CHART_SUMMARY_GOALS_SECTION_BUTTON\x10\xc1\xa9\x07\x12\x32\n,SHOW_CHART_SUMMARY_CONDITIONS_SECTION_BUTTON\x10\xc2\xa9\x07\x12\x33\n-SHOW_CHART_SUMMARY_MEDICATIONS_SECTION_BUTTON\x10\xc3\xa9\x07\x12\x31\n+SHOW_CHART_SUMMARY_ALLERGIES_SECTION_BUTTON\x10\xc4\xa9\x07\x12\x32\n,SHOW_CHART_SUMMARY_CARE_TEAMS_SECTION_BUTTON\x10\xc5\xa9\x07\x12.\n(SHOW_CHART_SUMMARY_VITALS_SECTION_BUTTON\x10\xc6\xa9\x07\x12\x35\n/SHOW_CHART_SUMMARY_IMMUNIZATIONS_SECTION_BUTTON\x10\xc7\xa9\x07\x12\x38\n2SHOW_CHART_SUMMARY_SURGICAL_HISTORY_SECTION_BUTTON\x10\xc8\xa9\x07\x12\x36\n0SHOW_CHART_SUMMARY_FAMILY_HISTORY_SECTION_BUTTON\x10\xc9\xa9\x07\x12\x33\n-SHOW_CHART_SUMMARY_CODING_GAPS_SECTION_BUTTON\x10\xca\xa9\x07\x62\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -23,7 +23,7 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'canvas_generated.messages.e
|
|
|
23
23
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
24
24
|
DESCRIPTOR._options = None
|
|
25
25
|
_globals['_EVENTTYPE']._serialized_start=256
|
|
26
|
-
_globals['_EVENTTYPE']._serialized_end=
|
|
26
|
+
_globals['_EVENTTYPE']._serialized_end=28682
|
|
27
27
|
_globals['_EVENT']._serialized_start=91
|
|
28
28
|
_globals['_EVENT']._serialized_end=185
|
|
29
29
|
_globals['_EVENTRESPONSE']._serialized_start=187
|
|
@@ -89,6 +89,8 @@ class EventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
|
89
89
|
DETECTED_ISSUE_UPDATED: _ClassVar[EventType]
|
|
90
90
|
TASK_CLOSED: _ClassVar[EventType]
|
|
91
91
|
TASK_COMPLETED: _ClassVar[EventType]
|
|
92
|
+
DETECTED_ISSUE_EVIDENCE_CREATED: _ClassVar[EventType]
|
|
93
|
+
DETECTED_ISSUE_EVIDENCE_UPDATED: _ClassVar[EventType]
|
|
92
94
|
PRE_COMMAND_ORIGINATE: _ClassVar[EventType]
|
|
93
95
|
POST_COMMAND_ORIGINATE: _ClassVar[EventType]
|
|
94
96
|
PRE_COMMAND_UPDATE: _ClassVar[EventType]
|
|
@@ -663,6 +665,24 @@ class EventType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
|
663
665
|
PATIENT_PORTAL__APPOINTMENT_RESCHEDULED: _ClassVar[EventType]
|
|
664
666
|
PATIENT_PORTAL__APPOINTMENT_CAN_BE_CANCELED: _ClassVar[EventType]
|
|
665
667
|
PATIENT_PORTAL__APPOINTMENT_CAN_BE_RESCHEDULED: _ClassVar[EventType]
|
|
668
|
+
PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH: _ClassVar[EventType]
|
|
669
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH: _ClassVar[EventType]
|
|
670
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH: _ClassVar[EventType]
|
|
671
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH: _ClassVar[EventType]
|
|
672
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH: _ClassVar[EventType]
|
|
673
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH: _ClassVar[EventType]
|
|
674
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH: _ClassVar[EventType]
|
|
675
|
+
SHOW_CHART_SUMMARY_SOCIAL_DETERMINANTS_SECTION_BUTTON: _ClassVar[EventType]
|
|
676
|
+
SHOW_CHART_SUMMARY_GOALS_SECTION_BUTTON: _ClassVar[EventType]
|
|
677
|
+
SHOW_CHART_SUMMARY_CONDITIONS_SECTION_BUTTON: _ClassVar[EventType]
|
|
678
|
+
SHOW_CHART_SUMMARY_MEDICATIONS_SECTION_BUTTON: _ClassVar[EventType]
|
|
679
|
+
SHOW_CHART_SUMMARY_ALLERGIES_SECTION_BUTTON: _ClassVar[EventType]
|
|
680
|
+
SHOW_CHART_SUMMARY_CARE_TEAMS_SECTION_BUTTON: _ClassVar[EventType]
|
|
681
|
+
SHOW_CHART_SUMMARY_VITALS_SECTION_BUTTON: _ClassVar[EventType]
|
|
682
|
+
SHOW_CHART_SUMMARY_IMMUNIZATIONS_SECTION_BUTTON: _ClassVar[EventType]
|
|
683
|
+
SHOW_CHART_SUMMARY_SURGICAL_HISTORY_SECTION_BUTTON: _ClassVar[EventType]
|
|
684
|
+
SHOW_CHART_SUMMARY_FAMILY_HISTORY_SECTION_BUTTON: _ClassVar[EventType]
|
|
685
|
+
SHOW_CHART_SUMMARY_CODING_GAPS_SECTION_BUTTON: _ClassVar[EventType]
|
|
666
686
|
UNKNOWN: EventType
|
|
667
687
|
ALLERGY_INTOLERANCE_CREATED: EventType
|
|
668
688
|
ALLERGY_INTOLERANCE_UPDATED: EventType
|
|
@@ -743,6 +763,8 @@ DETECTED_ISSUE_CREATED: EventType
|
|
|
743
763
|
DETECTED_ISSUE_UPDATED: EventType
|
|
744
764
|
TASK_CLOSED: EventType
|
|
745
765
|
TASK_COMPLETED: EventType
|
|
766
|
+
DETECTED_ISSUE_EVIDENCE_CREATED: EventType
|
|
767
|
+
DETECTED_ISSUE_EVIDENCE_UPDATED: EventType
|
|
746
768
|
PRE_COMMAND_ORIGINATE: EventType
|
|
747
769
|
POST_COMMAND_ORIGINATE: EventType
|
|
748
770
|
PRE_COMMAND_UPDATE: EventType
|
|
@@ -1317,6 +1339,24 @@ PATIENT_PORTAL__APPOINTMENT_CANCELED: EventType
|
|
|
1317
1339
|
PATIENT_PORTAL__APPOINTMENT_RESCHEDULED: EventType
|
|
1318
1340
|
PATIENT_PORTAL__APPOINTMENT_CAN_BE_CANCELED: EventType
|
|
1319
1341
|
PATIENT_PORTAL__APPOINTMENT_CAN_BE_RESCHEDULED: EventType
|
|
1342
|
+
PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH: EventType
|
|
1343
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH: EventType
|
|
1344
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH: EventType
|
|
1345
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH: EventType
|
|
1346
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH: EventType
|
|
1347
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH: EventType
|
|
1348
|
+
PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH: EventType
|
|
1349
|
+
SHOW_CHART_SUMMARY_SOCIAL_DETERMINANTS_SECTION_BUTTON: EventType
|
|
1350
|
+
SHOW_CHART_SUMMARY_GOALS_SECTION_BUTTON: EventType
|
|
1351
|
+
SHOW_CHART_SUMMARY_CONDITIONS_SECTION_BUTTON: EventType
|
|
1352
|
+
SHOW_CHART_SUMMARY_MEDICATIONS_SECTION_BUTTON: EventType
|
|
1353
|
+
SHOW_CHART_SUMMARY_ALLERGIES_SECTION_BUTTON: EventType
|
|
1354
|
+
SHOW_CHART_SUMMARY_CARE_TEAMS_SECTION_BUTTON: EventType
|
|
1355
|
+
SHOW_CHART_SUMMARY_VITALS_SECTION_BUTTON: EventType
|
|
1356
|
+
SHOW_CHART_SUMMARY_IMMUNIZATIONS_SECTION_BUTTON: EventType
|
|
1357
|
+
SHOW_CHART_SUMMARY_SURGICAL_HISTORY_SECTION_BUTTON: EventType
|
|
1358
|
+
SHOW_CHART_SUMMARY_FAMILY_HISTORY_SECTION_BUTTON: EventType
|
|
1359
|
+
SHOW_CHART_SUMMARY_CODING_GAPS_SECTION_BUTTON: EventType
|
|
1320
1360
|
|
|
1321
1361
|
class Event(_message.Message):
|
|
1322
1362
|
__slots__ = ("type", "target", "context", "target_type")
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from collections.abc import Generator
|
|
2
2
|
from datetime import datetime
|
|
3
|
+
from typing import cast
|
|
3
4
|
|
|
4
5
|
import pytest
|
|
5
6
|
|
|
7
|
+
import settings
|
|
6
8
|
from canvas_sdk.commands.tests.test_utils import (
|
|
7
9
|
COMMANDS,
|
|
8
10
|
MaskedValue,
|
|
@@ -12,6 +14,7 @@ from canvas_sdk.commands.tests.test_utils import (
|
|
|
12
14
|
get_token,
|
|
13
15
|
install_plugin,
|
|
14
16
|
trigger_plugin_event,
|
|
17
|
+
wait_for_log,
|
|
15
18
|
write_protocol_code,
|
|
16
19
|
)
|
|
17
20
|
|
|
@@ -40,10 +43,18 @@ def write_and_install_protocol_and_clean_up(
|
|
|
40
43
|
) -> Generator[None, None, None]:
|
|
41
44
|
"""Write the protocol code, install the plugin, and clean up after the test."""
|
|
42
45
|
write_protocol_code(new_note["externallyExposableId"], plugin_name, COMMANDS)
|
|
46
|
+
message_received_event, thread, ws = wait_for_log(
|
|
47
|
+
cast(str, settings.INTEGRATION_TEST_URL),
|
|
48
|
+
token.value,
|
|
49
|
+
f"Loading plugin '{plugin_name}",
|
|
50
|
+
)
|
|
43
51
|
install_plugin(plugin_name, token)
|
|
52
|
+
message_received_event.wait(timeout=5.0)
|
|
44
53
|
|
|
45
54
|
yield
|
|
46
55
|
|
|
56
|
+
ws.close()
|
|
57
|
+
thread.join()
|
|
47
58
|
clean_up_files_and_plugins(plugin_name, token)
|
|
48
59
|
|
|
49
60
|
|
|
@@ -57,8 +68,7 @@ def test_protocol_that_inserts_every_command(
|
|
|
57
68
|
commands_in_body = get_original_note_body_commands(new_note["id"], token)
|
|
58
69
|
|
|
59
70
|
# TODO: Temporary workaround to ignore the updateGoal command until the integration test instance is fixed.
|
|
60
|
-
command_keys = [c.Meta.key for c in COMMANDS
|
|
61
|
-
|
|
71
|
+
command_keys = [c.Meta.key for c in COMMANDS]
|
|
62
72
|
assert len(command_keys) == len(commands_in_body)
|
|
63
73
|
for i, command_key in enumerate(command_keys):
|
|
64
74
|
assert commands_in_body[i] == command_key
|
|
@@ -190,11 +190,6 @@ class Protocol(BaseProtocol):
|
|
|
190
190
|
def install_plugin(plugin_name: str, token: MaskedValue) -> None:
|
|
191
191
|
"""Install a plugin."""
|
|
192
192
|
with open(_build_package(Path(f"./custom-plugins/{plugin_name}")), "rb") as package:
|
|
193
|
-
message_received_event = wait_for_log(
|
|
194
|
-
cast(str, settings.INTEGRATION_TEST_URL),
|
|
195
|
-
token.value,
|
|
196
|
-
f"Loading plugin '{plugin_name}",
|
|
197
|
-
)
|
|
198
193
|
response = requests.post(
|
|
199
194
|
plugin_url(cast(str, settings.INTEGRATION_TEST_URL)),
|
|
200
195
|
data={"is_enabled": True},
|
|
@@ -203,8 +198,6 @@ def install_plugin(plugin_name: str, token: MaskedValue) -> None:
|
|
|
203
198
|
)
|
|
204
199
|
response.raise_for_status()
|
|
205
200
|
|
|
206
|
-
message_received_event.wait(timeout=5.0)
|
|
207
|
-
|
|
208
201
|
|
|
209
202
|
def trigger_plugin_event(token: MaskedValue) -> None:
|
|
210
203
|
"""Trigger a plugin event."""
|
|
@@ -328,7 +321,9 @@ def get_token() -> MaskedValue:
|
|
|
328
321
|
return MaskedValue(response.json()["access_token"])
|
|
329
322
|
|
|
330
323
|
|
|
331
|
-
def wait_for_log(
|
|
324
|
+
def wait_for_log(
|
|
325
|
+
host: str, token: str, message: str
|
|
326
|
+
) -> tuple[threading.Event, threading.Thread, websocket.WebSocketApp]:
|
|
332
327
|
"""Wait for a specific log message."""
|
|
333
328
|
hostname = cast(str, urlparse(host).hostname)
|
|
334
329
|
instance = hostname.removesuffix(".canvasmedical.com")
|
|
@@ -362,4 +357,4 @@ def wait_for_log(host: str, token: str, message: str) -> threading.Event:
|
|
|
362
357
|
|
|
363
358
|
connected_event.wait(timeout=5.0)
|
|
364
359
|
|
|
365
|
-
return message_received_event
|
|
360
|
+
return message_received_event, thread, ws
|
|
@@ -92,10 +92,10 @@ class Protocol(BaseProtocol):
|
|
|
92
92
|
protocol.write(protocol_code)
|
|
93
93
|
|
|
94
94
|
with open(_build_package(Path(f"./custom-plugins/{plugin_name}")), "rb") as package:
|
|
95
|
-
message_received_event = wait_for_log(
|
|
95
|
+
message_received_event, thread, ws = wait_for_log(
|
|
96
96
|
settings.INTEGRATION_TEST_URL,
|
|
97
97
|
token.value,
|
|
98
|
-
f"Loading plugin '{plugin_name}
|
|
98
|
+
f"Loading plugin '{plugin_name}",
|
|
99
99
|
)
|
|
100
100
|
|
|
101
101
|
# install the plugin
|
|
@@ -111,6 +111,9 @@ class Protocol(BaseProtocol):
|
|
|
111
111
|
|
|
112
112
|
yield
|
|
113
113
|
|
|
114
|
+
ws.close()
|
|
115
|
+
thread.join()
|
|
116
|
+
|
|
114
117
|
# clean up
|
|
115
118
|
if Path(f"./custom-plugins/{plugin_name}").exists():
|
|
116
119
|
shutil.rmtree(Path(f"./custom-plugins/{plugin_name}"))
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from enum import StrEnum
|
|
2
|
-
from typing import Any
|
|
2
|
+
from typing import Any, Self
|
|
3
|
+
|
|
4
|
+
from pydantic import model_validator
|
|
3
5
|
|
|
4
6
|
from canvas_sdk.effects import EffectType, _BaseEffect
|
|
5
7
|
|
|
@@ -15,10 +17,19 @@ class LaunchModalEffect(_BaseEffect):
|
|
|
15
17
|
NEW_WINDOW = "new_window"
|
|
16
18
|
RIGHT_CHART_PANE = "right_chart_pane"
|
|
17
19
|
|
|
18
|
-
url: str
|
|
20
|
+
url: str | None = None
|
|
21
|
+
content: str | None = None
|
|
19
22
|
target: TargetType = TargetType.DEFAULT_MODAL
|
|
20
23
|
|
|
21
24
|
@property
|
|
22
25
|
def values(self) -> dict[str, Any]:
|
|
23
26
|
"""The LaunchModalEffect values."""
|
|
24
|
-
return {"url": self.url, "target": self.target.value}
|
|
27
|
+
return {"url": self.url, "content": self.content, "target": self.target.value}
|
|
28
|
+
|
|
29
|
+
@model_validator(mode="after")
|
|
30
|
+
def check_mutually_exclusive_fields(self) -> Self:
|
|
31
|
+
"""Check that url and content are mutually exclusive."""
|
|
32
|
+
if self.url is not None and self.content is not None:
|
|
33
|
+
raise ValueError("'url' and 'content' are mutually exclusive")
|
|
34
|
+
|
|
35
|
+
return self
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import re
|
|
1
2
|
from abc import abstractmethod
|
|
2
3
|
from enum import StrEnum
|
|
3
4
|
|
|
@@ -6,6 +7,8 @@ from canvas_sdk.effects.show_button import ShowButtonEffect
|
|
|
6
7
|
from canvas_sdk.events import EventType
|
|
7
8
|
from canvas_sdk.handlers.base import BaseHandler
|
|
8
9
|
|
|
10
|
+
SHOW_BUTTON_REGEX = re.compile(r"^SHOW_(.+?)_BUTTON$")
|
|
11
|
+
|
|
9
12
|
|
|
10
13
|
class ActionButton(BaseHandler):
|
|
11
14
|
"""Base class for action buttons."""
|
|
@@ -13,16 +16,38 @@ class ActionButton(BaseHandler):
|
|
|
13
16
|
RESPONDS_TO = [
|
|
14
17
|
EventType.Name(EventType.SHOW_NOTE_HEADER_BUTTON),
|
|
15
18
|
EventType.Name(EventType.SHOW_NOTE_FOOTER_BUTTON),
|
|
19
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_SOCIAL_DETERMINANTS_SECTION_BUTTON),
|
|
20
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_GOALS_SECTION_BUTTON),
|
|
21
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_CONDITIONS_SECTION_BUTTON),
|
|
22
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_MEDICATIONS_SECTION_BUTTON),
|
|
23
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_ALLERGIES_SECTION_BUTTON),
|
|
24
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_CARE_TEAMS_SECTION_BUTTON),
|
|
25
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_VITALS_SECTION_BUTTON),
|
|
26
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_IMMUNIZATIONS_SECTION_BUTTON),
|
|
27
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_SURGICAL_HISTORY_SECTION_BUTTON),
|
|
28
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_FAMILY_HISTORY_SECTION_BUTTON),
|
|
29
|
+
EventType.Name(EventType.SHOW_CHART_SUMMARY_CODING_GAPS_SECTION_BUTTON),
|
|
16
30
|
EventType.Name(EventType.ACTION_BUTTON_CLICKED),
|
|
17
31
|
]
|
|
18
32
|
|
|
19
33
|
class ButtonLocation(StrEnum):
|
|
20
34
|
NOTE_HEADER = "note_header"
|
|
21
35
|
NOTE_FOOTER = "note_footer"
|
|
36
|
+
CHART_SUMMARY_SOCIAL_DETERMINANTS_SECTION = "chart_summary_social_determinants_section"
|
|
37
|
+
CHART_SUMMARY_GOALS_SECTION = "chart_summary_goals_section"
|
|
38
|
+
CHART_SUMMARY_CONDITIONS_SECTION = "chart_summary_conditions_section"
|
|
39
|
+
CHART_SUMMARY_MEDICATIONS_SECTION = "chart_summary_medications_section"
|
|
40
|
+
CHART_SUMMARY_ALLERGIES_SECTION = "chart_summary_allergies_section"
|
|
41
|
+
CHART_SUMMARY_CARE_TEAMS_SECTION = "chart_summary_care_teams_section"
|
|
42
|
+
CHART_SUMMARY_VITALS_SECTION = "chart_summary_vitals_section"
|
|
43
|
+
CHART_SUMMARY_IMMUNIZATIONS_SECTION = "chart_summary_immunizations_section"
|
|
44
|
+
CHART_SUMMARY_SURGICAL_HISTORY_SECTION = "chart_summary_surgical_history_section"
|
|
45
|
+
CHART_SUMMARY_FAMILY_HISTORY_SECTION = "chart_summary_family_history_section"
|
|
46
|
+
CHART_SUMMARY_CODING_GAPS_SECTION = "chart_summary_coding_gaps_section"
|
|
22
47
|
|
|
23
48
|
BUTTON_TITLE: str = ""
|
|
24
49
|
BUTTON_KEY: str = ""
|
|
25
|
-
BUTTON_LOCATION: ButtonLocation
|
|
50
|
+
BUTTON_LOCATION: ButtonLocation
|
|
26
51
|
|
|
27
52
|
@abstractmethod
|
|
28
53
|
def handle(self) -> list[Effect]:
|
|
@@ -35,24 +60,16 @@ class ActionButton(BaseHandler):
|
|
|
35
60
|
|
|
36
61
|
def compute(self) -> list[Effect]:
|
|
37
62
|
"""Method to compute the effects."""
|
|
38
|
-
if self.BUTTON_LOCATION
|
|
63
|
+
if not self.BUTTON_LOCATION:
|
|
39
64
|
return []
|
|
40
65
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
self.event.context["location"].lower() == self.BUTTON_LOCATION.value
|
|
47
|
-
and self.visible()
|
|
48
|
-
):
|
|
66
|
+
show_button_event_match = SHOW_BUTTON_REGEX.fullmatch(self.event.name)
|
|
67
|
+
|
|
68
|
+
if show_button_event_match:
|
|
69
|
+
location = show_button_event_match.group(1)
|
|
70
|
+
if self.ButtonLocation[location] == self.BUTTON_LOCATION and self.visible():
|
|
49
71
|
return [ShowButtonEffect(key=self.BUTTON_KEY, title=self.BUTTON_TITLE).apply()]
|
|
50
|
-
|
|
51
|
-
return []
|
|
52
|
-
elif (
|
|
53
|
-
self.event.type == EventType.ACTION_BUTTON_CLICKED
|
|
54
|
-
and self.event.context["key"] == self.BUTTON_KEY
|
|
55
|
-
):
|
|
72
|
+
elif self.context["key"] == self.BUTTON_KEY:
|
|
56
73
|
return self.handle()
|
|
57
74
|
|
|
58
75
|
return []
|
|
File without changes
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
from canvas_sdk.effects import Effect
|
|
6
|
+
from canvas_sdk.events import Event, EventRequest, EventType
|
|
7
|
+
from plugin_runner.plugin_runner import LOADED_PLUGINS
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@pytest.mark.parametrize("install_test_plugin", ["test_render_template"], indirect=True)
|
|
11
|
+
def test_render_to_string_valid_template(
|
|
12
|
+
install_test_plugin: Path, load_test_plugins: None
|
|
13
|
+
) -> None:
|
|
14
|
+
"""Test that the render_to_string function loads and renders a valid template."""
|
|
15
|
+
plugin = LOADED_PLUGINS[
|
|
16
|
+
"test_render_template:test_render_template.protocols.my_protocol:ValidTemplate"
|
|
17
|
+
]
|
|
18
|
+
result: list[Effect] = plugin["class"](Event(EventRequest(type=EventType.UNKNOWN))).compute()
|
|
19
|
+
assert "html" in result[0].payload
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@pytest.mark.parametrize("install_test_plugin", ["test_render_template"], indirect=True)
|
|
23
|
+
def test_render_to_string_invalid_template(
|
|
24
|
+
install_test_plugin: Path, load_test_plugins: None
|
|
25
|
+
) -> None:
|
|
26
|
+
"""Test that the render_to_string function raises an error for invalid templates."""
|
|
27
|
+
plugin = LOADED_PLUGINS[
|
|
28
|
+
"test_render_template:test_render_template.protocols.my_protocol:InvalidTemplate"
|
|
29
|
+
]
|
|
30
|
+
with pytest.raises(FileNotFoundError):
|
|
31
|
+
plugin["class"](Event(EventRequest(type=EventType.UNKNOWN))).compute()
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@pytest.mark.parametrize("install_test_plugin", ["test_render_template"], indirect=True)
|
|
35
|
+
def test_render_to_string_forbidden_template(
|
|
36
|
+
install_test_plugin: Path, load_test_plugins: None
|
|
37
|
+
) -> None:
|
|
38
|
+
"""Test that the render_to_string function raises an error for a template outside plugin package."""
|
|
39
|
+
plugin = LOADED_PLUGINS[
|
|
40
|
+
"test_render_template:test_render_template.protocols.my_protocol:ForbiddenTemplate"
|
|
41
|
+
]
|
|
42
|
+
with pytest.raises(PermissionError):
|
|
43
|
+
plugin["class"](Event(EventRequest(type=EventType.UNKNOWN))).compute()
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import inspect
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from django.template import Context, Template
|
|
6
|
+
|
|
7
|
+
from settings import PLUGIN_DIRECTORY
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def render_to_string(template_name: str, context: dict[str, Any] | None = None) -> str | None:
|
|
11
|
+
"""Load a template and render it with the given context.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
template_name (str): The path to the template file, relative to the plugin package.
|
|
15
|
+
If the path starts with a forward slash ("/"), it will be stripped during resolution.
|
|
16
|
+
context (dict[str, Any] | None): A dictionary of variables to pass to the template
|
|
17
|
+
for rendering. Defaults to None, which uses an empty context.
|
|
18
|
+
|
|
19
|
+
Returns:
|
|
20
|
+
str: The rendered template as a string.
|
|
21
|
+
|
|
22
|
+
Raises:
|
|
23
|
+
FileNotFoundError: If the template file does not exist within the plugin's directory
|
|
24
|
+
or if the resolved path is invalid.
|
|
25
|
+
"""
|
|
26
|
+
plugins_dir = Path(PLUGIN_DIRECTORY).resolve()
|
|
27
|
+
current_frame = inspect.currentframe()
|
|
28
|
+
caller = current_frame.f_back if current_frame else None
|
|
29
|
+
|
|
30
|
+
if not caller or "__is_plugin__" not in caller.f_globals:
|
|
31
|
+
return None
|
|
32
|
+
|
|
33
|
+
plugin_name = caller.f_globals["__name__"].split(".")[0]
|
|
34
|
+
plugin_dir = plugins_dir / plugin_name
|
|
35
|
+
template_path = Path(plugin_dir / template_name.lstrip("/")).resolve()
|
|
36
|
+
|
|
37
|
+
if not template_path.is_relative_to(plugin_dir):
|
|
38
|
+
raise PermissionError(f"Invalid template '{template_name}'")
|
|
39
|
+
elif not template_path.exists():
|
|
40
|
+
raise FileNotFoundError(f"Template {template_name} not found.")
|
|
41
|
+
|
|
42
|
+
template = Template(template_path.read_text())
|
|
43
|
+
|
|
44
|
+
return template.render(Context(context))
|
canvas_sdk/utils/http.py
CHANGED
|
@@ -26,7 +26,7 @@ class Http:
|
|
|
26
26
|
result = fn(self, *args, **kwargs)
|
|
27
27
|
end_time = time.time()
|
|
28
28
|
timing = int((end_time - start_time) * 1000)
|
|
29
|
-
self.statsd_client.timing(f"http_{fn.__name__}", timing)
|
|
29
|
+
self.statsd_client.timing(f"plugins.http_{fn.__name__}", timing)
|
|
30
30
|
return result
|
|
31
31
|
|
|
32
32
|
return cast(F, wrapper)
|