canvas 0.1.12b0__py3-none-any.whl → 0.1.15__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of canvas might be problematic. Click here for more details.

Files changed (65) hide show
  1. {canvas-0.1.12b0.dist-info → canvas-0.1.15.dist-info}/METADATA +43 -2
  2. canvas-0.1.15.dist-info/RECORD +95 -0
  3. {canvas-0.1.12b0.dist-info → canvas-0.1.15.dist-info}/WHEEL +1 -1
  4. canvas_cli/apps/plugin/__init__.py +3 -1
  5. canvas_cli/apps/plugin/plugin.py +74 -0
  6. canvas_cli/main.py +5 -3
  7. canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +3 -0
  8. canvas_generated/data_access_layer/data_access_layer_pb2.py +30 -0
  9. canvas_generated/data_access_layer/data_access_layer_pb2.pyi +23 -0
  10. canvas_generated/data_access_layer/data_access_layer_pb2_grpc.py +66 -0
  11. canvas_generated/messages/effects_pb2.py +28 -0
  12. canvas_generated/messages/effects_pb2.pyi +147 -0
  13. canvas_generated/messages/events_pb2.py +31 -0
  14. {generated → canvas_generated}/messages/events_pb2.pyi +3 -1
  15. {generated → canvas_generated}/messages/plugins_pb2.py +7 -7
  16. canvas_generated/services/plugin_runner_pb2.py +28 -0
  17. {generated → canvas_generated}/services/plugin_runner_pb2.pyi +2 -2
  18. {generated → canvas_generated}/services/plugin_runner_pb2_grpc.py +14 -14
  19. canvas_sdk/base.py +45 -0
  20. canvas_sdk/commands/base.py +61 -41
  21. canvas_sdk/commands/commands/assess.py +6 -2
  22. canvas_sdk/commands/commands/diagnose.py +4 -14
  23. canvas_sdk/commands/commands/goal.py +3 -2
  24. canvas_sdk/commands/commands/history_present_illness.py +2 -1
  25. canvas_sdk/commands/commands/medication_statement.py +6 -2
  26. canvas_sdk/commands/commands/plan.py +2 -1
  27. canvas_sdk/commands/commands/prescribe.py +24 -11
  28. canvas_sdk/commands/commands/questionnaire.py +6 -2
  29. canvas_sdk/commands/commands/reason_for_visit.py +13 -6
  30. canvas_sdk/commands/commands/stop_medication.py +6 -2
  31. canvas_sdk/commands/commands/update_goal.py +4 -1
  32. canvas_sdk/commands/tests/test_utils.py +31 -64
  33. canvas_sdk/commands/tests/tests.py +116 -65
  34. canvas_sdk/data/__init__.py +1 -0
  35. canvas_sdk/data/base.py +22 -0
  36. canvas_sdk/data/data_access_layer_client.py +95 -0
  37. canvas_sdk/data/exceptions.py +16 -0
  38. canvas_sdk/data/patient.py +26 -0
  39. canvas_sdk/data/staff.py +6 -0
  40. canvas_sdk/data/task.py +60 -0
  41. canvas_sdk/effects/__init__.py +1 -1
  42. canvas_sdk/effects/banner_alert/__init__.py +2 -0
  43. canvas_sdk/effects/banner_alert/add_banner_alert.py +49 -0
  44. canvas_sdk/effects/banner_alert/remove_banner_alert.py +20 -0
  45. canvas_sdk/effects/base.py +4 -6
  46. canvas_sdk/events/__init__.py +1 -1
  47. canvas_sdk/handlers/__init__.py +1 -0
  48. canvas_sdk/handlers/base.py +16 -0
  49. canvas_sdk/handlers/cron_task.py +35 -0
  50. canvas_sdk/protocols/base.py +2 -11
  51. canvas_sdk/utils/stats.py +27 -0
  52. logger/__init__.py +2 -0
  53. logger/logger.py +48 -0
  54. canvas-0.1.12b0.dist-info/RECORD +0 -78
  55. canvas_sdk/effects/banner_alert/banner_alert.py +0 -37
  56. canvas_sdk/effects/banner_alert/constants.py +0 -19
  57. generated/messages/effects_pb2.py +0 -28
  58. generated/messages/effects_pb2.pyi +0 -25
  59. generated/messages/events_pb2.py +0 -31
  60. generated/services/plugin_runner_pb2.py +0 -28
  61. {canvas-0.1.12b0.dist-info → canvas-0.1.15.dist-info}/entry_points.txt +0 -0
  62. {generated → canvas_generated}/messages/effects_pb2_grpc.py +0 -0
  63. {generated → canvas_generated}/messages/events_pb2_grpc.py +0 -0
  64. {generated → canvas_generated}/messages/plugins_pb2.pyi +0 -0
  65. {generated → canvas_generated}/messages/plugins_pb2_grpc.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: canvas
3
- Version: 0.1.12b0
3
+ Version: 0.1.15
4
4
  Summary: SDK to customize event-driven actions in your Canvas instance
5
5
  License: MIT
6
6
  Author: Canvas Team
@@ -9,12 +9,13 @@ Requires-Python: >=3.11,<3.13
9
9
  Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
12
13
  Requires-Dist: cookiecutter
14
+ Requires-Dist: cron-converter (>=1.2.1,<2.0.0)
13
15
  Requires-Dist: grpcio (>=1.60.1,<2.0.0)
14
16
  Requires-Dist: ipython (>=8.21.0,<9.0.0)
15
17
  Requires-Dist: jsonschema (>=4.21.1,<5.0.0)
16
18
  Requires-Dist: keyring
17
- Requires-Dist: protobuf (>=4.25.3)
18
19
  Requires-Dist: pydantic (>=2.6.1,<3.0.0)
