canvas 0.66.0__py3-none-any.whl → 0.67.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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.66.0
3
+ Version: 0.67.0
4
4
  Summary: SDK to customize event-driven actions in your Canvas instance
5
5
  Author-email: Canvas Team <engineering@canvasmedical.com>
6
6
  License-Expression: MIT
@@ -81,8 +81,8 @@ canvas_cli/utils/urls/urls.py,sha256=KwWTh5ERrEsZEvdBrZpZB71xtyWkDuglpXUbycWmBOo
81
81
  canvas_cli/utils/validators/__init__.py,sha256=rBvSR2O1hWkNAnUBdcr-zUkmqT796_A61b9pnvEhwrM,113
82
82
  canvas_cli/utils/validators/manifest_schema.py,sha256=XNw-sbFgxaXzffWnQd6zLg5V74odv7jGiEFENWKnluA,6057
83
83
  canvas_cli/utils/validators/validators.py,sha256=lrUBQ0sF7seTe_pNGsNgASdr2BGp6g-Qui58V4H9qfQ,1598
84
- canvas_generated/messages/effects_pb2.py,sha256=EUqmz0u9flRdMJmSOjyDGV4kZveW1IN2KT2HwZ-zR8Y,15101
85
- canvas_generated/messages/effects_pb2.pyi,sha256=BLCQQH3NWhrsUm3e_IcHP8vUcpnmvXJeiW3D1FsmjsQ,27236
84
+ canvas_generated/messages/effects_pb2.py,sha256=tObxo6jxO2wVM_YKb9Rm2b7cB0aW5ma_KDlY2YWnnzk,15162
85
+ canvas_generated/messages/effects_pb2.pyi,sha256=PAXpkLVvasqqeNM32qRFrg1LFpG9uIow8xgdH5BkEcA,27359
86
86
  canvas_generated/messages/effects_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
87
87
  canvas_generated/messages/events_pb2.py,sha256=tj_szSSgbqPOWdCUQhg0OZCd7IRRb9G-N_va64GmHx4,56705
88
88
  canvas_generated/messages/events_pb2.pyi,sha256=8mZd6J75CUIUWNNpc_gxKmuuqadvW1xUKAxV0aL-nFE,102207
@@ -148,7 +148,7 @@ canvas_sdk/effects/form.py,sha256=NZsd-LxnhNzRwUoUaDNIPuVg9nysUjuWzK2dyx13Nu0,18
148
148
  canvas_sdk/effects/generate_full_chart_pdf.py,sha256=yrtbKfLW7KHg-4VunzqEEKVVcFrBxGsrFSEjGIfN-1Q,1743
149
149
  canvas_sdk/effects/group.py,sha256=hjEk5OQteCCq20umH2bel8nUgT82oyfRXZMxs1K-yyo,399
150
150
  canvas_sdk/effects/launch_modal.py,sha256=WoMn97utz-91t26PpWbpIR_R-Kuwq-dRKgDEEe-75oE,1285
151
- canvas_sdk/effects/metadata.py,sha256=9CrBoirw56qW_1VyK7H8PUGTt6o1lVVEmVKTiOZn6QA,626
151
+ canvas_sdk/effects/metadata.py,sha256=zCPy6Xg4L6W3WqCzvUo9Ht0KCh7RMZk0G2U3aZEZG_w,943
152
152
  canvas_sdk/effects/panel_configuration.py,sha256=o1Ej-YUIBWfTlG_pIjBqr3o69amQC-oVGEFTEr8ChKY,2882
153
153
  canvas_sdk/effects/patient_chart_group.py,sha256=t0s6TQSBz8CVmPjM_mlYqdjTC5nhg6NvWCSwdai0ENs,739
154
154
  canvas_sdk/effects/patient_chart_summary_configuration.py,sha256=ui9xFOeVabr-3QnuqBdj3z7xlLCrVh_BjeSfnVCePp4,1238
@@ -156,6 +156,7 @@ canvas_sdk/effects/patient_portal_menu_configuration.py,sha256=kDK60-H0Cop-GaTky
156
156
  canvas_sdk/effects/patient_profile_configuration.py,sha256=vFFtpSdM19Lofk1RZSB8SoUDodJxymHDgNlHhJcgVaM,1383
157
157
  canvas_sdk/effects/payment_processor.py,sha256=RaalRjwiz7HlokMsZO9ZIZoBvKEUaai1hQUzGe6b6ac,3627
158
158
  canvas_sdk/effects/questionnaire_result.py,sha256=iL8y2_nj1a-C91mxIQ1zkzndgBzuyNt9sgPyblGEq7k,863
159
+ canvas_sdk/effects/send_contact_verification.py,sha256=A_x-hiJmyJkXGYAr8YUgi9MVwjWt1nYLXPUTu8_znn8,1192
159
160
  canvas_sdk/effects/send_invite.py,sha256=XyZCnWWex5nGeJ1-JnoYawp7IumTEp1yaOXQWrWGXyk,1165
160
161
  canvas_sdk/effects/show_button.py,sha256=daPDAxf9sj_-aCuZ8G2-FFhNvfHNjBJsumOMQnbwl7E,817
161
162
  canvas_sdk/effects/simple_api.py,sha256=bR83uy3lPnjSk5TDh6XnDmhHpGQCvBhtsvJK3D46DGw,3990
@@ -180,8 +181,8 @@ canvas_sdk/effects/note/appointment.py,sha256=ca46df8onI-I6szPJWSz_N745PWchKMBcr
180
181
  canvas_sdk/effects/note/base.py,sha256=b8Nc29_maoRuSDanPdlDGW6QIYlyD1j9Dtkv5_qQ7rA,8150
181
182
  canvas_sdk/effects/note/message.py,sha256=T6p6h4J_I0k2jQSirFtIusydak4tem9yBPOTexvOQ0s,3740
182
183
  canvas_sdk/effects/note/note.py,sha256=mQtcC71vviFzwGP_uQKk9_Pksh8oUY8nyMKikUdaWPE,5005
183
- canvas_sdk/effects/patient/__init__.py,sha256=QC5UszNibt-BTC3rfCq9y-j4-APuBMUZfAllB8WnIDY,636
184
- canvas_sdk/effects/patient/base.py,sha256=E60n-RtD8q5Fo1UxCS1-RmZu14qBV5raiYtm2TcxrWU,8342
184
+ canvas_sdk/effects/patient/__init__.py,sha256=E7eELEUiSLXJ_TdfqjpQYpedpddZ9VHY9OKN8qilGJk,680
185
+ canvas_sdk/effects/patient/base.py,sha256=FGFX1nO9zx_pzlbEZ_ZGyrDwjweJinhGgMozRTorVSA,8665
185
186
  canvas_sdk/effects/patient/create_patient_external_identifier.py,sha256=d03jzJcz2n19_NVo_wAq88iKZRuuM60qsZhGGhL7pGE,1055
186
187
  canvas_sdk/effects/patient/create_patient_preferred_pharmacies.py,sha256=Vaby6L5PALtLAiJCNmqKsDec8UZ7DVFyP7kU0fHrpT4,2096
187
188
  canvas_sdk/effects/patient_metadata/__init__.py,sha256=vxTpaP9gY1iNf0iVSoh24buFR7XfY2FKVYKn_P7BJkg,342
@@ -238,7 +239,7 @@ canvas_sdk/utils/plugins.py,sha256=OPq9OiE1v1AF24HSdEEOlSJxRVc2NVksK0Gpf6OH1NE,1
238
239
  canvas_sdk/v1/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,17
239
240
  canvas_sdk/v1/apps.py,sha256=4MwQfQu78oX5bUVlyxYzbt4rZODi0ZesXe_3QOsEWO8,170
240
241
  canvas_sdk/v1/models.py,sha256=LqeHZ-Hz3EWyM9vYr9uZ9rBYdMXNuuvJqbmojV8EcEM,224
241
- canvas_sdk/v1/data/__init__.py,sha256=-466YxZaNQooCjD2shJhWpQsJ13O74wqVP1Ux2XIwyk,6430
242
+ canvas_sdk/v1/data/__init__.py,sha256=cSmR6Z9Y87GesEeGVjM9ZYHLL3yOIx6nB3SB6fns8vc,6476
242
243
  canvas_sdk/v1/data/allergy_intolerance.py,sha256=KXfU7UqTdRfHUFrP8yncQGMvlRPEt2K6TrC_y7JYgiE,2453
243
244
  canvas_sdk/v1/data/appointment.py,sha256=wRxRYWvGHP6zXFA-Hq3I08fwC56wHKb3zwpp5kqj4Yw,3227
244
245
  canvas_sdk/v1/data/assessment.py,sha256=vnVoaKWoJGCfaYn6WilxpI5cTgkvM647hFIuTyi_AgY,1663
@@ -255,7 +256,7 @@ canvas_sdk/v1/data/command.py,sha256=G7qtNypiTK274QQExKLbnij4gM71HZMs8f79VFYvIiY
255
256
  canvas_sdk/v1/data/common.py,sha256=u5W3_7kXAGPe7guEBwRouKp8FMRCx9iZL6ei8QMmtwU,4880
256
257
  canvas_sdk/v1/data/compound_medication.py,sha256=DXzAnpez0Yk_z9BbKmxQXe2dXHP9oQdfCvETyFGpwpo,2215
257
258
  canvas_sdk/v1/data/condition.py,sha256=u9Vgo8h5TYhof-GYPpezpP3YdN_lfCAw4jCN4QSqpfE,2376
258
- canvas_sdk/v1/data/coverage.py,sha256=i03BeVxNCsxXWnBL8klySFRXXN-T1hF01HyCvcCnlYk,11339
259
+ canvas_sdk/v1/data/coverage.py,sha256=6exnZH7UUMPE3bOG1l_-qgZjd82FWz9DRRTv2F16btU,11870
259
260
  canvas_sdk/v1/data/detected_issue.py,sha256=k-tOX6fpzfRf9WmG7neHPEeWrpZUdTiTEqYzKaa2haI,1865
