canvas 0.33.0__tar.gz → 0.33.1__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 (378) hide show
  1. {canvas-0.33.0 → canvas-0.33.1}/PKG-INFO +2 -1
  2. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/__init__.py +3 -0
  3. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/__init__.py +1 -1
  4. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/base.py +3 -0
  5. canvas-0.33.1/canvas_sdk/commands/commands/__init__.py +1 -0
  6. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/adjust_prescription.py +3 -0
  7. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/allergy.py +7 -0
  8. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/assess.py +2 -0
  9. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/close_goal.py +3 -0
  10. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/diagnose.py +3 -0
  11. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/exam.py +3 -0
  12. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/family_history.py +3 -0
  13. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/follow_up.py +3 -0
  14. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/goal.py +3 -0
  15. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/history_present_illness.py +3 -0
  16. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/imaging_order.py +3 -0
  17. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/instruct.py +3 -0
  18. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/lab_order.py +3 -0
  19. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/medical_history.py +3 -0
  20. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/medication_statement.py +2 -0
  21. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/past_surgical_history.py +3 -0
  22. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/perform.py +3 -0
  23. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/plan.py +3 -0
  24. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/prescribe.py +8 -0
  25. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/questionnaire/__init__.py +3 -13
  26. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/questionnaire/question.py +10 -0
  27. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/reason_for_visit.py +3 -0
  28. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/refer.py +3 -0
  29. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/refill.py +3 -0
  30. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/remove_allergy.py +3 -0
  31. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/resolve_condition.py +3 -0
  32. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/review_of_systems.py +3 -0
  33. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/stop_medication.py +3 -0
  34. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/structured_assessment.py +3 -0
  35. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/task.py +7 -0
  36. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/update_diagnosis.py +3 -0
  37. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/update_goal.py +3 -0
  38. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/commands/vitals.py +3 -0
  39. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/commands/constants.py +8 -0
  40. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/__init__.py +1 -1
  41. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/banner_alert/__init__.py +1 -1
  42. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/banner_alert/add_banner_alert.py +3 -0
  43. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/banner_alert/remove_banner_alert.py +3 -0
  44. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/base.py +7 -0
  45. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/billing_line_item/__init__.py +5 -1
  46. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/billing_line_item/add_billing_line_item.py +3 -0
  47. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/billing_line_item/remove_billing_line_item.py +3 -0
  48. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/billing_line_item/update_billing_line_item.py +3 -0
  49. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/launch_modal.py +3 -0
  50. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/patient_chart_summary_configuration.py +3 -0
  51. canvas-0.33.1/canvas_sdk/effects/patient_portal/__init__.py +1 -0
  52. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/patient_portal/application_configuration.py +3 -0
  53. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/patient_portal/form_result.py +3 -0
  54. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/patient_portal_menu_configuration.py +3 -0
  55. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/patient_profile_configuration.py +5 -1
  56. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/protocol_card/__init__.py +1 -1
  57. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/protocol_card/protocol_card.py +6 -0
  58. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/questionnaire_result.py +3 -0
  59. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/send_invite.py +3 -0
  60. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/show_button.py +3 -0
  61. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/simple_api.py +9 -0
  62. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/surescripts/__init__.py +2 -2
  63. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/surescripts/surescripts_messages.py +7 -0
  64. canvas-0.33.1/canvas_sdk/effects/task/__init__.py +8 -0
  65. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/task/task.py +8 -0
  66. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/update_user.py +3 -0
  67. canvas-0.33.1/canvas_sdk/effects/widgets/__init__.py +3 -0
  68. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/effects/widgets/portal_widget.py +3 -0
  69. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/events/__init__.py +6 -1
  70. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/events/base.py +3 -0
  71. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/__init__.py +1 -1
  72. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/action_button.py +6 -0
  73. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/application.py +3 -0
  74. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/base.py +3 -0
  75. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/cron_task.py +3 -0
  76. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/simple_api/__init__.py +3 -2
  77. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/simple_api/api.py +26 -1
  78. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/simple_api/exceptions.py +10 -0
  79. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/simple_api/security.py +21 -5
  80. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/handlers/simple_api/tools.py +9 -0
  81. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/protocols/__init__.py +1 -1
  82. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/protocols/base.py +3 -0
  83. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/protocols/clinical_quality_measure.py +6 -1
  84. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/protocols/timeframe.py +3 -0
  85. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/questionnaires/__init__.py +1 -1
  86. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/questionnaires/utils.py +7 -0
  87. canvas-0.33.1/canvas_sdk/templates/__init__.py +3 -0
  88. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/templates/utils.py +3 -0
  89. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/utils/__init__.py +1 -1
  90. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/utils/http.py +69 -35
  91. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/utils/plugins.py +4 -0
  92. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/utils/stats.py +11 -0
  93. canvas-0.33.1/canvas_sdk/v1/__init__.py +1 -0
  94. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/apps.py +3 -0
  95. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/__init__.py +2 -2
  96. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/allergy_intolerance.py +3 -0
  97. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/appointment.py +7 -0
  98. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/assessment.py +3 -0
  99. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/banner_alert.py +3 -0
  100. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/base.py +3 -0
  101. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/billing.py +7 -0
  102. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/care_team.py +7 -0
  103. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/command.py +3 -0
  104. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/common.py +18 -0
  105. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/condition.py +7 -0
  106. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/coverage.py +14 -0
  107. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/detected_issue.py +3 -0
  108. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/device.py +3 -0
  109. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/imaging.py +7 -0
  110. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/lab.py +16 -0
  111. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/medication.py +3 -0
  112. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/note.py +9 -0
  113. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/observation.py +9 -0
  114. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/organization.py +3 -0
  115. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/patient.py +18 -2
  116. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/practicelocation.py +7 -0
  117. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/protocol_override.py +7 -0
  118. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/questionnaire.py +16 -3
  119. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/reason_for_visit.py +3 -0
  120. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/staff.py +3 -0
  121. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/task.py +12 -0
  122. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/team.py +8 -1
  123. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/data/user.py +3 -0
  124. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/v1/models.py +2 -0
  125. canvas-0.33.1/canvas_sdk/value_set/__init__.py +1 -0
  126. canvas-0.33.1/canvas_sdk/value_set/_utilities.py +16 -0
  127. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/custom.py +4 -0
  128. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/hcc2018.py +3 -0
  129. canvas-0.33.1/canvas_sdk/value_set/v2022/__init__.py +1 -0
  130. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/adverse_event.py +3 -0
  131. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/allergy.py +5 -0
  132. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/assessment.py +5 -0
  133. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/communication.py +5 -0
  134. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/condition.py +5 -0
  135. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/device.py +5 -0
  136. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/diagnostic_study.py +5 -0
  137. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/encounter.py +5 -0
  138. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/immunization.py +5 -0
  139. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/individual_characteristic.py +5 -0
  140. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/intervention.py +5 -0
  141. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/laboratory_test.py +5 -0
  142. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/medication.py +5 -0
  143. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/physical_exam.py +5 -0
  144. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/procedure.py +5 -0
  145. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/v2022/symptom.py +3 -0
  146. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/value_set/value_set.py +9 -0
  147. canvas-0.33.1/canvas_sdk/views/__init__.py +1 -0
  148. {canvas-0.33.0 → canvas-0.33.1}/logger/__init__.py +2 -0
  149. {canvas-0.33.0 → canvas-0.33.1}/logger/logger.py +3 -0
  150. {canvas-0.33.0 → canvas-0.33.1}/plugin_runner/aws_headers.py +1 -1
  151. canvas-0.33.1/plugin_runner/load_all_plugins.py +202 -0
  152. {canvas-0.33.0 → canvas-0.33.1}/plugin_runner/plugin_runner.py +21 -24
  153. canvas-0.33.1/plugin_runner/sandbox.py +792 -0
  154. {canvas-0.33.0 → canvas-0.33.1}/pyproject.toml +9 -2
  155. {canvas-0.33.0 → canvas-0.33.1}/settings.py +5 -2
  156. canvas-0.33.0/canvas_cli/apps/auth/tests.py +0 -155
  157. canvas-0.33.0/canvas_cli/apps/plugin/tests.py +0 -85
  158. canvas-0.33.0/canvas_cli/conftest.py +0 -28
  159. canvas-0.33.0/canvas_cli/tests.py +0 -217
  160. canvas-0.33.0/canvas_cli/utils/context/tests.py +0 -131
  161. canvas-0.33.0/canvas_cli/utils/print/tests.py +0 -69
  162. canvas-0.33.0/canvas_cli/utils/urls/tests.py +0 -12
  163. canvas-0.33.0/canvas_cli/utils/validators/tests.py +0 -37
  164. canvas-0.33.0/canvas_sdk/commands/tests/protocol/tests.py +0 -83
  165. canvas-0.33.0/canvas_sdk/commands/tests/schema/__init__.py +0 -0
  166. canvas-0.33.0/canvas_sdk/commands/tests/schema/tests.py +0 -108
  167. canvas-0.33.0/canvas_sdk/commands/tests/test_base_command.py +0 -81
  168. canvas-0.33.0/canvas_sdk/commands/tests/test_utils.py +0 -375
  169. canvas-0.33.0/canvas_sdk/commands/tests/unit/__init__.py +0 -0
  170. canvas-0.33.0/canvas_sdk/commands/tests/unit/tests.py +0 -278
  171. canvas-0.33.0/canvas_sdk/effects/banner_alert/tests.py +0 -288
  172. canvas-0.33.0/canvas_sdk/effects/patient_portal/__init__.py +0 -0
  173. canvas-0.33.0/canvas_sdk/effects/protocol_card/tests.py +0 -191
  174. canvas-0.33.0/canvas_sdk/effects/task/__init__.py +0 -3
  175. canvas-0.33.0/canvas_sdk/effects/widgets/__init__.py +0 -3
  176. canvas-0.33.0/canvas_sdk/questionnaires/tests/__init__.py +0 -0
  177. canvas-0.33.0/canvas_sdk/questionnaires/tests/test_utils.py +0 -74
  178. canvas-0.33.0/canvas_sdk/templates/__init__.py +0 -3
  179. canvas-0.33.0/canvas_sdk/templates/tests/__init__.py +0 -0
  180. canvas-0.33.0/canvas_sdk/templates/tests/test_utils.py +0 -43
  181. canvas-0.33.0/canvas_sdk/tests/__init__.py +0 -0
  182. canvas-0.33.0/canvas_sdk/tests/handlers/__init__.py +0 -0
  183. canvas-0.33.0/canvas_sdk/tests/handlers/test_simple_api.py +0 -1167
  184. canvas-0.33.0/canvas_sdk/utils/tests.py +0 -72
  185. canvas-0.33.0/canvas_sdk/v1/__init__.py +0 -0
  186. canvas-0.33.0/canvas_sdk/value_set/__init__.py +0 -0
  187. canvas-0.33.0/canvas_sdk/value_set/tests/test_value_sets.py +0 -72
  188. canvas-0.33.0/canvas_sdk/value_set/v2022/__init__.py +0 -0
  189. canvas-0.33.0/canvas_sdk/views/__init__.py +0 -0
  190. canvas-0.33.0/plugin_runner/__init__.py +0 -0
  191. canvas-0.33.0/plugin_runner/sandbox.py +0 -410
  192. canvas-0.33.0/plugin_runner/tests/__init__.py +0 -0
  193. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/example_plugin/CANVAS_MANIFEST.json +0 -29
  194. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/example_plugin/README.md +0 -12
  195. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/example_plugin/__init__.py +0 -0
  196. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/example_plugin/protocols/__init__.py +0 -0
  197. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/example_plugin/protocols/my_protocol.py +0 -18
  198. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/CANVAS_MANIFEST.json +0 -38
  199. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/README.md +0 -11
  200. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/protocols/__init__.py +0 -0
  201. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/protocols/my_protocol.py +0 -33
  202. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/templates/__init__.py +0 -3
  203. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/templates/base.py +0 -6
  204. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/utils/__init__.py +0 -5
  205. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/utils/base.py +0 -4
  206. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/CANVAS_MANIFEST.json +0 -52
  207. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/README.md +0 -11
  208. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/protocols/__init__.py +0 -0
  209. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/protocols/my_protocol.py +0 -39
  210. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/questionnaires/example_questionnaire.yml +0 -61
  211. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/CANVAS_MANIFEST.json +0 -29
  212. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/README.md +0 -12
  213. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/other_module/__init__.py +0 -0
  214. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/other_module/base.py +0 -10
  215. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/protocols/__init__.py +0 -0
  216. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/protocols/my_protocol.py +0 -18
  217. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/CANVAS_MANIFEST.json +0 -29
  218. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/README.md +0 -12
  219. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/other_module/__init__.py +0 -0
  220. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/other_module/base.py +0 -10
  221. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/protocols/__init__.py +0 -0
  222. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/protocols/my_protocol.py +0 -18
  223. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/CANVAS_MANIFEST.json +0 -29
  224. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/README.md +0 -12
  225. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/other_module/__init__.py +0 -0
  226. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/other_module/base.py +0 -3
  227. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/protocols/__init__.py +0 -0
  228. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/protocols/my_protocol.py +0 -18
  229. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/CANVAS_MANIFEST.json +0 -29
  230. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/README.md +0 -12
  231. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/other_module/__init__.py +0 -0
  232. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/other_module/base.py +0 -6
  233. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/protocols/__init__.py +0 -0
  234. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/protocols/my_protocol.py +0 -18
  235. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/CANVAS_MANIFEST.json +0 -29
  236. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/README.md +0 -12
  237. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/other_module/__init__.py +0 -0
  238. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/other_module/base.py +0 -8
  239. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/protocols/__init__.py +0 -0
  240. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/protocols/my_protocol.py +0 -18
  241. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/CANVAS_MANIFEST.json +0 -29
  242. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/README.md +0 -12
  243. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/other_module/__init__.py +0 -0
  244. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/other_module/base.py +0 -3
  245. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/protocols/__init__.py +0 -0
  246. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/protocols/my_protocol.py +0 -18
  247. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_render_template/CANVAS_MANIFEST.json +0 -47
  248. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_render_template/README.md +0 -11
  249. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_render_template/protocols/__init__.py +0 -0
  250. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_render_template/protocols/my_protocol.py +0 -43
  251. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_render_template/templates/template.html +0 -10
  252. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_simple_api/CANVAS_MANIFEST.json +0 -47
  253. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_simple_api/README.md +0 -11
  254. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_simple_api/__init__.py +0 -0
  255. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_simple_api/protocols/__init__.py +0 -0
  256. canvas-0.33.0/plugin_runner/tests/fixtures/plugins/test_simple_api/protocols/my_protocol.py +0 -43
  257. canvas-0.33.0/plugin_runner/tests/test_application.py +0 -65
  258. canvas-0.33.0/plugin_runner/tests/test_plugin_installer.py +0 -127
  259. canvas-0.33.0/plugin_runner/tests/test_plugin_runner.py +0 -388
  260. canvas-0.33.0/plugin_runner/tests/test_sandbox.py +0 -137
  261. canvas-0.33.0/pubsub/__init__.py +0 -0
  262. {canvas-0.33.0 → canvas-0.33.1}/.gitignore +0 -0
  263. {canvas-0.33.0 → canvas-0.33.1}/README.md +0 -0
  264. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/__init__.py +0 -0
  265. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/__init__.py +0 -0
  266. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/auth/__init__.py +0 -0
  267. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/auth/utils.py +0 -0
  268. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/__init__.py +0 -0
  269. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/emit.py +0 -0
  270. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +0 -0
  271. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +0 -0
  272. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +0 -0
  273. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +0 -0
  274. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +0 -0
  275. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +0 -0
  276. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +0 -0
  277. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +0 -0
  278. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +0 -0
  279. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +0 -0
  280. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +0 -0
  281. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +0 -0
  282. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +0 -0
  283. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +0 -0
  284. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  285. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +0 -0
  286. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +0 -0
  287. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +0 -0
  288. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +0 -0
  289. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +0 -0
  290. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +0 -0
  291. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/CRON.ndjson +0 -0
  292. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +0 -0
  293. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +0 -0
  294. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +0 -0
  295. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +0 -0
  296. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +0 -0
  297. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +0 -0
  298. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +0 -0
  299. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +0 -0
  300. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +0 -0
  301. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +0 -0
  302. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +0 -0
  303. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +0 -0
  304. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +0 -0
  305. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +0 -0
  306. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +0 -0
  307. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +0 -0
  308. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  309. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +0 -0
  310. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +0 -0
  311. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +0 -0
  312. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +0 -0
  313. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +0 -0
  314. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  315. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +0 -0
  316. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +0 -0
  317. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +0 -0
  318. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +0 -0
  319. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  320. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +0 -0
  321. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +0 -0
  322. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/SIMPLE_API_REQUEST.ndjson +0 -0
  323. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +0 -0
  324. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +0 -0
  325. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +0 -0
  326. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +0 -0
  327. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +0 -0
  328. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/logs/__init__.py +0 -0
  329. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/logs/logs.py +0 -0
  330. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/plugin/__init__.py +0 -0
  331. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/plugin/plugin.py +0 -0
  332. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/run_plugins/__init__.py +0 -0
  333. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/apps/run_plugins/run_plugins.py +0 -0
  334. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/main.py +0 -0
  335. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/application/cookiecutter.json +0 -0
  336. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  337. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md +0 -0
  338. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py +0 -0
  339. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +0 -0
  340. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png +0 -0
  341. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
  342. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  343. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md +0 -0
  344. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py +0 -0
  345. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +0 -0
  346. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/__init__.py +0 -0
  347. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/context/__init__.py +0 -0
  348. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/context/context.py +0 -0
  349. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/print/__init__.py +0 -0
  350. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/print/print.py +0 -0
  351. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/urls/__init__.py +0 -0
  352. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/urls/urls.py +0 -0
  353. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/validators/__init__.py +0 -0
  354. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/validators/manifest_schema.py +0 -0
  355. {canvas-0.33.0 → canvas-0.33.1}/canvas_cli/utils/validators/validators.py +0 -0
  356. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/effects_pb2.py +0 -0
  357. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/effects_pb2.pyi +0 -0
  358. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/effects_pb2_grpc.py +0 -0
  359. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/events_pb2.py +0 -0
  360. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/events_pb2.pyi +0 -0
  361. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/events_pb2_grpc.py +0 -0
  362. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/plugins_pb2.py +0 -0
  363. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/plugins_pb2.pyi +0 -0
  364. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/messages/plugins_pb2_grpc.py +0 -0
  365. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/services/plugin_runner_pb2.py +0 -0
  366. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/services/plugin_runner_pb2.pyi +0 -0
  367. {canvas-0.33.0 → canvas-0.33.1}/canvas_generated/services/plugin_runner_pb2_grpc.py +0 -0
  368. {canvas-0.33.0 → canvas-0.33.1}/canvas_sdk/base.py +0 -0
  369. {canvas-0.33.0/canvas_sdk/commands/commands → canvas-0.33.1/plugin_runner}/__init__.py +0 -0
  370. {canvas-0.33.0 → canvas-0.33.1}/plugin_runner/authentication.py +0 -0
  371. {canvas-0.33.0 → canvas-0.33.1}/plugin_runner/exceptions.py +0 -0
  372. {canvas-0.33.0 → canvas-0.33.1}/plugin_runner/installation.py +0 -0
  373. {canvas-0.33.0 → canvas-0.33.1}/protobufs/canvas_generated/messages/effects.proto +0 -0
  374. {canvas-0.33.0 → canvas-0.33.1}/protobufs/canvas_generated/messages/events.proto +0 -0
  375. {canvas-0.33.0 → canvas-0.33.1}/protobufs/canvas_generated/messages/plugins.proto +0 -0
  376. {canvas-0.33.0 → canvas-0.33.1}/protobufs/canvas_generated/services/plugin_runner.proto +0 -0
  377. {canvas-0.33.0/canvas_sdk/commands/tests/protocol → canvas-0.33.1/pubsub}/__init__.py +0 -0
  378. {canvas-0.33.0 → canvas-0.33.1}/pubsub/pubsub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.33.0
3
+ Version: 0.33.1
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
@@ -12,6 +12,7 @@ Requires-Dist: django-stubs[compatible-mypy]<6,>=5.1.1
12
12
  Requires-Dist: django-timezone-utils<0.16,>=0.15.0
13
13
  Requires-Dist: django<6,>=5.1.1
14
14
  Requires-Dist: env-tools<3,>=2.4.0
15
+ Requires-Dist: frozendict>=2.4.6
15
16
  Requires-Dist: grpcio<2,>=1.60.1
16
17
  Requires-Dist: ipython<9,>=8.21.0
17
18
  Requires-Dist: jsonschema<5,>=4.21.1
@@ -7,3 +7,6 @@ if "mypy" not in sys.argv[0]:
7
7
  import django
8
8
 
9
9
  django.setup()
10
+
11
+
12
+ __exports__ = ()
@@ -35,7 +35,7 @@ from canvas_sdk.commands.commands.update_diagnosis import UpdateDiagnosisCommand
35
35
  from canvas_sdk.commands.commands.update_goal import UpdateGoalCommand
36
36
  from canvas_sdk.commands.commands.vitals import VitalsCommand
37
37
 
38
- __all__ = (
38
+ __all__ = __exports__ = (
39
39
  "AdjustPrescriptionCommand",
40
40
  "AllergyCommand",
41
41
  "AssessCommand",
@@ -183,3 +183,6 @@ class _BaseCommand(Model):
183
183
  button = self.constantized_key().lower().replace("_", " ")
184
184
  command = self.Meta.key.lower()
185
185
  return Recommendation(title=title, button=button, command=command, context=self.values)
186
+
187
+
188
+ __exports__ = ("_BaseCommand",)
@@ -0,0 +1 @@
1
+ __exports__ = ()
@@ -22,3 +22,6 @@ class AdjustPrescriptionCommand(RefillCommand):
22
22
  new_fdb_code: str | None = Field(
23
23
  default=None, json_schema_extra={"commands_api_name": "change_medication_to"}
24
24
  )
25
+
26
+
27
+ __exports__ = ("AdjustPrescriptionCommand",)
@@ -37,3 +37,10 @@ class AllergyCommand(BaseCommand):
37
37
  severity: Severity | None = None
38
38
  narrative: str | None = None
39
39
  approximate_date: date | None = None
40
+
41
+
42
+ __exports__ = (
43
+ "AllergenType",
44
+ "Allergen",
45
+ "AllergyCommand",
46
+ )
@@ -40,3 +40,5 @@ class AssessCommand(_BaseCommand):
40
40
 
41
41
  # idea2:
42
42
  # validator that checks that condition.patient is the same as note.patient
43
+
44
+ __exports__ = ("AssessCommand",)
@@ -12,3 +12,6 @@ class CloseGoalCommand(BaseCommand):
12
12
  goal_id: int | None = None
13
13
  achievement_status: GoalCommand.AchievementStatus | None = None
14
14
  progress: str | None = None
15
+
16
+
17
+ __exports__ = ("CloseGoalCommand",)
@@ -18,3 +18,6 @@ class DiagnoseCommand(_BaseCommand):
18
18
  background: str | None = None
19
19
  approximate_date_of_onset: date | None = None
20
20
  today_assessment: str | None = None
21
+
22
+
23
+ __exports__ = ("DiagnoseCommand",)
@@ -7,3 +7,6 @@ class PhysicalExamCommand(QuestionnaireCommand):
7
7
  class Meta:
8
8
  key = "exam"
9
9
  commit_required_fields = ("questionnaire_id",)
10
+
11
+
12
+ __exports__ = ("PhysicalExamCommand",)
@@ -11,3 +11,6 @@ class FamilyHistoryCommand(BaseCommand):
11
11
  family_history: str | None = None
12
12
  relative: str | None = None
13
13
  note: str | None = None
14
+
15
+
16
+ __exports__ = ("FamilyHistoryCommand",)
@@ -67,3 +67,6 @@ class FollowUpCommand(_BaseCommand):
67
67
  )
68
68
 
69
69
  return errors
70
+
71
+
72
+ __exports__ = ("FollowUpCommand",)
@@ -33,3 +33,6 @@ class GoalCommand(_BaseCommand):
33
33
  achievement_status: AchievementStatus | None = None
34
34
  priority: Priority | None = None
35
35
  progress: str | None = None
36
+
37
+
38
+ __exports__ = ("GoalCommand",)
@@ -9,3 +9,6 @@ class HistoryOfPresentIllnessCommand(_BaseCommand):
9
9
  commit_required_fields = ("narrative",)
10
10
 
11
11
  narrative: str | None = None
12
+
13
+
14
+ __exports__ = ("HistoryOfPresentIllnessCommand",)
@@ -37,3 +37,6 @@ class ImagingOrderCommand(BaseCommand):
37
37
  values["service_provider"] = self.service_provider.__dict__
38
38
 
39
39
  return values
40
+
41
+
42
+ __exports__ = ("ImagingOrderCommand",)
@@ -26,3 +26,6 @@ class InstructCommand(BaseCommand):
26
26
  errors.append(self._create_error_detail("value", message, self.coding))
27
27
 
28
28
  return errors
29
+
30
+
31
+ __exports__ = ("InstructCommand",)
@@ -94,3 +94,6 @@ class LabOrderCommand(BaseCommand):
94
94
  )
95
95
 
96
96
  return errors
97
+
98
+
99
+ __exports__ = ("LabOrderCommand",)
@@ -17,3 +17,6 @@ class MedicalHistoryCommand(BaseCommand):
17
17
  approximate_end_date: date | None = None
18
18
  show_on_condition_list: bool = True
19
19
  comments: str | None = Field(max_length=1000, default=None)
20
+
21
+
22
+ __exports__ = ("MedicalHistoryCommand",)
@@ -25,3 +25,5 @@ class MedicationStatementCommand(_BaseCommand):
25
25
 
26
26
  # idea2:
27
27
  # see if we can get ValueSets to play nicely with pydantic
28
+
29
+ __exports__ = ("MedicationStatementCommand",)
@@ -15,3 +15,6 @@ class PastSurgicalHistoryCommand(BaseCommand):
15
15
  past_surgical_history: str | None = None
16
16
  approximate_date: date | None = None
17
17
  comment: str | None = Field(max_length=1000, default=None)
18
+
19
+
20
+ __exports__ = ("PastSurgicalHistoryCommand",)
@@ -10,3 +10,6 @@ class PerformCommand(BaseCommand):
10
10
 
11
11
  cpt_code: str | None = None
12
12
  notes: str | None = None
13
+
14
+
15
+ __exports__ = ("PerformCommand",)
@@ -9,3 +9,6 @@ class PlanCommand(_BaseCommand):
9
9
  commit_required_fields = ("narrative",)
10
10
 
11
11
  narrative: str = ""
12
+
13
+
14
+ __exports__ = ("PlanCommand",)
@@ -53,3 +53,11 @@ class PrescribeCommand(_BaseCommand):
53
53
  )
54
54
 
55
55
  return values
56
+
57
+
58
+ __exports__ = (
59
+ "PrescribeCommand",
60
+ # Not defined here but used in a current plugin
61
+ "ClinicalQuantity",
62
+ "Decimal",
63
+ )
@@ -70,23 +70,10 @@ class QuestionnaireCommand(_BaseCommand):
70
70
  else [],
71
71
  }
72
72
  q_type = question.response_option_set.type if question.response_option_set else None
73
- q_obj: BaseQuestion
74
73
  if q_type in QUESTION_CLASSES:
75
74
  question_objs.append(QUESTION_CLASSES[q_type](**qdata))
76
75
  else:
77
76
  raise ValueError(f"Unsupported question type: {q_type}")
78
- if q_type == ResponseOption.TYPE_TEXT:
79
- q_obj = TextQuestion(**qdata)
80
- elif q_type == ResponseOption.TYPE_INTEGER:
81
- q_obj = IntegerQuestion(**qdata)
82
- elif q_type == ResponseOption.TYPE_RADIO:
83
- q_obj = RadioQuestion(**qdata)
84
- elif q_type == ResponseOption.TYPE_CHECKBOX:
85
- q_obj = CheckboxQuestion(**qdata)
86
- else:
87
- # This should never happen, but just in case
88
- raise ValueError(f"Unsupported question type: {q_type}")
89
- question_objs.append(q_obj)
90
77
  return question_objs
91
78
 
92
79
  @property
@@ -100,3 +87,6 @@ class QuestionnaireCommand(_BaseCommand):
100
87
  values["questions"] = {q.name: q.response for q in self.questions if q.response is not None}
101
88
 
102
89
  return values
90
+
91
+
92
+ __exports__ = ("QUESTION_CLASSES", "QuestionnaireCommand")
@@ -132,3 +132,13 @@ class CheckboxQuestion(BaseQuestion):
132
132
  self.response.append(
133
133
  {"text": option.name, "value": option.dbid, "comment": comment, "selected": selected}
134
134
  )
135
+
136
+
137
+ __exports__ = (
138
+ "ResponseOption",
139
+ "BaseQuestion",
140
+ "TextQuestion",
141
+ "IntegerQuestion",
142
+ "RadioQuestion",
143
+ "CheckboxQuestion",
144
+ )
@@ -47,3 +47,6 @@ class ReasonForVisitCommand(_BaseCommand):
47
47
  # the commands api does not include the 'structured' field in the fields response
48
48
  command_schema.pop("structured")
49
49
  return command_schema
50
+
51
+
52
+ __exports__ = ("ReasonForVisitCommand",)
@@ -48,3 +48,6 @@ class ReferCommand(BaseCommand):
48
48
  values["service_provider"] = self.service_provider.__dict__
49
49
 
50
50
  return values
51
+
52
+
53
+ __exports__ = ("ReferCommand",)
@@ -43,3 +43,6 @@ class RefillCommand(PrescribeCommand):
43
43
  )
44
44
 
45
45
  return errors
46
+
47
+
48
+ __exports__ = ("RefillCommand",)
@@ -16,3 +16,6 @@ class RemoveAllergyCommand(BaseCommand):
16
16
  json_schema_extra={"commands_api_name": "allergy"},
17
17
  )
18
18
  narrative: str | None = None
19
+
20
+
21
+ __exports__ = ("RemoveAllergyCommand",)
@@ -41,3 +41,6 @@ class ResolveConditionCommand(BaseCommand):
41
41
  )
42
42
 
43
43
  return errors
44
+
45
+
46
+ __exports__ = ("ResolveConditionCommand",)
@@ -7,3 +7,6 @@ class ReviewOfSystemsCommand(QuestionnaireCommand):
7
7
  class Meta:
8
8
  key = "ros"
9
9
  commit_required_fields = ("questionnaire_id",)
10
+
11
+
12
+ __exports__ = ("ReviewOfSystemsCommand",)
@@ -15,3 +15,6 @@ class StopMedicationCommand(_BaseCommand):
15
15
  default=None, json_schema_extra={"commands_api_name": "medication"}
16
16
  )
17
17
  rationale: str | None = None
18
+
19
+
20
+ __exports__ = ("StopMedicationCommand",)
@@ -7,3 +7,6 @@ class StructuredAssessmentCommand(QuestionnaireCommand):
7
7
  class Meta:
8
8
  key = "structuredAssessment"
9
9
  commit_required_fields = ("questionnaire_id",)
10
+
11
+
12
+ __exports__ = ("StructuredAssessmentCommand",)
@@ -39,3 +39,10 @@ class TaskCommand(BaseCommand):
39
39
  comment: str | None = None
40
40
  labels: list[str] | None = None
41
41
  linked_items_urns: list[str] | None = None
42
+
43
+
44
+ __exports__ = (
45
+ "AssigneeType",
46
+ "TaskAssigner",
47
+ "TaskCommand",
48
+ )
@@ -15,3 +15,6 @@ class UpdateDiagnosisCommand(BaseCommand):
15
15
  new_condition_code: str | None = None
16
16
  background: str | None = None
17
17
  narrative: str | None = None
18
+
19
+
20
+ __exports__ = ("UpdateDiagnosisCommand",)
@@ -36,3 +36,6 @@ class UpdateGoalCommand(_BaseCommand):
36
36
  achievement_status: AchievementStatus | None = None
37
37
  priority: Priority | None = None
38
38
  progress: str | None = None
39
+
40
+
41
+ __exports__ = ("UpdateGoalCommand",)
@@ -52,3 +52,6 @@ class VitalsCommand(BaseCommand):
52
52
  respiration_rate: conint(ge=6, le=60) | None = None # type: ignore[valid-type]
53
53
  oxygen_saturation: conint(ge=60, le=100) | None = None # type: ignore[valid-type]
54
54
  note: constr(max_length=150) | None = None # type: ignore[valid-type]
55
+
56
+
57
+ __exports__ = ("VitalsCommand",)
@@ -50,3 +50,11 @@ class ServiceProvider(Model):
50
50
  business_phone: str | None = Field(max_length=512, default=None)
51
51
  business_address: str | None = Field(max_length=512, default=None)
52
52
  notes: str | None = Field(max_length=512, default=None)
53
+
54
+
55
+ __exports__ = (
56
+ "CodeSystems",
57
+ "Coding",
58
+ "ClinicalQuantity",
59
+ "ServiceProvider",
60
+ )
@@ -2,4 +2,4 @@ from canvas_generated.messages.effects_pb2 import Effect, EffectType
2
2
 
3
3
  from .base import _BaseEffect
4
4
 
5
- __all__ = ("Effect", "EffectType", "_BaseEffect")
5
+ __all__ = __exports__ = ("Effect", "EffectType", "_BaseEffect")
@@ -1,4 +1,4 @@
1
1
  from canvas_sdk.effects.banner_alert.add_banner_alert import AddBannerAlert
2
2
  from canvas_sdk.effects.banner_alert.remove_banner_alert import RemoveBannerAlert
3
3
 
4
- __all__ = ("AddBannerAlert", "RemoveBannerAlert")
4
+ __all__ = __exports__ = ("AddBannerAlert", "RemoveBannerAlert")
@@ -59,3 +59,6 @@ class AddBannerAlert(_BaseEffect):
59
59
  "key": self.key,
60
60
  "data": self.values,
61
61
  }
62
+
63
+
64
+ __exports__ = ("AddBannerAlert",)
@@ -19,3 +19,6 @@ class RemoveBannerAlert(_BaseEffect):
19
19
  def effect_payload(self) -> dict[str, Any]:
20
20
  """The payload of the effect."""
21
21
  return {"patient": self.patient_id, "patient_filter": self.patient_filter, "key": self.key}
22
+
23
+
24
+ __exports__ = ("RemoveBannerAlert",)
@@ -26,3 +26,10 @@ class _BaseEffect(Model):
26
26
  def apply(self) -> Effect:
27
27
  self._validate_before_effect("apply")
28
28
  return Effect(type=self.Meta.effect_type, payload=json.dumps(self.effect_payload))
29
+
30
+
31
+ __exports__ = (
32
+ "_BaseEffect",
33
+ # Not defined here but used in a current plugin
34
+ "EffectType",
35
+ )
@@ -8,4 +8,8 @@ from canvas_sdk.effects.billing_line_item.update_billing_line_item import (
8
8
  UpdateBillingLineItem,
9
9
  )
10
10
 
11
- __all__ = ("AddBillingLineItem", "UpdateBillingLineItem", "RemoveBillingLineItem")
11
+ __all__ = __exports__ = (
12
+ "AddBillingLineItem",
13
+ "UpdateBillingLineItem",
14
+ "RemoveBillingLineItem",
15
+ )
@@ -36,3 +36,6 @@ class AddBillingLineItem(_BaseEffect):
36
36
  "note_id": self.note_id,
37
37
  "data": self.values,
38
38
  }
39
+
40
+
41
+ __exports__ = ("AddBillingLineItem",)
@@ -20,3 +20,6 @@ class RemoveBillingLineItem(_BaseEffect):
20
20
  return {
21
21
  "billing_line_item_id": self.billing_line_item_id,
22
22
  }
23
+
24
+
25
+ __exports__ = ("RemoveBillingLineItem",)
@@ -42,3 +42,6 @@ class UpdateBillingLineItem(_BaseEffect):
42
42
  "billing_line_item_id": self.billing_line_item_id,
43
43
  "data": self.values,
44
44
  }
45
+
46
+
47
+ __exports__ = ("UpdateBillingLineItem",)
@@ -34,3 +34,6 @@ class LaunchModalEffect(_BaseEffect):
34
34
  raise ValueError("'url' and 'content' are mutually exclusive")
35
35
 
36
36
  return self
37
+
38
+
39
+ __exports__ = ("LaunchModalEffect",)
@@ -38,3 +38,6 @@ class PatientChartSummaryConfiguration(_BaseEffect):
38
38
  def effect_payload(self) -> dict[str, Any]:
39
39
  """The payload of the effect."""
40
40
  return {"data": self.values}
41
+
42
+
43
+ __exports__ = ("PatientChartSummaryConfiguration",)
@@ -0,0 +1 @@
1
+ __exports__ = ()
@@ -20,3 +20,6 @@ class PatientPortalApplicationConfiguration(_BaseEffect):
20
20
  def effect_payload(self) -> dict[str, Any]:
21
21
  """The payload of the effect."""
22
22
  return {"data": self.values}
23
+
24
+
25
+ __exports__ = ("PatientPortalApplicationConfiguration",)
@@ -29,3 +29,6 @@ class FormResult(_BaseEffect):
29
29
  def effect_payload(self) -> dict[str, Any]:
30
30
  """The payload of the effect."""
31
31
  return {"data": self.values}
32
+
33
+
34
+ __exports__ = ("FormResult",)
@@ -34,3 +34,6 @@ class PatientPortalMenuConfiguration(_BaseEffect):
34
34
  def effect_payload(self) -> dict[str, Any]:
35
35
  """The payload of the effect."""
36
36
  return {"data": self.values}
37
+
38
+
39
+ __exports__ = ("PatientPortalMenuConfiguration",)
@@ -9,7 +9,8 @@ from canvas_sdk.effects.base import EffectType, _BaseEffect
9
9
 
10
10
  class PatientProfileConfiguration(_BaseEffect):
11
11
  """
12
- An Effect that will decide which sections appear, and if they start expanded, on the patient's profile in Canvas.
12
+ An Effect that will decide which sections appear, and if they start expanded,
13
+ on the patient's profile in Canvas.
13
14
  """
14
15
 
15
16
  class Meta:
@@ -42,3 +43,6 @@ class PatientProfileConfiguration(_BaseEffect):
42
43
  def effect_payload(self) -> dict[str, Any]:
43
44
  """The payload of the effect."""
44
45
  return {"data": self.values}
46
+
47
+
48
+ __exports__ = ("PatientProfileConfiguration",)
@@ -1,3 +1,3 @@
1
1
  from canvas_sdk.effects.protocol_card.protocol_card import ProtocolCard, Recommendation
2
2
 
3
- __all__ = ("ProtocolCard", "Recommendation")
3
+ __all__ = __exports__ = ("ProtocolCard", "Recommendation")
@@ -93,3 +93,9 @@ class ProtocolCard(_BaseEffect):
93
93
  title=title, button=button, href=href, command=command, context=context
94
94
  )
95
95
  self.recommendations.append(recommendation)
96
+
97
+
98
+ __exports__ = (
99
+ "Recommendation",
100
+ "ProtocolCard",
101
+ )
@@ -27,3 +27,6 @@ class CreateQuestionnaireResult(_BaseEffect):
27
27
  "code_system": self.code_system,
28
28
  "code": self.code,
29
29
  }
30
+
31
+
32
+ __exports__ = ("CreateQuestionnaireResult",)
@@ -41,3 +41,6 @@ class SendInviteEffect(_BaseEffect):
41
41
  )
42
42
 
43
43
  return errors
44
+
45
+
46
+ __exports__ = ("SendInviteEffect",)
@@ -27,3 +27,6 @@ class ShowButtonEffect(_BaseEffect):
27
27
  def effect_payload(self) -> dict[str, Any]:
28
28
  """The payload of the effect."""
29
29
  return {"data": self.values}
30
+
31
+
32
+ __exports__ = ("ShowButtonEffect",)
@@ -81,3 +81,12 @@ class HTMLResponse(Response):
81
81
  headers: Mapping[str, Any] | None = None,
82
82
  ):
83
83
  super().__init__(content.encode(), status_code, headers, content_type="text/html")
84
+
85
+
86
+ __exports__ = (
87
+ "JSON",
88
+ "Response",
89
+ "JSONResponse",
90
+ "PlainTextResponse",
91
+ "HTMLResponse",
92
+ )
@@ -4,8 +4,8 @@ from .surescripts_messages import (
4
4
  SendSurescriptsMedicationHistoryRequestEffect,
5
5
  )
6
6
 
7
- __all__ = [
7
+ __all__ = __exports__ = (
8
8
  "SendSurescriptsBenefitsRequestEffect",
9
9
  "SendSurescriptsEligibilityRequestEffect",
10
10
  "SendSurescriptsMedicationHistoryRequestEffect",
11
- ]
11
+ )
@@ -91,3 +91,10 @@ class SendSurescriptsBenefitsRequestEffect(_BaseEffect):
91
91
  def effect_payload(self) -> dict[str, Any]:
92
92
  """Benefits Request effect payload."""
93
93
  return self.values
94
+
95
+
96
+ __exports__ = (
97
+ "SendSurescriptsBenefitsRequestEffect",
98
+ "SendSurescriptsEligibilityRequestEffect",
99
+ "SendSurescriptsMedicationHistoryRequestEffect",
100
+ )
@@ -0,0 +1,8 @@
1
+ from .task import AddTask, AddTaskComment, TaskStatus, UpdateTask
2
+
3
+ __all__ = __exports__ = (
4
+ "AddTask",
5
+ "AddTaskComment",
6
+ "TaskStatus",
7
+ "UpdateTask",
8
+ )
@@ -100,3 +100,11 @@ class UpdateTask(_BaseEffect):
100
100
  else:
101
101
  value_dict[field] = getattr(self, field)
102
102
  return value_dict
103
+
104
+
105
+ __exports__ = (
106
+ "AddTask",
107
+ "AddTaskComment",
108
+ "TaskStatus",
109
+ "UpdateTask",
110
+ )
@@ -76,3 +76,6 @@ class UpdateUserEffect(_BaseEffect):
76
76
  )
77
77
 
78
78
  return errors
79
+
80
+
81
+ __exports__ = ("UpdateUserEffect",)
@@ -0,0 +1,3 @@
1
+ from .portal_widget import PortalWidget
2
+
3
+ __all__ = __exports__ = ("PortalWidget",)
@@ -74,3 +74,6 @@ class PortalWidget(_BaseEffect):
74
74
  )
75
75
 
76
76
  return errors
77
+
78
+
79
+ __exports__ = ("PortalWidget",)