19
20
  Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
20
21
  Requires-Dist: redis (>=5.0.4,<6.0.0)
@@ -66,6 +67,8 @@ $ canvas [OPTIONS] COMMAND [ARGS]...
66
67
  - `init`: Create a new plugin
67
68
  - `install`: Install a plugin into a Canvas instance
68
69
  - `uninstall`: Uninstall a plugin from a Canvas instance
70
+ - `disable`: Disable a plugin from a Canvas instance
71
+ - `enable`: Enable a plugin from a Canvas instance
69
72
  - `list`: List all plugins from a Canvas instance
70
73
  - `validate-manifest`: Validate the Canvas Manifest json file
71
74
  - `logs`: Listen and print log streams from a Canvas instance
@@ -122,6 +125,44 @@ $ canvas uninstall [OPTIONS] NAME
122
125
  - `--host TEXT`: Canvas instance to connect to
123
126
  - `--help`: Show this message and exit.
124
127
 
128
+ ## `canvas enable`
129
+
130
+ Enable a plugin from a Canvas instance..
131
+
132
+ **Usage**:
133
+
134
+ ```console
135
+ $ canvas enable [OPTIONS] NAME
136
+ ```
137
+
138
+ **Arguments**:
139
+
140
+ - `NAME`: Plugin name to enable [required]
141
+
142
+ **Options**:
143
+
144
+ - `--host TEXT`: Canvas instance to connect to
145
+ - `--help`: Show this message and exit.
146
+
147
+ ## `canvas disable`
148
+
149
+ Disable a plugin from a Canvas instance..
150
+
151
+ **Usage**:
152
+
153
+ ```console
154
+ $ canvas disable [OPTIONS] NAME
155
+ ```
156
+
157
+ **Arguments**:
158
+
159
+ - `NAME`: Plugin name to disable [required]
160
+
161
+ **Options**:
162
+
163
+ - `--host TEXT`: Canvas instance to connect to
164
+ - `--help`: Show this message and exit.
165
+
125
166
  ## `canvas list`
126
167
 
127
168
  List all plugins from a Canvas instance.
