canvas 0.65.0__tar.gz → 0.67.0__tar.gz

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.

Files changed (355) hide show
  1. {canvas-0.65.0 → canvas-0.67.0}/PKG-INFO +1 -1
  2. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/effects_pb2.py +2 -2
  3. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/effects_pb2.pyi +2 -0
  4. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/adjust_prescription.py +4 -0
  5. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/prescribe.py +6 -7
  6. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/metadata.py +15 -1
  7. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient/__init__.py +2 -0
  8. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient/base.py +8 -0
  9. canvas-0.67.0/canvas_sdk/effects/send_contact_verification.py +42 -0
  10. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/factories/__init__.py +8 -0
  11. canvas-0.67.0/canvas_sdk/test_utils/factories/medication_history.py +75 -0
  12. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/__init__.py +12 -1
  13. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/compound_medication.py +0 -1
  14. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/coverage.py +16 -0
  15. canvas-0.67.0/canvas_sdk/v1/data/medication_history.py +152 -0
  16. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/allowed-module-imports.json +20 -0
  17. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/sandbox.py +4 -0
  18. {canvas-0.65.0 → canvas-0.67.0}/protobufs/canvas_generated/messages/effects.proto +1 -0
  19. {canvas-0.65.0 → canvas-0.67.0}/pyproject.toml +1 -1
  20. {canvas-0.65.0 → canvas-0.67.0}/.gitignore +0 -0
  21. {canvas-0.65.0 → canvas-0.67.0}/README.md +0 -0
  22. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/__init__.py +0 -0
  23. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/__init__.py +0 -0
  24. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/auth/__init__.py +0 -0
  25. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/auth/storage.py +0 -0
  26. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/auth/utils.py +0 -0
  27. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/__init__.py +0 -0
  28. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/emit.py +0 -0
  29. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +0 -0
  30. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +0 -0
  31. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +0 -0
  32. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +0 -0
  33. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +0 -0
  34. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +0 -0
  35. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +0 -0
  36. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +0 -0
  37. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +0 -0
  38. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +0 -0
  39. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +0 -0
  40. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +0 -0
  41. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +0 -0
  42. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +0 -0
  43. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  44. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +0 -0
  45. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +0 -0
  46. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +0 -0
  47. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +0 -0
  48. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +0 -0
  49. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +0 -0
  50. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/CRON.ndjson +0 -0
  51. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +0 -0
  52. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +0 -0
  53. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +0 -0
  54. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +0 -0
  55. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +0 -0
  56. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +0 -0
  57. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +0 -0
  58. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +0 -0
  59. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +0 -0
  60. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +0 -0
  61. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +0 -0
  62. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +0 -0
  63. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +0 -0
  64. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +0 -0
  65. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +0 -0
  66. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +0 -0
  67. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  68. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +0 -0
  69. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +0 -0
  70. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +0 -0
  71. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +0 -0
  72. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +0 -0
  73. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  74. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +0 -0
  75. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +0 -0
  76. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +0 -0
  77. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +0 -0
  78. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  79. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +0 -0
  80. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +0 -0
  81. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/SIMPLE_API_REQUEST.ndjson +0 -0
  82. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +0 -0
  83. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +0 -0
  84. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +0 -0
  85. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +0 -0
  86. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +0 -0
  87. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/logs/__init__.py +0 -0
  88. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/logs/logs.py +0 -0
  89. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/plugin/__init__.py +0 -0
  90. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/plugin/plugin.py +0 -0
  91. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/run_plugins/__init__.py +0 -0
  92. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/apps/run_plugins/run_plugins.py +0 -0
  93. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/main.py +0 -0
  94. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/application/cookiecutter.json +0 -0
  95. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  96. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md +0 -0
  97. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py +0 -0
  98. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +0 -0
  99. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png +0 -0
  100. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
  101. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/pyproject.toml +0 -0
  102. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/__init__.py +0 -0
  103. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/test_models.py +0 -0
  104. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/CANVAS_MANIFEST.json +0 -0
  105. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/README.md +0 -0
  106. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/__init__.py +0 -0
  107. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/my_protocol.py +0 -0
  108. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/__init__.py +0 -0
  109. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/context/__init__.py +0 -0
  110. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/context/context.py +0 -0
  111. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/print/__init__.py +0 -0
  112. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/print/print.py +0 -0
  113. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/urls/__init__.py +0 -0
  114. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/urls/urls.py +0 -0
  115. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/validators/__init__.py +0 -0
  116. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/validators/manifest_schema.py +0 -0
  117. {canvas-0.65.0 → canvas-0.67.0}/canvas_cli/utils/validators/validators.py +0 -0
  118. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/effects_pb2_grpc.py +0 -0
  119. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/events_pb2.py +0 -0
  120. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/events_pb2.pyi +0 -0
  121. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/events_pb2_grpc.py +0 -0
  122. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/plugins_pb2.py +0 -0
  123. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/plugins_pb2.pyi +0 -0
  124. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/messages/plugins_pb2_grpc.py +0 -0
  125. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/services/plugin_runner_pb2.py +0 -0
  126. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/services/plugin_runner_pb2.pyi +0 -0
  127. {canvas-0.65.0 → canvas-0.67.0}/canvas_generated/services/plugin_runner_pb2_grpc.py +0 -0
  128. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/__init__.py +0 -0
  129. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/base.py +0 -0
  130. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/caching/__init__.py +0 -0
  131. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/caching/base.py +0 -0
  132. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/caching/client.py +0 -0
  133. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/caching/exceptions.py +0 -0
  134. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/caching/plugins.py +0 -0
  135. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/caching/utils.py +0 -0
  136. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/__init__.py +0 -0
  137. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/base.py +0 -0
  138. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/__init__.py +0 -0
  139. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/allergy.py +0 -0
  140. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/assess.py +0 -0
  141. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/change_medication.py +0 -0
  142. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/chart_section_review.py +0 -0
  143. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/close_goal.py +0 -0
  144. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/diagnose.py +0 -0
  145. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/exam.py +0 -0
  146. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/family_history.py +0 -0
  147. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/follow_up.py +0 -0
  148. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/goal.py +0 -0
  149. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/history_present_illness.py +0 -0
  150. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/imaging_order.py +0 -0
  151. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/immunization_statement.py +0 -0
  152. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/instruct.py +0 -0
  153. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/lab_order.py +0 -0
  154. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/medical_history.py +0 -0
  155. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/medication_statement.py +0 -0
  156. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/past_surgical_history.py +0 -0
  157. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/perform.py +0 -0
  158. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/plan.py +0 -0
  159. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/questionnaire/__init__.py +0 -0
  160. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/questionnaire/question.py +0 -0
  161. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/questionnaire/toggle_questions.py +0 -0
  162. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/reason_for_visit.py +0 -0
  163. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/refer.py +0 -0
  164. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/refill.py +0 -0
  165. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/remove_allergy.py +0 -0
  166. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/resolve_condition.py +0 -0
  167. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/review_of_systems.py +0 -0
  168. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/stop_medication.py +0 -0
  169. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/structured_assessment.py +0 -0
  170. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/task.py +0 -0
  171. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/update_diagnosis.py +0 -0
  172. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/update_goal.py +0 -0
  173. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/commands/vitals.py +0 -0
  174. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/commands/constants.py +0 -0
  175. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/__init__.py +0 -0
  176. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/appointments_metadata/__init__.py +0 -0
  177. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/appointments_metadata/appointments_metadata_create_form.py +0 -0
  178. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/appointments_metadata/base.py +0 -0
  179. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/banner_alert/__init__.py +0 -0
  180. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/banner_alert/add_banner_alert.py +0 -0
  181. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/banner_alert/remove_banner_alert.py +0 -0
  182. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/base.py +0 -0
  183. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/billing_line_item/__init__.py +0 -0
  184. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/billing_line_item/add_billing_line_item.py +0 -0
  185. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/billing_line_item/remove_billing_line_item.py +0 -0
  186. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/billing_line_item/update_billing_line_item.py +0 -0
  187. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/calendar/__init__.py +0 -0
  188. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/calendar/create_calendar.py +0 -0
  189. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/calendar/create_event.py +0 -0
  190. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/compound_medications/__init__.py +0 -0
  191. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/compound_medications/compound_medication.py +0 -0
  192. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/form.py +0 -0
  193. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/generate_full_chart_pdf.py +0 -0
  194. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/group.py +0 -0
  195. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/launch_modal.py +0 -0
  196. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/note/__init__.py +0 -0
  197. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/note/appointment.py +0 -0
  198. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/note/base.py +0 -0
  199. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/note/message.py +0 -0
  200. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/note/note.py +0 -0
  201. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/panel_configuration.py +0 -0
  202. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient/create_patient_external_identifier.py +0 -0
  203. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient/create_patient_preferred_pharmacies.py +0 -0
  204. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_chart_group.py +0 -0
  205. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_chart_summary_configuration.py +0 -0
  206. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_metadata/__init__.py +0 -0
  207. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_metadata/base.py +0 -0
  208. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_metadata/patient_metadata_create_form.py +0 -0
  209. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_portal/__init__.py +0 -0
  210. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_portal/application_configuration.py +0 -0
  211. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_portal/form_result.py +0 -0
  212. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_portal_menu_configuration.py +0 -0
  213. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/patient_profile_configuration.py +0 -0
  214. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/payment_processor.py +0 -0
  215. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/protocol_card/__init__.py +0 -0
  216. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/protocol_card/protocol_card.py +0 -0
  217. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/questionnaire_result.py +0 -0
  218. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/send_invite.py +0 -0
  219. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/show_button.py +0 -0
  220. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/simple_api.py +0 -0
  221. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/surescripts/__init__.py +0 -0
  222. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/surescripts/surescripts_messages.py +0 -0
  223. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/task/__init__.py +0 -0
  224. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/task/task.py +0 -0
  225. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/update_user.py +0 -0
  226. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/widgets/__init__.py +0 -0
  227. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/effects/widgets/portal_widget.py +0 -0
  228. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/events/__init__.py +0 -0
  229. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/events/base.py +0 -0
  230. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/__init__.py +0 -0
  231. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/action_button.py +0 -0
  232. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/application.py +0 -0
  233. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/base.py +0 -0
  234. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/cron_task.py +0 -0
  235. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/payment_processors/__init__.py +0 -0
  236. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/payment_processors/base.py +0 -0
  237. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/payment_processors/card.py +0 -0
  238. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/simple_api/__init__.py +0 -0
  239. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/simple_api/api.py +0 -0
  240. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/simple_api/exceptions.py +0 -0
  241. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/simple_api/security.py +0 -0
  242. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/simple_api/tools.py +0 -0
  243. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/handlers/simple_api/websocket.py +0 -0
  244. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/protocols/__init__.py +0 -0
  245. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/protocols/base.py +0 -0
  246. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/protocols/clinical_quality_measure.py +0 -0
  247. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/protocols/timeframe.py +0 -0
  248. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/questionnaires/__init__.py +0 -0
  249. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/questionnaires/utils.py +0 -0
  250. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/templates/__init__.py +0 -0
  251. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/templates/utils.py +0 -0
  252. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/__init__.py +0 -0
  253. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/factories/claim_diagnosis_code.py +0 -0
  254. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/factories/facility.py +0 -0
  255. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/factories/patient.py +0 -0
  256. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/factories/protocol_current.py +0 -0
  257. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/test_utils/factories/user.py +0 -0
  258. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/utils/__init__.py +0 -0
  259. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/utils/db.py +0 -0
  260. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/utils/http.py +0 -0
  261. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/utils/metrics.py +0 -0
  262. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/utils/plugins.py +0 -0
  263. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/__init__.py +0 -0
  264. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/apps.py +0 -0
  265. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/allergy_intolerance.py +0 -0
  266. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/appointment.py +0 -0
  267. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/assessment.py +0 -0
  268. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/banner_alert.py +0 -0
  269. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/base.py +0 -0
  270. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/billing.py +0 -0
  271. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/business_line.py +0 -0
  272. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/care_team.py +0 -0
  273. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/charge_description_master.py +0 -0
  274. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/claim.py +0 -0
  275. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/claim_diagnosis_code.py +0 -0
  276. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/claim_line_item.py +0 -0
  277. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/command.py +0 -0
  278. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/common.py +0 -0
  279. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/condition.py +0 -0
  280. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/detected_issue.py +0 -0
  281. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/device.py +0 -0
  282. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/discount.py +0 -0
  283. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/encounter.py +0 -0
  284. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/facility.py +0 -0
  285. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/fields.py +0 -0
  286. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/goal.py +0 -0
  287. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/imaging.py +0 -0
  288. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/immunization.py +0 -0
  289. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/invoice.py +0 -0
  290. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/lab.py +0 -0
  291. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/line_item_transaction.py +0 -0
  292. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/medication.py +0 -0
  293. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/medication_statement.py +0 -0
  294. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/message.py +0 -0
  295. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/note.py +0 -0
  296. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/observation.py +0 -0
  297. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/organization.py +0 -0
  298. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/patient.py +0 -0
  299. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/patient_consent.py +0 -0
  300. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/payment_collection.py +0 -0
  301. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/payor_specific_charge.py +0 -0
  302. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/posting.py +0 -0
  303. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/practicelocation.py +0 -0
  304. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/protocol_current.py +0 -0
  305. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/protocol_override.py +0 -0
  306. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/protocol_result.py +0 -0
  307. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/questionnaire.py +0 -0
  308. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/reason_for_visit.py +0 -0
  309. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/referral.py +0 -0
  310. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/service_provider.py +0 -0
  311. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/staff.py +0 -0
  312. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/stop_medication_event.py +0 -0
  313. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/task.py +0 -0
  314. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/team.py +0 -0
  315. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/user.py +0 -0
  316. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/data/utils.py +0 -0
  317. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/v1/models.py +0 -0
  318. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/__init__.py +0 -0
  319. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/custom.py +0 -0
  320. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/hcc2018.py +0 -0
  321. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/__init__.py +0 -0
  322. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/adverse_event.py +0 -0
  323. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/allergy.py +0 -0
  324. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/assessment.py +0 -0
  325. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/communication.py +0 -0
  326. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/condition.py +0 -0
  327. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/device.py +0 -0
  328. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/diagnostic_study.py +0 -0
  329. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/encounter.py +0 -0
  330. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/immunization.py +0 -0
  331. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/individual_characteristic.py +0 -0
  332. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/intervention.py +0 -0
  333. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/laboratory_test.py +0 -0
  334. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/medication.py +0 -0
  335. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/physical_exam.py +0 -0
  336. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/procedure.py +0 -0
  337. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/v2022/symptom.py +0 -0
  338. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/value_set/value_set.py +0 -0
  339. {canvas-0.65.0 → canvas-0.67.0}/canvas_sdk/views/__init__.py +0 -0
  340. {canvas-0.65.0 → canvas-0.67.0}/logger/__init__.py +0 -0
  341. {canvas-0.65.0 → canvas-0.67.0}/logger/logger.py +0 -0
  342. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/__init__.py +0 -0
  343. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/authentication.py +0 -0
  344. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/aws_headers.py +0 -0
  345. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/exceptions.py +0 -0
  346. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/generate_allowed_imports.py +0 -0
  347. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/installation.py +0 -0
  348. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/load_all_plugins.py +0 -0
  349. {canvas-0.65.0 → canvas-0.67.0}/plugin_runner/plugin_runner.py +0 -0
  350. {canvas-0.65.0 → canvas-0.67.0}/protobufs/canvas_generated/messages/events.proto +0 -0
  351. {canvas-0.65.0 → canvas-0.67.0}/protobufs/canvas_generated/messages/plugins.proto +0 -0
  352. {canvas-0.65.0 → canvas-0.67.0}/protobufs/canvas_generated/services/plugin_runner.proto +0 -0
  353. {canvas-0.65.0 → canvas-0.67.0}/pubsub/__init__.py +0 -0
  354. {canvas-0.65.0 → canvas-0.67.0}/pubsub/pubsub.py +0 -0
  355. {canvas-0.65.0 → canvas-0.67.0}/settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.65.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
