canvas 0.13.2__tar.gz → 0.14.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 (282) hide show
  1. {canvas-0.13.2 → canvas-0.14.0}/PKG-INFO +1 -3
  2. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/effects_pb2.py +2 -2
  3. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/effects_pb2.pyi +2 -0
  4. canvas-0.14.0/canvas_sdk/effects/questionnaire_result.py +29 -0
  5. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/models/__init__.py +1 -0
  6. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/allergy_intolerance.py +4 -2
  7. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/billing.py +4 -2
  8. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/command.py +17 -4
  9. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/condition.py +8 -4
  10. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/detected_issue.py +8 -5
  11. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/device.py +6 -4
  12. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/imaging.py +15 -13
  13. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/lab.py +19 -13
  14. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/medication.py +8 -4
  15. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/note.py +8 -6
  16. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/observation.py +11 -9
  17. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/practicelocation.py +2 -2
  18. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/protocol_override.py +3 -5
  19. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/questionnaire.py +15 -13
  20. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/staff.py +4 -4
  21. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/task.py +12 -8
  22. canvas-0.14.0/plugin_runner/aws_headers.py +77 -0
  23. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/plugin_installer.py +25 -7
  24. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/plugin_runner.py +0 -1
  25. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/plugin_synchronizer.py +3 -1
  26. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/test_plugin_installer.py +10 -12
  27. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/test_plugin_runner.py +0 -14
  28. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/test_sandbox.py +13 -1
  29. {canvas-0.13.2 → canvas-0.14.0}/pyproject.toml +1 -3
  30. {canvas-0.13.2 → canvas-0.14.0}/settings.py +4 -0
  31. {canvas-0.13.2 → canvas-0.14.0}/README.md +0 -0
  32. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/__init__.py +0 -0
  33. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/__init__.py +0 -0
  34. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/auth/__init__.py +0 -0
  35. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/auth/tests.py +0 -0
  36. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/auth/utils.py +0 -0
  37. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/__init__.py +0 -0
  38. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/emit.py +0 -0
  39. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +0 -0
  40. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +0 -0
  41. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +0 -0
  42. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +0 -0
  43. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +0 -0
  44. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +0 -0
  45. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +0 -0
  46. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +0 -0
  47. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +0 -0
  48. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +0 -0
  49. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +0 -0
  50. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +0 -0
  51. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +0 -0
  52. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +0 -0
  53. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  54. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +0 -0
  55. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +0 -0
  56. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +0 -0
  57. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +0 -0
  58. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +0 -0
  59. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +0 -0
  60. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/CRON.ndjson +0 -0
  61. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +0 -0
  62. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +0 -0
  63. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +0 -0
  64. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +0 -0
  65. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +0 -0
  66. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +0 -0
  67. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +0 -0
  68. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +0 -0
  69. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +0 -0
  70. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +0 -0
  71. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +0 -0
  72. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +0 -0
  73. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +0 -0
  74. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +0 -0
  75. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +0 -0
  76. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +0 -0
  77. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  78. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +0 -0
  79. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +0 -0
  80. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +0 -0
  81. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +0 -0
  82. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +0 -0
  83. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  84. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +0 -0
  85. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +0 -0
  86. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +0 -0
  87. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +0 -0
  88. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  89. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +0 -0
  90. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +0 -0
  91. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +0 -0
  92. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +0 -0
  93. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +0 -0
  94. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +0 -0
  95. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +0 -0
  96. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/logs/__init__.py +0 -0
  97. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/logs/logs.py +0 -0
  98. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/plugin/__init__.py +0 -0
  99. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/plugin/plugin.py +0 -0
  100. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/plugin/tests.py +0 -0
  101. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/run_plugins/__init__.py +0 -0
  102. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/apps/run_plugins/run_plugins.py +0 -0
  103. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/conftest.py +0 -0
  104. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/main.py +0 -0
  105. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/application/cookiecutter.json +0 -0
  106. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  107. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md +0 -0
  108. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py +0 -0
  109. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +0 -0
  110. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png +0 -0
  111. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
  112. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  113. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md +0 -0
  114. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py +0 -0
  115. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +0 -0
  116. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/tests.py +0 -0
  117. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/__init__.py +0 -0
  118. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/context/__init__.py +0 -0
  119. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/context/context.py +0 -0
  120. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/context/tests.py +0 -0
  121. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/print/__init__.py +0 -0
  122. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/print/print.py +0 -0
  123. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/print/tests.py +0 -0
  124. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/urls/__init__.py +0 -0
  125. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/urls/tests.py +0 -0
  126. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/urls/urls.py +0 -0
  127. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/validators/__init__.py +0 -0
  128. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/validators/manifest_schema.py +0 -0
  129. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/validators/tests.py +0 -0
  130. {canvas-0.13.2 → canvas-0.14.0}/canvas_cli/utils/validators/validators.py +0 -0
  131. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/effects_pb2_grpc.py +0 -0
  132. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/events_pb2.py +0 -0
  133. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/events_pb2.pyi +0 -0
  134. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/events_pb2_grpc.py +0 -0
  135. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/plugins_pb2.py +0 -0
  136. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/plugins_pb2.pyi +0 -0
  137. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/messages/plugins_pb2_grpc.py +0 -0
  138. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/services/plugin_runner_pb2.py +0 -0
  139. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/services/plugin_runner_pb2.pyi +0 -0
  140. {canvas-0.13.2 → canvas-0.14.0}/canvas_generated/services/plugin_runner_pb2_grpc.py +0 -0
  141. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/__init__.py +0 -0
  142. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/base.py +0 -0
  143. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/__init__.py +0 -0
  144. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/base.py +0 -0
  145. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/allergy.py +0 -0
  146. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/assess.py +0 -0
  147. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/close_goal.py +0 -0
  148. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/diagnose.py +0 -0
  149. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/exam.py +0 -0
  150. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/family_history.py +0 -0
  151. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/goal.py +0 -0
  152. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/history_present_illness.py +0 -0
  153. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/instruct.py +0 -0
  154. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/lab_order.py +0 -0
  155. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/medical_history.py +0 -0
  156. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/medication_statement.py +0 -0
  157. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/past_surgical_history.py +0 -0
  158. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/perform.py +0 -0
  159. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/plan.py +0 -0
  160. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/prescribe.py +0 -0
  161. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/questionnaire.py +0 -0
  162. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/reason_for_visit.py +0 -0
  163. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/refill.py +0 -0
  164. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/remove_allergy.py +0 -0
  165. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/review_of_systems.py +0 -0
  166. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/stop_medication.py +0 -0
  167. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/structured_assessment.py +0 -0
  168. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/task.py +0 -0
  169. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/update_diagnosis.py +0 -0
  170. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/update_goal.py +0 -0
  171. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/commands/vitals.py +0 -0
  172. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/constants.py +0 -0
  173. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/protocol/__init__.py +0 -0
  174. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/protocol/tests.py +0 -0
  175. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/schema/__init__.py +0 -0
  176. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/schema/tests.py +0 -0
  177. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/test_utils.py +0 -0
  178. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/unit/__init__.py +0 -0
  179. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/commands/tests/unit/tests.py +0 -0
  180. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/__init__.py +0 -0
  181. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/banner_alert/__init__.py +0 -0
  182. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/banner_alert/add_banner_alert.py +0 -0
  183. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/banner_alert/remove_banner_alert.py +0 -0
  184. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/banner_alert/tests.py +0 -0
  185. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/base.py +0 -0
  186. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/launch_modal.py +0 -0
  187. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/patient_chart_summary_configuration.py +0 -0
  188. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/patient_portal/__init__.py +0 -0
  189. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/patient_portal/intake_form_results.py +0 -0
  190. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/patient_profile_configuration.py +0 -0
  191. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/protocol_card/__init__.py +0 -0
  192. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/protocol_card/protocol_card.py +0 -0
  193. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/protocol_card/tests.py +0 -0
  194. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/show_button.py +0 -0
  195. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/surescripts/surescripts_messages.py +0 -0
  196. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/effects/task/task.py +0 -0
  197. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/events/__init__.py +0 -0
  198. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/events/base.py +0 -0
  199. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/handlers/__init__.py +0 -0
  200. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/handlers/action_button.py +0 -0
  201. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/handlers/application.py +0 -0
  202. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/handlers/base.py +0 -0
  203. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/handlers/cron_task.py +0 -0
  204. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/protocols/__init__.py +0 -0
  205. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/protocols/base.py +0 -0
  206. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/protocols/clinical_quality_measure.py +0 -0
  207. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/protocols/timeframe.py +0 -0
  208. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/tests/__init__.py +0 -0
  209. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/utils/__init__.py +0 -0
  210. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/utils/db.py +0 -0
  211. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/utils/http.py +0 -0
  212. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/utils/stats.py +0 -0
  213. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/utils/tests.py +0 -0
  214. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/__init__.py +0 -0
  215. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/__init__.py +0 -0
  216. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/base.py +0 -0
  217. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/common.py +0 -0
  218. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/organization.py +0 -0
  219. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/patient.py +0 -0
  220. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/v1/data/user.py +0 -0
  221. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/__init__.py +0 -0
  222. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/custom.py +0 -0
  223. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/tests/test_value_sets.py +0 -0
  224. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/__init__.py +0 -0
  225. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/adverse_event.py +0 -0
  226. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/allergy.py +0 -0
  227. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/assessment.py +0 -0
  228. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/communication.py +0 -0
  229. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/condition.py +0 -0
  230. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/device.py +0 -0
  231. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/diagnostic_study.py +0 -0
  232. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/encounter.py +0 -0
  233. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/immunization.py +0 -0
  234. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/individual_characteristic.py +0 -0
  235. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/intervention.py +0 -0
  236. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/laboratory_test.py +0 -0
  237. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/medication.py +0 -0
  238. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/physical_exam.py +0 -0
  239. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/procedure.py +0 -0
  240. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/v2022/symptom.py +0 -0
  241. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/value_set/value_set.py +0 -0
  242. {canvas-0.13.2 → canvas-0.14.0}/canvas_sdk/views/__init__.py +0 -0
  243. {canvas-0.13.2 → canvas-0.14.0}/logger/__init__.py +0 -0
  244. {canvas-0.13.2 → canvas-0.14.0}/logger/logger.py +0 -0
  245. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/__init__.py +0 -0
  246. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/authentication.py +0 -0
  247. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/exceptions.py +0 -0
  248. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/sandbox.py +0 -0
  249. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/__init__.py +0 -0
  250. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/data/plugins/.gitkeep +0 -0
  251. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/example_plugin/CANVAS_MANIFEST.json +0 -0
  252. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/example_plugin/README.md +0 -0
  253. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/example_plugin/__init__.py +0 -0
  254. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/example_plugin/protocols/__init__.py +0 -0
  255. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/example_plugin/protocols/my_protocol.py +0 -0
  256. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/CANVAS_MANIFEST.json +0 -0
  257. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/README.md +0 -0
  258. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/other_module/__init__.py +0 -0
  259. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/other_module/base.py +0 -0
  260. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/protocols/__init__.py +0 -0
  261. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/protocols/my_protocol.py +0 -0
  262. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/CANVAS_MANIFEST.json +0 -0
  263. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/README.md +0 -0
  264. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/other_module/__init__.py +0 -0
  265. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/other_module/base.py +0 -0
  266. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/protocols/__init__.py +0 -0
  267. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/protocols/my_protocol.py +0 -0
  268. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/CANVAS_MANIFEST.json +0 -0
  269. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/README.md +0 -0
  270. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/other_module/__init__.py +0 -0
  271. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/other_module/base.py +0 -0
  272. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/protocols/__init__.py +0 -0
  273. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/protocols/my_protocol.py +0 -0
  274. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/CANVAS_MANIFEST.json +0 -0
  275. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/README.md +0 -0
  276. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/other_module/__init__.py +0 -0
  277. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/other_module/base.py +0 -0
  278. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/protocols/__init__.py +0 -0
  279. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/protocols/my_protocol.py +0 -0
  280. {canvas-0.13.2 → canvas-0.14.0}/plugin_runner/tests/test_application.py +0 -0
  281. {canvas-0.13.2 → canvas-0.14.0}/pubsub/__init__.py +0 -0
  282. {canvas-0.13.2 → canvas-0.14.0}/pubsub/pubsub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: canvas