@@ -0,0 +1,95 @@
1
+ canvas_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ canvas_cli/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ canvas_cli/apps/auth/__init__.py,sha256=gIwJ2qWvRlLqbiRkudrGqTKV-orlb8OTkG487qoRda4,105
4
+ canvas_cli/apps/auth/tests.py,sha256=WK7hSLTK95gEweMRaj3RdPC-qSwjnuulxMUg6D0bY_k,4528
5
+ canvas_cli/apps/auth/utils.py,sha256=IH5oZB3pdlb4_FRfCZKkNTncx_kdKagpiBqlhtM8h2U,5434
6
+ canvas_cli/apps/logs/__init__.py,sha256=ehY9SRb6nBw81xZF50yyBlUZJtNR2VeVSNI5sFuWJ7o,64
7
+ canvas_cli/apps/logs/logs.py,sha256=Ixue8Z1wgxABunVIx6TzmsH6oZ0FPf2H51Sd3nFUnAI,1969
8
+ canvas_cli/apps/plugin/__init__.py,sha256=G_nLsu6cdko5OjatnbqUyEboGcNlGGLwpZmCBxMKdfo,236
9
+ canvas_cli/apps/plugin/plugin.py,sha256=MBA1JAFN6wknm5l1A1Tmb3jXNQj3L_67mLkakp1gRxE,11380
10
+ canvas_cli/apps/plugin/tests.py,sha256=_8fHTGlQermt4AVs20nsTYcs2bDRNEqr9CGE29pD6YQ,1035
11
+ canvas_cli/conftest.py,sha256=pGvVS6VT0Zll_Lp3ezLh2jykOk-2HTBVH8RP5FwLUVw,930
12
+ canvas_cli/main.py,sha256=lUCh5M7u0KJ9CWOL_oPa0J4284ggxHxteURYv6dGU4g,3790
13
+ canvas_cli/templates/plugins/default/cookiecutter.json,sha256=dWEB3wJ8U4bko8jX26PgLLg_jgWlafLTNqsGnY1PUcg,124
14
+ canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json,sha256=9N0u5hN0GqjPvUh_B3YHtvyntEvxUGbInbQeprU0TS0,787
15
+ canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md,sha256=7QdF2JWlWwq6Us9LzkO9XWJU4IU7Q6RD_w8ImcS-hrI,347
16
+ canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py,sha256=liFrvx-5NRfeODOBbRNB1Cg0P04UvxpAkkLtAiEmckQ,2252
18
+ canvas_cli/tests.py,sha256=LgiHeVHF5lxlH_pNT962uk-5D-JqNhhuu1LhSz90nK8,285
19
+ canvas_cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ canvas_cli/utils/context/__init__.py,sha256=HhYvI-hydP0mV18nJiU7uo5gk0yN7EYNgouxieoGDOE,102
21
+ canvas_cli/utils/context/context.py,sha256=Q-MniBuvzDKhLODOOrOVdaRTLz9Lp0m7cAz-i6YRRpA,5138
22
+ canvas_cli/utils/context/tests.py,sha256=aNmAggwvjKV-1WrgIvp66M46EX2QCbbHmity3bSCBTg,4211
23
+ canvas_cli/utils/print/__init__.py,sha256=zkRiQCUhPIB3wNGeJ1Hwfd12zJyvbRRiWqequJORvdE,88
24
+ canvas_cli/utils/print/print.py,sha256=GejLUtC5hfWuKHUBapyEwVHNIaIILxW60_xBQchiGpI,1420
25
+ canvas_cli/utils/print/tests.py,sha256=4kqp_uMpUUjSXokD_Hxs2aMyx50_JzGABAQoNC4XTrM,2376
26
+ canvas_cli/utils/urls/__init__.py,sha256=08hlrQhQ1pKBjlIRaC0j53IkgK723jfK8-j3djvR0ko,81
27
+ canvas_cli/utils/urls/tests.py,sha256=opXDF2i3lXTdsKJ7ywIRzWDDzZ5KAO0JbGIR3hbJdoE,407
28
+ canvas_cli/utils/urls/urls.py,sha256=KwWTh5ERrEsZEvdBrZpZB71xtyWkDuglpXUbycWmBOo,798
29
+ canvas_cli/utils/validators/__init__.py,sha256=rBvSR2O1hWkNAnUBdcr-zUkmqT796_A61b9pnvEhwrM,113
30
+ canvas_cli/utils/validators/manifest_schema.py,sha256=SIMpr_vTV8dtkO9cjsRnZZtRm5tgGkPR6QewTG8CztI,3117
31
+ canvas_cli/utils/validators/tests.py,sha256=cZHLSx7oteOfLOoU1tXGvw88n6itcvUT2B3ZBg-bmEY,1206
32
+ canvas_cli/utils/validators/validators.py,sha256=RKDKxIvZ1IuCPVuhQ1KHdpwu7aewAqT9ZX-nA-LZDdg,1614
33
+ canvas_generated/data_access_layer/data_access_layer_pb2.py,sha256=zifzwTsVs1pwNoBGEAlX_qJllIruk1gIeUSONQdvbP4,1673
34
+ canvas_generated/data_access_layer/data_access_layer_pb2.pyi,sha256=mJNO3x6UYhPMurn2aGBuYJYS6tFigd3znPknndy4dpk,868
35
+ canvas_generated/data_access_layer/data_access_layer_pb2_grpc.py,sha256=nmmH2hPYLcaAVOK_SMgX1ruZmiQGSJ3aRRnxiUVMftc,2828
36
+ canvas_generated/messages/effects_pb2.py,sha256=NX__XT0xZk3G2zchK-BW5huCVtoZ4jBW-F2hcYNK98Q,4376
37
+ canvas_generated/messages/effects_pb2.pyi,sha256=6YkzAOo6xnbWqxvv4gHdz1K6cz52JVQCRejpLVaX2y0,6640
38
+ canvas_generated/messages/effects_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
39
+ canvas_generated/messages/events_pb2.py,sha256=gInxe1HotF5wl-gcp86DQNp26IJpX4zFHd-Dm1jjbEk,13126
40
+ canvas_generated/messages/events_pb2.pyi,sha256=7awcbzViTZZ2mX_zK2igJj2zpSW6hYeRwb0Muz0R0ok,22157
41
+ canvas_generated/messages/events_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
42
+ canvas_generated/messages/plugins_pb2.py,sha256=rHXTVHly9zKsA8qoT4cFRGkRKvYt7rPftz4KNT7pEe0,1271
43
+ canvas_generated/messages/plugins_pb2.pyi,sha256=G1seqytP8GlJJh-AL2CJ0VyUNlReEvK61C-Oh8QuGiE,501
44
+ canvas_generated/messages/plugins_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
45
+ canvas_generated/services/plugin_runner_pb2.py,sha256=amsds-ckCjpalFkkC-2mzVsj-gdj5BNY9tx-SRf8WHM,1557
46
+ canvas_generated/services/plugin_runner_pb2.pyi,sha256=1w-Pa4k7HtlmQAr7B6sgV64zdZplBKQKHN-S8bjwO3w,265
47
+ canvas_generated/services/plugin_runner_pb2_grpc.py,sha256=EzJJVkP_AZ3dwBA7OxUito0NSalRmjjg8q9TZ_P18ww,4549
48
+ canvas_sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ canvas_sdk/base.py,sha256=zrjlx5kRdJNwEAGLX2leNgOaNNQ8cG-DcMifHF_53bE,1622
50
+ canvas_sdk/commands/__init__.py,sha256=4JTiljkBJ2Da2mU3_VAJ5dcpxg0X3QAocYJBBMJRpGc,1116
51
+ canvas_sdk/commands/base.py,sha256=OnQ3wsWngWy7tUm2G41McNf6cMGooR2jENY2vapcbtw,4620
52
+ canvas_sdk/commands/commands/assess.py,sha256=zhAfctxDO--GCag_8C5puMUjPeQXGvBoIQB5afPn0kM,1726
53
+ canvas_sdk/commands/commands/diagnose.py,sha256=wtutzqwLSiIOJp2ujDnwQnuPzs6aXUjrQiFIwUHICU4,1018
54
+ canvas_sdk/commands/commands/goal.py,sha256=6plOw0MCEIbjCoMkQ_qGh0ms0AcYrgl871-FbXVgcy4,1608
55
+ canvas_sdk/commands/commands/history_present_illness.py,sha256=0eFOS563dsdTaFW77qADQPYBPpcEGKLw3siu4yDlAyk,431
56
+ canvas_sdk/commands/commands/medication_statement.py,sha256=DLu1QyyWUITNtTHELR34SX0CmDlJRL2AM9W3SRZVMJg,1023
57
+ canvas_sdk/commands/commands/plan.py,sha256=ZEOdkQyH0vK6kVM4LPMSKn_m5fDU3GSSzldpQtWYpUU,415
58
+ canvas_sdk/commands/commands/prescribe.py,sha256=n1dx9QUnv38i3urLcfrx8Q5mywK4cWkHnufn9rTey_U,2038
59
+ canvas_sdk/commands/commands/questionnaire.py,sha256=AY6XlK-9rHgBrzkJUmxA1M4sbxkl8hU9Pyt8OJa0SWE,647
60
+ canvas_sdk/commands/commands/reason_for_visit.py,sha256=20i2A8V4of_Q-Kqb37k-fUJ-JaHVGsrMtoIGZAYhPNw,1480
61
+ canvas_sdk/commands/commands/stop_medication.py,sha256=8FS-dIxZI7aOU6m1xMyP9KOkDnNS6R59q6KLtJuOS6M,718
62
+ canvas_sdk/commands/commands/update_goal.py,sha256=lL5XCGizQS7FbHZpWkDx16L7KTrHGQ3-NlcQiOVHW1M,1583
63
+ canvas_sdk/commands/constants.py,sha256=LVAuWvxDuDzsW74JUWIzy_lMLvte0_Grlldr-YCjgBw,176
64
+ canvas_sdk/commands/tests/test_utils.py,sha256=008nUdp5UCTyyFXI58KSgIofMt9njEbpXUh0RN1yr0A,5143
65
+ canvas_sdk/commands/tests/tests.py,sha256=lawX4BKlibIhc04mZJWNsWKSzyVr_fDSrAHIN89pmYo,15613
66
+ canvas_sdk/data/__init__.py,sha256=dmqlcw11-0DCbH2lOebwBCq6njSQ6BDhxygmncUgZRs,28
67
+ canvas_sdk/data/base.py,sha256=XbUctLoEdY8egrPzw_x2Ox41nurubh8sl4Kjbhu8rTE,795
68
+ canvas_sdk/data/data_access_layer_client.py,sha256=ujd6LnC7IzOvD6_IVpDQOQgaz_ZDtClwUN5j360e0P8,3400
69
+ canvas_sdk/data/exceptions.py,sha256=PRSD0N7AzqajebSK-vfJDaN8BGBEG5WTxejZaEMDZ6Y,305
70
+ canvas_sdk/data/patient.py,sha256=k0pmxkPUYYoHzWWtQf6h1__0cn1dy42NRcFsetMxs3M,742
71
+ canvas_sdk/data/staff.py,sha256=zmwKZlndqFdwsE3j14DD79MSzM9doIkeqqzToGDBjTs,168
72
+ canvas_sdk/data/task.py,sha256=VeOh45M6tQ0IPwPr03yK6EYa8xox3iJhoRBzqUdcq2k,1756
73
+ canvas_sdk/effects/__init__.py,sha256=oChQi5y_8mK2zDiNMwWYp6CaQX1_zbmwXILPF7iSt-4,69
74
+ canvas_sdk/effects/banner_alert/__init__.py,sha256=8z5l9rwonKEcRkvD5q4DWvHPYhKJzwyGuUYoUNKYwX4,158
75
+ canvas_sdk/effects/banner_alert/add_banner_alert.py,sha256=3rEtoW0O5BjQ1KEsVYCKkdfti0FksZjc8dOanOtpNa4,1270
76
+ canvas_sdk/effects/banner_alert/remove_banner_alert.py,sha256=j_EvpHHyU5RgFHOxkd6ieBOXS-vJTvxnzaq-Ixjc7ds,477
77
+ canvas_sdk/effects/base.py,sha256=9Jo8hCCRMhlqSQ7PIBYPRj3M1o4sGcwpmZLBRg4_nUA,712
78
+ canvas_sdk/events/__init__.py,sha256=JGZ-3uf0Luzr4kg5UqduupD4w6B2WVEgQ9WlcoMaPwE,81
79
+ canvas_sdk/handlers/__init__.py,sha256=VVz2_Xyb9720R2MZmSbGPG0T8u2a5u6zSDkWlwiJZv4,49
80
+ canvas_sdk/handlers/base.py,sha256=f-ZwAdj8t6fZlIPuGvqCmoRen14uMqVIJRUaDXlSXEM,371
81
+ canvas_sdk/handlers/cron_task.py,sha256=Q4_D3bDKE5hyEpCf0JnGSgZlnLh_g9RSP3oEfIuLJ9Y,945
82
+ canvas_sdk/protocols/__init__.py,sha256=GKtNMsJ5XaNOJUz9adE2_pONLeZqkZIrd9hXAU-jzvU,51
83
+ canvas_sdk/protocols/base.py,sha256=aQYAL0wVjkwUfb8cL7C6JgOcwpc4VQeipYJDFOFvWHg,143
84
+ canvas_sdk/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ canvas_sdk/utils/__init__.py,sha256=sFuhqcWvXb2-33FOuXZgWuUeC5jZL2MDoqjGoQZGwd8,60
86
+ canvas_sdk/utils/http.py,sha256=YOgUFp7FOFhbDwkGhCiD3JLZ342oNZR-qncMxv2qSjw,2159
87
+ canvas_sdk/utils/stats.py,sha256=7CNBwglLGFDTrEcSjLv3jAcaLzxy4geFNZpQf90osKI,660
88
+ canvas_sdk/utils/tests.py,sha256=t3MScbIfzXkQttMIvj0dRzJlFVS8LFU8WgWRrChM-H0,1931
89
+ canvas_sdk/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
+ logger/__init__.py,sha256=sf54RfJ48tCbXm5jTHAea3WWuSH5-AXRHxTNNKVuxgA,60
91
+ logger/logger.py,sha256=u103k5-yP62ifK1Hcp-PDTRrw_vOfLGeC-5raxNmBC0,1428
92
+ canvas-0.1.15.dist-info/METADATA,sha256=1sbQDXfVO4ofQAcawRy1drfTEbYzVzUdBzDMz1ZupsU,4253
93
+ canvas-0.1.15.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
94
+ canvas-0.1.15.dist-info/entry_points.txt,sha256=VSmSo1IZ3aEfL7enmLmlWSraS_IIkoXNVeyXzgRxFiY,46
95
+ canvas-0.1.15.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.7.0
2
+ Generator: poetry-core 1.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,4 +1,6 @@
1
1
  from canvas_cli.apps.plugin.plugin import (
2
+ disable,
3
+ enable,
2
4
  init,
3
5
  install,
4
6
  list,
@@ -6,4 +8,4 @@ from canvas_cli.apps.plugin.plugin import (
6
8
  validate_manifest,
7
9
  )
8
10
 
9
- __all__ = ("uninstall", "init", "validate_manifest", "install", "list")
11
+ __all__ = ("uninstall", "enable", "disable", "init", "validate_manifest", "install", "list")
@@ -174,6 +174,80 @@ def uninstall(
174
174
  raise typer.Exit(1)
175
175
 
176
176
 
177
+ def enable(
178
+ name: str = typer.Argument(..., help="Plugin name to enable"),
179
+ host: Optional[str] = typer.Option(
180
+ callback=get_default_host,
181
+ help="Canvas instance to connect to",
182
+ default=None,
183
+ ),
184
+ ) -> None:
185
+ """Enable a plugin from a Canvas instance."""
186
+ if not host:
187
+ raise typer.BadParameter("Please specify a host or or add one to the configuration file")
188
+
189
+ url = plugin_url(host, name)
190
+
191
+ print(f"Enabling {name} using {url}")
192
+
193
+ token = get_or_request_api_token(host)
194
+
195
+ try:
196
+ r = requests.patch(
197
+ url,
198
+ data={"is_enabled": True},
199
+ headers={
200
+ "Authorization": f"Bearer {token}",
201
+ },
202
+ )
203
+ except requests.exceptions.RequestException:
204
+ print(f"Failed to connect to {host}")
205
+ raise typer.Exit(1)
206
+
207
+ if r.ok:
208
+ print(f"Plugin {name} successfully enabled!")
209
+ else:
210
+ print(f"Status code {r.status_code}: {r.text}")
211
+ raise typer.Exit(1)
212
+
213
+
214
+ def disable(
215
+ name: str = typer.Argument(..., help="Plugin name to disable"),
216
+ host: Optional[str] = typer.Option(
217
+ callback=get_default_host,
218
+ help="Canvas instance to connect to",
219
+ default=None,
220
+ ),
221
+ ) -> None:
222
+ """Disable a plugin from a Canvas instance."""
223
+ if not host:
224
+ raise typer.BadParameter("Please specify a host or or add one to the configuration file")
225
+
226
+ url = plugin_url(host, name)
227
+
228
+ print(f"Disabling {name} using {url}")
229
+
230
+ token = get_or_request_api_token(host)
231
+
232
+ try:
233
+ r = requests.patch(
234
+ url,
235
+ data={"is_enabled": False},
236
+ headers={
237
+ "Authorization": f"Bearer {token}",
238
+ },
239
+ )
240
+ except requests.exceptions.RequestException:
241
+ print(f"Failed to connect to {host}")
242
+ raise typer.Exit(1)
243
+
244
+ if r.ok:
245
+ print(f"Plugin {name} successfully disabled!")
246
+ else:
247
+ print(f"Status code {r.status_code}: {r.text}")
248
+ raise typer.Exit(1)
249
+
250
+
177
251
  def list(
178
252
  host: Optional[str] = typer.Option(
179
253
  callback=get_default_host,
canvas_cli/main.py CHANGED
@@ -10,9 +10,9 @@ import typer
10
10
  from canvas_cli.apps import plugin
11
11
  from canvas_cli.apps.logs import logs as logs_command
12
12
  from canvas_cli.utils.context import context
13
- from generated.messages.events_pb2 import Event as PluginRunnerEvent
14
- from generated.messages.events_pb2 import EventType as PluginRunnerEventType
15
- from generated.services.plugin_runner_pb2_grpc import PluginRunnerStub
13
+ from canvas_generated.messages.events_pb2 import Event as PluginRunnerEvent
14
+ from canvas_generated.messages.events_pb2 import EventType as PluginRunnerEventType
15
+ from canvas_generated.services.plugin_runner_pb2_grpc import PluginRunnerStub
16
16
 
17
17
  APP_NAME = "canvas_cli"
18
18
 
@@ -23,6 +23,8 @@ app = typer.Typer(no_args_is_help=True, rich_markup_mode=None, add_completion=Fa
23
23
  app.command(short_help="Create a new plugin")(plugin.init)
24
24
  app.command(short_help="Install a plugin into a Canvas instance")(plugin.install)
25
25
  app.command(short_help="Uninstall a plugin from a Canvas instance")(plugin.uninstall)
26
+ app.command(short_help="Enable a plugin from a Canvas instance")(plugin.enable)
27
+ app.command(short_help="Disable a plugin from a Canvas instance")(plugin.disable)
26
28
  app.command(short_help="List all plugins from a Canvas instance")(plugin.list)
27
29
  app.command(short_help="Validate the Canvas Manifest json file")(plugin.validate_manifest)
28
30
  app.command(short_help="Listen and print log streams from a Canvas instance")(logs_command)
@@ -1,3 +1,6 @@
1
+ import json
2
+
3
+ from canvas_sdk.effects import Effect, EffectType
1
4
  from canvas_sdk.events import EventType
2
5
  from canvas_sdk.protocols import BaseProtocol
3
6
  from logger import log
@@ -0,0 +1,30 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: canvas_generated/data_access_layer/data_access_layer.proto
4
+ # Protobuf Python Version: 4.25.0
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:canvas_generated/data_access_layer/data_access_layer.proto\"\x10\n\x02ID\x12\n\n\x02id\x18\x01 \x01(\t\"\x8b\x01\n\x07Patient\x12\n\n\x02id\x18\x01 \x01(\t\x12\x17\n\nfirst_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tlast_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nbirth_date\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_first_nameB\x0c\n\n_last_nameB\r\n\x0b_birth_date20\n\x0f\x44\x61taAccessLayer\x12\x1d\n\nGetPatient\x12\x03.ID\x1a\x08.Patient\"\x00\x62\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'canvas_generated.data_access_layer.data_access_layer_pb2', _globals)
22
+ if _descriptor._USE_C_DESCRIPTORS == False:
23
+ DESCRIPTOR._options = None
24
+ _globals['_ID']._serialized_start=62
25
+ _globals['_ID']._serialized_end=78
26
+ _globals['_PATIENT']._serialized_start=81
27
+ _globals['_PATIENT']._serialized_end=220
28
+ _globals['_DATAACCESSLAYER']._serialized_start=222
29
+ _globals['_DATAACCESSLAYER']._serialized_end=270
30
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,23 @@
1
+ from google.protobuf import descriptor as _descriptor
2
+ from google.protobuf import message as _message
3
+ from typing import ClassVar as _ClassVar, Optional as _Optional
4
+
5
+ DESCRIPTOR: _descriptor.FileDescriptor
6
+
7
+ class ID(_message.Message):
8
+ __slots__ = ("id",)
9
+ ID_FIELD_NUMBER: _ClassVar[int]
10
+ id: str
11
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
12
+
13
+ class Patient(_message.Message):
14
+ __slots__ = ("id", "first_name", "last_name", "birth_date")
15
+ ID_FIELD_NUMBER: _ClassVar[int]
16
+ FIRST_NAME_FIELD_NUMBER: _ClassVar[int]
17
+ LAST_NAME_FIELD_NUMBER: _ClassVar[int]
18
+ BIRTH_DATE_FIELD_NUMBER: _ClassVar[int]
19
+ id: str
20
+ first_name: str
21
+ last_name: str
22
+ birth_date: str
23
+ def __init__(self, id: _Optional[str] = ..., first_name: _Optional[str] = ..., last_name: _Optional[str] = ..., birth_date: _Optional[str] = ...) -> None: ...
@@ -0,0 +1,66 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
5
+ from canvas_generated.data_access_layer import data_access_layer_pb2 as canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2
6
+
7
+
8
+ class DataAccessLayerStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.GetPatient = channel.unary_unary(
18
+ '/DataAccessLayer/GetPatient',
19
+ request_serializer=canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2.ID.SerializeToString,
20
+ response_deserializer=canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2.Patient.FromString,
21
+ )
22
+
23
+
24
+ class DataAccessLayerServicer(object):
25
+ """Missing associated documentation comment in .proto file."""
26
+
27
+ def GetPatient(self, request, context):
28
+ """Missing associated documentation comment in .proto file."""
29
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
30
+ context.set_details('Method not implemented!')
31
+ raise NotImplementedError('Method not implemented!')
32
+
33
+
34
+ def add_DataAccessLayerServicer_to_server(servicer, server):
35
+ rpc_method_handlers = {
36
+ 'GetPatient': grpc.unary_unary_rpc_method_handler(
37
+ servicer.GetPatient,
38
+ request_deserializer=canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2.ID.FromString,
39
+ response_serializer=canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2.Patient.SerializeToString,
40
+ ),
41
+ }
42
+ generic_handler = grpc.method_handlers_generic_handler(
43
+ 'DataAccessLayer', rpc_method_handlers)
44
+ server.add_generic_rpc_handlers((generic_handler,))
45
+
46
+
47
+ # This class is part of an EXPERIMENTAL API.
48
+ class DataAccessLayer(object):
49
+ """Missing associated documentation comment in .proto file."""
50
+
51
+ @staticmethod
52
+ def GetPatient(request,
53
+ target,
54
+ options=(),
55
+ channel_credentials=None,
56
+ call_credentials=None,
57
+ insecure=False,
58
+ compression=None,
59
+ wait_for_ready=None,
60
+ timeout=None,
61
+ metadata=None):
62
+ return grpc.experimental.unary_unary(request, target, '/DataAccessLayer/GetPatient',
63
+ canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2.ID.SerializeToString,
64
+ canvas__generated_dot_data__access__layer_dot_data__access__layer__pb2.Patient.FromString,
65
+ options, channel_credentials,
66
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -0,0 +1,28 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: canvas_generated/messages/effects.proto
4
+ # Protobuf Python Version: 4.25.0
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'canvas_generated/messages/effects.proto\x12\x06\x63\x61nvas\"P\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*\xd1\x0f\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\x0f\n\x0b\x43REATE_TASK\x10\x64\x12\x0f\n\x0bUPDATE_TASK\x10\x65\x12\x17\n\x13\x43REATE_TASK_COMMENT\x10\x66\x62\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'canvas_generated.messages.effects_pb2', _globals)
22
+ if _descriptor._USE_C_DESCRIPTORS == False:
23
+ DESCRIPTOR._options = None
24
+ _globals['_EFFECTTYPE']._serialized_start=134
25
+ _globals['_EFFECTTYPE']._serialized_end=2135
26
+ _globals['_EFFECT']._serialized_start=51
27
+ _globals['_EFFECT']._serialized_end=131
28
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,147 @@
1
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class EffectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
9
+ __slots__ = ()
10
+ UNKNOWN_EFFECT: _ClassVar[EffectType]
11
+ LOG: _ClassVar[EffectType]
12
+ ADD_PLAN_COMMAND: _ClassVar[EffectType]
13
+ AUTOCOMPLETE_SEARCH_RESULTS: _ClassVar[EffectType]
14
+ ADD_BANNER_ALERT: _ClassVar[EffectType]
15
+ REMOVE_BANNER_ALERT: _ClassVar[EffectType]
16
+ ORIGINATE_ASSESS_COMMAND: _ClassVar[EffectType]
17
+ EDIT_ASSESS_COMMAND: _ClassVar[EffectType]
18
+ DELETE_ASSESS_COMMAND: _ClassVar[EffectType]
19
+ COMMIT_ASSESS_COMMAND: _ClassVar[EffectType]
20
+ ENTER_IN_ERROR_ASSESS_COMMAND: _ClassVar[EffectType]
21
+ ORIGINATE_DIAGNOSE_COMMAND: _ClassVar[EffectType]
22
+ EDIT_DIAGNOSE_COMMAND: _ClassVar[EffectType]
23
+ DELETE_DIAGNOSE_COMMAND: _ClassVar[EffectType]
24
+ COMMIT_DIAGNOSE_COMMAND: _ClassVar[EffectType]
25
+ ENTER_IN_ERROR_DIAGNOSE_COMMAND: _ClassVar[EffectType]
26
+ ORIGINATE_GOAL_COMMAND: _ClassVar[EffectType]
27
+ EDIT_GOAL_COMMAND: _ClassVar[EffectType]
28
+ DELETE_GOAL_COMMAND: _ClassVar[EffectType]
29
+ COMMIT_GOAL_COMMAND: _ClassVar[EffectType]
30
+ ENTER_IN_ERROR_GOAL_COMMAND: _ClassVar[EffectType]
31
+ ORIGINATE_HPI_COMMAND: _ClassVar[EffectType]
32
+ EDIT_HPI_COMMAND: _ClassVar[EffectType]
33
+ DELETE_HPI_COMMAND: _ClassVar[EffectType]
34
+ COMMIT_HPI_COMMAND: _ClassVar[EffectType]
35
+ ENTER_IN_ERROR_HPI_COMMAND: _ClassVar[EffectType]
36
+ ORIGINATE_MEDICATION_STATEMENT_COMMAND: _ClassVar[EffectType]
37
+ EDIT_MEDICATION_STATEMENT_COMMAND: _ClassVar[EffectType]
38
+ DELETE_MEDICATION_STATEMENT_COMMAND: _ClassVar[EffectType]
39
+ COMMIT_MEDICATION_STATEMENT_COMMAND: _ClassVar[EffectType]
40
+ ENTER_IN_ERROR_MEDICATION_STATEMENT_COMMAND: _ClassVar[EffectType]
41
+ ORIGINATE_PLAN_COMMAND: _ClassVar[EffectType]
42
+ EDIT_PLAN_COMMAND: _ClassVar[EffectType]
43
+ DELETE_PLAN_COMMAND: _ClassVar[EffectType]
44
+ COMMIT_PLAN_COMMAND: _ClassVar[EffectType]
45
+ ENTER_IN_ERROR_PLAN_COMMAND: _ClassVar[EffectType]
46
+ ORIGINATE_PRESCRIBE_COMMAND: _ClassVar[EffectType]
47
+ EDIT_PRESCRIBE_COMMAND: _ClassVar[EffectType]
48
+ DELETE_PRESCRIBE_COMMAND: _ClassVar[EffectType]
49
+ COMMIT_PRESCRIBE_COMMAND: _ClassVar[EffectType]
50
+ ENTER_IN_ERROR_PRESCRIBE_COMMAND: _ClassVar[EffectType]
51
+ ORIGINATE_QUESTIONNAIRE_COMMAND: _ClassVar[EffectType]
52
+ EDIT_QUESTIONNAIRE_COMMAND: _ClassVar[EffectType]
53
+ DELETE_QUESTIONNAIRE_COMMAND: _ClassVar[EffectType]
54
+ COMMIT_QUESTIONNAIRE_COMMAND: _ClassVar[EffectType]
55
+ ENTER_IN_ERROR_QUESTIONNAIRE_COMMAND: _ClassVar[EffectType]
56
+ ORIGINATE_REASON_FOR_VISIT_COMMAND: _ClassVar[EffectType]
57
+ EDIT_REASON_FOR_VISIT_COMMAND: _ClassVar[EffectType]
58
+ DELETE_REASON_FOR_VISIT_COMMAND: _ClassVar[EffectType]
59
+ COMMIT_REASON_FOR_VISIT_COMMAND: _ClassVar[EffectType]
60
+ ENTER_IN_ERROR_REASON_FOR_VISIT_COMMAND: _ClassVar[EffectType]
61
+ ORIGINATE_STOP_MEDICATION_COMMAND: _ClassVar[EffectType]
62
+ EDIT_STOP_MEDICATION_COMMAND: _ClassVar[EffectType]
63
+ DELETE_STOP_MEDICATION_COMMAND: _ClassVar[EffectType]
64
+ COMMIT_STOP_MEDICATION_COMMAND: _ClassVar[EffectType]
65
+ ENTER_IN_ERROR_STOP_MEDICATION_COMMAND: _ClassVar[EffectType]
66
+ ORIGINATE_UPDATE_GOAL_COMMAND: _ClassVar[EffectType]
67
+ EDIT_UPDATE_GOAL_COMMAND: _ClassVar[EffectType]
68
+ DELETE_UPDATE_GOAL_COMMAND: _ClassVar[EffectType]
69
+ COMMIT_UPDATE_GOAL_COMMAND: _ClassVar[EffectType]
70
+ ENTER_IN_ERROR_UPDATE_GOAL_COMMAND: _ClassVar[EffectType]
71
+ CREATE_TASK: _ClassVar[EffectType]
72
+ UPDATE_TASK: _ClassVar[EffectType]
73
+ CREATE_TASK_COMMENT: _ClassVar[EffectType]
74
+ UNKNOWN_EFFECT: EffectType
75
+ LOG: EffectType
76
+ ADD_PLAN_COMMAND: EffectType
77
+ AUTOCOMPLETE_SEARCH_RESULTS: EffectType
78
+ ADD_BANNER_ALERT: EffectType
79
+ REMOVE_BANNER_ALERT: EffectType
80
+ ORIGINATE_ASSESS_COMMAND: EffectType
81
+ EDIT_ASSESS_COMMAND: EffectType
82
+ DELETE_ASSESS_COMMAND: EffectType
83
+ COMMIT_ASSESS_COMMAND: EffectType
84
+ ENTER_IN_ERROR_ASSESS_COMMAND: EffectType
85
+ ORIGINATE_DIAGNOSE_COMMAND: EffectType
86
+ EDIT_DIAGNOSE_COMMAND: EffectType
87
+ DELETE_DIAGNOSE_COMMAND: EffectType
88
+ COMMIT_DIAGNOSE_COMMAND: EffectType
89
+ ENTER_IN_ERROR_DIAGNOSE_COMMAND: EffectType
90
+ ORIGINATE_GOAL_COMMAND: EffectType
91
+ EDIT_GOAL_COMMAND: EffectType
92
+ DELETE_GOAL_COMMAND: EffectType
93
+ COMMIT_GOAL_COMMAND: EffectType
94
+ ENTER_IN_ERROR_GOAL_COMMAND: EffectType
95
+ ORIGINATE_HPI_COMMAND: EffectType
96
+ EDIT_HPI_COMMAND: EffectType
97
+ DELETE_HPI_COMMAND: EffectType
98
+ COMMIT_HPI_COMMAND: EffectType
99
+ ENTER_IN_ERROR_HPI_COMMAND: EffectType
100
+ ORIGINATE_MEDICATION_STATEMENT_COMMAND: EffectType
101
+ EDIT_MEDICATION_STATEMENT_COMMAND: EffectType
102
+ DELETE_MEDICATION_STATEMENT_COMMAND: EffectType
103
+ COMMIT_MEDICATION_STATEMENT_COMMAND: EffectType
104
+ ENTER_IN_ERROR_MEDICATION_STATEMENT_COMMAND: EffectType
105
+ ORIGINATE_PLAN_COMMAND: EffectType
106
+ EDIT_PLAN_COMMAND: EffectType
107
+ DELETE_PLAN_COMMAND: EffectType
108
+ COMMIT_PLAN_COMMAND: EffectType
109
+ ENTER_IN_ERROR_PLAN_COMMAND: EffectType
110
+ ORIGINATE_PRESCRIBE_COMMAND: EffectType
111
+ EDIT_PRESCRIBE_COMMAND: EffectType
112
+ DELETE_PRESCRIBE_COMMAND: EffectType
113
+ COMMIT_PRESCRIBE_COMMAND: EffectType
114
+ ENTER_IN_ERROR_PRESCRIBE_COMMAND: EffectType
115
+ ORIGINATE_QUESTIONNAIRE_COMMAND: EffectType
116
+ EDIT_QUESTIONNAIRE_COMMAND: EffectType
117
+ DELETE_QUESTIONNAIRE_COMMAND: EffectType
118
+ COMMIT_QUESTIONNAIRE_COMMAND: EffectType
119
+ ENTER_IN_ERROR_QUESTIONNAIRE_COMMAND: EffectType
120
+ ORIGINATE_REASON_FOR_VISIT_COMMAND: EffectType
121
+ EDIT_REASON_FOR_VISIT_COMMAND: EffectType
122
+ DELETE_REASON_FOR_VISIT_COMMAND: EffectType
123
+ COMMIT_REASON_FOR_VISIT_COMMAND: EffectType
124
+ ENTER_IN_ERROR_REASON_FOR_VISIT_COMMAND: EffectType
125
+ ORIGINATE_STOP_MEDICATION_COMMAND: EffectType
126
+ EDIT_STOP_MEDICATION_COMMAND: EffectType
127
+ DELETE_STOP_MEDICATION_COMMAND: EffectType
128
+ COMMIT_STOP_MEDICATION_COMMAND: EffectType
129
+ ENTER_IN_ERROR_STOP_MEDICATION_COMMAND: EffectType
130
+ ORIGINATE_UPDATE_GOAL_COMMAND: EffectType
131
+ EDIT_UPDATE_GOAL_COMMAND: EffectType
132
+ DELETE_UPDATE_GOAL_COMMAND: EffectType
133
+ COMMIT_UPDATE_GOAL_COMMAND: EffectType
134
+ ENTER_IN_ERROR_UPDATE_GOAL_COMMAND: EffectType
135
+ CREATE_TASK: EffectType
136
+ UPDATE_TASK: EffectType
137
+ CREATE_TASK_COMMENT: EffectType
138
+
139
+ class Effect(_message.Message):
140
+ __slots__ = ("type", "payload", "plugin_name")
141
+ TYPE_FIELD_NUMBER: _ClassVar[int]
142
+ PAYLOAD_FIELD_NUMBER: _ClassVar[int]
143
+ PLUGIN_NAME_FIELD_NUMBER: _ClassVar[int]
144
+ type: EffectType
145
+ payload: str
146
+ plugin_name: str
147
+ def __init__(self, type: _Optional[_Union[EffectType, str]] = ..., payload: _Optional[str] = ..., plugin_name: _Optional[str] = ...) -> None: ...