@@ -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
@@ -13,5 +13,9 @@ class AdjustPrescriptionCommand(RefillCommand):
13
13
  default=None, json_schema_extra={"commands_api_name": "change_medication_to"}
14
14
  )
15
15
 
16
+ def _has_fdb_code(self) -> bool:
17
+ """Check if new_fdb_code is provided and non-empty."""
18
+ return self.new_fdb_code is not None and self.new_fdb_code.strip() != ""
19
+
16
20
 
17
21
  __exports__ = ("AdjustPrescriptionCommand",)
@@ -74,12 +74,16 @@ class PrescribeCommand(_SendableCommandMixin, _BaseCommand):
74
74
  default=None, json_schema_extra={"commands_api_name": "compound_medication_data"}
75
75
  )
76
76
 
77
+ def _has_fdb_code(self) -> bool:
78
+ """Check if fdb_code is provided and non-empty."""
79
+ return self.fdb_code is not None and self.fdb_code.strip() != ""
80
+
77
81
  def _get_error_details(self, method: str) -> list[InitErrorDetails]:
78
82
  """Add compound medication validation to the base validation."""
79
83
  errors = super()._get_error_details(method)
80
84
 
81
85
  # Validate that exactly one medication type is provided
82
- has_fdb_code = self.fdb_code is not None and self.fdb_code.strip() != ""
86
+ has_fdb_code = self._has_fdb_code()
83
87
  has_compound_medication_id = (
84
88
  self.compound_medication_id is not None and self.compound_medication_id.strip() != ""
85
89
  )
@@ -156,10 +160,8 @@ class PrescribeCommand(_SendableCommandMixin, _BaseCommand):
156
160
  str(Decimal(self.quantity_to_dispense)) if self.quantity_to_dispense else None
157
161
  )
158
162
 
159
- values["compound_medication_values"] = {}
160
-
161
163
  if self.is_dirty("compound_medication_id") and self.compound_medication_id:
162
- values["compound_medication_values"]["id"] = values.pop("compound_medication_id")
164
+ values["compound_medication_values"] = {"id": values.pop("compound_medication_id")}
163
165
 
164
166
  # Handle compound medication data
165
167
  elif (
@@ -170,9 +172,6 @@ class PrescribeCommand(_SendableCommandMixin, _BaseCommand):
170
172
  if isinstance(compound_data, CompoundMedicationData):
171
173
  values["compound_medication_values"] = compound_data.to_dict()
172
174
 
173
- if values.get("fdb_code") is not None and values.get("compound_medication_values") == {}:
174
- del values["compound_medication_values"]
175
-
176
175
  return values
177
176
 
178
177
  def originate(self, line_number: int = -1) -> Effect:
@@ -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",)
@@ -1,5 +1,10 @@
1
1
  from .claim_diagnosis_code import ClaimDiagnosisCodeFactory
2
2
  from .facility import FacilityFactory
3
+ from .medication_history import (
4
+ MedicationHistoryMedicationCodingFactory,
5
+ MedicationHistoryMedicationFactory,
6
+ MedicationHistoryResponseFactory,
7
+ )
3
8
  from .patient import PatientAddressFactory, PatientFacilityAddressFactory, PatientFactory
4
9
  from .protocol_current import ProtocolCurrentFactory
5
10
  from .user import CanvasUserFactory
@@ -8,6 +13,9 @@ __all__ = (
8
13
  "CanvasUserFactory",
9
14
  "ClaimDiagnosisCodeFactory",
10
15
  "FacilityFactory",
16
+ "MedicationHistoryMedicationFactory",
17
+ "MedicationHistoryMedicationCodingFactory",
18
+ "MedicationHistoryResponseFactory",
11
19
  "PatientAddressFactory",
12
20
  "PatientFacilityAddressFactory",
13
21
  "PatientFactory",
@@ -0,0 +1,75 @@
1
+ import datetime
2
+
3
+ import factory
4
+ from django.utils import timezone
5
+ from factory.fuzzy import FuzzyDate, FuzzyDateTime
6
+
7
+ from canvas_sdk.test_utils.factories.patient import PatientFactory
8
+ from canvas_sdk.v1.data.medication_history import (
9
+ MedicationHistoryMedication,
10
+ MedicationHistoryMedicationCoding,
11
+ MedicationHistoryResponse,
12
+ MedicationHistoryResponseStatus,
13
+ )
14
+
15
+
16
+ class MedicationHistoryMedicationFactory(
17
+ factory.django.DjangoModelFactory[MedicationHistoryMedication]
18
+ ):
19
+ """Factory for creating a MedicationHistoryMedication."""
20
+
21
+ class Meta:
22
+ model = MedicationHistoryMedication
23
+
24
+ patient = factory.SubFactory(PatientFactory)
25
+ last_fill_date = FuzzyDateTime(
26
+ start_dt=timezone.now() - datetime.timedelta(days=365), end_dt=timezone.now()
27
+ )
28
+
29
+ drug_description = factory.Faker("word")
30
+ strength_value = "10"
31
+ strength_form = "tablet"
32
+ strength_unit_of_measure = "mg"
33
+ quantity = 30.0
34
+ quantity_unit_of_measure = "tablets"
35
+ days_supply = 30
36
+ sig = factory.Faker("sentence", nb_words=4)
37
+
38
+
39
+ class MedicationHistoryMedicationCodingFactory(
40
+ factory.django.DjangoModelFactory[MedicationHistoryMedicationCoding]
41
+ ):
42
+ """Factory for creating a MedicationHistoryMedicationCoding."""
43
+
44
+ class Meta:
45
+ model = MedicationHistoryMedicationCoding
46
+
47
+ medication = factory.SubFactory(MedicationHistoryMedicationFactory)
48
+
49
+ system = "http://www.nlm.nih.gov/research/umls/rxnorm"
50
+ version = "1.0"
51
+ code = factory.Faker("numerify", text="######")
52
+ display = factory.Faker("word")
53
+ user_selected = False
54
+
55
+
56
+ class MedicationHistoryResponseFactory(
57
+ factory.django.DjangoModelFactory[MedicationHistoryResponse]
58
+ ):
59
+ """Factory for creating a MedicationHistoryResponse."""
60
+
61
+ class Meta:
62
+ model = MedicationHistoryResponse
63
+
64
+ patient = factory.SubFactory(PatientFactory)
65
+ status = MedicationHistoryResponseStatus.STATUS_APPROVED
66
+ start_date = FuzzyDate(
67
+ start_date=datetime.date.today() - datetime.timedelta(days=365),
68
+ end_date=datetime.date.today(),
69
+ )
70
+ end_date = FuzzyDate(
71
+ start_date=datetime.date.today(),
72
+ end_date=datetime.date.today() + datetime.timedelta(days=365),
73
+ )
74
+ message_id = factory.Faker("uuid4")
75
+ related_to_message_id = factory.Faker("uuid4")
@@ -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
@@ -45,6 +45,12 @@ from .line_item_transaction import (
45
45
  NewLineItemPayment,
46
46
  )
47
47
  from .medication import Medication, MedicationCoding
48
+ from .medication_history import (
49
+ MedicationHistoryMedication,
50
+ MedicationHistoryMedicationCoding,
51
+ MedicationHistoryResponse,
52
+ MedicationHistoryResponseStatus,
53
+ )
48
54
  from .medication_statement import MedicationStatement
49
55
  from .message import Message, MessageAttachment, MessageTransmission
50
56
  from .note import CurrentNoteStateEvent, Note, NoteStateChangeEvent, NoteType
@@ -136,6 +142,7 @@ __all__ = __exports__ = (
136
142
  "DetectedIssueEvidence",
137
143
  "Device",
138
144
  "Discount",
145
+ "EligibilitySummary",
139
146
  "Encounter",
140
147
  "Facility",
141
148
  "Goal",
@@ -164,6 +171,10 @@ __all__ = __exports__ = (
164
171
  "LineItemTransfer",
165
172
  "Medication",
166
173
  "MedicationCoding",
174
+ "MedicationHistoryMedication",
175
+ "MedicationHistoryMedicationCoding",
176
+ "MedicationHistoryResponseStatus",
177
+ "MedicationHistoryResponse",
167
178
  "MedicationStatement",
168
179
  "Message",
169
180
  "MessageAttachment",
@@ -6,7 +6,6 @@ class CompoundMedication(models.Model):
6
6
  """CompoundMedication."""
7
7
 
8
8
  class Meta:
9
- managed = False
10
9
  db_table = "canvas_sdk_data_api_compoundmedication_001"
11
10
 
12
11
  class PotencyUnits(TextChoices):
@@ -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",
@@ -0,0 +1,152 @@
1
+ from django.contrib.postgres.fields import ArrayField
2
+ from django.db import models
3
+ from django.db.models import TextChoices
4
+
5
+ from canvas_sdk.v1.data.base import (
6
+ IdentifiableModel,
7
+ Model,
8
+ )
9
+
10
+
11
+ class MedicationHistoryMedication(IdentifiableModel):
12
+ """MedicationHistoryMedication."""
13
+
14
+ class Meta:
15
+ db_table = "canvas_sdk_data_api_medicationhistorymedication_001"
16
+
17
+ created = models.DateTimeField(auto_now_add=True)
18
+ modified = models.DateTimeField(auto_now=True)
19
+
20
+ patient = models.ForeignKey(
21
+ "v1.Patient",
22
+ on_delete=models.DO_NOTHING,
23
+ related_name="medication_history_medications",
24
+ null=True,
25
+ )
26
+
27
+ drug_description = models.TextField(blank=True, default="")
28
+
29
+ strength_value = models.CharField(max_length=255, blank=True, default="")
30
+ strength_form = models.CharField(max_length=255, blank=True, default="")
31
+ strength_unit_of_measure = models.CharField(max_length=255, blank=True, default="")
32
+
33
+ quantity = models.FloatField(null=True)
34
+ quantity_unit_of_measure = models.CharField(max_length=255, blank=True, default="")
35
+ quantity_code_list_qualifier = models.CharField(max_length=255, blank=True, default="")
36
+
37
+ days_supply = models.IntegerField(null=True)
38
+
39
+ last_fill_date = models.DateTimeField(db_index=True)
40
+ written_date = models.DateTimeField(blank=True, null=True)
41
+
42
+ other_date = models.DateTimeField(blank=True, null=True)
43
+ other_date_qualifier = models.CharField(max_length=255, blank=True, default="")
44
+
45
+ substitutions = models.BooleanField(null=True)
46
+
47
+ refills_remaining = models.IntegerField(null=True)
48
+
49
+ diagnosis_code = models.CharField(max_length=255, blank=True, default="")
50
+ diagnosis_qualifier = models.CharField(max_length=255, blank=True, default="")
51
+ diagnosis_description = models.CharField(max_length=255, blank=True, default="")
52
+
53
+ secondary_diagnosis_code = models.CharField(max_length=255, blank=True, default="")
54
+ secondary_diagnosis_qualifier = models.CharField(max_length=255, blank=True, default="")
55
+ secondary_diagnosis_description = models.CharField(max_length=255, blank=True, default="")
56
+
57
+ dea_schedule = models.CharField(max_length=255, blank=True, default="")
58
+
59
+ potency_unit_code = models.CharField(max_length=20, blank=True, default="")
60
+ etc_path_id = ArrayField(base_field=models.IntegerField(), null=True)
61
+ etc_path_name = ArrayField(base_field=models.CharField(max_length=255), null=True)
62
+
63
+ fill_number = models.IntegerField(blank=True, null=True)
64
+
65
+ prescriber_order_number = models.CharField(max_length=255, blank=True, default="")
66
+
67
+ source_description = models.CharField(max_length=255, blank=True, default="")
68
+ source_qualifier = models.CharField(max_length=255, blank=True, default="")
69
+ source_payer_id = models.CharField(max_length=255, blank=True, default="")
70
+ source_type = models.CharField(max_length=255, blank=True, default="")
71
+
72
+ note = models.TextField(blank=True, default="")
73
+ sig = models.TextField(blank=True, default="")
74
+
75
+ prior_authorization_status = models.CharField(max_length=255, blank=True, default="")
76
+ prior_authorization = models.CharField(max_length=255, blank=True, default="")
77
+
78
+ pharmacy_name = models.CharField(max_length=255, blank=True, default="")
79
+ pharmacy_ncpdp_id = models.CharField(max_length=255, blank=True, default="")
80
+ pharmacy_npi = models.CharField(max_length=255, blank=True, default="")
81
+
82
+ prescriber_business_name = models.CharField(max_length=255, blank=True, default="")
83
+ prescriber_first_name = models.CharField(max_length=255, blank=True, default="")
84
+ prescriber_last_name = models.CharField(max_length=255, blank=True, default="")
85
+ prescriber_npi = models.CharField(max_length=255, blank=True, default="")
86
+ prescriber_dea_number = models.CharField(max_length=255, blank=True, default="")
87
+
88
+
89
+ class MedicationHistoryMedicationCoding(Model):
90
+ """MedicationHistoryMedicationCoding."""
91
+
92
+ class Meta:
93
+ db_table = "canvas_sdk_data_api_medicationhistorymedicationcoding_001"
94
+
95
+ system = models.CharField(max_length=255)
96
+ version = models.CharField(max_length=255)
97
+ code = models.CharField(max_length=255)
98
+ display = models.CharField(max_length=1000)
99
+ user_selected = models.BooleanField(default=False)
100
+ medication = models.ForeignKey(
101
+ MedicationHistoryMedication, on_delete=models.CASCADE, related_name="codings"
102
+ )
103
+
104
+
105
+ class MedicationHistoryResponseStatus(TextChoices):
106
+ """MedicationHistoryResponseStatus."""
107
+
108
+ STATUS_APPROVED = "approved"
109
+ STATUS_DENIED = "denied"
110
+
111
+
112
+ class MedicationHistoryResponse(IdentifiableModel):
113
+ """MedicationHistoryResponse."""
114
+
115
+ class Meta:
116
+ db_table = "canvas_sdk_data_api_medicationhistoryresponse_001"
117
+
118
+ created = models.DateTimeField(auto_now_add=True)
119
+ modified = models.DateTimeField(auto_now=True)
120
+
121
+ patient = models.ForeignKey(
122
+ "v1.Patient",
123
+ on_delete=models.CASCADE,
124
+ related_name="medication_history_responses",
125
+ )
126
+ staff = models.ForeignKey(
127
+ "v1.Staff",
128
+ on_delete=models.CASCADE,
129
+ related_name="medication_history_responses",
130
+ null=True,
131
+ )
132
+
133
+ message_id = models.CharField(max_length=35, blank=True, default="", db_index=True)
134
+ related_to_message_id = models.CharField(max_length=35, blank=True, default="", db_index=True)
135
+
136
+ status = models.CharField(choices=MedicationHistoryResponseStatus.choices, max_length=20)
137
+
138
+ reason = models.TextField(blank=True, default="")
139
+ reason_code = models.CharField(max_length=2, blank=True, default="")
140
+
141
+ note = models.TextField(blank=True, default="")
142
+
143
+ start_date = models.DateField()
144
+ end_date = models.DateField()
145
+
146
+
147
+ __exports__ = (
148
+ "MedicationHistoryMedication",
149
+ "MedicationHistoryMedicationCoding",
150
+ "MedicationHistoryResponseStatus",
151
+ "MedicationHistoryResponse",
152
+ )