3
- Version: 0.13.2
3
+ Version: 0.14.0
4
4
  Summary: SDK to customize event-driven actions in your Canvas instance
5
5
  License: MIT
6
6
  Author: Canvas Team
@@ -10,8 +10,6 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
- Requires-Dist: boto3 (>=1.35.88,<2.0.0)
14
- Requires-Dist: boto3-stubs[s3] (>=1.35.88,<2.0.0)
15
13
  Requires-Dist: cookiecutter
16
14
  Requires-Dist: cron-converter (>=1.2.1,<2.0.0)
17
15
  Requires-Dist: deprecation (>=2.1.0,<3.0.0)
@@ -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\"c\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*\x83(\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#\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$\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\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-\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\x17\n\x12SHOW_ACTION_BUTTON\x10\xe8\x07\x12(\n#PATIENT_PORTAL__INTAKE_FORM_RESULTS\x10\xd0\x0f\x12\x11\n\x0cLAUNCH_MODAL\x10\xb8\x17\x62\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'canvas_generated/messages/effects.proto\x12\x06\x63\x61nvas\"c\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*\xa5(\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#\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$\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\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 \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\x17\n\x12SHOW_ACTION_BUTTON\x10\xe8\x07\x12(\n#PATIENT_PORTAL__INTAKE_FORM_RESULTS\x10\xd0\x0f\x12\x11\n\x0cLAUNCH_MODAL\x10\xb8\x17\x62\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=153
25
- _globals['_EFFECTTYPE']._serialized_end=5276
25
+ _globals['_EFFECTTYPE']._serialized_end=5310
26
26
  _globals['_EFFECT']._serialized_start=51
27
27
  _globals['_EFFECT']._serialized_end=150
28
28
  # @@protoc_insertion_point(module_scope)
@@ -137,6 +137,7 @@ class EffectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
137
137
  DELETE_CLOSE_GOAL_COMMAND: _ClassVar[EffectType]
138
138
  COMMIT_CLOSE_GOAL_COMMAND: _ClassVar[EffectType]
139
139
  ENTER_IN_ERROR_CLOSE_GOAL_COMMAND: _ClassVar[EffectType]
140
+ CREATE_QUESTIONNAIRE_RESULT: _ClassVar[EffectType]
140
141
  ANNOTATE_PATIENT_CHART_CONDITION_RESULTS: _ClassVar[EffectType]
141
142
  ANNOTATE_CLAIM_CONDITION_RESULTS: _ClassVar[EffectType]
142
143
  SHOW_PATIENT_CHART_SUMMARY_SECTIONS: _ClassVar[EffectType]
@@ -293,6 +294,7 @@ EDIT_CLOSE_GOAL_COMMAND: EffectType
293
294
  DELETE_CLOSE_GOAL_COMMAND: EffectType
294
295
  COMMIT_CLOSE_GOAL_COMMAND: EffectType
295
296
  ENTER_IN_ERROR_CLOSE_GOAL_COMMAND: EffectType
297
+ CREATE_QUESTIONNAIRE_RESULT: EffectType
296
298
  ANNOTATE_PATIENT_CHART_CONDITION_RESULTS: EffectType
297
299
  ANNOTATE_CLAIM_CONDITION_RESULTS: EffectType
298
300
  SHOW_PATIENT_CHART_SUMMARY_SECTIONS: EffectType
@@ -0,0 +1,29 @@
1
+ from typing import Any
2
+
3
+ from canvas_sdk.effects.base import EffectType, _BaseEffect
4
+
5
+
6
+ class CreateQuestionnaireResult(_BaseEffect):
7
+ """CreateQuestionnaireResult effect."""
8
+
9
+ class Meta:
10
+ effect_type = EffectType.CREATE_QUESTIONNAIRE_RESULT
11
+
12
+ interview_id: str | None = None
13
+ score: float | None = None
14
+ abnormal: bool | None = None
15
+ narrative: str | None = None
16
+ code_system: str | None = None
17
+ code: str | None = None
18
+
19
+ @property
20
+ def values(self) -> dict[str, Any]:
21
+ """Make the payload."""
22
+ return {
23
+ "interview_id": self.interview_id,
24
+ "score": self.score,
25
+ "abnormal": self.abnormal or False,
26
+ "narrative": self.narrative or "",
27
+ "code_system": self.code_system,
28
+ "code": self.code,
29
+ }
@@ -5,3 +5,4 @@ from canvas_sdk.v1.data.condition import Condition
5
5
  from canvas_sdk.v1.data.note import Note
6
6
  from canvas_sdk.v1.data.patient import Patient
7
7
  from canvas_sdk.v1.data.user import CanvasUser
8
+ from canvas_sdk.v1.data.questionnaire import Interview
@@ -20,12 +20,13 @@ class AllergyIntolerance(models.Model):
20
20
  created = models.DateTimeField()
21
21
  modified = models.DateTimeField()
22
22
  deleted = models.BooleanField()
23
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
24
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
23
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
24
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
25
25
  patient = models.ForeignKey(
26
26
  Patient,
27
27
  on_delete=models.DO_NOTHING,
28
28
  related_name="allergy_intolerances",
29
+ null=True,
29
30
  )
30
31
  note_id = models.BigIntegerField()
31
32
  allergy_intolerance_type = models.CharField()
@@ -58,4 +59,5 @@ class AllergyIntoleranceCoding(models.Model):
58
59
  AllergyIntolerance,
59
60
  on_delete=models.DO_NOTHING,
60
61
  related_name="codings",
62
+ null=True,
61
63
  )
@@ -46,9 +46,11 @@ class BillingLineItem(models.Model):
46
46
  dbid = models.BigIntegerField(primary_key=True)
47
47
  created = models.DateTimeField()
48
48
  modified = models.DateTimeField()
49
- note = models.ForeignKey(Note, on_delete=models.DO_NOTHING, related_name="billing_line_items")
49
+ note = models.ForeignKey(
50
+ Note, on_delete=models.DO_NOTHING, related_name="billing_line_items", null=True
51
+ )
50
52
  patient = models.ForeignKey(
51
- Patient, on_delete=models.DO_NOTHING, related_name="billing_line_items"
53
+ Patient, on_delete=models.DO_NOTHING, related_name="billing_line_items", null=True
52
54
  )
53
55
  cpt = models.CharField()
54
56
  charge = models.DecimalField()
@@ -1,3 +1,4 @@
1
+ from django.apps import apps
1
2
  from django.db import models
2
3
 
3
4
  from canvas_sdk.v1.data.patient import Patient
@@ -16,12 +17,24 @@ class Command(models.Model):
16
17
  dbid = models.BigIntegerField(primary_key=True)
17
18
  created = models.DateTimeField()
18
19
  modified = models.DateTimeField()
19
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
20
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
21
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
20
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
21
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
22
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
22
23
  state = models.CharField()
23
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING)
24
+ patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, null=True)
24
25
  note_id = models.BigIntegerField()
25
26
  schema_key = models.TextField()
26
27
  data = models.JSONField()
27
28
  origination_source = models.CharField()
29
+ anchor_object_type = models.CharField()
30
+ anchor_object_dbid = models.BigIntegerField()
31
+
32
+ @property
33
+ def anchor_object(self) -> models.Model | None:
34
+ """
35
+ Use the anchor_object_type and anchor_object_dbid to get the anchor object for the command.
36
+ """
37
+ # TODO: Is the anchor object type enough here, or do we need a mapping? The home-app model
38
+ # names might not exactly match the plugins model names.
39
+ anchor_model = apps.get_model(app_label="canvas_sdk", model_name=self.anchor_object_type)
40
+ return anchor_model.objects.get(dbid=self.anchor_object_dbid)
@@ -35,9 +35,11 @@ class Condition(models.Model):
35
35
  id = models.UUIDField()
36
36
  dbid = models.BigIntegerField(primary_key=True)
37
37
  deleted = models.BooleanField()
38
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
39
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
40
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="conditions")
38
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
39
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
40
+ patient = models.ForeignKey(
41
+ Patient, on_delete=models.DO_NOTHING, related_name="conditions", null=True
42
+ )
41
43
  onset_date = models.DateField()
42
44
  resolution_date = models.DateField()
43
45
  clinical_status = models.CharField(choices=ClinicalStatus.choices)
@@ -57,4 +59,6 @@ class ConditionCoding(models.Model):
57
59
  code = models.CharField()
58
60
  display = models.CharField()
59
61
  user_selected = models.BooleanField()
60
- condition = models.ForeignKey(Condition, on_delete=models.DO_NOTHING, related_name="codings")
62
+ condition = models.ForeignKey(
63
+ Condition, on_delete=models.DO_NOTHING, related_name="codings", null=True
64
+ )
@@ -18,11 +18,11 @@ class DetectedIssue(models.Model):
18
18
  modified = models.DateTimeField()
19
19
  identified = models.DateTimeField()
20
20
  deleted = models.BooleanField()
21
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
22
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
23
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
21
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
22
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
23
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
24
24
  patient = models.ForeignKey(
25
- Patient, on_delete=models.DO_NOTHING, related_name="detected_issues"
25
+ Patient, on_delete=models.DO_NOTHING, related_name="detected_issues", null=True
26
26
  )
27
27
  code = models.CharField()
28
28
  status = models.CharField()
@@ -48,5 +48,8 @@ class DetectedIssueEvidence(models.Model):
48
48
  display = models.CharField()
49
49
  user_selected = models.BooleanField()
50
50
  detected_issue = models.ForeignKey(
51
- DetectedIssue, on_delete=models.DO_NOTHING, related_name="evidence"
51
+ DetectedIssue,
52
+ on_delete=models.DO_NOTHING,
53
+ related_name="evidence",
54
+ null=True,
52
55
  )
@@ -16,10 +16,12 @@ class Device(models.Model):
16
16
  dbid = models.BigIntegerField(primary_key=True)
17
17
  created = models.DateTimeField()
18
18
  modified = models.DateTimeField()
19
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
20
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
21
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
22
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="devices")
19
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
20
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
21
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
22
+ patient = models.ForeignKey(
23
+ Patient, on_delete=models.DO_NOTHING, related_name="devices", null=True
24
+ )
23
25
  note_id = models.BigIntegerField()
24
26
  deleted = models.BooleanField()
25
27
  labeled_contains_NRL = models.BooleanField()
@@ -22,23 +22,25 @@ class ImagingOrder(models.Model):
22
22
  dbid = models.BigIntegerField(primary_key=True)
23
23
  created = models.DateTimeField()
24
24
  modified = models.DateTimeField()
25
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
25
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
26
26
  deleted = models.BooleanField()
27
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
27
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
28
28
  entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
29
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="imaging_orders")
29
+ patient = models.ForeignKey(
30
+ Patient, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True
31
+ )
30
32
  # TODO - uncomment when Note model is complete
31
- # note = models.ForeigneKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_orders")
33
+ # note = models.ForeigneKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
32
34
  imaging = models.CharField()
33
35
  # TODO - uncomment when ServiceProvider model is complete
34
- # imaging_center = models.ForeignKey(ServiceProvider, related_name="imaging_orders", null=True, on_delete=models.DO_NOTHING)
36
+ # imaging_center = models.ForeignKey(ServiceProvider, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
35
37
  note_to_radiologist = models.CharField()
36
38
  internal_comment = models.CharField()
37
39
  status = models.CharField(choices=OrderStatus)
38
40
  date_time_ordered = models.DateTimeField()
39
41
  priority = models.CharField()
40
42
  # TODO - uncomment when Staff model is complete
41
- # ordering_provider = models.ForeignKey(Staff, on_delete=models.CASCADE, related_name="imaging_orders", null=True)
43
+ # ordering_provider = models.ForeignKey(Staff, on_delete=models.DO_NOTHING, related_name="imaging_orders", null=True)
42
44
  delegated = models.BooleanField(default=False)
43
45
 
44
46
 
@@ -54,19 +56,19 @@ class ImagingReview(models.Model):
54
56
  dbid = models.BigIntegerField(primary_key=True)
55
57
  created = models.DateTimeField()
56
58
  modified = models.DateTimeField()
57
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
59
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
58
60
  deleted = models.BooleanField()
59
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
60
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
61
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
62
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
61
63
  patient_communication_method = models.CharField(choices=ReviewPatientCommunicationMethod)
62
64
  # TODO - uncomment when Note model is complete
63
- # note = models.ForeignKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_reviews")
65
+ # note = models.ForeignKey(Note, on_delete=models.DO_NOTHING, related_name="imaging_reviews", null=True)
64
66
  internal_comment = models.CharField()
65
67
  message_to_patient = models.CharField()
66
68
  is_released_to_patient = models.BooleanField()
67
69
  status = models.CharField(choices=ReviewStatus)
68
70
  patient = models.ForeignKey(
69
- Patient, on_delete=models.DO_NOTHING, related_name="imaging_reviews"
71
+ Patient, on_delete=models.DO_NOTHING, related_name="imaging_reviews", null=True
70
72
  )
71
73
 
72
74
 
@@ -92,11 +94,11 @@ class ImagingReport(models.Model):
92
94
  requires_signature = models.BooleanField()
93
95
  assigned_date = models.DateTimeField()
94
96
  patient = models.ForeignKey(
95
- Patient, on_delete=models.DO_NOTHING, related_name="imaging_results"
97
+ Patient, on_delete=models.DO_NOTHING, related_name="imaging_results", null=True
96
98
  )
97
99
  order = models.ForeignKey(ImagingOrder, on_delete=models.DO_NOTHING, null=True)
98
100
  source = models.CharField(choices=ImagingReportSource)
99
101
  name = models.CharField()
100
102
  result_date = models.DateField()
101
103
  original_date = models.DateField()
102
- review = models.ForeignKey(ImagingReview, null=True, on_delete=models.DO_NOTHING)
104
+ review = models.ForeignKey(ImagingReview, on_delete=models.DO_NOTHING, null=True)
@@ -47,12 +47,12 @@ class LabReport(models.Model):
47
47
  version = models.IntegerField()
48
48
  requisition_number = models.CharField()
49
49
  review = models.ForeignKey(
50
- "LabReview", related_name="reports", on_delete=models.DO_NOTHING, null=True
50
+ "LabReview", on_delete=models.DO_NOTHING, related_name="reports", null=True
51
51
  )
52
52
  original_date = models.DateTimeField()
53
53
  date_performed = models.DateTimeField()
54
54
  custom_document_name = models.CharField()
55
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
55
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
56
56
  committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
57
57
  entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
58
58
  deleted = models.BooleanField()
@@ -72,14 +72,16 @@ class LabReview(models.Model):
72
72
  dbid = models.BigIntegerField(primary_key=True)
73
73
  created = models.DateTimeField()
74
74
  modified = models.DateTimeField()
75
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
75
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
76
76
  deleted = models.BooleanField()
77
77
  committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
78
78
  entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
79
79
  internal_comment = models.TextField()
80
80
  message_to_patient = models.CharField()
81
81
  status = models.CharField()
82
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="lab_reviews")
82
+ patient = models.ForeignKey(
83
+ Patient, on_delete=models.DO_NOTHING, related_name="lab_reviews", null=True
84
+ )
83
85
  patient_communication_method = models.CharField()
84
86
 
85
87
 
@@ -113,7 +115,7 @@ class LabValue(models.Model):
113
115
  created = models.DateTimeField()
114
116
  modified = models.DateTimeField()
115
117
  report = models.ForeignKey(
116
- "LabReport", related_name="values", on_delete=models.DO_NOTHING, null=True
118
+ "LabReport", on_delete=models.DO_NOTHING, related_name="values", null=True
117
119
  )
118
120
  value = models.TextField()
119
121
  units = models.CharField()
@@ -178,14 +180,16 @@ class LabOrder(models.Model):
178
180
  dbid = models.BigIntegerField(primary_key=True)
179
181
  created = models.DateTimeField()
180
182
  modified = models.DateTimeField()
181
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
183
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
182
184
  deleted = models.BooleanField()
183
185
  committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
184
186
  entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
185
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="lab_orders")
187
+ patient = models.ForeignKey(
188
+ Patient, on_delete=models.DO_NOTHING, related_name="lab_orders", null=True
189
+ )
186
190
  ontology_lab_partner = models.CharField()
187
191
  # TODO - uncomment when the Note model is finished
188
- # note = models.ForeignKey("Note", on_delete=models.DO_NOTHING)
192
+ # note = models.ForeignKey("Note", on_delete=models.DO_NOTHING, null=True)
189
193
  comment = models.CharField()
190
194
  requisition_number = models.CharField()
191
195
  is_patient_bill = models.BooleanField(null=True)
@@ -224,11 +228,13 @@ class LabOrderReason(models.Model):
224
228
  dbid = models.BigIntegerField(primary_key=True)
225
229
  created = models.DateTimeField()
226
230
  modified = models.DateTimeField()
227
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
231
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
228
232
  deleted = models.BooleanField()
229
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
230
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
231
- order = models.ForeignKey(LabOrder, on_delete=models.DO_NOTHING, related_name="reasons")
233
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
234
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
235
+ order = models.ForeignKey(
236
+ LabOrder, on_delete=models.DO_NOTHING, related_name="reasons", null=True
237
+ )
232
238
  mode = models.CharField(max_length=30, choices=LabReasonMode)
233
239
 
234
240
 
@@ -281,7 +287,7 @@ class LabTest(models.Model):
281
287
  ontology_test_code = models.CharField(max_length=512, blank=True, default="")
282
288
  status = models.CharField(max_length=30, choices=LabTestOrderStatus)
283
289
  report = models.ForeignKey(
284
- LabReport, on_delete=models.DO_NOTHING, null=True, related_name="tests"
290
+ LabReport, on_delete=models.DO_NOTHING, related_name="tests", null=True
285
291
  )
286
292
  aoe_code = models.CharField(max_length=10, default="")
287
293
  procedure_class = models.CharField(max_length=10, default="")
@@ -31,10 +31,12 @@ class Medication(models.Model):
31
31
 
32
32
  id = models.UUIDField()
33
33
  dbid = models.BigIntegerField(primary_key=True)
34
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="medications")
34
+ patient = models.ForeignKey(
35
+ Patient, on_delete=models.DO_NOTHING, related_name="medications", null=True
36
+ )
35
37
  deleted = models.BooleanField()
36
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
37
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
38
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
39
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
38
40
  status = models.CharField(choices=Status.choices)
39
41
  start_date = models.DateTimeField()
40
42
  end_date = models.DateTimeField()
@@ -59,4 +61,6 @@ class MedicationCoding(models.Model):
59
61
  code = models.CharField()
60
62
  display = models.CharField()
61
63
  user_selected = models.BooleanField()
62
- medication = models.ForeignKey(Medication, on_delete=models.DO_NOTHING, related_name="codings")
64
+ medication = models.ForeignKey(
65
+ Medication, on_delete=models.DO_NOTHING, related_name="codings", null=True
66
+ )
@@ -140,21 +140,23 @@ class Note(models.Model):
140
140
  dbid = models.BigIntegerField(db_column="dbid", primary_key=True)
141
141
  created = models.DateTimeField()
142
142
  modified = models.DateTimeField()
143
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING)
144
- provider = models.ForeignKey("Staff", on_delete=models.DO_NOTHING, related_name="notes")
143
+ patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, null=True)
144
+ provider = models.ForeignKey(
145
+ "Staff", on_delete=models.DO_NOTHING, related_name="notes", null=True
146
+ )
145
147
  note_type = models.CharField(choices=NoteTypes.choices, null=True)
146
148
  note_type_version = models.ForeignKey(
147
- "NoteType", on_delete=models.DO_NOTHING, related_name="notes"
149
+ "NoteType", on_delete=models.DO_NOTHING, related_name="notes", null=True
148
150
  )
149
151
  title = models.TextField()
150
152
  body = models.JSONField()
151
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
153
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
152
154
  last_modified_by_staff = models.ForeignKey("Staff", on_delete=models.DO_NOTHING, null=True)
153
155
  checksum = models.CharField()
154
156
  billing_note = models.TextField()
155
157
  # TODO -implement InpatientStay model
156
- # inpatient_stay = models.ForeignKey("InpatientStay", on_delete=models.DO_NOTHING)
158
+ # inpatient_stay = models.ForeignKey("InpatientStay", on_delete=models.DO_NOTHING, null=True)
157
159
  related_data = models.JSONField()
