canvas 0.2.11__py3-none-any.whl → 0.3.1__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 (119) hide show
  1. {canvas-0.2.11.dist-info → canvas-0.3.1.dist-info}/METADATA +3 -3
  2. canvas-0.3.1.dist-info/RECORD +216 -0
  3. canvas_cli/apps/emit/__init__.py +3 -0
  4. canvas_cli/apps/emit/emit.py +67 -0
  5. canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +1 -0
  6. canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +1 -0
  7. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +1 -0
  8. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +1 -0
  9. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +1 -0
  10. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +1 -0
  11. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +1 -0
  12. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +1 -0
  13. canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +2 -0
  14. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +1 -0
  15. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +3 -0
  16. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +4 -0
  17. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +5 -0
  18. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +3 -0
  19. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +4 -0
  20. canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +5 -0
  21. canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +3 -0
  22. canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +2 -0
  23. canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +2 -0
  24. canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +4 -0
  25. canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +5 -0
  26. canvas_cli/apps/emit/event_fixtures/CRON.ndjson +3 -0
  27. canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +3 -0
  28. canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +2 -0
  29. canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +1 -0
  30. canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +1 -0
  31. canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +1 -0
  32. canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +1 -0
  33. canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +1 -0
  34. canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +1 -0
  35. canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +1 -0
  36. canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +1 -0
  37. canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +1 -0
  38. canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +1 -0
  39. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +1 -0
  40. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +1 -0
  41. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +2 -0
  42. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +1 -0
  43. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +1 -0
  44. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +2 -0
  45. canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +2 -0
  46. canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +1 -0
  47. canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +1 -0
  48. canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +1 -0
  49. canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +1 -0
  50. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +1 -0
  51. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +1 -0
  52. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +2 -0
  53. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +1 -0
  54. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +1 -0
  55. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +2 -0
  56. canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +4 -0
  57. canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +1 -0
  58. canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +1 -0
  59. canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +1 -0
  60. canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +14 -0
  61. canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +364 -0
  62. canvas_cli/apps/plugin/plugin.py +56 -23
  63. canvas_cli/apps/run_plugins/__init__.py +3 -0
  64. canvas_cli/apps/run_plugins/run_plugins.py +16 -0
  65. canvas_cli/main.py +8 -38
  66. canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md +0 -1
  67. canvas_cli/utils/validators/validators.py +1 -1
  68. canvas_generated/messages/effects_pb2.py +5 -5
  69. canvas_generated/messages/effects_pb2.pyi +4 -2
  70. canvas_generated/messages/events_pb2.py +3 -3
  71. canvas_generated/messages/events_pb2.pyi +70 -0
  72. canvas_generated/messages/plugins_pb2.py +1 -1
  73. canvas_generated/services/plugin_runner_pb2.py +1 -1
  74. canvas_sdk/base.py +2 -2
  75. canvas_sdk/commands/__init__.py +3 -1
  76. canvas_sdk/commands/base.py +2 -2
  77. canvas_sdk/commands/commands/allergy.py +2 -0
  78. canvas_sdk/commands/commands/close_goal.py +3 -0
  79. canvas_sdk/commands/commands/prescribe.py +1 -3
  80. canvas_sdk/commands/commands/refill.py +1 -0
  81. canvas_sdk/commands/commands/task.py +1 -1
  82. canvas_sdk/commands/commands/vitals.py +15 -12
  83. canvas_sdk/commands/tests/schema/tests.py +1 -1
  84. canvas_sdk/commands/tests/test_utils.py +4 -2
  85. canvas_sdk/data/base.py +5 -1
  86. canvas_sdk/data/client.py +1 -1
  87. canvas_sdk/data/patient.py +2 -0
  88. canvas_sdk/data/staff.py +2 -0
  89. canvas_sdk/data/task.py +7 -0
  90. canvas_sdk/effects/protocol_card/protocol_card.py +2 -0
  91. canvas_sdk/effects/protocol_card/tests.py +5 -2
  92. canvas_sdk/protocols/__init__.py +1 -0
  93. canvas_sdk/protocols/clinical_quality_measure.py +1 -0
  94. canvas_sdk/utils/http.py +19 -18
  95. canvas_sdk/utils/stats.py +2 -1
  96. canvas_sdk/v1/data/allergy_intolerance.py +2 -3
  97. canvas_sdk/v1/data/base.py +55 -9
  98. canvas_sdk/v1/data/command.py +27 -0
  99. canvas_sdk/v1/data/device.py +44 -0
  100. canvas_sdk/v1/data/lab.py +8 -0
  101. canvas_sdk/v1/data/observation.py +117 -0
  102. canvas_sdk/v1/data/patient.py +3 -0
  103. canvas_sdk/v1/data/questionnaire.py +204 -0
  104. canvas_sdk/v1/data/user.py +2 -0
  105. canvas_sdk/value_set/v2022/condition.py +2 -2
  106. canvas_sdk/value_set/v2022/encounter.py +1 -1
  107. canvas_sdk/value_set/value_set.py +20 -5
  108. logger/__init__.py +1 -0
  109. logger/logger.py +17 -6
  110. plugin_runner/__init__.py +0 -0
  111. plugin_runner/authentication.py +48 -0
  112. plugin_runner/plugin_runner.py +338 -0
  113. plugin_runner/plugin_synchronizer.py +87 -0
  114. plugin_runner/sandbox.py +273 -0
  115. pubsub/__init__.py +0 -0
  116. pubsub/pubsub.py +38 -0
  117. canvas-0.2.11.dist-info/RECORD +0 -144
  118. {canvas-0.2.11.dist-info → canvas-0.3.1.dist-info}/WHEEL +0 -0
  119. {canvas-0.2.11.dist-info → canvas-0.3.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,364 @@
1
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
2
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
3
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
4
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
5
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
6
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
7
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
8
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
9
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
10
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
11
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
12
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
13
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
14
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
15
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
16
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
17
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
18
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
19
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
20
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
21
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
22
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
23
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
24
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
25
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
26
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
27
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
28
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
29
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
30
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
31
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
32
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
33
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
34
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
35
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
36
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
37
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
38
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
39
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
40
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
41
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
42
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
43
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
44
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
45
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
46
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
47
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
48
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
49
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
50
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
51
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
52
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
53
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
54
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
55
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
56
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
57
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
58
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
59
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
60
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
61
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
62
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
63
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
64
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
65
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
66
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
67
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
68
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
69
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
70
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
71
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
72
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
73
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
74
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
75
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
76
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
77
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
78
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
79
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
80
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
81
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
82
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
83
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
84
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
85
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
86
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
87
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
88
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
89
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
90
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
91
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
92
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
93
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
94
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
95
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
96
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
97
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
98
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
99
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
100
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
101
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
102
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
103
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
104
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
105
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
106
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
107
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
108
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
109
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
110
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
111
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
112
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
113
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
114
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
115
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
116
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
117
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
118
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
119
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
120
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
121
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
122
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
123
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
124
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
125
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
126
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
127
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
128
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
129
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
130
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
131
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
132
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
133
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
134
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
135
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
136
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
137
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
138
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
139
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
140
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
141
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
142
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
143
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
144
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
145
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
146
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
147
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
148
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
149
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
150
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
151
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
152
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
153
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
154
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
155
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
156
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
157
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
158
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
159
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
160
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
161
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
162
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
163
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
164
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
165
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
166
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
167
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
168
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
169
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
170
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
171
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
172
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
173
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
174
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
175
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
176
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
177
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
178
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
179
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
180
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
181
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
182
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
183
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
184
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
185
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
186
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
187
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
188
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
189
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
190
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
191
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
192
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
193
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
194
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
195
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
196
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
197
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
198
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
199
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
200
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
201
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
202
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
203
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
204
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
205
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
206
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
207
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
208
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
209
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
210
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
211
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
212
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
213
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
214
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
215
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
216
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
217
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
218
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
219
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
220
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
221
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
222
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
223
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
224
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
225
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
226
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
227
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
228
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
229
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
230
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
231
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
232
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
233
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
234
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
235
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
236
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
237
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
238
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
239
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
240
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
241
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
242
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
243
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
244
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
245
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
246
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
247
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
248
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
249
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
250
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
251
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
252
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
253
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
254
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
255
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
256
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
257
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
258
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
259
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
260
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
261
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
262
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
263
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
264
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
265
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
266
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
267
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
268
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
269
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
270
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
271
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
272
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
273
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
274
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
275
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
276
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
277
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
278
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
279
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
280
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
281
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
282
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
283
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
284
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
285
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
286
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
287
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
288
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
289
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
290
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
291
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
292
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
293
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
294
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
295
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
296
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
297
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
298
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
299
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
300
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
301
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
302
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
303
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
304
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
305
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
306
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
307
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
308
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
309
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
310
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
311
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
312
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
313
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
314
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
315
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
316
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
317
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
318
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
319
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
320
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
321
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
322
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
323
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
324
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
325
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
326
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
327
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
328
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
329
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
330
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
331
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
332
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
333
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
334
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
335
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
336
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
337
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
338
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
339
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
340
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
341
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
342
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
343
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
344
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
345
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
346
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
347
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
348
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
349
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
350
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
351
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "e3cc27d5-5c31-48ae-bf7e-9900d940eaf9", "context": ""}
352
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "c8c94d04-b2b1-45da-8698-a40d08a195b8", "context": ""}
353
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "912f9dfa-c425-41e5-a2b0-1d0542dd0985", "context": ""}
354
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1993fc07-84a9-4a2d-b515-b5c0bd7af1a8", "context": ""}
355
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "1a0de53d-8d2a-4dfb-ac2e-52460ed4b0bb", "context": ""}
356
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2bab9a19-ff18-421f-b92c-0e42e823c224", "context": ""}
357
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0b82bcde-5e75-495e-9e34-d4d37f392232", "context": ""}
358
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "0d6b8c85-19b6-441b-8428-753955b06594", "context": ""}
359
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9fe4ef32-c5e0-4e26-bc83-cfd766275228", "context": ""}
360
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "9465a04c-471f-48bc-8ec5-628b220b894e", "context": ""}
361
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "6c4c2368-8583-4201-ac88-68e1e9116086", "context": ""}
362
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "2509160d-e54a-4bdc-b53d-0f53e019252b", "context": ""}
363
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "b96d3e07-ad94-4516-8aa1-0c237b947e11", "context": ""}
364
+ {"EventType": "VITAL_SIGN_UPDATED", "target": "a7e53569-80c9-4dc0-a6d7-13341600f337", "context": ""}
@@ -1,7 +1,5 @@
1
- import importlib
1
+ import ast
2
2
  import json