260
261
  canvas_sdk/v1/data/device.py,sha256=5YnCApQR3ZprGO9zCsSP-4spwo4HVRDSTY3QCNwqYlo,1932
261
262
  canvas_sdk/v1/data/discount.py,sha256=Bqa0PcytSdqZ0MJor9EShtRUmNWGcBKtivGCmjk9Pbw,618
@@ -319,7 +320,7 @@ canvas_sdk/views/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,
319
320
  logger/__init__.py,sha256=uMIOf1CDdKSmBKxKwO4CmDpvnJITci76IMXENOwSHEo,85
320
321
  logger/logger.py,sha256=l5W5jn3vGQt6TM7OxOpoMy-vC7RNNA2pGnQJJgHeXWA,2068
321
322
  plugin_runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
- plugin_runner/allowed-module-imports.json,sha256=b64nOr1VaBbol6KMAI3Uhr5E54mPxicR7QJABoNN-4o,38709
323
+ plugin_runner/allowed-module-imports.json,sha256=AJzC9Be2cDdDNROEmvs6WpPA3XSPbPAd_pb22OOeKQE,38955
323
324
  plugin_runner/authentication.py,sha256=UyyhXajokVFH866dpDhoTlXS9Cg7y0sQltn0_LcwXrY,1131
324
325
  plugin_runner/aws_headers.py,sha256=wZ8584E1fTW0CdGxOCnLSF8alH27z-URcUyoc6y6ohg,2782
325
326
  plugin_runner/exceptions.py,sha256=ltqn56SMTg-T5miSh5hux4ojwx0hZGSWaB7BxyAmcAo,545
@@ -328,7 +329,7 @@ plugin_runner/installation.py,sha256=2KTDWWsQ97WIN2k9tC4d50zN77WWK_1D5obXlhLfWw8
328
329
  plugin_runner/load_all_plugins.py,sha256=4T2gW2YljhIx4xfwf1c0F_8oIbE1ubsLj0ShkHRtlVY,5847
329
330
  plugin_runner/plugin_runner.py,sha256=RpcZoXXzGEflJGuHJaAOCP24mWb4fG1bLw3ryA6n88k,26623
330
331
  plugin_runner/sandbox.py,sha256=DhYbDl6BOkSBciYuFTwIXhSrcnaWm2WxUXYEkrRaAhQ,30332
331
- protobufs/canvas_generated/messages/effects.proto,sha256=knnBn15oyJhNQ_diywrJ6NgwPsd1Q6TWuff2nQ8U7Og,10632
332
+ protobufs/canvas_generated/messages/effects.proto,sha256=Doez_wso8Hxl8c1gfRvokXQB_SrBeC9FMmyB383Ok9A,10684
332
333
  protobufs/canvas_generated/messages/events.proto,sha256=KwjnaA8ekFwQTg54vWhbQuGF0_mLK9kFdtjuJ-K1cfo,52782
333
334
  protobufs/canvas_generated/messages/plugins.proto,sha256=xJyEeTwM6wWja3vGECLsIzfabwf1VahDgacoPL3TuwI,323
334
335
  protobufs/canvas_generated/services/plugin_runner.proto,sha256=PZ0Ts11b9tdA5Gkg2M05JVEKAm0R4LFEwrGRS-TQ16E,466
@@ -348,7 +349,7 @@ canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookie
348
349
  canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/README.md,sha256=3QKoJQq3YmdplGnDOBMsLCJ3Ya1_aKjoz-QiWc4QfjA,291
349
350
  canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
351
  canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/my_protocol.py,sha256=fKLLcOIwvSWenW8-7tr8VqnF4Iox_5wU9V-Qw9UySsA,2381
351
- canvas-0.66.0.dist-info/METADATA,sha256=6nPjQnFNheHNqqyAKykgcOYQjGvp1CsBYw9x8Y4EzWo,4758
352
- canvas-0.66.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
353
- canvas-0.66.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
354
- canvas-0.66.0.dist-info/RECORD,,
352
+ canvas-0.67.0.dist-info/METADATA,sha256=JwohpWReoFfhnlZJxQ3NvvtlggIVTnltPv46hamCJoM,4758
353
+ canvas-0.67.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
354
+ canvas-0.67.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
355
+ canvas-0.67.0.dist-info/RECORD,,
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'canvas_generated/messages/effects.proto\x12\x06\x63\x61nvas\"y\n\x06\x45\x66\x66\x65\x63t\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.canvas.EffectType\x12\x0f\n\x07payload\x18\x02 \x01(\t\x12\x13\n\x0bplugin_name\x18\x03 \x01(\t\x12\x11\n\tclassname\x18\x04 \x01(\t\x12\x14\n\x0chandler_name\x18\x05 \x01(\t*\xd5I\n\nEffectType\x12\x12\n\x0eUNKNOWN_EFFECT\x10\x00\x12\x07\n\x03LOG\x10\x01\x12\x14\n\x10\x41\x44\x44_PLAN_COMMAND\x10\x02\x12\x1f\n\x1b\x41UTOCOMPLETE_SEARCH_RESULTS\x10\x03\x12\x14\n\x10\x41\x44\x44_BANNER_ALERT\x10\x04\x12\x17\n\x13REMOVE_BANNER_ALERT\x10\x05\x12\x1c\n\x18ORIGINATE_ASSESS_COMMAND\x10\x06\x12\x17\n\x13\x45\x44IT_ASSESS_COMMAND\x10\x07\x12\x19\n\x15\x44\x45LETE_ASSESS_COMMAND\x10\x08\x12\x19\n\x15\x43OMMIT_ASSESS_COMMAND\x10\t\x12!\n\x1d\x45NTER_IN_ERROR_ASSESS_COMMAND\x10\n\x12\x1e\n\x1aORIGINATE_DIAGNOSE_COMMAND\x10\x0b\x12\x19\n\x15\x45\x44IT_DIAGNOSE_COMMAND\x10\x0c\x12\x1b\n\x17\x44\x45LETE_DIAGNOSE_COMMAND\x10\r\x12\x1b\n\x17\x43OMMIT_DIAGNOSE_COMMAND\x10\x0e\x12#\n\x1f\x45NTER_IN_ERROR_DIAGNOSE_COMMAND\x10\x0f\x12\x1a\n\x16ORIGINATE_GOAL_COMMAND\x10\x10\x12\x15\n\x11\x45\x44IT_GOAL_COMMAND\x10\x11\x12\x17\n\x13\x44\x45LETE_GOAL_COMMAND\x10\x12\x12\x17\n\x13\x43OMMIT_GOAL_COMMAND\x10\x13\x12\x1f\n\x1b\x45NTER_IN_ERROR_GOAL_COMMAND\x10\x14\x12\x19\n\x15ORIGINATE_HPI_COMMAND\x10\x15\x12\x14\n\x10\x45\x44IT_HPI_COMMAND\x10\x16\x12\x16\n\x12\x44\x45LETE_HPI_COMMAND\x10\x17\x12\x16\n\x12\x43OMMIT_HPI_COMMAND\x10\x18\x12\x1e\n\x1a\x45NTER_IN_ERROR_HPI_COMMAND\x10\x19\x12*\n&ORIGINATE_MEDICATION_STATEMENT_COMMAND\x10\x1a\x12%\n!EDIT_MEDICATION_STATEMENT_COMMAND\x10\x1b\x12\'\n#DELETE_MEDICATION_STATEMENT_COMMAND\x10\x1c\x12\'\n#COMMIT_MEDICATION_STATEMENT_COMMAND\x10\x1d\x12/\n+ENTER_IN_ERROR_MEDICATION_STATEMENT_COMMAND\x10\x1e\x12\x1a\n\x16ORIGINATE_PLAN_COMMAND\x10\x1f\x12\x15\n\x11\x45\x44IT_PLAN_COMMAND\x10 \x12\x17\n\x13\x44\x45LETE_PLAN_COMMAND\x10!\x12\x17\n\x13\x43OMMIT_PLAN_COMMAND\x10\"\x12\x1f\n\x1b\x45NTER_IN_ERROR_PLAN_COMMAND\x10#\x12\x1f\n\x1bORIGINATE_PRESCRIBE_COMMAND\x10$\x12\x1a\n\x16\x45\x44IT_PRESCRIBE_COMMAND\x10%\x12\x1c\n\x18\x44\x45LETE_PRESCRIBE_COMMAND\x10&\x12\x1c\n\x18\x43OMMIT_PRESCRIBE_COMMAND\x10\'\x12$\n ENTER_IN_ERROR_PRESCRIBE_COMMAND\x10(\x12\x1b\n\x16SEND_PRESCRIBE_COMMAND\x10\x99\n\x12#\n\x1fORIGINATE_QUESTIONNAIRE_COMMAND\x10)\x12\x1e\n\x1a\x45\x44IT_QUESTIONNAIRE_COMMAND\x10*\x12 \n\x1c\x44\x45LETE_QUESTIONNAIRE_COMMAND\x10+\x12 \n\x1c\x43OMMIT_QUESTIONNAIRE_COMMAND\x10,\x12(\n$ENTER_IN_ERROR_QUESTIONNAIRE_COMMAND\x10-\x12&\n\"ORIGINATE_REASON_FOR_VISIT_COMMAND\x10.\x12!\n\x1d\x45\x44IT_REASON_FOR_VISIT_COMMAND\x10/\x12#\n\x1f\x44\x45LETE_REASON_FOR_VISIT_COMMAND\x10\x30\x12#\n\x1f\x43OMMIT_REASON_FOR_VISIT_COMMAND\x10\x31\x12+\n\'ENTER_IN_ERROR_REASON_FOR_VISIT_COMMAND\x10\x32\x12%\n!ORIGINATE_STOP_MEDICATION_COMMAND\x10\x33\x12 \n\x1c\x45\x44IT_STOP_MEDICATION_COMMAND\x10\x34\x12\"\n\x1e\x44\x45LETE_STOP_MEDICATION_COMMAND\x10\x35\x12\"\n\x1e\x43OMMIT_STOP_MEDICATION_COMMAND\x10\x36\x12*\n&ENTER_IN_ERROR_STOP_MEDICATION_COMMAND\x10\x37\x12!\n\x1dORIGINATE_UPDATE_GOAL_COMMAND\x10\x38\x12\x1c\n\x18\x45\x44IT_UPDATE_GOAL_COMMAND\x10\x39\x12\x1e\n\x1a\x44\x45LETE_UPDATE_GOAL_COMMAND\x10:\x12\x1e\n\x1a\x43OMMIT_UPDATE_GOAL_COMMAND\x10;\x12&\n\"ENTER_IN_ERROR_UPDATE_GOAL_COMMAND\x10<\x12\x1d\n\x19ORIGINATE_PERFORM_COMMAND\x10=\x12\x18\n\x14\x45\x44IT_PERFORM_COMMAND\x10>\x12\x1a\n\x16\x44\x45LETE_PERFORM_COMMAND\x10?\x12\x1a\n\x16\x43OMMIT_PERFORM_COMMAND\x10@\x12\"\n\x1e\x45NTER_IN_ERROR_PERFORM_COMMAND\x10\x41\x12\x1e\n\x1aORIGINATE_INSTRUCT_COMMAND\x10\x42\x12\x19\n\x15\x45\x44IT_INSTRUCT_COMMAND\x10\x43\x12\x1b\n\x17\x44\x45LETE_INSTRUCT_COMMAND\x10\x44\x12\x1b\n\x17\x43OMMIT_INSTRUCT_COMMAND\x10\x45\x12#\n\x1f\x45NTER_IN_ERROR_INSTRUCT_COMMAND\x10\x46\x12\x1f\n\x1bORIGINATE_LAB_ORDER_COMMAND\x10G\x12\x1a\n\x16\x45\x44IT_LAB_ORDER_COMMAND\x10H\x12\x1c\n\x18\x44\x45LETE_LAB_ORDER_COMMAND\x10I\x12\x1c\n\x18\x43OMMIT_LAB_ORDER_COMMAND\x10J\x12$\n ENTER_IN_ERROR_LAB_ORDER_COMMAND\x10K\x12\x1b\n\x16SEND_LAB_ORDER_COMMAND\x10\x9a\n\x12$\n ORIGINATE_FAMILY_HISTORY_COMMAND\x10L\x12\x1f\n\x1b\x45\x44IT_FAMILY_HISTORY_COMMAND\x10M\x12!\n\x1d\x44\x45LETE_FAMILY_HISTORY_COMMAND\x10N\x12!\n\x1d\x43OMMIT_FAMILY_HISTORY_COMMAND\x10O\x12)\n%ENTER_IN_ERROR_FAMILY_HISTORY_COMMAND\x10P\x12\x1d\n\x19ORIGINATE_ALLERGY_COMMAND\x10Q\x12\x18\n\x14\x45\x44IT_ALLERGY_COMMAND\x10R\x12\x1a\n\x16\x44\x45LETE_ALLERGY_COMMAND\x10S\x12\x1a\n\x16\x43OMMIT_ALLERGY_COMMAND\x10T\x12\"\n\x1e\x45NTER_IN_ERROR_ALLERGY_COMMAND\x10U\x12$\n ORIGINATE_REMOVE_ALLERGY_COMMAND\x10V\x12\x1f\n\x1b\x45\x44IT_REMOVE_ALLERGY_COMMAND\x10W\x12!\n\x1d\x44\x45LETE_REMOVE_ALLERGY_COMMAND\x10X\x12!\n\x1d\x43OMMIT_REMOVE_ALLERGY_COMMAND\x10Y\x12)\n%ENTER_IN_ERROR_REMOVE_ALLERGY_COMMAND\x10Z\x12&\n\"ORIGINATE_SURGICAL_HISTORY_COMMAND\x10[\x12!\n\x1d\x45\x44IT_SURGICAL_HISTORY_COMMAND\x10\\\x12#\n\x1f\x44\x45LETE_SURGICAL_HISTORY_COMMAND\x10]\x12#\n\x1f\x43OMMIT_SURGICAL_HISTORY_COMMAND\x10^\x12+\n\'ENTER_IN_ERROR_SURGICAL_HISTORY_COMMAND\x10_\x12\x0f\n\x0b\x43REATE_TASK\x10\x64\x12\x0f\n\x0bUPDATE_TASK\x10\x65\x12\x17\n\x13\x43REATE_TASK_COMMENT\x10\x66\x12%\n!ORIGINATE_MEDICAL_HISTORY_COMMAND\x10g\x12 \n\x1c\x45\x44IT_MEDICAL_HISTORY_COMMAND\x10h\x12\"\n\x1e\x44\x45LETE_MEDICAL_HISTORY_COMMAND\x10i\x12\"\n\x1e\x43OMMIT_MEDICAL_HISTORY_COMMAND\x10j\x12*\n&ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND\x10k\x12\x1f\n\x1b\x41\x44\x44_OR_UPDATE_PROTOCOL_CARD\x10n\x12\x1b\n\x16ORIGINATE_TASK_COMMAND\x10\x85\x01\x12\x16\n\x11\x45\x44IT_TASK_COMMAND\x10\x86\x01\x12\x18\n\x13\x44\x45LETE_TASK_COMMAND\x10\x87\x01\x12\x18\n\x13\x43OMMIT_TASK_COMMAND\x10\x88\x01\x12 \n\x1b\x45NTER_IN_ERROR_TASK_COMMAND\x10\x89\x01\x12\x1c\n\x18ORIGINATE_REFILL_COMMAND\x10q\x12\x17\n\x13\x45\x44IT_REFILL_COMMAND\x10r\x12\x19\n\x15\x44\x45LETE_REFILL_COMMAND\x10s\x12\x19\n\x15\x43OMMIT_REFILL_COMMAND\x10t\x12!\n\x1d\x45NTER_IN_ERROR_REFILL_COMMAND\x10u\x12\x18\n\x13SEND_REFILL_COMMAND\x10\x9c\n\x12\x1c\n\x18ORIGINATE_VITALS_COMMAND\x10v\x12\x17\n\x13\x45\x44IT_VITALS_COMMAND\x10w\x12\x19\n\x15\x44\x45LETE_VITALS_COMMAND\x10x\x12\x19\n\x15\x43OMMIT_VITALS_COMMAND\x10y\x12!\n\x1d\x45NTER_IN_ERROR_VITALS_COMMAND\x10z\x12&\n\"ORIGINATE_UPDATE_DIAGNOSIS_COMMAND\x10{\x12!\n\x1d\x45\x44IT_UPDATE_DIAGNOSIS_COMMAND\x10|\x12#\n\x1f\x44\x45LETE_UPDATE_DIAGNOSIS_COMMAND\x10}\x12#\n\x1f\x43OMMIT_UPDATE_DIAGNOSIS_COMMAND\x10~\x12+\n\'ENTER_IN_ERROR_UPDATE_DIAGNOSIS_COMMAND\x10\x7f\x12!\n\x1cORIGINATE_CLOSE_GOAL_COMMAND\x10\x80\x01\x12\x1c\n\x17\x45\x44IT_CLOSE_GOAL_COMMAND\x10\x81\x01\x12\x1e\n\x19\x44\x45LETE_CLOSE_GOAL_COMMAND\x10\x82\x01\x12\x1e\n\x19\x43OMMIT_CLOSE_GOAL_COMMAND\x10\x83\x01\x12&\n!ENTER_IN_ERROR_CLOSE_GOAL_COMMAND\x10\x84\x01\x12\x1c\n\x17ORIGINATE_REFER_COMMAND\x10\x8b\x01\x12\x17\n\x12\x45\x44IT_REFER_COMMAND\x10\x8c\x01\x12\x19\n\x14\x44\x45LETE_REFER_COMMAND\x10\x8d\x01\x12\x19\n\x14\x43OMMIT_REFER_COMMAND\x10\x8e\x01\x12!\n\x1c\x45NTER_IN_ERROR_REFER_COMMAND\x10\x8f\x01\x12(\n#ORIGINATE_CHANGE_MEDICATION_COMMAND\x10\x96\x01\x12#\n\x1e\x45\x44IT_CHANGE_MEDICATION_COMMAND\x10\x97\x01\x12%\n DELETE_CHANGE_MEDICATION_COMMAND\x10\x98\x01\x12%\n COMMIT_CHANGE_MEDICATION_COMMAND\x10\x99\x01\x12-\n(ENTER_IN_ERROR_CHANGE_MEDICATION_COMMAND\x10\x9a\x01\x12 \n\x1b\x43REATE_QUESTIONNAIRE_RESULT\x10\x8a\x01\x12-\n(ANNOTATE_PATIENT_CHART_CONDITION_RESULTS\x10\xc8\x01\x12%\n ANNOTATE_CLAIM_CONDITION_RESULTS\x10\xac\x02\x12(\n#SHOW_PATIENT_CHART_SUMMARY_SECTIONS\x10\x90\x03\x12\"\n\x1dSHOW_PATIENT_PROFILE_SECTIONS\x10\xf4\x03\x12\x37\n2PATIENT_PROFILE__ADD_PHARMACY__POST_SEARCH_RESULTS\x10\xf5\x03\x12)\n$SEND_SURESCRIPTS_ELIGIBILITY_REQUEST\x10\xd8\x04\x12\x30\n+SEND_SURESCRIPTS_MEDICATION_HISTORY_REQUEST\x10\xd9\x04\x12&\n!SEND_SURESCRIPTS_BENEFITS_REQUEST\x10\xda\x04\x12\x1b\n\x16ORIGINATE_EXAM_COMMAND\x10\xbc\x05\x12\x16\n\x11\x45\x44IT_EXAM_COMMAND\x10\xbd\x05\x12\x18\n\x13\x44\x45LETE_EXAM_COMMAND\x10\xbe\x05\x12\x18\n\x13\x43OMMIT_EXAM_COMMAND\x10\xbf\x05\x12 \n\x1b\x45NTER_IN_ERROR_EXAM_COMMAND\x10\xc0\x05\x12\x1a\n\x15ORIGINATE_ROS_COMMAND\x10\xa0\x06\x12\x15\n\x10\x45\x44IT_ROS_COMMAND\x10\xa1\x06\x12\x17\n\x12\x44\x45LETE_ROS_COMMAND\x10\xa2\x06\x12\x17\n\x12\x43OMMIT_ROS_COMMAND\x10\xa3\x06\x12\x1f\n\x1a\x45NTER_IN_ERROR_ROS_COMMAND\x10\xa4\x06\x12,\n\'ORIGINATE_STRUCTURED_ASSESSMENT_COMMAND\x10\x84\x07\x12\'\n\"EDIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x85\x07\x12)\n$DELETE_STRUCTURED_ASSESSMENT_COMMAND\x10\x86\x07\x12)\n$COMMIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x87\x07\x12\x31\n,ENTER_IN_ERROR_STRUCTURED_ASSESSMENT_COMMAND\x10\x88\x07\x12 \n\x1bORIGINATE_FOLLOW_UP_COMMAND\x10\x89\x07\x12\x1b\n\x16\x45\x44IT_FOLLOW_UP_COMMAND\x10\x8a\x07\x12\x1d\n\x18\x44\x45LETE_FOLLOW_UP_COMMAND\x10\x8b\x07\x12\x1d\n\x18\x43OMMIT_FOLLOW_UP_COMMAND\x10\x8c\x07\x12%\n ENTER_IN_ERROR_FOLLOW_UP_COMMAND\x10\x8d\x07\x12$\n\x1fORIGINATE_IMAGING_ORDER_COMMAND\x10\xcc\x08\x12\x1f\n\x1a\x45\x44IT_IMAGING_ORDER_COMMAND\x10\xcd\x08\x12!\n\x1c\x44\x45LETE_IMAGING_ORDER_COMMAND\x10\xce\x08\x12!\n\x1c\x43OMMIT_IMAGING_ORDER_COMMAND\x10\xcf\x08\x12)\n$ENTER_IN_ERROR_IMAGING_ORDER_COMMAND\x10\xd0\x08\x12(\n#ORIGINATE_RESOLVE_CONDITION_COMMAND\x10\xb0\t\x12#\n\x1e\x45\x44IT_RESOLVE_CONDITION_COMMAND\x10\xb1\t\x12%\n DELETE_RESOLVE_CONDITION_COMMAND\x10\xb2\t\x12%\n COMMIT_RESOLVE_CONDITION_COMMAND\x10\xb3\t\x12-\n(ENTER_IN_ERROR_RESOLVE_CONDITION_COMMAND\x10\xb4\t\x12*\n%ORIGINATE_ADJUST_PRESCRIPTION_COMMAND\x10\x94\n\x12%\n EDIT_ADJUST_PRESCRIPTION_COMMAND\x10\x95\n\x12\'\n\"DELETE_ADJUST_PRESCRIPTION_COMMAND\x10\x96\n\x12\'\n\"COMMIT_ADJUST_PRESCRIPTION_COMMAND\x10\x97\n\x12/\n*ENTER_IN_ERROR_ADJUST_PRESCRIPTION_COMMAND\x10\x98\n\x12%\n SEND_ADJUST_PRESCRIPTION_COMMAND\x10\x9b\n\x12+\n&ORIGINATE_CHART_SECTION_REVIEW_COMMAND\x10\xf8\n\x12-\n(ORIGINATE_IMMUNIZATION_STATEMENT_COMMAND\x10\xdc\x0b\x12(\n#EDIT_IMMUNIZATION_STATEMENT_COMMAND\x10\xdd\x0b\x12*\n%DELETE_IMMUNIZATION_STATEMENT_COMMAND\x10\xde\x0b\x12*\n%COMMIT_IMMUNIZATION_STATEMENT_COMMAND\x10\xdf\x0b\x12\x32\n-ENTER_IN_ERROR_IMMUNIZATION_STATEMENT_COMMAND\x10\xe0\x0b\x12&\n!COMMAND_AVAILABLE_ACTIONS_RESULTS\x10\xc0\x0c\x12\x17\n\x12SHOW_ACTION_BUTTON\x10\xe8\x07\x12 \n\x1bPATIENT_PORTAL__FORM_RESULT\x10\xd0\x0f\x12.\n)PATIENT_PORTAL__APPOINTMENT_IS_CANCELABLE\x10\xd1\x0f\x12\x31\n,PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE\x10\xd2\x0f\x12\x32\n-PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK\x10\xd3\x0f\x12 \n\x1bPATIENT_PORTAL__SEND_INVITE\x10\xd4\x0f\x12=\n8PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS\x10\xd5\x0f\x12M\nHPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS\x10\xd6\x0f\x12N\nIPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH_RESULTS\x10\xd7\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH_RESULTS\x10\xd8\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH_RESULTS\x10\xd9\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH_RESULTS\x10\xda\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH_RESULTS\x10\xdb\x0f\x12.\n)PATIENT_PORTAL__APPLICATION_CONFIGURATION\x10\xdc\x0f\x12\x1a\n\x15\x41\x44\x44_BILLING_LINE_ITEM\x10\xee\x0f\x12\x1d\n\x18UPDATE_BILLING_LINE_ITEM\x10\xef\x0f\x12\x1d\n\x18REMOVE_BILLING_LINE_ITEM\x10\xf0\x0f\x12#\n\x1eSHOW_PATIENT_PORTAL_MENU_ITEMS\x10\xb4\x10\x12\x12\n\rPORTAL_WIDGET\x10\xb5\x10\x12\x11\n\x0cLAUNCH_MODAL\x10\xb8\x17\x12\x18\n\x13SIMPLE_API_RESPONSE\x10\xa0\x1f\x12 \n\x1bSIMPLE_API_WEBSOCKET_ACCEPT\x10\xa1\x1f\x12\x1e\n\x19SIMPLE_API_WEBSOCKET_DENY\x10\xa2\x1f\x12#\n\x1eSIMPLE_API_WEBSOCKET_BROADCAST\x10\xa3\x1f\x12\x10\n\x0bUPDATE_USER\x10\x88\'\x12\x10\n\x0b\x43REATE_NOTE\x10\xf0.\x12\x10\n\x0bUPDATE_NOTE\x10\xfd.\x12\x17\n\x12\x43REATE_APPOINTMENT\x10\xf1.\x12\x17\n\x12UPDATE_APPOINTMENT\x10\xfe.\x12\x17\n\x12\x43\x41NCEL_APPOINTMENT\x10\xff.\x12\x1a\n\x15\x43REATE_SCHEDULE_EVENT\x10\xf2.\x12\x1a\n\x15UPDATE_SCHEDULE_EVENT\x10\x80/\x12\x1a\n\x15\x44\x45LETE_SCHEDULE_EVENT\x10\x81/\x12\x13\n\x0e\x43REATE_PATIENT\x10\xf3.\x12\x13\n\x0eUPDATE_PATIENT\x10\xf8.\x12\x13\n\x0e\x43REATE_MESSAGE\x10\xf4.\x12\x11\n\x0cSEND_MESSAGE\x10\xf5.\x12\x1c\n\x17\x43REATE_AND_SEND_MESSAGE\x10\xf6.\x12\x11\n\x0c\x45\x44IT_MESSAGE\x10\xf7.\x12/\n*PATIENT_METADATA__CREATE_ADDITIONAL_FIELDS\x10\xfa.\x12\x1c\n\x17UPSERT_PATIENT_METADATA\x10\xfb.\x12\'\n\"CREATE_PATIENT_EXTERNAL_IDENTIFIER\x10\xfc.\x12(\n#CREATE_PATIENT_PREFERRED_PHARMACIES\x10\x82/\x12\x1f\n\x1a\x43REATE_COMPOUND_MEDICATION\x10\x84/\x12\x1f\n\x1aUPDATE_COMPOUND_MEDICATION\x10\x85/\x12\x1f\n\x1aPATIENT_CHART__GROUP_ITEMS\x10\x8e/\x12\x35\n0APPOINTMENT__FORM__PROVIDERS__PRE_SEARCH_RESULTS\x10\x98/\x12\x35\n0APPOINTMENT__FORM__LOCATIONS__PRE_SEARCH_RESULTS\x10\x99/\x12\x37\n2APPOINTMENT__FORM__VISIT_TYPES__PRE_SEARCH_RESULTS\x10\x9a/\x12\x35\n0APPOINTMENT__FORM__DURATIONS__PRE_SEARCH_RESULTS\x10\x9b/\x12<\n7APPOINTMENT__FORM__REASON_FOR_VISIT__PRE_SEARCH_RESULTS\x10\x9c/\x12\x36\n1APPOINTMENT__FORM__PROVIDERS__POST_SEARCH_RESULTS\x10\x9e/\x12\x36\n1APPOINTMENT__FORM__LOCATIONS__POST_SEARCH_RESULTS\x10\x9f/\x12\x38\n3APPOINTMENT__FORM__VISIT_TYPES__POST_SEARCH_RESULTS\x10\xa0/\x12\x36\n1APPOINTMENT__FORM__DURATIONS__POST_SEARCH_RESULTS\x10\xa1/\x12=\n8APPOINTMENT__FORM__REASON_FOR_VISIT__POST_SEARCH_RESULTS\x10\xa2/\x12\x30\n+APPOINTMENT__FORM__CREATE_ADDITIONAL_FIELDS\x10\xa3/\x12 \n\x1bUPSERT_APPOINTMENT_METADATA\x10\xa4/\x12\x18\n\x13SHOW_PANEL_SECTIONS\x10\xd4/\x12\x15\n\x10REDIRECT_CONTEXT\x10\xb8\x30\x12)\n$REVENUE__PAYMENT_PROCESSOR__METADATA\x10\xd9\x36\x12%\n REVENUE__PAYMENT_PROCESSOR__FORM\x10\xda\x36\x12\x38\n3REVENUE__PAYMENT_PROCESSOR__CREDIT_CARD_TRANSACTION\x10\xdb\x36\x12/\n*REVENUE__PAYMENT_PROCESSOR__PAYMENT_METHOD\x10\xdc\x36\x12=\n8REVENUE__PAYMENT_PROCESSOR__PAYMENT_METHOD__ADD_RESPONSE\x10\xdd\x36\x12@\n;REVENUE__PAYMENT_PROCESSOR__PAYMENT_METHOD__REMOVE_RESPONSE\x10\xde\x36\x12\x1c\n\x17GENERATE_FULL_CHART_PDF\x10\xd5/\x12\x15\n\x10\x43\x41LENDAR__CREATE\x10\xc1>\x12\x1c\n\x17\x43\x41LENDAR__EVENT__CREATE\x10\xc2>b\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'canvas_generated/messages/effects.proto\x12\x06\x63\x61nvas\"y\n\x06\x45\x66\x66\x65\x63t\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.canvas.EffectType\x12\x0f\n\x07payload\x18\x02 \x01(\t\x12\x13\n\x0bplugin_name\x18\x03 \x01(\t\x12\x11\n\tclassname\x18\x04 \x01(\t\x12\x14\n\x0chandler_name\x18\x05 \x01(\t*\x85J\n\nEffectType\x12\x12\n\x0eUNKNOWN_EFFECT\x10\x00\x12\x07\n\x03LOG\x10\x01\x12\x14\n\x10\x41\x44\x44_PLAN_COMMAND\x10\x02\x12\x1f\n\x1b\x41UTOCOMPLETE_SEARCH_RESULTS\x10\x03\x12\x14\n\x10\x41\x44\x44_BANNER_ALERT\x10\x04\x12\x17\n\x13REMOVE_BANNER_ALERT\x10\x05\x12\x1c\n\x18ORIGINATE_ASSESS_COMMAND\x10\x06\x12\x17\n\x13\x45\x44IT_ASSESS_COMMAND\x10\x07\x12\x19\n\x15\x44\x45LETE_ASSESS_COMMAND\x10\x08\x12\x19\n\x15\x43OMMIT_ASSESS_COMMAND\x10\t\x12!\n\x1d\x45NTER_IN_ERROR_ASSESS_COMMAND\x10\n\x12\x1e\n\x1aORIGINATE_DIAGNOSE_COMMAND\x10\x0b\x12\x19\n\x15\x45\x44IT_DIAGNOSE_COMMAND\x10\x0c\x12\x1b\n\x17\x44\x45LETE_DIAGNOSE_COMMAND\x10\r\x12\x1b\n\x17\x43OMMIT_DIAGNOSE_COMMAND\x10\x0e\x12#\n\x1f\x45NTER_IN_ERROR_DIAGNOSE_COMMAND\x10\x0f\x12\x1a\n\x16ORIGINATE_GOAL_COMMAND\x10\x10\x12\x15\n\x11\x45\x44IT_GOAL_COMMAND\x10\x11\x12\x17\n\x13\x44\x45LETE_GOAL_COMMAND\x10\x12\x12\x17\n\x13\x43OMMIT_GOAL_COMMAND\x10\x13\x12\x1f\n\x1b\x45NTER_IN_ERROR_GOAL_COMMAND\x10\x14\x12\x19\n\x15ORIGINATE_HPI_COMMAND\x10\x15\x12\x14\n\x10\x45\x44IT_HPI_COMMAND\x10\x16\x12\x16\n\x12\x44\x45LETE_HPI_COMMAND\x10\x17\x12\x16\n\x12\x43OMMIT_HPI_COMMAND\x10\x18\x12\x1e\n\x1a\x45NTER_IN_ERROR_HPI_COMMAND\x10\x19\x12*\n&ORIGINATE_MEDICATION_STATEMENT_COMMAND\x10\x1a\x12%\n!EDIT_MEDICATION_STATEMENT_COMMAND\x10\x1b\x12\'\n#DELETE_MEDICATION_STATEMENT_COMMAND\x10\x1c\x12\'\n#COMMIT_MEDICATION_STATEMENT_COMMAND\x10\x1d\x12/\n+ENTER_IN_ERROR_MEDICATION_STATEMENT_COMMAND\x10\x1e\x12\x1a\n\x16ORIGINATE_PLAN_COMMAND\x10\x1f\x12\x15\n\x11\x45\x44IT_PLAN_COMMAND\x10 \x12\x17\n\x13\x44\x45LETE_PLAN_COMMAND\x10!\x12\x17\n\x13\x43OMMIT_PLAN_COMMAND\x10\"\x12\x1f\n\x1b\x45NTER_IN_ERROR_PLAN_COMMAND\x10#\x12\x1f\n\x1bORIGINATE_PRESCRIBE_COMMAND\x10$\x12\x1a\n\x16\x45\x44IT_PRESCRIBE_COMMAND\x10%\x12\x1c\n\x18\x44\x45LETE_PRESCRIBE_COMMAND\x10&\x12\x1c\n\x18\x43OMMIT_PRESCRIBE_COMMAND\x10\'\x12$\n ENTER_IN_ERROR_PRESCRIBE_COMMAND\x10(\x12\x1b\n\x16SEND_PRESCRIBE_COMMAND\x10\x99\n\x12#\n\x1fORIGINATE_QUESTIONNAIRE_COMMAND\x10)\x12\x1e\n\x1a\x45\x44IT_QUESTIONNAIRE_COMMAND\x10*\x12 \n\x1c\x44\x45LETE_QUESTIONNAIRE_COMMAND\x10+\x12 \n\x1c\x43OMMIT_QUESTIONNAIRE_COMMAND\x10,\x12(\n$ENTER_IN_ERROR_QUESTIONNAIRE_COMMAND\x10-\x12&\n\"ORIGINATE_REASON_FOR_VISIT_COMMAND\x10.\x12!\n\x1d\x45\x44IT_REASON_FOR_VISIT_COMMAND\x10/\x12#\n\x1f\x44\x45LETE_REASON_FOR_VISIT_COMMAND\x10\x30\x12#\n\x1f\x43OMMIT_REASON_FOR_VISIT_COMMAND\x10\x31\x12+\n\'ENTER_IN_ERROR_REASON_FOR_VISIT_COMMAND\x10\x32\x12%\n!ORIGINATE_STOP_MEDICATION_COMMAND\x10\x33\x12 \n\x1c\x45\x44IT_STOP_MEDICATION_COMMAND\x10\x34\x12\"\n\x1e\x44\x45LETE_STOP_MEDICATION_COMMAND\x10\x35\x12\"\n\x1e\x43OMMIT_STOP_MEDICATION_COMMAND\x10\x36\x12*\n&ENTER_IN_ERROR_STOP_MEDICATION_COMMAND\x10\x37\x12!\n\x1dORIGINATE_UPDATE_GOAL_COMMAND\x10\x38\x12\x1c\n\x18\x45\x44IT_UPDATE_GOAL_COMMAND\x10\x39\x12\x1e\n\x1a\x44\x45LETE_UPDATE_GOAL_COMMAND\x10:\x12\x1e\n\x1a\x43OMMIT_UPDATE_GOAL_COMMAND\x10;\x12&\n\"ENTER_IN_ERROR_UPDATE_GOAL_COMMAND\x10<\x12\x1d\n\x19ORIGINATE_PERFORM_COMMAND\x10=\x12\x18\n\x14\x45\x44IT_PERFORM_COMMAND\x10>\x12\x1a\n\x16\x44\x45LETE_PERFORM_COMMAND\x10?\x12\x1a\n\x16\x43OMMIT_PERFORM_COMMAND\x10@\x12\"\n\x1e\x45NTER_IN_ERROR_PERFORM_COMMAND\x10\x41\x12\x1e\n\x1aORIGINATE_INSTRUCT_COMMAND\x10\x42\x12\x19\n\x15\x45\x44IT_INSTRUCT_COMMAND\x10\x43\x12\x1b\n\x17\x44\x45LETE_INSTRUCT_COMMAND\x10\x44\x12\x1b\n\x17\x43OMMIT_INSTRUCT_COMMAND\x10\x45\x12#\n\x1f\x45NTER_IN_ERROR_INSTRUCT_COMMAND\x10\x46\x12\x1f\n\x1bORIGINATE_LAB_ORDER_COMMAND\x10G\x12\x1a\n\x16\x45\x44IT_LAB_ORDER_COMMAND\x10H\x12\x1c\n\x18\x44\x45LETE_LAB_ORDER_COMMAND\x10I\x12\x1c\n\x18\x43OMMIT_LAB_ORDER_COMMAND\x10J\x12$\n ENTER_IN_ERROR_LAB_ORDER_COMMAND\x10K\x12\x1b\n\x16SEND_LAB_ORDER_COMMAND\x10\x9a\n\x12$\n ORIGINATE_FAMILY_HISTORY_COMMAND\x10L\x12\x1f\n\x1b\x45\x44IT_FAMILY_HISTORY_COMMAND\x10M\x12!\n\x1d\x44\x45LETE_FAMILY_HISTORY_COMMAND\x10N\x12!\n\x1d\x43OMMIT_FAMILY_HISTORY_COMMAND\x10O\x12)\n%ENTER_IN_ERROR_FAMILY_HISTORY_COMMAND\x10P\x12\x1d\n\x19ORIGINATE_ALLERGY_COMMAND\x10Q\x12\x18\n\x14\x45\x44IT_ALLERGY_COMMAND\x10R\x12\x1a\n\x16\x44\x45LETE_ALLERGY_COMMAND\x10S\x12\x1a\n\x16\x43OMMIT_ALLERGY_COMMAND\x10T\x12\"\n\x1e\x45NTER_IN_ERROR_ALLERGY_COMMAND\x10U\x12$\n ORIGINATE_REMOVE_ALLERGY_COMMAND\x10V\x12\x1f\n\x1b\x45\x44IT_REMOVE_ALLERGY_COMMAND\x10W\x12!\n\x1d\x44\x45LETE_REMOVE_ALLERGY_COMMAND\x10X\x12!\n\x1d\x43OMMIT_REMOVE_ALLERGY_COMMAND\x10Y\x12)\n%ENTER_IN_ERROR_REMOVE_ALLERGY_COMMAND\x10Z\x12&\n\"ORIGINATE_SURGICAL_HISTORY_COMMAND\x10[\x12!\n\x1d\x45\x44IT_SURGICAL_HISTORY_COMMAND\x10\\\x12#\n\x1f\x44\x45LETE_SURGICAL_HISTORY_COMMAND\x10]\x12#\n\x1f\x43OMMIT_SURGICAL_HISTORY_COMMAND\x10^\x12+\n\'ENTER_IN_ERROR_SURGICAL_HISTORY_COMMAND\x10_\x12\x0f\n\x0b\x43REATE_TASK\x10\x64\x12\x0f\n\x0bUPDATE_TASK\x10\x65\x12\x17\n\x13\x43REATE_TASK_COMMENT\x10\x66\x12%\n!ORIGINATE_MEDICAL_HISTORY_COMMAND\x10g\x12 \n\x1c\x45\x44IT_MEDICAL_HISTORY_COMMAND\x10h\x12\"\n\x1e\x44\x45LETE_MEDICAL_HISTORY_COMMAND\x10i\x12\"\n\x1e\x43OMMIT_MEDICAL_HISTORY_COMMAND\x10j\x12*\n&ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND\x10k\x12\x1f\n\x1b\x41\x44\x44_OR_UPDATE_PROTOCOL_CARD\x10n\x12\x1b\n\x16ORIGINATE_TASK_COMMAND\x10\x85\x01\x12\x16\n\x11\x45\x44IT_TASK_COMMAND\x10\x86\x01\x12\x18\n\x13\x44\x45LETE_TASK_COMMAND\x10\x87\x01\x12\x18\n\x13\x43OMMIT_TASK_COMMAND\x10\x88\x01\x12 \n\x1b\x45NTER_IN_ERROR_TASK_COMMAND\x10\x89\x01\x12\x1c\n\x18ORIGINATE_REFILL_COMMAND\x10q\x12\x17\n\x13\x45\x44IT_REFILL_COMMAND\x10r\x12\x19\n\x15\x44\x45LETE_REFILL_COMMAND\x10s\x12\x19\n\x15\x43OMMIT_REFILL_COMMAND\x10t\x12!\n\x1d\x45NTER_IN_ERROR_REFILL_COMMAND\x10u\x12\x18\n\x13SEND_REFILL_COMMAND\x10\x9c\n\x12\x1c\n\x18ORIGINATE_VITALS_COMMAND\x10v\x12\x17\n\x13\x45\x44IT_VITALS_COMMAND\x10w\x12\x19\n\x15\x44\x45LETE_VITALS_COMMAND\x10x\x12\x19\n\x15\x43OMMIT_VITALS_COMMAND\x10y\x12!\n\x1d\x45NTER_IN_ERROR_VITALS_COMMAND\x10z\x12&\n\"ORIGINATE_UPDATE_DIAGNOSIS_COMMAND\x10{\x12!\n\x1d\x45\x44IT_UPDATE_DIAGNOSIS_COMMAND\x10|\x12#\n\x1f\x44\x45LETE_UPDATE_DIAGNOSIS_COMMAND\x10}\x12#\n\x1f\x43OMMIT_UPDATE_DIAGNOSIS_COMMAND\x10~\x12+\n\'ENTER_IN_ERROR_UPDATE_DIAGNOSIS_COMMAND\x10\x7f\x12!\n\x1cORIGINATE_CLOSE_GOAL_COMMAND\x10\x80\x01\x12\x1c\n\x17\x45\x44IT_CLOSE_GOAL_COMMAND\x10\x81\x01\x12\x1e\n\x19\x44\x45LETE_CLOSE_GOAL_COMMAND\x10\x82\x01\x12\x1e\n\x19\x43OMMIT_CLOSE_GOAL_COMMAND\x10\x83\x01\x12&\n!ENTER_IN_ERROR_CLOSE_GOAL_COMMAND\x10\x84\x01\x12\x1c\n\x17ORIGINATE_REFER_COMMAND\x10\x8b\x01\x12\x17\n\x12\x45\x44IT_REFER_COMMAND\x10\x8c\x01\x12\x19\n\x14\x44\x45LETE_REFER_COMMAND\x10\x8d\x01\x12\x19\n\x14\x43OMMIT_REFER_COMMAND\x10\x8e\x01\x12!\n\x1c\x45NTER_IN_ERROR_REFER_COMMAND\x10\x8f\x01\x12(\n#ORIGINATE_CHANGE_MEDICATION_COMMAND\x10\x96\x01\x12#\n\x1e\x45\x44IT_CHANGE_MEDICATION_COMMAND\x10\x97\x01\x12%\n DELETE_CHANGE_MEDICATION_COMMAND\x10\x98\x01\x12%\n COMMIT_CHANGE_MEDICATION_COMMAND\x10\x99\x01\x12-\n(ENTER_IN_ERROR_CHANGE_MEDICATION_COMMAND\x10\x9a\x01\x12 \n\x1b\x43REATE_QUESTIONNAIRE_RESULT\x10\x8a\x01\x12-\n(ANNOTATE_PATIENT_CHART_CONDITION_RESULTS\x10\xc8\x01\x12%\n ANNOTATE_CLAIM_CONDITION_RESULTS\x10\xac\x02\x12(\n#SHOW_PATIENT_CHART_SUMMARY_SECTIONS\x10\x90\x03\x12\"\n\x1dSHOW_PATIENT_PROFILE_SECTIONS\x10\xf4\x03\x12\x37\n2PATIENT_PROFILE__ADD_PHARMACY__POST_SEARCH_RESULTS\x10\xf5\x03\x12)\n$SEND_SURESCRIPTS_ELIGIBILITY_REQUEST\x10\xd8\x04\x12\x30\n+SEND_SURESCRIPTS_MEDICATION_HISTORY_REQUEST\x10\xd9\x04\x12&\n!SEND_SURESCRIPTS_BENEFITS_REQUEST\x10\xda\x04\x12\x1b\n\x16ORIGINATE_EXAM_COMMAND\x10\xbc\x05\x12\x16\n\x11\x45\x44IT_EXAM_COMMAND\x10\xbd\x05\x12\x18\n\x13\x44\x45LETE_EXAM_COMMAND\x10\xbe\x05\x12\x18\n\x13\x43OMMIT_EXAM_COMMAND\x10\xbf\x05\x12 \n\x1b\x45NTER_IN_ERROR_EXAM_COMMAND\x10\xc0\x05\x12\x1a\n\x15ORIGINATE_ROS_COMMAND\x10\xa0\x06\x12\x15\n\x10\x45\x44IT_ROS_COMMAND\x10\xa1\x06\x12\x17\n\x12\x44\x45LETE_ROS_COMMAND\x10\xa2\x06\x12\x17\n\x12\x43OMMIT_ROS_COMMAND\x10\xa3\x06\x12\x1f\n\x1a\x45NTER_IN_ERROR_ROS_COMMAND\x10\xa4\x06\x12,\n\'ORIGINATE_STRUCTURED_ASSESSMENT_COMMAND\x10\x84\x07\x12\'\n\"EDIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x85\x07\x12)\n$DELETE_STRUCTURED_ASSESSMENT_COMMAND\x10\x86\x07\x12)\n$COMMIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x87\x07\x12\x31\n,ENTER_IN_ERROR_STRUCTURED_ASSESSMENT_COMMAND\x10\x88\x07\x12 \n\x1bORIGINATE_FOLLOW_UP_COMMAND\x10\x89\x07\x12\x1b\n\x16\x45\x44IT_FOLLOW_UP_COMMAND\x10\x8a\x07\x12\x1d\n\x18\x44\x45LETE_FOLLOW_UP_COMMAND\x10\x8b\x07\x12\x1d\n\x18\x43OMMIT_FOLLOW_UP_COMMAND\x10\x8c\x07\x12%\n ENTER_IN_ERROR_FOLLOW_UP_COMMAND\x10\x8d\x07\x12$\n\x1fORIGINATE_IMAGING_ORDER_COMMAND\x10\xcc\x08\x12\x1f\n\x1a\x45\x44IT_IMAGING_ORDER_COMMAND\x10\xcd\x08\x12!\n\x1c\x44\x45LETE_IMAGING_ORDER_COMMAND\x10\xce\x08\x12!\n\x1c\x43OMMIT_IMAGING_ORDER_COMMAND\x10\xcf\x08\x12)\n$ENTER_IN_ERROR_IMAGING_ORDER_COMMAND\x10\xd0\x08\x12(\n#ORIGINATE_RESOLVE_CONDITION_COMMAND\x10\xb0\t\x12#\n\x1e\x45\x44IT_RESOLVE_CONDITION_COMMAND\x10\xb1\t\x12%\n DELETE_RESOLVE_CONDITION_COMMAND\x10\xb2\t\x12%\n COMMIT_RESOLVE_CONDITION_COMMAND\x10\xb3\t\x12-\n(ENTER_IN_ERROR_RESOLVE_CONDITION_COMMAND\x10\xb4\t\x12*\n%ORIGINATE_ADJUST_PRESCRIPTION_COMMAND\x10\x94\n\x12%\n EDIT_ADJUST_PRESCRIPTION_COMMAND\x10\x95\n\x12\'\n\"DELETE_ADJUST_PRESCRIPTION_COMMAND\x10\x96\n\x12\'\n\"COMMIT_ADJUST_PRESCRIPTION_COMMAND\x10\x97\n\x12/\n*ENTER_IN_ERROR_ADJUST_PRESCRIPTION_COMMAND\x10\x98\n\x12%\n SEND_ADJUST_PRESCRIPTION_COMMAND\x10\x9b\n\x12+\n&ORIGINATE_CHART_SECTION_REVIEW_COMMAND\x10\xf8\n\x12-\n(ORIGINATE_IMMUNIZATION_STATEMENT_COMMAND\x10\xdc\x0b\x12(\n#EDIT_IMMUNIZATION_STATEMENT_COMMAND\x10\xdd\x0b\x12*\n%DELETE_IMMUNIZATION_STATEMENT_COMMAND\x10\xde\x0b\x12*\n%COMMIT_IMMUNIZATION_STATEMENT_COMMAND\x10\xdf\x0b\x12\x32\n-ENTER_IN_ERROR_IMMUNIZATION_STATEMENT_COMMAND\x10\xe0\x0b\x12&\n!COMMAND_AVAILABLE_ACTIONS_RESULTS\x10\xc0\x0c\x12\x17\n\x12SHOW_ACTION_BUTTON\x10\xe8\x07\x12 \n\x1bPATIENT_PORTAL__FORM_RESULT\x10\xd0\x0f\x12.\n)PATIENT_PORTAL__APPOINTMENT_IS_CANCELABLE\x10\xd1\x0f\x12\x31\n,PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE\x10\xd2\x0f\x12\x32\n-PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK\x10\xd3\x0f\x12 \n\x1bPATIENT_PORTAL__SEND_INVITE\x10\xd4\x0f\x12.\n)PATIENT_PORTAL__SEND_CONTACT_VERIFICATION\x10\xdd\x0f\x12=\n8PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS\x10\xd5\x0f\x12M\nHPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS\x10\xd6\x0f\x12N\nIPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH_RESULTS\x10\xd7\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH_RESULTS\x10\xd8\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH_RESULTS\x10\xd9\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH_RESULTS\x10\xda\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH_RESULTS\x10\xdb\x0f\x12.\n)PATIENT_PORTAL__APPLICATION_CONFIGURATION\x10\xdc\x0f\x12\x1a\n\x15\x41\x44\x44_BILLING_LINE_ITEM\x10\xee\x0f\x12\x1d\n\x18UPDATE_BILLING_LINE_ITEM\x10\xef\x0f\x12\x1d\n\x18REMOVE_BILLING_LINE_ITEM\x10\xf0\x0f\x12#\n\x1eSHOW_PATIENT_PORTAL_MENU_ITEMS\x10\xb4\x10\x12\x12\n\rPORTAL_WIDGET\x10\xb5\x10\x12\x11\n\x0cLAUNCH_MODAL\x10\xb8\x17\x12\x18\n\x13SIMPLE_API_RESPONSE\x10\xa0\x1f\x12 \n\x1bSIMPLE_API_WEBSOCKET_ACCEPT\x10\xa1\x1f\x12\x1e\n\x19SIMPLE_API_WEBSOCKET_DENY\x10\xa2\x1f\x12#\n\x1eSIMPLE_API_WEBSOCKET_BROADCAST\x10\xa3\x1f\x12\x10\n\x0bUPDATE_USER\x10\x88\'\x12\x10\n\x0b\x43REATE_NOTE\x10\xf0.\x12\x10\n\x0bUPDATE_NOTE\x10\xfd.\x12\x17\n\x12\x43REATE_APPOINTMENT\x10\xf1.\x12\x17\n\x12UPDATE_APPOINTMENT\x10\xfe.\x12\x17\n\x12\x43\x41NCEL_APPOINTMENT\x10\xff.\x12\x1a\n\x15\x43REATE_SCHEDULE_EVENT\x10\xf2.\x12\x1a\n\x15UPDATE_SCHEDULE_EVENT\x10\x80/\x12\x1a\n\x15\x44\x45LETE_SCHEDULE_EVENT\x10\x81/\x12\x13\n\x0e\x43REATE_PATIENT\x10\xf3.\x12\x13\n\x0eUPDATE_PATIENT\x10\xf8.\x12\x13\n\x0e\x43REATE_MESSAGE\x10\xf4.\x12\x11\n\x0cSEND_MESSAGE\x10\xf5.\x12\x1c\n\x17\x43REATE_AND_SEND_MESSAGE\x10\xf6.\x12\x11\n\x0c\x45\x44IT_MESSAGE\x10\xf7.\x12/\n*PATIENT_METADATA__CREATE_ADDITIONAL_FIELDS\x10\xfa.\x12\x1c\n\x17UPSERT_PATIENT_METADATA\x10\xfb.\x12\'\n\"CREATE_PATIENT_EXTERNAL_IDENTIFIER\x10\xfc.\x12(\n#CREATE_PATIENT_PREFERRED_PHARMACIES\x10\x82/\x12\x1f\n\x1a\x43REATE_COMPOUND_MEDICATION\x10\x84/\x12\x1f\n\x1aUPDATE_COMPOUND_MEDICATION\x10\x85/\x12\x1f\n\x1aPATIENT_CHART__GROUP_ITEMS\x10\x8e/\x12\x35\n0APPOINTMENT__FORM__PROVIDERS__PRE_SEARCH_RESULTS\x10\x98/\x12\x35\n0APPOINTMENT__FORM__LOCATIONS__PRE_SEARCH_RESULTS\x10\x99/\x12\x37\n2APPOINTMENT__FORM__VISIT_TYPES__PRE_SEARCH_RESULTS\x10\x9a/\x12\x35\n0APPOINTMENT__FORM__DURATIONS__PRE_SEARCH_RESULTS\x10\x9b/\x12<\n7APPOINTMENT__FORM__REASON_FOR_VISIT__PRE_SEARCH_RESULTS\x10\x9c/\x12\x36\n1APPOINTMENT__FORM__PROVIDERS__POST_SEARCH_RESULTS\x10\x9e/\x12\x36\n1APPOINTMENT__FORM__LOCATIONS__POST_SEARCH_RESULTS\x10\x9f/\x12\x38\n3APPOINTMENT__FORM__VISIT_TYPES__POST_SEARCH_RESULTS\x10\xa0/\x12\x36\n1APPOINTMENT__FORM__DURATIONS__POST_SEARCH_RESULTS\x10\xa1/\x12=\n8APPOINTMENT__FORM__REASON_FOR_VISIT__POST_SEARCH_RESULTS\x10\xa2/\x12\x30\n+APPOINTMENT__FORM__CREATE_ADDITIONAL_FIELDS\x10\xa3/\x12 \n\x1bUPSERT_APPOINTMENT_METADATA\x10\xa4/\x12\x18\n\x13SHOW_PANEL_SECTIONS\x10\xd4/\x12\x15\n\x10REDIRECT_CONTEXT\x10\xb8\x30\x12)\n$REVENUE__PAYMENT_PROCESSOR__METADATA\x10\xd9\x36\x12%\n REVENUE__PAYMENT_PROCESSOR__FORM\x10\xda\x36\x12\x38\n3REVENUE__PAYMENT_PROCESSOR__CREDIT_CARD_TRANSACTION\x10\xdb\x36\x12/\n*REVENUE__PAYMENT_PROCESSOR__PAYMENT_METHOD\x10\xdc\x36\x12=\n8REVENUE__PAYMENT_PROCESSOR__PAYMENT_METHOD__ADD_RESPONSE\x10\xdd\x36\x12@\n;REVENUE__PAYMENT_PROCESSOR__PAYMENT_METHOD__REMOVE_RESPONSE\x10\xde\x36\x12\x1c\n\x17GENERATE_FULL_CHART_PDF\x10\xd5/\x12\x15\n\x10\x43\x41LENDAR__CREATE\x10\xc1>\x12\x1c\n\x17\x43\x41LENDAR__EVENT__CREATE\x10\xc2>b\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,7 +22,7 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'canvas_generated.messages.e
22
22
  if _descriptor._USE_C_DESCRIPTORS == False:
23
23
  DESCRIPTOR._options = None
24
24
  _globals['_EFFECTTYPE']._serialized_start=175
25
- _globals['_EFFECTTYPE']._serialized_end=9604
25
+ _globals['_EFFECTTYPE']._serialized_end=9652
26
26
  _globals['_EFFECT']._serialized_start=51
27
27
  _globals['_EFFECT']._serialized_end=172
28
28
  # @@protoc_insertion_point(module_scope)
@@ -208,6 +208,7 @@ class EffectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
208
208
  PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE: _ClassVar[EffectType]
209
209
  PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK: _ClassVar[EffectType]
210
210
  PATIENT_PORTAL__SEND_INVITE: _ClassVar[EffectType]
211
+ PATIENT_PORTAL__SEND_CONTACT_VERIFICATION: _ClassVar[EffectType]
211
212
  PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS: _ClassVar[EffectType]
212
213
  PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS: _ClassVar[EffectType]
213
214
  PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH_RESULTS: _ClassVar[EffectType]
@@ -472,6 +473,7 @@ PATIENT_PORTAL__APPOINTMENT_IS_CANCELABLE: EffectType
472
473
  PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE: EffectType
473
474
  PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK: EffectType
474
475
  PATIENT_PORTAL__SEND_INVITE: EffectType
476
+ PATIENT_PORTAL__SEND_CONTACT_VERIFICATION: EffectType
475
477
  PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS: EffectType
476
478
  PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS: EffectType
477
479
  PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH_RESULTS: EffectType
@@ -1,9 +1,23 @@
1
1
  import json
2
+ from dataclasses import dataclass
3
+ from typing import Any
2
4
 
3
5
  from canvas_generated.messages.effects_pb2 import Effect
4
6
  from canvas_sdk.base import TrackableFieldsModel
5
7
 
6
8
 
9
+ @dataclass
10
+ class Metadata:
11
+ """A class representing a metadata."""
12
+
13
+ key: str
14
+ value: str
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ """Convert the metadata to a dictionary."""
18
+ return {"key": self.key, "value": self.value}
19
+
20
+
7
21
  class BaseMetadata(TrackableFieldsModel):
8
22
  """Base class for metadata effects."""
9
23
 
@@ -23,4 +37,4 @@ class BaseMetadata(TrackableFieldsModel):
23
37
  )
24
38
 
25
39
 
26
- __exports__ = ()
40
+ __exports__ = ("Metadata",)
@@ -3,6 +3,7 @@ from canvas_sdk.effects.patient.base import (
3
3
  PatientAddress,
4
4
  PatientContactPoint,
5
5
  PatientExternalIdentifier,
6
+ PatientMetadata,
6
7
  PatientPreferredPharmacy,
7
8
  )
8
9
  from canvas_sdk.effects.patient.create_patient_external_identifier import (
@@ -18,6 +19,7 @@ __all__ = __exports__ = (
18
19
  "PatientContactPoint",
19
20
  "PatientExternalIdentifier",
20
21
  "PatientPreferredPharmacy",
22
+ "PatientMetadata",
21
23
  "CreatePatientExternalIdentifier",
22
24
  "CreatePatientPreferredPharmacies",
23
25
  )
@@ -7,6 +7,7 @@ from pydantic_core import InitErrorDetails
7
7
 
8
8
  from canvas_generated.messages.effects_pb2 import Effect
9
9
  from canvas_sdk.base import TrackableFieldsModel
10
+ from canvas_sdk.effects.metadata import Metadata as PatientMetadata
10
11
  from canvas_sdk.v1.data import Patient as PatientModel
11
12
  from canvas_sdk.v1.data import PracticeLocation, Staff
12
13
  from canvas_sdk.v1.data.common import (
@@ -127,6 +128,7 @@ class Patient(TrackableFieldsModel):
127
128
  external_identifiers: list[PatientExternalIdentifier] | None = None
128
129
  preferred_pharmacies: list[PatientPreferredPharmacy] | None = None
129
130
  addresses: list[PatientAddress] | None = None
131
+ metadata: list[PatientMetadata] | None = None
130
132
 
131
133
  @property
132
134
  def values(self) -> dict[str, Any]:
@@ -159,6 +161,11 @@ class Patient(TrackableFieldsModel):
159
161
  else None
160
162
  )
161
163
 
164
+ if self.is_dirty("metadata"):
165
+ values["metadata"] = (
166
+ [md.to_dict() for md in self.metadata] if self.metadata is not None else None
167
+ )
168
+
162
169
  return values
163
170
 
164
171
  def _get_error_details(self, method: Any) -> list[InitErrorDetails]:
@@ -271,5 +278,6 @@ __exports__ = (
271
278
  "PatientAddress",
272
279
  "PatientContactPoint",
273
280
  "PatientExternalIdentifier",
281
+ "PatientMetadata",
274
282
  "PatientPreferredPharmacy",
275
283
  )
@@ -0,0 +1,42 @@
1
+ from typing import Any
2
+ from uuid import UUID
3
+
4
+ from pydantic_core import InitErrorDetails
5
+
6
+ from canvas_sdk.effects.base import EffectType, _BaseEffect
7
+ from canvas_sdk.v1.data import PatientContactPoint
8
+
9
+
10
+ class SendContactVerificationEffect(_BaseEffect):
11
+ """
12
+ An Effect that will send a verification for a Patient Contact Point.
13
+ """
14
+
15
+ class Meta:
16
+ effect_type = EffectType.PATIENT_PORTAL__SEND_CONTACT_VERIFICATION
17
+
18
+ contact_point_id: str | UUID
19
+
20
+ @property
21
+ def values(self) -> dict[str, Any]:
22
+ """The contact point id."""
23
+ return {"contact_point_id": self.contact_point_id}
24
+
25
+ def _get_error_details(self, method: Any) -> list[InitErrorDetails]:
26
+ errors = super()._get_error_details(method)
27
+
28
+ contact_point_exists = PatientContactPoint.objects.filter(id=self.contact_point_id).exists()
29
+
30
+ if not contact_point_exists:
31
+ errors.append(
32
+ self._create_error_detail(
33
+ "value",
34
+ "Patient Contact Point does not exist",
35
+ self.contact_point_id,
36
+ )
37
+ )
38
+
39
+ return errors
40
+
41
+
42
+ __exports__ = ("SendContactVerificationEffect",)
@@ -12,7 +12,7 @@ from .claim_line_item import ClaimLineItem
12
12
  from .command import Command
13
13
  from .compound_medication import CompoundMedication
14
14
  from .condition import Condition, ConditionCoding
15
- from .coverage import Coverage, Transactor, TransactorAddress, TransactorPhone
15
+ from .coverage import Coverage, EligibilitySummary, Transactor, TransactorAddress, TransactorPhone
16
16
  from .detected_issue import DetectedIssue, DetectedIssueEvidence
17
17
  from .device import Device
18
18
  from .discount import Discount
@@ -142,6 +142,7 @@ __all__ = __exports__ = (
142
142
  "DetectedIssueEvidence",
143
143
  "Device",
144
144
  "Discount",
145
+ "EligibilitySummary",
145
146
  "Encounter",
146
147
  "Facility",
147
148
  "Goal",
@@ -288,11 +288,27 @@ class TransactorPhone(IdentifiableModel):
288
288
  return f"id={self.id}"
289
289
 
290
290
 
291
+ class EligibilitySummary(IdentifiableModel):
292
+ """EligibilitySummary."""
293
+
294
+ class Meta:
295
+ db_table = "canvas_sdk_data_quality_and_revenue_eligibilitysummary_001"
296
+
297
+ created = models.DateTimeField(auto_now_add=True)
298
+ modified = models.DateTimeField(auto_now=True)
299
+ coverage = models.OneToOneField(
300
+ "v1.Coverage", on_delete=models.CASCADE, related_name="eligibility_summary"
301
+ )
302
+ copay_cents = models.IntegerField(null=True)
303
+ coinsurance = models.IntegerField(null=True)
304
+
305
+
291
306
  __exports__ = (
292
307
  "CoverageStack",
293
308
  "CoverageState",
294
309
  "CoverageType",
295
310
  "CoverageRelationshipCode",
311
+ "EligibilitySummary",
296
312
  "TransactorCoverageType",
297
313
  "TransactorType",
298
314
  "Coverage",
@@ -249,6 +249,9 @@
249
249
  "canvas_sdk.effects.launch_modal": [
250
250
  "LaunchModalEffect"
251
251
  ],
252
+ "canvas_sdk.effects.metadata": [
253
+ "Metadata"
254
+ ],
252
255
  "canvas_sdk.effects.note": [
253
256
  "Appointment",
254
257
  "AppointmentIdentifier",
@@ -280,6 +283,7 @@
280
283
  "PatientAddress",
281
284
  "PatientContactPoint",
282
285
  "PatientExternalIdentifier",
286
+ "PatientMetadata",
283
287
  "PatientPreferredPharmacy"
284
288
  ],
285
289
  "canvas_sdk.effects.patient.base": [
@@ -287,6 +291,7 @@
287
291
  "PatientAddress",
288
292
  "PatientContactPoint",
289
293
  "PatientExternalIdentifier",
294
+ "PatientMetadata",
290
295
  "PatientPreferredPharmacy"
291
296
  ],
292
297
  "canvas_sdk.effects.patient.create_patient_external_identifier": [
@@ -346,6 +351,9 @@
346
351
  "canvas_sdk.effects.questionnaire_result": [
347
352
  "CreateQuestionnaireResult"
348
353
  ],
354
+ "canvas_sdk.effects.send_contact_verification": [
355
+ "SendContactVerificationEffect"
356
+ ],
349
357
  "canvas_sdk.effects.send_invite": [
350
358
  "SendInviteEffect"
351
359
  ],
@@ -574,6 +582,7 @@
574
582
  "DetectedIssueEvidence",
575
583
  "Device",
576
584
  "Discount",
585
+ "EligibilitySummary",
577
586
  "Encounter",
578
587
  "Facility",
579
588
  "Goal",
@@ -752,6 +761,7 @@
752
761
  "CoverageStack",
753
762
  "CoverageState",
754
763
  "CoverageType",
764
+ "EligibilitySummary",
755
765
  "Transactor",
756
766
  "TransactorAddress",
757
767
  "TransactorCoverageType",
@@ -254,6 +254,7 @@ enum EffectType {
254
254
  PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE = 2002;
255
255
  PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK = 2003;
256
256
  PATIENT_PORTAL__SEND_INVITE = 2004;
257
+ PATIENT_PORTAL__SEND_CONTACT_VERIFICATION = 2013;
257
258
 
258
259
  PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS = 2005;
259
260
  PATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS = 2006;