158
- location = models.ForeignKey("PracticeLocation", on_delete=models.DO_NOTHING)
160
+ location = models.ForeignKey("PracticeLocation", on_delete=models.DO_NOTHING, null=True)
159
161
  datetime_of_service = models.DateTimeField()
160
162
  place_of_service = models.CharField()
@@ -25,13 +25,15 @@ class Observation(models.Model):
25
25
  dbid = models.BigIntegerField(primary_key=True)
26
26
  created = models.DateTimeField()
27
27
  modified = models.DateTimeField()
28
- originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
29
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
30
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
28
+ originator = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
29
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
30
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
31
31
  deleted = models.BooleanField()
32
- patient = models.ForeignKey(Patient, on_delete=models.DO_NOTHING, related_name="observations")
32
+ patient = models.ForeignKey(
33
+ Patient, on_delete=models.DO_NOTHING, related_name="observations", null=True
34
+ )
33
35
  is_member_of = models.ForeignKey(
34
- "self", on_delete=models.DO_NOTHING, null=True, related_name="members"
36
+ "self", on_delete=models.DO_NOTHING, related_name="members", null=True
35
37
  )
36
38
  category = models.CharField()
37
39
  units = models.TextField()
@@ -56,7 +58,7 @@ class ObservationCoding(models.Model):
56
58
  display = models.CharField()
57
59
  user_selected = models.BooleanField()
58
60
  observation = models.ForeignKey(
59
- Observation, on_delete=models.DO_NOTHING, related_name="codings"
61
+ Observation, on_delete=models.DO_NOTHING, related_name="codings", null=True
60
62
  )
61
63
 
62
64
 
@@ -72,7 +74,7 @@ class ObservationComponent(models.Model):
72
74
  created = models.DateTimeField()
73
75
  modified = models.DateTimeField()
74
76
  observation = models.ForeignKey(
75
- Observation, on_delete=models.DO_NOTHING, related_name="components"
77
+ Observation, on_delete=models.DO_NOTHING, related_name="components", null=True
76
78
  )
77
79
  value_quantity = models.TextField()
78
80
  value_quantity_unit = models.TextField()
@@ -94,7 +96,7 @@ class ObservationComponentCoding(models.Model):
94
96
  display = models.CharField()
95
97
  user_selected = models.BooleanField()
96
98
  observation_component = models.ForeignKey(
97
- ObservationComponent, on_delete=models.DO_NOTHING, related_name="codings"
99
+ ObservationComponent, on_delete=models.DO_NOTHING, related_name="codings", null=True
98
100
  )
99
101
 
100
102
 
@@ -113,5 +115,5 @@ class ObservationValueCoding(models.Model):
113
115
  display = models.CharField()
114
116
  user_selected = models.BooleanField()
115
117
  observation = models.ForeignKey(
116
- Observation, on_delete=models.DO_NOTHING, related_name="value_codings"
118
+ Observation, on_delete=models.DO_NOTHING, related_name="value_codings", null=True
117
119
  )
@@ -65,7 +65,7 @@ class PracticeLocation(models.Model):
65
65
  created = models.DateTimeField()
66
66
  modified = models.DateTimeField()
67
67
  organization = models.ForeignKey(
68
- "Organization", on_delete=models.DO_NOTHING, related_name="practice_locations"
68
+ "Organization", on_delete=models.DO_NOTHING, related_name="practice_locations", null=True
69
69
  )
70
70
  place_of_service_code = models.CharField(choices=PracticeLocationPOS.choices)
71
71
  full_name = models.CharField()
@@ -96,7 +96,7 @@ class PracticeLocationSetting(models.Model):
96
96
 
97
97
  dbid = models.BigIntegerField(primary_key=True)
98
98
  practice_location = models.ForeignKey(
99
- PracticeLocation, on_delete=models.DO_NOTHING, related_name="settings"
99
+ PracticeLocation, on_delete=models.DO_NOTHING, related_name="settings", null=True
100
100
  )
101
101
  name = models.CharField()
102
102
  value = models.JSONField()
@@ -35,12 +35,10 @@ class ProtocolOverride(models.Model):
35
35
  created = models.DateTimeField()
36
36
  modified = models.DateTimeField()
37
37
  deleted = models.BooleanField()
38
- committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
39
- entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING)
38
+ committer = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
39
+ entered_in_error = models.ForeignKey(CanvasUser, on_delete=models.DO_NOTHING, null=True)
40
40
  patient = models.ForeignKey(
41
- Patient,
42
- on_delete=models.DO_NOTHING,
43
- related_name="protocol_overrides",
41
+ Patient, on_delete=models.DO_NOTHING, related_name="protocol_overrides", null=True
44
42
  )
45
43
  protocol_key = models.CharField()
46
44
  is_adjustment = models.BooleanField()