3
- import os
4
- import sys
5
3
  import tarfile
6
4
  import tempfile
7
5
  from pathlib import Path
@@ -72,28 +70,66 @@ def _get_name_from_metadata(host: str, token: str, package: Path) -> Optional[st
72
70
  return metadata.get("name")
73
71
 
74
72
 
73
+ def _get_meta_class(text: str, classname: str) -> ast.ClassDef | None:
74
+ tree = ast.parse(text)
75
+ for node in ast.walk(tree):
76
+ if isinstance(node, ast.ClassDef) and node.name == classname:
77
+ class_def = node
78
+ for b in class_def.body:
79
+ if isinstance(b, ast.ClassDef) and b.name == "Meta":
80
+ return b
81
+ return None
82
+
83
+
84
+ def _get_meta_properties(protocol_path: Path, classname: str) -> dict[str, str]:
85
+ meta: dict[str, str] = {}
86
+
87
+ if not protocol_path.exists():
88
+ return meta
89
+
90
+ meta_class = _get_meta_class(protocol_path.read_text(), classname)
91
+ if not meta_class:
92
+ return meta
93
+
94
+ for meta_b in meta_class.body:
95
+ if not isinstance(meta_b, ast.Assign):
96
+ continue
97
+ target_id = next((t.id for t in meta_b.targets if isinstance(t, ast.Name)), None)
98
+ if not target_id:
99
+ continue
100
+ if isinstance(meta_b.value, ast.Constant):
101
+ value = meta_b.value.value
102
+ elif isinstance(meta_b.value, ast.List):
103
+ value = [e.value for e in meta_b.value.elts]
104
+ elif isinstance(meta_b.value, ast.Dict):
105
+ keys = meta_b.value.keys
106
+ values = meta_b.value.values
107
+ value = {k.value: values[i].value for i, k in enumerate(keys)}
108
+ else:
109
+ value = None
110
+ meta[target_id] = value
111
+
112
+ return meta
113
+
114
+
75
115
  def _get_protocols_with_new_cqm_properties(
76
- protocol_classes: List[dict[str, Any]]
116
+ protocol_classes: List[dict[str, Any]], plugin: Path
77
117
  ) -> List[dict[str, Any]] | None:
78
118
  """Extract the meta properties of any ClinicalQualityMeasure Protocols included in the plugin if they have changed."""
79
-
80
- def get_new_meta_properties(protocol_class: dict[str, str]) -> dict[str, str]:
81
- mod, classname = protocol_class["class"].split(":")
82
- module = importlib.import_module(mod)
83
- _class = getattr(module, classname)
84
- if not hasattr(_class, "_meta") or _class._meta() == protocol_class.get("meta"):
85
- return {}
86
- return {"meta": _class._meta()}
87
-
88
119
  has_updates = False
89
- new_protocols = []
120
+ protocol_props = []
90
121
  for p in protocol_classes:
91
- m = get_new_meta_properties(p)
92
- new_protocols.append(p | m)
93
- if m:
122
+ mod, classname = p["class"].split(":")
123
+ mod = mod.replace(f"{plugin.name}.", "").replace(".", "/") + ".py"
124
+ p_path: Path = plugin / mod
125
+ meta = _get_meta_properties(p_path, classname)
126
+ if meta and meta != p.get("meta"):
94
127
  has_updates = True
128
+ protocol_props.append(p | {"meta": meta})
129
+ else:
130
+ protocol_props.append(p)
95
131
 
96
- return new_protocols if has_updates else None
132
+ return protocol_props if has_updates else None
97
133
 
98
134
 
99
135
  def get_base_plugin_template_path() -> Path:
@@ -331,11 +367,8 @@ def validate_manifest(
331
367
 
332
368
  try:
333
369
  manifest_json = json.loads(manifest.read_text())
334
-
335
- sys.path.append(str(plugin_name.parent.absolute()))
336
- if new_protocols := _get_protocols_with_new_cqm_properties(
337
- manifest_json.get("components", {}).get("protocols", [])
338
- ):
370
+ protocols = manifest_json.get("components", {}).get("protocols", [])
371
+ if new_protocols := _get_protocols_with_new_cqm_properties(protocols, plugin_name):
339
372
  print(
340
373
  f"Updating the CANVAS_MANIFEST.json file for {plugin_name} with CQM meta properties"
341
374
  )
@@ -0,0 +1,3 @@
1
+ from canvas_cli.apps.run_plugins.run_plugins import run_plugin, run_plugins
2
+
3
+ __all__ = ("run_plugins", "run_plugin")
@@ -0,0 +1,16 @@
1
+ from plugin_runner.plugin_runner import run_server
2
+
3
+
4
+ def run_plugin(plugin_directory: str) -> None:
5
+ """
6
+ Run the specified plugin for local development.
7
+ """
8
+ return run_plugins([plugin_directory])
9
+
10
+
11
+ def run_plugins(plugin_directories: list[str]) -> None:
12
+ """
13
+ Run the specified plugins for local development.
14
+ """
15
+ run_server(plugin_directories)
16
+ return
canvas_cli/main.py CHANGED
@@ -1,18 +1,14 @@
1
1
  import importlib.metadata
2
- import json
3
- import random
4
2
  from pathlib import Path
5
- from typing import Annotated, Optional
3
+ from typing import Optional
6
4
 
7
- import grpc
8
5
  import typer
9
6
 
10
7
  from canvas_cli.apps import plugin
8
+ from canvas_cli.apps.emit import emit
11
9
  from canvas_cli.apps.logs import logs as logs_command
10
+ from canvas_cli.apps.run_plugins import run_plugin, run_plugins
12
11
  from canvas_cli.utils.context import context
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
12
 
17
13
  APP_NAME = "canvas_cli"
18
14
 
@@ -28,6 +24,11 @@ app.command(short_help="Disable a plugin from a Canvas instance")(plugin.disable
28
24
  app.command(short_help="List all plugins from a Canvas instance")(plugin.list)
29
25
  app.command(short_help="Validate the Canvas Manifest json file")(plugin.validate_manifest)
30
26
  app.command(short_help="Listen and print log streams from a Canvas instance")(logs_command)
27
+ app.command(
28
+ short_help="Send an event fixture to your locally running plugin-runner process, and print any resultant effects."
29
+ )(emit)
30
+ app.command(short_help="Run the specified plugins for local development.")(run_plugins)
31
+ app.command(short_help="Run the specified plugin for local development.")(run_plugin)
31
32
 
32
33
  # Our current version
33
34
  __version__ = importlib.metadata.version("canvas")
@@ -59,37 +60,6 @@ def get_or_create_config_file() -> Path:
59
60
  return config_path
60
61
 
61
62
 
62
- @app.command()
63
- def emit(
64
- event_fixture: str,
65
- plugin_runner_port: Annotated[
66
- str, typer.Option(help="Port of your locally running plugin runner")
67
- ] = "50051",
68
- ) -> None:
69
- """
70
- Grab an event from a fixture file and send it your locally running plugin-runner process.
71
- Any resultant effects will be printed.
72
-
73
- Valid fixture files are newline-delimited JSON, with each containing the keys `EventType`, `target`, and `context`. Some fixture files are included in the canvas-plugins repo.
74
- """
75
- # Grab a random event from the fixture file ndjson
76
- lines = Path(event_fixture).read_text().splitlines()
77
- myline = random.choice(lines)
78
- event_data = json.loads(myline)
79
- event = PluginRunnerEvent(
80
- type=PluginRunnerEventType.Value(event_data["EventType"]),
81
- target=event_data["target"],
82
- context=event_data["context"],
83
- )
84
- with grpc.insecure_channel(f"localhost:{plugin_runner_port}") as channel:
85
- stub = PluginRunnerStub(channel)
86
- responses = stub.HandleEvent(event)
87
-
88
- for response in responses:
89
- for effect in response.effects:
90
- print(effect)
91
-
92
-
93
63
  @app.callback()
94
64
  def main(
95
65
  version: Optional[bool] = typer.Option(
@@ -1,4 +1,3 @@
1
- {% for _ in cookiecutter.__project_slug %}={% endfor %}
2
1
  {{ cookiecutter.__project_slug }}
3
2
  {% for _ in cookiecutter.__project_slug %}={% endfor %}
4
3
 
@@ -7,7 +7,7 @@ from canvas_cli.utils.validators.manifest_schema import manifest_schema
7
7
 
8
8
  def get_default_host(host: str | None) -> str | None:
9
9
  """Return context's default host if the host param is null."""
10
- return host or context.default_host # type: ignore
10
+ return host or context.default_host
11
11
 
12
12
 
13
13
  def validate_manifest_file(manifest_json: dict) -> None: