canvas 0.41.0__py3-none-any.whl → 0.43.0__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 (40) hide show
  1. {canvas-0.41.0.dist-info → canvas-0.43.0.dist-info}/METADATA +1 -1
  2. {canvas-0.41.0.dist-info → canvas-0.43.0.dist-info}/RECORD +40 -28
  3. canvas_generated/messages/effects_pb2.py +2 -2
  4. canvas_generated/messages/effects_pb2.pyi +4 -0
  5. canvas_sdk/effects/patient/__init__.py +10 -2
  6. canvas_sdk/effects/patient/base.py +20 -1
  7. canvas_sdk/effects/patient/create_patient_external_identifier.py +40 -0
  8. canvas_sdk/effects/patient_metadata/__init__.py +13 -0
  9. canvas_sdk/effects/patient_metadata/base.py +48 -0
  10. canvas_sdk/effects/protocol_card/__init__.py +4 -1
  11. canvas_sdk/effects/protocol_card/protocol_card.py +2 -0
  12. canvas_sdk/utils/http.py +46 -2
  13. canvas_sdk/v1/data/__init__.py +29 -0
  14. canvas_sdk/v1/data/allergy_intolerance.py +6 -2
  15. canvas_sdk/v1/data/assessment.py +7 -3
  16. canvas_sdk/v1/data/billing.py +1 -1
  17. canvas_sdk/v1/data/claim.py +321 -0
  18. canvas_sdk/v1/data/claim_line_item.py +140 -0
  19. canvas_sdk/v1/data/command.py +12 -3
  20. canvas_sdk/v1/data/condition.py +7 -2
  21. canvas_sdk/v1/data/detected_issue.py +9 -3
  22. canvas_sdk/v1/data/device.py +9 -3
  23. canvas_sdk/v1/data/discount.py +21 -0
  24. canvas_sdk/v1/data/fields.py +37 -0
  25. canvas_sdk/v1/data/imaging.py +18 -6
  26. canvas_sdk/v1/data/invoice.py +62 -0
  27. canvas_sdk/v1/data/lab.py +36 -12
  28. canvas_sdk/v1/data/line_item_transaction.py +83 -0
  29. canvas_sdk/v1/data/medication.py +6 -2
  30. canvas_sdk/v1/data/observation.py +9 -3
  31. canvas_sdk/v1/data/organization.py +3 -1
  32. canvas_sdk/v1/data/payment_collection.py +35 -0
  33. canvas_sdk/v1/data/posting.py +225 -0
  34. canvas_sdk/v1/data/protocol_override.py +6 -2
  35. canvas_sdk/v1/data/questionnaire.py +6 -2
  36. canvas_sdk/v1/data/utils.py +10 -0
  37. protobufs/canvas_generated/messages/effects.proto +2 -0
  38. {canvas-0.41.0.dist-info → canvas-0.43.0.dist-info}/WHEEL +0 -0
  39. {canvas-0.41.0.dist-info → canvas-0.43.0.dist-info}/entry_points.txt +0 -0
  40. /canvas_sdk/effects/{patient_metadata_create_form.py → patient_metadata/patient_metadata_create_form.py} +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.41.0
3
+ Version: 0.43.0
4
4
  Summary: SDK to customize event-driven actions in your Canvas instance
5
5
  Author-email: Canvas Team <engineering@canvasmedical.com>
6
6
  License-Expression: MIT
@@ -91,8 +91,8 @@ canvas_cli/utils/urls/urls.py,sha256=KwWTh5ERrEsZEvdBrZpZB71xtyWkDuglpXUbycWmBOo
91
91
  canvas_cli/utils/validators/__init__.py,sha256=rBvSR2O1hWkNAnUBdcr-zUkmqT796_A61b9pnvEhwrM,113
92
92
  canvas_cli/utils/validators/manifest_schema.py,sha256=HEXid9ZwLSChijVRRzVllSmEhZhr9ekx5Fu9CeKg0yE,6019
93
93
  canvas_cli/utils/validators/validators.py,sha256=lrUBQ0sF7seTe_pNGsNgASdr2BGp6g-Qui58V4H9qfQ,1598
94
- canvas_generated/messages/effects_pb2.py,sha256=-4EmTkpJGaoDjCwLXiJmCdtUPSHn7khnugyL8Q-Kvqw,12579
95
- canvas_generated/messages/effects_pb2.pyi,sha256=-Uzlv-fyM9D2KobpVncuBb_Sg7NEBEC9z7Cu2d2hlAI,22309
94
+ canvas_generated/messages/effects_pb2.py,sha256=arYOr5QxbXA4NC1MogGhHoVtqXrrihrsgWXoD8W4MAQ,12678
95
+ canvas_generated/messages/effects_pb2.pyi,sha256=3N4SsSCV4PHVMopFt7hWojRRfgE6mCQLMBxb5zl55DQ,22505
96
96
  canvas_generated/messages/effects_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
97
97
  canvas_generated/messages/events_pb2.py,sha256=jq7YelRp8-f6JSWUVjayLK-lpgEkjxamMwnOAt12_eI,51709
98
98
  canvas_generated/messages/events_pb2.pyi,sha256=GFrmww6N2heKMwXwbuTmj3D2jZQ0nrKonnCLUfSPf04,93036
@@ -154,7 +154,6 @@ canvas_sdk/effects/__init__.py,sha256=qXMhnGhl8QSDZoTuvVRx5kJw3KRcW8GZE5ybypdBfG
154
154
  canvas_sdk/effects/base.py,sha256=NS6m_I_MD81sYBnEHZg2XHz9lnpg6gA-FpdmDEoa-OE,823
155
155
  canvas_sdk/effects/launch_modal.py,sha256=WoMn97utz-91t26PpWbpIR_R-Kuwq-dRKgDEEe-75oE,1285
156
156
  canvas_sdk/effects/patient_chart_summary_configuration.py,sha256=ui9xFOeVabr-3QnuqBdj3z7xlLCrVh_BjeSfnVCePp4,1238
157
- canvas_sdk/effects/patient_metadata_create_form.py,sha256=ePoPcG2vuFrsnhPWU_XavMK5UVAxBvcMzDhpu9HzTu0,1918
158
157
  canvas_sdk/effects/patient_portal_menu_configuration.py,sha256=kDK60-H0Cop-GaTkyPDRKtOkGFVXvk05cqqJwD1M1r8,1018
159
158
  canvas_sdk/effects/patient_profile_configuration.py,sha256=vFFtpSdM19Lofk1RZSB8SoUDodJxymHDgNlHhJcgVaM,1383
160
159
  canvas_sdk/effects/questionnaire_result.py,sha256=iL8y2_nj1a-C91mxIQ1zkzndgBzuyNt9sgPyblGEq7k,863
@@ -174,13 +173,17 @@ canvas_sdk/effects/note/appointment.py,sha256=uUiquciUdppc_R_wP_UkPeh4TQlzZRjtRR
174
173
  canvas_sdk/effects/note/base.py,sha256=b_zCtU7_5y5rexDD0sJg3wmzwRMeUUvKUXJe-laSUIU,3856
175
174
  canvas_sdk/effects/note/message.py,sha256=T6p6h4J_I0k2jQSirFtIusydak4tem9yBPOTexvOQ0s,3740
176
175
  canvas_sdk/effects/note/note.py,sha256=s8ASykdGtCHobg8AyHHAKdnDGW0k4NUXPC3J17qHt98,2392
177
- canvas_sdk/effects/patient/__init__.py,sha256=GQSED5Ux3_EV1CBvlVpxsVFGgxC7_0f62feoZEfZ0Dg,133
178
- canvas_sdk/effects/patient/base.py,sha256=fxkKgpPJqfubM9NTQZX6ynlsGpsOScib9Gx4vwsUYTw,3988
176
+ canvas_sdk/effects/patient/__init__.py,sha256=POWxjgR3zAawvaP0XVxFAVDmatAySR1kJSWg9_jOfpU,358
177
+ canvas_sdk/effects/patient/base.py,sha256=OXqymxGvRTSd8DxtGQuhORFIxDQYimkXFsYLgjkKNls,4596
178
+ canvas_sdk/effects/patient/create_patient_external_identifier.py,sha256=d03jzJcz2n19_NVo_wAq88iKZRuuM60qsZhGGhL7pGE,1055
179
+ canvas_sdk/effects/patient_metadata/__init__.py,sha256=vxTpaP9gY1iNf0iVSoh24buFR7XfY2FKVYKn_P7BJkg,342
180
+ canvas_sdk/effects/patient_metadata/base.py,sha256=pq_xtFLyzHfYWTCjWEicOfsLkG3Nu_ECzLB85tYOToM,1286
181
+ canvas_sdk/effects/patient_metadata/patient_metadata_create_form.py,sha256=ePoPcG2vuFrsnhPWU_XavMK5UVAxBvcMzDhpu9HzTu0,1918
179
182
  canvas_sdk/effects/patient_portal/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,17
180
183
  canvas_sdk/effects/patient_portal/application_configuration.py,sha256=v9aGKH5jRcvjjzgOhU7vUsUN5lbN0a4wI1cL8uDRzXk,714
181
184
  canvas_sdk/effects/patient_portal/form_result.py,sha256=xe5_hZdBOQ_7UYEvoqI8ek0_e9DqgeTqta5ovnFRcwQ,977
182
- canvas_sdk/effects/protocol_card/__init__.py,sha256=arCJePOjuqO-k_4y0_h7b7a3Hxlj1is_vu9jbXTWxC4,148
183
- canvas_sdk/effects/protocol_card/protocol_card.py,sha256=ACTgLonoMhzBsLLXWTmOCkFVeN1gymDNGWkfzKPWQ2o,2766
185
+ canvas_sdk/effects/protocol_card/__init__.py,sha256=SIJhxskbqQEL5yVNiGABjf2ldDnsocDC-Vzcwejy6Jw,159
186
+ canvas_sdk/effects/protocol_card/protocol_card.py,sha256=kYkyl0gUi147VJUm-mgrrtRfdgm_eMfgdpdxXjBcVy0,2850
184
187
  canvas_sdk/effects/surescripts/__init__.py,sha256=vD-g2zW8HzGMfxcaure5ZhrQNP72iIDROAsCrzLH3y4,349
185
188
  canvas_sdk/effects/surescripts/surescripts_messages.py,sha256=7Cd_93SJVCgrneXadubUSjLQwS0N2lNp2ISH_6a24cs,2746
186
189
  canvas_sdk/effects/task/__init__.py,sha256=KlIinP5QbWMkoHGWPTg6Wi-TolPWW7TnEMVZ-h0Z3YE,168
@@ -210,42 +213,51 @@ canvas_sdk/templates/__init__.py,sha256=LtUmLDsGSTq249T6sA7PUzkl2OfCAyvtIOGPNHr6
210
213
  canvas_sdk/templates/utils.py,sha256=_AIYcGQD3ePWzQpH7ZirkV_ATtIHlzf-T_03mHoeIWI,1460
211
214
  canvas_sdk/utils/__init__.py,sha256=PADveJMf-BtOapK5Cczy-nOuZzVh-HT2H6sfJW_SK9U,198
212
215
  canvas_sdk/utils/db.py,sha256=wOZORBfyBVxQkay5vyEtQ4i0KVCfASFGREmecHMR8DE,409
213
- canvas_sdk/utils/http.py,sha256=n0Q9ndlwYi-fco7Hgu6JpjTmJnQFlkGkM5shT_ZRTvI,9043
216
+ canvas_sdk/utils/http.py,sha256=YluFiz3WOaDKpTjt-b_XdwOiM1winEkSZ2g3aZxxu3E,10542
214
217
  canvas_sdk/utils/metrics.py,sha256=ojCbXgjLSy1pEavHgRs8j4OVNdAUMa1nLqZdkA0uCQQ,5987
215
218
  canvas_sdk/utils/plugins.py,sha256=xxJUeVJBzfQWhlD1kO7HlFWxDAl01kkvbsf07Z08dOM,1551
216
219
  canvas_sdk/v1/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,17
217
220
  canvas_sdk/v1/apps.py,sha256=4MwQfQu78oX5bUVlyxYzbt4rZODi0ZesXe_3QOsEWO8,170
218
221
  canvas_sdk/v1/models.py,sha256=LqeHZ-Hz3EWyM9vYr9uZ9rBYdMXNuuvJqbmojV8EcEM,224
219
- canvas_sdk/v1/data/__init__.py,sha256=nG80UG9zrYMzBJbGDVCtQ6BdfJxckHKB36U_6jT5XEA,3415
220
- canvas_sdk/v1/data/allergy_intolerance.py,sha256=ZAGV3VybFODXrnVSPOXAbM1MDQMzvLo5xLIaAsRHuA0,2370
222
+ canvas_sdk/v1/data/__init__.py,sha256=SIHywHsxBBVrrPPFhnRlvxZOE3BZWFYUbMVA49XhqIU,4208
223
+ canvas_sdk/v1/data/allergy_intolerance.py,sha256=oVm9OgNT7eGylp-26Y_zw6G109qfkWVGZC0OsLqtlCM,2434
221
224
  canvas_sdk/v1/data/appointment.py,sha256=vSHa7GlLCsBS8bhxMxj4hZpYno-wxaaXOIZ2GyYCdGY,2715
222
- canvas_sdk/v1/data/assessment.py,sha256=2zX6N6rLbSbGkCwH0m3aSji7SijFLBrHUD0zMFgSPik,1536
225
+ canvas_sdk/v1/data/assessment.py,sha256=7K4ASCda3GGr9pj4lauGdoItyNWD-RpalAXFXa1t7Bk,1618
223
226
  canvas_sdk/v1/data/banner_alert.py,sha256=T9Iq_1FWFo_hqxFZnR2xFQ4xDpeBf_aUCvQilrRVh8Q,815
224
227
  canvas_sdk/v1/data/base.py,sha256=ZuLj9MSUkTR7L0NMwC5YflhY4Px-SgCvhh5G2Ili0SE,6347
225
- canvas_sdk/v1/data/billing.py,sha256=Dqf9niDtdyYDW9KOHSgzyyiql6WwLz_eF5a0JGv55V4,2689
228
+ canvas_sdk/v1/data/billing.py,sha256=E1Bf2SGQCTr4vF3cWQzKgVKvqJmXtzHsyIBcVx8ICMg,2719
226
229
  canvas_sdk/v1/data/care_team.py,sha256=Ce6uXz_g867oYrq1RLvK-KXLubT4MAkomuJIO-GC7Tw,1916
227
- canvas_sdk/v1/data/command.py,sha256=-hNE5AS1Ug7C5m3Qy6tdjF5_Za_pUkSkWRkwQd_P6E8,1642
230
+ canvas_sdk/v1/data/claim.py,sha256=IaC-k9AtcQy3JiIPG_NmFKzx7syvrgWS4FAIZl4vcNU,10821
231
+ canvas_sdk/v1/data/claim_line_item.py,sha256=rd8y2A29nWU_8ZAK0W4ITeUCHp2zAzc0fnUIXpVBOoA,4904
232
+ canvas_sdk/v1/data/command.py,sha256=fLxQMhLN7HT7cMtnrFGLNoZNyZFIK2zgKasYrivYhr0,1822
228
233
  canvas_sdk/v1/data/common.py,sha256=u5W3_7kXAGPe7guEBwRouKp8FMRCx9iZL6ei8QMmtwU,4880
229
- canvas_sdk/v1/data/condition.py,sha256=sbGk0sfeYWTZFIgNlLe8bMmFQeUF51eqh-zDC6zN-QM,2351
234
+ canvas_sdk/v1/data/condition.py,sha256=sUHiavSPmJbSaWK723-kOmQXLlwBj-1aNAiD6UqDlQc,2452
230
235
  canvas_sdk/v1/data/coverage.py,sha256=iuWf5Kou-w7hwkUVeZnwzDOMGw4YrT7NEbBbW7jchUU,11084
231
- canvas_sdk/v1/data/detected_issue.py,sha256=zL_wed8zH9lgSgatSFpqvrjSTdGkuW7ZhaqyLNrhvdM,1744
232
- canvas_sdk/v1/data/device.py,sha256=B8HgCIAyTJhuXfL2W7ZEK4kOgh7obXlMi7htZqImEYI,1641
233
- canvas_sdk/v1/data/imaging.py,sha256=VwRR-IBw4hyufOP9fYjQFIjlHa75fhp95VmggdDuMgs,4379
234
- canvas_sdk/v1/data/lab.py,sha256=552gRPLiM1YiQ9yvVWcInk27DtWN3XUrYtX-svoCayQ,12685
235
- canvas_sdk/v1/data/medication.py,sha256=vgjQFhBCZEjRHiAupbCLkbxjjdcfLPwv5pKAlVgCe5U,2318
236
+ canvas_sdk/v1/data/detected_issue.py,sha256=jWVzrtFxXUWUb9_nGpF4v8LKsYLWUpqmqaxBXYtNkFA,1840
237
+ canvas_sdk/v1/data/device.py,sha256=2v1JOulQ5jZbKwolhUW78o0usPpP6KS4mC7xh5voYxw,1737
238
+ canvas_sdk/v1/data/discount.py,sha256=fguMBhVOwEGbV8WJZioxfwlr6uXZH7x4oFi9x-0hmNY,590
239
+ canvas_sdk/v1/data/fields.py,sha256=bI7mPI_3B36ntyoVQ6vuDq8eGLoUIkwZZr14lTC-4To,1104
240
+ canvas_sdk/v1/data/imaging.py,sha256=KujY01WQ3O_HWY91y_HWovqrZbMSCC3HAzc_vafn4-Y,4571
241
+ canvas_sdk/v1/data/invoice.py,sha256=LCw2Ax8m5SS3TlfXatOc1fbmpRkXgqbuZRzl-brGjTM,1917
242
+ canvas_sdk/v1/data/lab.py,sha256=ifsMcVJd5Lq4Dz6SExclh-si8-uQEtRRH6zhb1p4HvI,13069
243
+ canvas_sdk/v1/data/line_item_transaction.py,sha256=JVZANCBFuZz777837S9ILVjHR31QrBbvQ3Lwc6GyuA0,2440
244
+ canvas_sdk/v1/data/medication.py,sha256=5mTbqozFo0EdGALXeV1aAywzVFn_J6UxXqNpU_FLFyw,2382
236
245
  canvas_sdk/v1/data/message.py,sha256=P95_oeOnaSDEPFoCx6Gcl54-NgYbW8BgIXizl5pBSiQ,2435
237
246
  canvas_sdk/v1/data/note.py,sha256=E92cgA90hQCAZjIEqFzZOcWJ74RoVEwDpG4Fx35NCkM,6790
238
- canvas_sdk/v1/data/observation.py,sha256=jhnFEoN5GxU3YOcrq2Ws14mM5xTSrSCz7PpVV_MVzWQ,3938
239
- canvas_sdk/v1/data/organization.py,sha256=w26opo08J6R42FxiYDB1FU1ErUNzVfZkVJzEOhufsos,999
247
+ canvas_sdk/v1/data/observation.py,sha256=Hh8UKY1iqIYAqySWhwoj86Gmkbhz90C2m4GIx56ucyo,4034
248
+ canvas_sdk/v1/data/organization.py,sha256=-q1MbjPWihCaoKx6ZkRSY2JD3VNzAHIGGd6foMDwAy8,1031
240
249
  canvas_sdk/v1/data/patient.py,sha256=wO_oo3nzb2h8u68v7Te6BCEdww90tNmU2E-bc3D1t3o,8317
250
+ canvas_sdk/v1/data/payment_collection.py,sha256=4ulvp6xWFwiFUrk0utPxy70FPkT1dmOrjwjxQrKYflY,939
251
+ canvas_sdk/v1/data/posting.py,sha256=1K5GwUIyKEDdN2P5zmOu5PWVjsAZTe6ZLluH0CXTmwE,7841
241
252
  canvas_sdk/v1/data/practicelocation.py,sha256=5Z6dq-XFsdo8fqr8nm4b8IvxDMgPgoViHMip8i8o8VE,4308
242
- canvas_sdk/v1/data/protocol_override.py,sha256=nHB425UiPUi6YbyLR1UhRuQhY-hZ9pj2avjXeccZgTY,2183
243
- canvas_sdk/v1/data/questionnaire.py,sha256=qsa-2hf2VtSw9B1gMwHh9QIvDAkW6gOErzm9d6Fk4Hk,7185
253
+ canvas_sdk/v1/data/protocol_override.py,sha256=B4FOunuS1h4VvO5m20SCwRHqG1_pAaxMgqrZ2Bwbong,2247
254
+ canvas_sdk/v1/data/questionnaire.py,sha256=1zp16o8nbNe-ZVEQdoBfDaF2Qcgq0xySE6w3W8cQ1fM,7249
244
255
  canvas_sdk/v1/data/reason_for_visit.py,sha256=lE0Fu5FCMlHPJzdE5fT5MQsuKd0dX2cEMRmDYYDgZRo,657
245
256
  canvas_sdk/v1/data/staff.py,sha256=tdVQmAJa-fq9CWixkijZ_u0fLXXAZ5WPf0lYSA83B6A,4955
246
257
  canvas_sdk/v1/data/task.py,sha256=wmwgt70ocpboV_ov2GUAFbwcL-qGaotMgOk7DIpe6I0,3634
247
258
  canvas_sdk/v1/data/team.py,sha256=9i5EKhq9Nhmx52nt2RLC3qOVRddKsAQbhfoP5Z9xDbE,2861
248
259
  canvas_sdk/v1/data/user.py,sha256=Go2Mxso7RlMr0uhamPMenKt75RsyJCPnd9BscHxt6OA,435
260
+ canvas_sdk/v1/data/utils.py,sha256=r0vMl4l7hxBFYDWRA_kXKycvFCmEch3SmeTgdsOHDec,279
249
261
  canvas_sdk/value_set/__init__.py,sha256=YYXr5tEQlnwMgTXJbOG963tKSPiUOM4mUkX8wuiqp7U,17
250
262
  canvas_sdk/value_set/custom.py,sha256=smf5fnPwuW-7H_B49CUfLWnq1QH-PhItvYw0siVsu-o,20173
251
263
  canvas_sdk/value_set/hcc2018.py,sha256=MMudhqOOgvedh8-dDfC_JbHJn-sNRbk8Q357agD_Pww,2198496
@@ -278,13 +290,13 @@ plugin_runner/installation.py,sha256=LLjtnzPk-w4go3UbXnBItJTKz1ajR_5kGQbFXTaWTFU
278
290
  plugin_runner/load_all_plugins.py,sha256=4T2gW2YljhIx4xfwf1c0F_8oIbE1ubsLj0ShkHRtlVY,5847
279
291
  plugin_runner/plugin_runner.py,sha256=Z7ySPJSY4AMGRR0PtdXA_I3z8rxlDpjssuMspHIc79U,21655
280
292
  plugin_runner/sandbox.py,sha256=vxfPKkz3A31g_QAD6eqa-CFt7z6xTp4FHu6RBrxoNz8,28589
281
- protobufs/canvas_generated/messages/effects.proto,sha256=sFUsIAa6nhEhJbBlLTIf7gxzvFCC7zP-yD1aZevObvY,8583
293
+ protobufs/canvas_generated/messages/effects.proto,sha256=aMdW-xJsjPHfTsYZvAgu_cDIJqrqsdd3onBkJFKy5qM,8662
282
294
  protobufs/canvas_generated/messages/events.proto,sha256=DSxbxKp7BTZpI4M14Sm7-XpHdUnN3bC3RapRqZbxgiQ,48751
283
295
  protobufs/canvas_generated/messages/plugins.proto,sha256=oNainUPWFYQjgCX7bJEPI9_VnHC5VZduzOqgR4Q7dNM,109
284
296
  protobufs/canvas_generated/services/plugin_runner.proto,sha256=doadBKn5k4xAtOgR-q_pEvW4yzxpUaHNOowMG6CL5GY,304
285
297
  pubsub/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
286
298
  pubsub/pubsub.py,sha256=PHIvJ5SD3M-jQSYeGGSj1FuG6CvP6BQffAoGax9Uudk,1423
287
- canvas-0.41.0.dist-info/METADATA,sha256=fm4cPHcZKnG3W6BH2C-QvspGfjronrZFNHbFGio15T8,4447
288
- canvas-0.41.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
289
- canvas-0.41.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
290
- canvas-0.41.0.dist-info/RECORD,,
299
+ canvas-0.43.0.dist-info/METADATA,sha256=lfvZjIaAiCkRAJ0C3TGnPy-lB7u6yyojOUq4zWBZzMU,4447
300
+ canvas-0.43.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
301
+ canvas-0.43.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
302
+ canvas-0.43.0.dist-info/RECORD,,
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'canvas_generated/messages/effects.proto\x12\x06\x63\x61nvas\"y\n\x06\x45\x66\x66\x65\x63t\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.canvas.EffectType\x12\x0f\n\x07payload\x18\x02 \x01(\t\x12\x13\n\x0bplugin_name\x18\x03 \x01(\t\x12\x11\n\tclassname\x18\x04 \x01(\t\x12\x14\n\x0chandler_name\x18\x05 \x01(\t*\x95;\n\nEffectType\x12\x12\n\x0eUNKNOWN_EFFECT\x10\x00\x12\x07\n\x03LOG\x10\x01\x12\x14\n\x10\x41\x44\x44_PLAN_COMMAND\x10\x02\x12\x1f\n\x1b\x41UTOCOMPLETE_SEARCH_RESULTS\x10\x03\x12\x14\n\x10\x41\x44\x44_BANNER_ALERT\x10\x04\x12\x17\n\x13REMOVE_BANNER_ALERT\x10\x05\x12\x1c\n\x18ORIGINATE_ASSESS_COMMAND\x10\x06\x12\x17\n\x13\x45\x44IT_ASSESS_COMMAND\x10\x07\x12\x19\n\x15\x44\x45LETE_ASSESS_COMMAND\x10\x08\x12\x19\n\x15\x43OMMIT_ASSESS_COMMAND\x10\t\x12!\n\x1d\x45NTER_IN_ERROR_ASSESS_COMMAND\x10\n\x12\x1e\n\x1aORIGINATE_DIAGNOSE_COMMAND\x10\x0b\x12\x19\n\x15\x45\x44IT_DIAGNOSE_COMMAND\x10\x0c\x12\x1b\n\x17\x44\x45LETE_DIAGNOSE_COMMAND\x10\r\x12\x1b\n\x17\x43OMMIT_DIAGNOSE_COMMAND\x10\x0e\x12#\n\x1f\x45NTER_IN_ERROR_DIAGNOSE_COMMAND\x10\x0f\x12\x1a\n\x16ORIGINATE_GOAL_COMMAND\x10\x10\x12\x15\n\x11\x45\x44IT_GOAL_COMMAND\x10\x11\x12\x17\n\x13\x44\x45LETE_GOAL_COMMAND\x10\x12\x12\x17\n\x13\x43OMMIT_GOAL_COMMAND\x10\x13\x12\x1f\n\x1b\x45NTER_IN_ERROR_GOAL_COMMAND\x10\x14\x12\x19\n\x15ORIGINATE_HPI_COMMAND\x10\x15\x12\x14\n\x10\x45\x44IT_HPI_COMMAND\x10\x16\x12\x16\n\x12\x44\x45LETE_HPI_COMMAND\x10\x17\x12\x16\n\x12\x43OMMIT_HPI_COMMAND\x10\x18\x12\x1e\n\x1a\x45NTER_IN_ERROR_HPI_COMMAND\x10\x19\x12*\n&ORIGINATE_MEDICATION_STATEMENT_COMMAND\x10\x1a\x12%\n!EDIT_MEDICATION_STATEMENT_COMMAND\x10\x1b\x12\'\n#DELETE_MEDICATION_STATEMENT_COMMAND\x10\x1c\x12\'\n#COMMIT_MEDICATION_STATEMENT_COMMAND\x10\x1d\x12/\n+ENTER_IN_ERROR_MEDICATION_STATEMENT_COMMAND\x10\x1e\x12\x1a\n\x16ORIGINATE_PLAN_COMMAND\x10\x1f\x12\x15\n\x11\x45\x44IT_PLAN_COMMAND\x10 \x12\x17\n\x13\x44\x45LETE_PLAN_COMMAND\x10!\x12\x17\n\x13\x43OMMIT_PLAN_COMMAND\x10\"\x12\x1f\n\x1b\x45NTER_IN_ERROR_PLAN_COMMAND\x10#\x12\x1f\n\x1bORIGINATE_PRESCRIBE_COMMAND\x10$\x12\x1a\n\x16\x45\x44IT_PRESCRIBE_COMMAND\x10%\x12\x1c\n\x18\x44\x45LETE_PRESCRIBE_COMMAND\x10&\x12\x1c\n\x18\x43OMMIT_PRESCRIBE_COMMAND\x10\'\x12$\n ENTER_IN_ERROR_PRESCRIBE_COMMAND\x10(\x12#\n\x1fORIGINATE_QUESTIONNAIRE_COMMAND\x10)\x12\x1e\n\x1a\x45\x44IT_QUESTIONNAIRE_COMMAND\x10*\x12 \n\x1c\x44\x45LETE_QUESTIONNAIRE_COMMAND\x10+\x12 \n\x1c\x43OMMIT_QUESTIONNAIRE_COMMAND\x10,\x12(\n$ENTER_IN_ERROR_QUESTIONNAIRE_COMMAND\x10-\x12&\n\"ORIGINATE_REASON_FOR_VISIT_COMMAND\x10.\x12!\n\x1d\x45\x44IT_REASON_FOR_VISIT_COMMAND\x10/\x12#\n\x1f\x44\x45LETE_REASON_FOR_VISIT_COMMAND\x10\x30\x12#\n\x1f\x43OMMIT_REASON_FOR_VISIT_COMMAND\x10\x31\x12+\n\'ENTER_IN_ERROR_REASON_FOR_VISIT_COMMAND\x10\x32\x12%\n!ORIGINATE_STOP_MEDICATION_COMMAND\x10\x33\x12 \n\x1c\x45\x44IT_STOP_MEDICATION_COMMAND\x10\x34\x12\"\n\x1e\x44\x45LETE_STOP_MEDICATION_COMMAND\x10\x35\x12\"\n\x1e\x43OMMIT_STOP_MEDICATION_COMMAND\x10\x36\x12*\n&ENTER_IN_ERROR_STOP_MEDICATION_COMMAND\x10\x37\x12!\n\x1dORIGINATE_UPDATE_GOAL_COMMAND\x10\x38\x12\x1c\n\x18\x45\x44IT_UPDATE_GOAL_COMMAND\x10\x39\x12\x1e\n\x1a\x44\x45LETE_UPDATE_GOAL_COMMAND\x10:\x12\x1e\n\x1a\x43OMMIT_UPDATE_GOAL_COMMAND\x10;\x12&\n\"ENTER_IN_ERROR_UPDATE_GOAL_COMMAND\x10<\x12\x1d\n\x19ORIGINATE_PERFORM_COMMAND\x10=\x12\x18\n\x14\x45\x44IT_PERFORM_COMMAND\x10>\x12\x1a\n\x16\x44\x45LETE_PERFORM_COMMAND\x10?\x12\x1a\n\x16\x43OMMIT_PERFORM_COMMAND\x10@\x12\"\n\x1e\x45NTER_IN_ERROR_PERFORM_COMMAND\x10\x41\x12\x1e\n\x1aORIGINATE_INSTRUCT_COMMAND\x10\x42\x12\x19\n\x15\x45\x44IT_INSTRUCT_COMMAND\x10\x43\x12\x1b\n\x17\x44\x45LETE_INSTRUCT_COMMAND\x10\x44\x12\x1b\n\x17\x43OMMIT_INSTRUCT_COMMAND\x10\x45\x12#\n\x1f\x45NTER_IN_ERROR_INSTRUCT_COMMAND\x10\x46\x12\x1f\n\x1bORIGINATE_LAB_ORDER_COMMAND\x10G\x12\x1a\n\x16\x45\x44IT_LAB_ORDER_COMMAND\x10H\x12\x1c\n\x18\x44\x45LETE_LAB_ORDER_COMMAND\x10I\x12\x1c\n\x18\x43OMMIT_LAB_ORDER_COMMAND\x10J\x12$\n ENTER_IN_ERROR_LAB_ORDER_COMMAND\x10K\x12$\n ORIGINATE_FAMILY_HISTORY_COMMAND\x10L\x12\x1f\n\x1b\x45\x44IT_FAMILY_HISTORY_COMMAND\x10M\x12!\n\x1d\x44\x45LETE_FAMILY_HISTORY_COMMAND\x10N\x12!\n\x1d\x43OMMIT_FAMILY_HISTORY_COMMAND\x10O\x12)\n%ENTER_IN_ERROR_FAMILY_HISTORY_COMMAND\x10P\x12\x1d\n\x19ORIGINATE_ALLERGY_COMMAND\x10Q\x12\x18\n\x14\x45\x44IT_ALLERGY_COMMAND\x10R\x12\x1a\n\x16\x44\x45LETE_ALLERGY_COMMAND\x10S\x12\x1a\n\x16\x43OMMIT_ALLERGY_COMMAND\x10T\x12\"\n\x1e\x45NTER_IN_ERROR_ALLERGY_COMMAND\x10U\x12$\n ORIGINATE_REMOVE_ALLERGY_COMMAND\x10V\x12\x1f\n\x1b\x45\x44IT_REMOVE_ALLERGY_COMMAND\x10W\x12!\n\x1d\x44\x45LETE_REMOVE_ALLERGY_COMMAND\x10X\x12!\n\x1d\x43OMMIT_REMOVE_ALLERGY_COMMAND\x10Y\x12)\n%ENTER_IN_ERROR_REMOVE_ALLERGY_COMMAND\x10Z\x12&\n\"ORIGINATE_SURGICAL_HISTORY_COMMAND\x10[\x12!\n\x1d\x45\x44IT_SURGICAL_HISTORY_COMMAND\x10\\\x12#\n\x1f\x44\x45LETE_SURGICAL_HISTORY_COMMAND\x10]\x12#\n\x1f\x43OMMIT_SURGICAL_HISTORY_COMMAND\x10^\x12+\n\'ENTER_IN_ERROR_SURGICAL_HISTORY_COMMAND\x10_\x12\x0f\n\x0b\x43REATE_TASK\x10\x64\x12\x0f\n\x0bUPDATE_TASK\x10\x65\x12\x17\n\x13\x43REATE_TASK_COMMENT\x10\x66\x12%\n!ORIGINATE_MEDICAL_HISTORY_COMMAND\x10g\x12 \n\x1c\x45\x44IT_MEDICAL_HISTORY_COMMAND\x10h\x12\"\n\x1e\x44\x45LETE_MEDICAL_HISTORY_COMMAND\x10i\x12\"\n\x1e\x43OMMIT_MEDICAL_HISTORY_COMMAND\x10j\x12*\n&ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND\x10k\x12\x1f\n\x1b\x41\x44\x44_OR_UPDATE_PROTOCOL_CARD\x10n\x12\x1b\n\x16ORIGINATE_TASK_COMMAND\x10\x85\x01\x12\x16\n\x11\x45\x44IT_TASK_COMMAND\x10\x86\x01\x12\x18\n\x13\x44\x45LETE_TASK_COMMAND\x10\x87\x01\x12\x18\n\x13\x43OMMIT_TASK_COMMAND\x10\x88\x01\x12 \n\x1b\x45NTER_IN_ERROR_TASK_COMMAND\x10\x89\x01\x12\x1c\n\x18ORIGINATE_REFILL_COMMAND\x10q\x12\x17\n\x13\x45\x44IT_REFILL_COMMAND\x10r\x12\x19\n\x15\x44\x45LETE_REFILL_COMMAND\x10s\x12\x19\n\x15\x43OMMIT_REFILL_COMMAND\x10t\x12!\n\x1d\x45NTER_IN_ERROR_REFILL_COMMAND\x10u\x12\x1c\n\x18ORIGINATE_VITALS_COMMAND\x10v\x12\x17\n\x13\x45\x44IT_VITALS_COMMAND\x10w\x12\x19\n\x15\x44\x45LETE_VITALS_COMMAND\x10x\x12\x19\n\x15\x43OMMIT_VITALS_COMMAND\x10y\x12!\n\x1d\x45NTER_IN_ERROR_VITALS_COMMAND\x10z\x12&\n\"ORIGINATE_UPDATE_DIAGNOSIS_COMMAND\x10{\x12!\n\x1d\x45\x44IT_UPDATE_DIAGNOSIS_COMMAND\x10|\x12#\n\x1f\x44\x45LETE_UPDATE_DIAGNOSIS_COMMAND\x10}\x12#\n\x1f\x43OMMIT_UPDATE_DIAGNOSIS_COMMAND\x10~\x12+\n\'ENTER_IN_ERROR_UPDATE_DIAGNOSIS_COMMAND\x10\x7f\x12!\n\x1cORIGINATE_CLOSE_GOAL_COMMAND\x10\x80\x01\x12\x1c\n\x17\x45\x44IT_CLOSE_GOAL_COMMAND\x10\x81\x01\x12\x1e\n\x19\x44\x45LETE_CLOSE_GOAL_COMMAND\x10\x82\x01\x12\x1e\n\x19\x43OMMIT_CLOSE_GOAL_COMMAND\x10\x83\x01\x12&\n!ENTER_IN_ERROR_CLOSE_GOAL_COMMAND\x10\x84\x01\x12\x1c\n\x17ORIGINATE_REFER_COMMAND\x10\x8b\x01\x12\x17\n\x12\x45\x44IT_REFER_COMMAND\x10\x8c\x01\x12\x19\n\x14\x44\x45LETE_REFER_COMMAND\x10\x8d\x01\x12\x19\n\x14\x43OMMIT_REFER_COMMAND\x10\x8e\x01\x12!\n\x1c\x45NTER_IN_ERROR_REFER_COMMAND\x10\x8f\x01\x12(\n#ORIGINATE_CHANGE_MEDICATION_COMMAND\x10\x96\x01\x12#\n\x1e\x45\x44IT_CHANGE_MEDICATION_COMMAND\x10\x97\x01\x12%\n DELETE_CHANGE_MEDICATION_COMMAND\x10\x98\x01\x12%\n COMMIT_CHANGE_MEDICATION_COMMAND\x10\x99\x01\x12-\n(ENTER_IN_ERROR_CHANGE_MEDICATION_COMMAND\x10\x9a\x01\x12 \n\x1b\x43REATE_QUESTIONNAIRE_RESULT\x10\x8a\x01\x12-\n(ANNOTATE_PATIENT_CHART_CONDITION_RESULTS\x10\xc8\x01\x12%\n ANNOTATE_CLAIM_CONDITION_RESULTS\x10\xac\x02\x12(\n#SHOW_PATIENT_CHART_SUMMARY_SECTIONS\x10\x90\x03\x12\"\n\x1dSHOW_PATIENT_PROFILE_SECTIONS\x10\xf4\x03\x12\x37\n2PATIENT_PROFILE__ADD_PHARMACY__POST_SEARCH_RESULTS\x10\xf5\x03\x12)\n$SEND_SURESCRIPTS_ELIGIBILITY_REQUEST\x10\xd8\x04\x12\x30\n+SEND_SURESCRIPTS_MEDICATION_HISTORY_REQUEST\x10\xd9\x04\x12&\n!SEND_SURESCRIPTS_BENEFITS_REQUEST\x10\xda\x04\x12\x1b\n\x16ORIGINATE_EXAM_COMMAND\x10\xbc\x05\x12\x16\n\x11\x45\x44IT_EXAM_COMMAND\x10\xbd\x05\x12\x18\n\x13\x44\x45LETE_EXAM_COMMAND\x10\xbe\x05\x12\x18\n\x13\x43OMMIT_EXAM_COMMAND\x10\xbf\x05\x12 \n\x1b\x45NTER_IN_ERROR_EXAM_COMMAND\x10\xc0\x05\x12\x1a\n\x15ORIGINATE_ROS_COMMAND\x10\xa0\x06\x12\x15\n\x10\x45\x44IT_ROS_COMMAND\x10\xa1\x06\x12\x17\n\x12\x44\x45LETE_ROS_COMMAND\x10\xa2\x06\x12\x17\n\x12\x43OMMIT_ROS_COMMAND\x10\xa3\x06\x12\x1f\n\x1a\x45NTER_IN_ERROR_ROS_COMMAND\x10\xa4\x06\x12,\n\'ORIGINATE_STRUCTURED_ASSESSMENT_COMMAND\x10\x84\x07\x12\'\n\"EDIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x85\x07\x12)\n$DELETE_STRUCTURED_ASSESSMENT_COMMAND\x10\x86\x07\x12)\n$COMMIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x87\x07\x12\x31\n,ENTER_IN_ERROR_STRUCTURED_ASSESSMENT_COMMAND\x10\x88\x07\x12 \n\x1bORIGINATE_FOLLOW_UP_COMMAND\x10\x89\x07\x12\x1b\n\x16\x45\x44IT_FOLLOW_UP_COMMAND\x10\x8a\x07\x12\x1d\n\x18\x44\x45LETE_FOLLOW_UP_COMMAND\x10\x8b\x07\x12\x1d\n\x18\x43OMMIT_FOLLOW_UP_COMMAND\x10\x8c\x07\x12%\n ENTER_IN_ERROR_FOLLOW_UP_COMMAND\x10\x8d\x07\x12$\n\x1fORIGINATE_IMAGING_ORDER_COMMAND\x10\xcc\x08\x12\x1f\n\x1a\x45\x44IT_IMAGING_ORDER_COMMAND\x10\xcd\x08\x12!\n\x1c\x44\x45LETE_IMAGING_ORDER_COMMAND\x10\xce\x08\x12!\n\x1c\x43OMMIT_IMAGING_ORDER_COMMAND\x10\xcf\x08\x12)\n$ENTER_IN_ERROR_IMAGING_ORDER_COMMAND\x10\xd0\x08\x12(\n#ORIGINATE_RESOLVE_CONDITION_COMMAND\x10\xb0\t\x12#\n\x1e\x45\x44IT_RESOLVE_CONDITION_COMMAND\x10\xb1\t\x12%\n DELETE_RESOLVE_CONDITION_COMMAND\x10\xb2\t\x12%\n COMMIT_RESOLVE_CONDITION_COMMAND\x10\xb3\t\x12-\n(ENTER_IN_ERROR_RESOLVE_CONDITION_COMMAND\x10\xb4\t\x12*\n%ORIGINATE_ADJUST_PRESCRIPTION_COMMAND\x10\x94\n\x12%\n EDIT_ADJUST_PRESCRIPTION_COMMAND\x10\x95\n\x12\'\n\"DELETE_ADJUST_PRESCRIPTION_COMMAND\x10\x96\n\x12\'\n\"COMMIT_ADJUST_PRESCRIPTION_COMMAND\x10\x97\n\x12/\n*ENTER_IN_ERROR_ADJUST_PRESCRIPTION_COMMAND\x10\x98\n\x12+\n&ORIGINATE_CHART_SECTION_REVIEW_COMMAND\x10\xf8\n\x12\x17\n\x12SHOW_ACTION_BUTTON\x10\xe8\x07\x12 \n\x1bPATIENT_PORTAL__FORM_RESULT\x10\xd0\x0f\x12.\n)PATIENT_PORTAL__APPOINTMENT_IS_CANCELABLE\x10\xd1\x0f\x12\x31\n,PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE\x10\xd2\x0f\x12\x32\n-PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK\x10\xd3\x0f\x12 \n\x1bPATIENT_PORTAL__SEND_INVITE\x10\xd4\x0f\x12=\n8PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS\x10\xd5\x0f\x12M\nHPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS\x10\xd6\x0f\x12N\nIPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH_RESULTS\x10\xd7\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH_RESULTS\x10\xd8\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH_RESULTS\x10\xd9\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH_RESULTS\x10\xda\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH_RESULTS\x10\xdb\x0f\x12.\n)PATIENT_PORTAL__APPLICATION_CONFIGURATION\x10\xdc\x0f\x12\x1a\n\x15\x41\x44\x44_BILLING_LINE_ITEM\x10\xee\x0f\x12\x1d\n\x18UPDATE_BILLING_LINE_ITEM\x10\xef\x0f\x12\x1d\n\x18REMOVE_BILLING_LINE_ITEM\x10\xf0\x0f\x12#\n\x1eSHOW_PATIENT_PORTAL_MENU_ITEMS\x10\xb4\x10\x12\x12\n\rPORTAL_WIDGET\x10\xb5\x10\x12\x11\n\x0cLAUNCH_MODAL\x10\xb8\x17\x12\x18\n\x13SIMPLE_API_RESPONSE\x10\xa0\x1f\x12 \n\x1bSIMPLE_API_WEBSOCKET_ACCEPT\x10\xa1\x1f\x12\x1e\n\x19SIMPLE_API_WEBSOCKET_DENY\x10\xa2\x1f\x12#\n\x1eSIMPLE_API_WEBSOCKET_BROADCAST\x10\xa3\x1f\x12\x10\n\x0bUPDATE_USER\x10\x88\'\x12\x10\n\x0b\x43REATE_NOTE\x10\xf0.\x12\x17\n\x12\x43REATE_APPOINTMENT\x10\xf1.\x12\x1a\n\x15\x43REATE_SCHEDULE_EVENT\x10\xf2.\x12\x13\n\x0e\x43REATE_PATIENT\x10\xf3.\x12\x13\n\x0e\x43REATE_MESSAGE\x10\xf4.\x12\x11\n\x0cSEND_MESSAGE\x10\xf5.\x12\x1c\n\x17\x43REATE_AND_SEND_MESSAGE\x10\xf6.\x12\x11\n\x0c\x45\x44IT_MESSAGE\x10\xf7.\x12/\n*PATIENT_METADATA__CREATE_ADDITIONAL_FIELDS\x10\xfa.b\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'canvas_generated/messages/effects.proto\x12\x06\x63\x61nvas\"y\n\x06\x45\x66\x66\x65\x63t\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.canvas.EffectType\x12\x0f\n\x07payload\x18\x02 \x01(\t\x12\x13\n\x0bplugin_name\x18\x03 \x01(\t\x12\x11\n\tclassname\x18\x04 \x01(\t\x12\x14\n\x0chandler_name\x18\x05 \x01(\t*\xdc;\n\nEffectType\x12\x12\n\x0eUNKNOWN_EFFECT\x10\x00\x12\x07\n\x03LOG\x10\x01\x12\x14\n\x10\x41\x44\x44_PLAN_COMMAND\x10\x02\x12\x1f\n\x1b\x41UTOCOMPLETE_SEARCH_RESULTS\x10\x03\x12\x14\n\x10\x41\x44\x44_BANNER_ALERT\x10\x04\x12\x17\n\x13REMOVE_BANNER_ALERT\x10\x05\x12\x1c\n\x18ORIGINATE_ASSESS_COMMAND\x10\x06\x12\x17\n\x13\x45\x44IT_ASSESS_COMMAND\x10\x07\x12\x19\n\x15\x44\x45LETE_ASSESS_COMMAND\x10\x08\x12\x19\n\x15\x43OMMIT_ASSESS_COMMAND\x10\t\x12!\n\x1d\x45NTER_IN_ERROR_ASSESS_COMMAND\x10\n\x12\x1e\n\x1aORIGINATE_DIAGNOSE_COMMAND\x10\x0b\x12\x19\n\x15\x45\x44IT_DIAGNOSE_COMMAND\x10\x0c\x12\x1b\n\x17\x44\x45LETE_DIAGNOSE_COMMAND\x10\r\x12\x1b\n\x17\x43OMMIT_DIAGNOSE_COMMAND\x10\x0e\x12#\n\x1f\x45NTER_IN_ERROR_DIAGNOSE_COMMAND\x10\x0f\x12\x1a\n\x16ORIGINATE_GOAL_COMMAND\x10\x10\x12\x15\n\x11\x45\x44IT_GOAL_COMMAND\x10\x11\x12\x17\n\x13\x44\x45LETE_GOAL_COMMAND\x10\x12\x12\x17\n\x13\x43OMMIT_GOAL_COMMAND\x10\x13\x12\x1f\n\x1b\x45NTER_IN_ERROR_GOAL_COMMAND\x10\x14\x12\x19\n\x15ORIGINATE_HPI_COMMAND\x10\x15\x12\x14\n\x10\x45\x44IT_HPI_COMMAND\x10\x16\x12\x16\n\x12\x44\x45LETE_HPI_COMMAND\x10\x17\x12\x16\n\x12\x43OMMIT_HPI_COMMAND\x10\x18\x12\x1e\n\x1a\x45NTER_IN_ERROR_HPI_COMMAND\x10\x19\x12*\n&ORIGINATE_MEDICATION_STATEMENT_COMMAND\x10\x1a\x12%\n!EDIT_MEDICATION_STATEMENT_COMMAND\x10\x1b\x12\'\n#DELETE_MEDICATION_STATEMENT_COMMAND\x10\x1c\x12\'\n#COMMIT_MEDICATION_STATEMENT_COMMAND\x10\x1d\x12/\n+ENTER_IN_ERROR_MEDICATION_STATEMENT_COMMAND\x10\x1e\x12\x1a\n\x16ORIGINATE_PLAN_COMMAND\x10\x1f\x12\x15\n\x11\x45\x44IT_PLAN_COMMAND\x10 \x12\x17\n\x13\x44\x45LETE_PLAN_COMMAND\x10!\x12\x17\n\x13\x43OMMIT_PLAN_COMMAND\x10\"\x12\x1f\n\x1b\x45NTER_IN_ERROR_PLAN_COMMAND\x10#\x12\x1f\n\x1bORIGINATE_PRESCRIBE_COMMAND\x10$\x12\x1a\n\x16\x45\x44IT_PRESCRIBE_COMMAND\x10%\x12\x1c\n\x18\x44\x45LETE_PRESCRIBE_COMMAND\x10&\x12\x1c\n\x18\x43OMMIT_PRESCRIBE_COMMAND\x10\'\x12$\n ENTER_IN_ERROR_PRESCRIBE_COMMAND\x10(\x12#\n\x1fORIGINATE_QUESTIONNAIRE_COMMAND\x10)\x12\x1e\n\x1a\x45\x44IT_QUESTIONNAIRE_COMMAND\x10*\x12 \n\x1c\x44\x45LETE_QUESTIONNAIRE_COMMAND\x10+\x12 \n\x1c\x43OMMIT_QUESTIONNAIRE_COMMAND\x10,\x12(\n$ENTER_IN_ERROR_QUESTIONNAIRE_COMMAND\x10-\x12&\n\"ORIGINATE_REASON_FOR_VISIT_COMMAND\x10.\x12!\n\x1d\x45\x44IT_REASON_FOR_VISIT_COMMAND\x10/\x12#\n\x1f\x44\x45LETE_REASON_FOR_VISIT_COMMAND\x10\x30\x12#\n\x1f\x43OMMIT_REASON_FOR_VISIT_COMMAND\x10\x31\x12+\n\'ENTER_IN_ERROR_REASON_FOR_VISIT_COMMAND\x10\x32\x12%\n!ORIGINATE_STOP_MEDICATION_COMMAND\x10\x33\x12 \n\x1c\x45\x44IT_STOP_MEDICATION_COMMAND\x10\x34\x12\"\n\x1e\x44\x45LETE_STOP_MEDICATION_COMMAND\x10\x35\x12\"\n\x1e\x43OMMIT_STOP_MEDICATION_COMMAND\x10\x36\x12*\n&ENTER_IN_ERROR_STOP_MEDICATION_COMMAND\x10\x37\x12!\n\x1dORIGINATE_UPDATE_GOAL_COMMAND\x10\x38\x12\x1c\n\x18\x45\x44IT_UPDATE_GOAL_COMMAND\x10\x39\x12\x1e\n\x1a\x44\x45LETE_UPDATE_GOAL_COMMAND\x10:\x12\x1e\n\x1a\x43OMMIT_UPDATE_GOAL_COMMAND\x10;\x12&\n\"ENTER_IN_ERROR_UPDATE_GOAL_COMMAND\x10<\x12\x1d\n\x19ORIGINATE_PERFORM_COMMAND\x10=\x12\x18\n\x14\x45\x44IT_PERFORM_COMMAND\x10>\x12\x1a\n\x16\x44\x45LETE_PERFORM_COMMAND\x10?\x12\x1a\n\x16\x43OMMIT_PERFORM_COMMAND\x10@\x12\"\n\x1e\x45NTER_IN_ERROR_PERFORM_COMMAND\x10\x41\x12\x1e\n\x1aORIGINATE_INSTRUCT_COMMAND\x10\x42\x12\x19\n\x15\x45\x44IT_INSTRUCT_COMMAND\x10\x43\x12\x1b\n\x17\x44\x45LETE_INSTRUCT_COMMAND\x10\x44\x12\x1b\n\x17\x43OMMIT_INSTRUCT_COMMAND\x10\x45\x12#\n\x1f\x45NTER_IN_ERROR_INSTRUCT_COMMAND\x10\x46\x12\x1f\n\x1bORIGINATE_LAB_ORDER_COMMAND\x10G\x12\x1a\n\x16\x45\x44IT_LAB_ORDER_COMMAND\x10H\x12\x1c\n\x18\x44\x45LETE_LAB_ORDER_COMMAND\x10I\x12\x1c\n\x18\x43OMMIT_LAB_ORDER_COMMAND\x10J\x12$\n ENTER_IN_ERROR_LAB_ORDER_COMMAND\x10K\x12$\n ORIGINATE_FAMILY_HISTORY_COMMAND\x10L\x12\x1f\n\x1b\x45\x44IT_FAMILY_HISTORY_COMMAND\x10M\x12!\n\x1d\x44\x45LETE_FAMILY_HISTORY_COMMAND\x10N\x12!\n\x1d\x43OMMIT_FAMILY_HISTORY_COMMAND\x10O\x12)\n%ENTER_IN_ERROR_FAMILY_HISTORY_COMMAND\x10P\x12\x1d\n\x19ORIGINATE_ALLERGY_COMMAND\x10Q\x12\x18\n\x14\x45\x44IT_ALLERGY_COMMAND\x10R\x12\x1a\n\x16\x44\x45LETE_ALLERGY_COMMAND\x10S\x12\x1a\n\x16\x43OMMIT_ALLERGY_COMMAND\x10T\x12\"\n\x1e\x45NTER_IN_ERROR_ALLERGY_COMMAND\x10U\x12$\n ORIGINATE_REMOVE_ALLERGY_COMMAND\x10V\x12\x1f\n\x1b\x45\x44IT_REMOVE_ALLERGY_COMMAND\x10W\x12!\n\x1d\x44\x45LETE_REMOVE_ALLERGY_COMMAND\x10X\x12!\n\x1d\x43OMMIT_REMOVE_ALLERGY_COMMAND\x10Y\x12)\n%ENTER_IN_ERROR_REMOVE_ALLERGY_COMMAND\x10Z\x12&\n\"ORIGINATE_SURGICAL_HISTORY_COMMAND\x10[\x12!\n\x1d\x45\x44IT_SURGICAL_HISTORY_COMMAND\x10\\\x12#\n\x1f\x44\x45LETE_SURGICAL_HISTORY_COMMAND\x10]\x12#\n\x1f\x43OMMIT_SURGICAL_HISTORY_COMMAND\x10^\x12+\n\'ENTER_IN_ERROR_SURGICAL_HISTORY_COMMAND\x10_\x12\x0f\n\x0b\x43REATE_TASK\x10\x64\x12\x0f\n\x0bUPDATE_TASK\x10\x65\x12\x17\n\x13\x43REATE_TASK_COMMENT\x10\x66\x12%\n!ORIGINATE_MEDICAL_HISTORY_COMMAND\x10g\x12 \n\x1c\x45\x44IT_MEDICAL_HISTORY_COMMAND\x10h\x12\"\n\x1e\x44\x45LETE_MEDICAL_HISTORY_COMMAND\x10i\x12\"\n\x1e\x43OMMIT_MEDICAL_HISTORY_COMMAND\x10j\x12*\n&ENTER_IN_ERROR_MEDICAL_HISTORY_COMMAND\x10k\x12\x1f\n\x1b\x41\x44\x44_OR_UPDATE_PROTOCOL_CARD\x10n\x12\x1b\n\x16ORIGINATE_TASK_COMMAND\x10\x85\x01\x12\x16\n\x11\x45\x44IT_TASK_COMMAND\x10\x86\x01\x12\x18\n\x13\x44\x45LETE_TASK_COMMAND\x10\x87\x01\x12\x18\n\x13\x43OMMIT_TASK_COMMAND\x10\x88\x01\x12 \n\x1b\x45NTER_IN_ERROR_TASK_COMMAND\x10\x89\x01\x12\x1c\n\x18ORIGINATE_REFILL_COMMAND\x10q\x12\x17\n\x13\x45\x44IT_REFILL_COMMAND\x10r\x12\x19\n\x15\x44\x45LETE_REFILL_COMMAND\x10s\x12\x19\n\x15\x43OMMIT_REFILL_COMMAND\x10t\x12!\n\x1d\x45NTER_IN_ERROR_REFILL_COMMAND\x10u\x12\x1c\n\x18ORIGINATE_VITALS_COMMAND\x10v\x12\x17\n\x13\x45\x44IT_VITALS_COMMAND\x10w\x12\x19\n\x15\x44\x45LETE_VITALS_COMMAND\x10x\x12\x19\n\x15\x43OMMIT_VITALS_COMMAND\x10y\x12!\n\x1d\x45NTER_IN_ERROR_VITALS_COMMAND\x10z\x12&\n\"ORIGINATE_UPDATE_DIAGNOSIS_COMMAND\x10{\x12!\n\x1d\x45\x44IT_UPDATE_DIAGNOSIS_COMMAND\x10|\x12#\n\x1f\x44\x45LETE_UPDATE_DIAGNOSIS_COMMAND\x10}\x12#\n\x1f\x43OMMIT_UPDATE_DIAGNOSIS_COMMAND\x10~\x12+\n\'ENTER_IN_ERROR_UPDATE_DIAGNOSIS_COMMAND\x10\x7f\x12!\n\x1cORIGINATE_CLOSE_GOAL_COMMAND\x10\x80\x01\x12\x1c\n\x17\x45\x44IT_CLOSE_GOAL_COMMAND\x10\x81\x01\x12\x1e\n\x19\x44\x45LETE_CLOSE_GOAL_COMMAND\x10\x82\x01\x12\x1e\n\x19\x43OMMIT_CLOSE_GOAL_COMMAND\x10\x83\x01\x12&\n!ENTER_IN_ERROR_CLOSE_GOAL_COMMAND\x10\x84\x01\x12\x1c\n\x17ORIGINATE_REFER_COMMAND\x10\x8b\x01\x12\x17\n\x12\x45\x44IT_REFER_COMMAND\x10\x8c\x01\x12\x19\n\x14\x44\x45LETE_REFER_COMMAND\x10\x8d\x01\x12\x19\n\x14\x43OMMIT_REFER_COMMAND\x10\x8e\x01\x12!\n\x1c\x45NTER_IN_ERROR_REFER_COMMAND\x10\x8f\x01\x12(\n#ORIGINATE_CHANGE_MEDICATION_COMMAND\x10\x96\x01\x12#\n\x1e\x45\x44IT_CHANGE_MEDICATION_COMMAND\x10\x97\x01\x12%\n DELETE_CHANGE_MEDICATION_COMMAND\x10\x98\x01\x12%\n COMMIT_CHANGE_MEDICATION_COMMAND\x10\x99\x01\x12-\n(ENTER_IN_ERROR_CHANGE_MEDICATION_COMMAND\x10\x9a\x01\x12 \n\x1b\x43REATE_QUESTIONNAIRE_RESULT\x10\x8a\x01\x12-\n(ANNOTATE_PATIENT_CHART_CONDITION_RESULTS\x10\xc8\x01\x12%\n ANNOTATE_CLAIM_CONDITION_RESULTS\x10\xac\x02\x12(\n#SHOW_PATIENT_CHART_SUMMARY_SECTIONS\x10\x90\x03\x12\"\n\x1dSHOW_PATIENT_PROFILE_SECTIONS\x10\xf4\x03\x12\x37\n2PATIENT_PROFILE__ADD_PHARMACY__POST_SEARCH_RESULTS\x10\xf5\x03\x12)\n$SEND_SURESCRIPTS_ELIGIBILITY_REQUEST\x10\xd8\x04\x12\x30\n+SEND_SURESCRIPTS_MEDICATION_HISTORY_REQUEST\x10\xd9\x04\x12&\n!SEND_SURESCRIPTS_BENEFITS_REQUEST\x10\xda\x04\x12\x1b\n\x16ORIGINATE_EXAM_COMMAND\x10\xbc\x05\x12\x16\n\x11\x45\x44IT_EXAM_COMMAND\x10\xbd\x05\x12\x18\n\x13\x44\x45LETE_EXAM_COMMAND\x10\xbe\x05\x12\x18\n\x13\x43OMMIT_EXAM_COMMAND\x10\xbf\x05\x12 \n\x1b\x45NTER_IN_ERROR_EXAM_COMMAND\x10\xc0\x05\x12\x1a\n\x15ORIGINATE_ROS_COMMAND\x10\xa0\x06\x12\x15\n\x10\x45\x44IT_ROS_COMMAND\x10\xa1\x06\x12\x17\n\x12\x44\x45LETE_ROS_COMMAND\x10\xa2\x06\x12\x17\n\x12\x43OMMIT_ROS_COMMAND\x10\xa3\x06\x12\x1f\n\x1a\x45NTER_IN_ERROR_ROS_COMMAND\x10\xa4\x06\x12,\n\'ORIGINATE_STRUCTURED_ASSESSMENT_COMMAND\x10\x84\x07\x12\'\n\"EDIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x85\x07\x12)\n$DELETE_STRUCTURED_ASSESSMENT_COMMAND\x10\x86\x07\x12)\n$COMMIT_STRUCTURED_ASSESSMENT_COMMAND\x10\x87\x07\x12\x31\n,ENTER_IN_ERROR_STRUCTURED_ASSESSMENT_COMMAND\x10\x88\x07\x12 \n\x1bORIGINATE_FOLLOW_UP_COMMAND\x10\x89\x07\x12\x1b\n\x16\x45\x44IT_FOLLOW_UP_COMMAND\x10\x8a\x07\x12\x1d\n\x18\x44\x45LETE_FOLLOW_UP_COMMAND\x10\x8b\x07\x12\x1d\n\x18\x43OMMIT_FOLLOW_UP_COMMAND\x10\x8c\x07\x12%\n ENTER_IN_ERROR_FOLLOW_UP_COMMAND\x10\x8d\x07\x12$\n\x1fORIGINATE_IMAGING_ORDER_COMMAND\x10\xcc\x08\x12\x1f\n\x1a\x45\x44IT_IMAGING_ORDER_COMMAND\x10\xcd\x08\x12!\n\x1c\x44\x45LETE_IMAGING_ORDER_COMMAND\x10\xce\x08\x12!\n\x1c\x43OMMIT_IMAGING_ORDER_COMMAND\x10\xcf\x08\x12)\n$ENTER_IN_ERROR_IMAGING_ORDER_COMMAND\x10\xd0\x08\x12(\n#ORIGINATE_RESOLVE_CONDITION_COMMAND\x10\xb0\t\x12#\n\x1e\x45\x44IT_RESOLVE_CONDITION_COMMAND\x10\xb1\t\x12%\n DELETE_RESOLVE_CONDITION_COMMAND\x10\xb2\t\x12%\n COMMIT_RESOLVE_CONDITION_COMMAND\x10\xb3\t\x12-\n(ENTER_IN_ERROR_RESOLVE_CONDITION_COMMAND\x10\xb4\t\x12*\n%ORIGINATE_ADJUST_PRESCRIPTION_COMMAND\x10\x94\n\x12%\n EDIT_ADJUST_PRESCRIPTION_COMMAND\x10\x95\n\x12\'\n\"DELETE_ADJUST_PRESCRIPTION_COMMAND\x10\x96\n\x12\'\n\"COMMIT_ADJUST_PRESCRIPTION_COMMAND\x10\x97\n\x12/\n*ENTER_IN_ERROR_ADJUST_PRESCRIPTION_COMMAND\x10\x98\n\x12+\n&ORIGINATE_CHART_SECTION_REVIEW_COMMAND\x10\xf8\n\x12\x17\n\x12SHOW_ACTION_BUTTON\x10\xe8\x07\x12 \n\x1bPATIENT_PORTAL__FORM_RESULT\x10\xd0\x0f\x12.\n)PATIENT_PORTAL__APPOINTMENT_IS_CANCELABLE\x10\xd1\x0f\x12\x31\n,PATIENT_PORTAL__APPOINTMENT_IS_RESCHEDULABLE\x10\xd2\x0f\x12\x32\n-PATIENT_PORTAL__APPOINTMENT_SHOW_MEETING_LINK\x10\xd3\x0f\x12 \n\x1bPATIENT_PORTAL__SEND_INVITE\x10\xd4\x0f\x12=\n8PATIENT_PORTAL__APPOINTMENTS__SLOTS__POST_SEARCH_RESULTS\x10\xd5\x0f\x12M\nHPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__PRE_SEARCH_RESULTS\x10\xd6\x0f\x12N\nIPATIENT_PORTAL__APPOINTMENTS__FORM_APPOINTMENT_TYPES__POST_SEARCH_RESULTS\x10\xd7\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__PRE_SEARCH_RESULTS\x10\xd8\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_LOCATIONS__POST_SEARCH_RESULTS\x10\xd9\x0f\x12\x45\n@PATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__PRE_SEARCH_RESULTS\x10\xda\x0f\x12\x46\nAPATIENT_PORTAL__APPOINTMENTS__FORM_PROVIDERS__POST_SEARCH_RESULTS\x10\xdb\x0f\x12.\n)PATIENT_PORTAL__APPLICATION_CONFIGURATION\x10\xdc\x0f\x12\x1a\n\x15\x41\x44\x44_BILLING_LINE_ITEM\x10\xee\x0f\x12\x1d\n\x18UPDATE_BILLING_LINE_ITEM\x10\xef\x0f\x12\x1d\n\x18REMOVE_BILLING_LINE_ITEM\x10\xf0\x0f\x12#\n\x1eSHOW_PATIENT_PORTAL_MENU_ITEMS\x10\xb4\x10\x12\x12\n\rPORTAL_WIDGET\x10\xb5\x10\x12\x11\n\x0cLAUNCH_MODAL\x10\xb8\x17\x12\x18\n\x13SIMPLE_API_RESPONSE\x10\xa0\x1f\x12 \n\x1bSIMPLE_API_WEBSOCKET_ACCEPT\x10\xa1\x1f\x12\x1e\n\x19SIMPLE_API_WEBSOCKET_DENY\x10\xa2\x1f\x12#\n\x1eSIMPLE_API_WEBSOCKET_BROADCAST\x10\xa3\x1f\x12\x10\n\x0bUPDATE_USER\x10\x88\'\x12\x10\n\x0b\x43REATE_NOTE\x10\xf0.\x12\x17\n\x12\x43REATE_APPOINTMENT\x10\xf1.\x12\x1a\n\x15\x43REATE_SCHEDULE_EVENT\x10\xf2.\x12\x13\n\x0e\x43REATE_PATIENT\x10\xf3.\x12\x13\n\x0e\x43REATE_MESSAGE\x10\xf4.\x12\x11\n\x0cSEND_MESSAGE\x10\xf5.\x12\x1c\n\x17\x43REATE_AND_SEND_MESSAGE\x10\xf6.\x12\x11\n\x0c\x45\x44IT_MESSAGE\x10\xf7.\x12/\n*PATIENT_METADATA__CREATE_ADDITIONAL_FIELDS\x10\xfa.\x12\x1c\n\x17UPSERT_PATIENT_METADATA\x10\xfb.\x12\'\n\"CREATE_PATIENT_EXTERNAL_IDENTIFIER\x10\xfc.b\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,7 +22,7 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'canvas_generated.messages.e
22
22
  if _descriptor._USE_C_DESCRIPTORS == False:
23
23
  DESCRIPTOR._options = None
24
24
  _globals['_EFFECTTYPE']._serialized_start=175
25
- _globals['_EFFECTTYPE']._serialized_end=7748
25
+ _globals['_EFFECTTYPE']._serialized_end=7819
26
26
  _globals['_EFFECT']._serialized_start=51
27
27
  _globals['_EFFECT']._serialized_end=172
28
28
  # @@protoc_insertion_point(module_scope)
@@ -226,6 +226,8 @@ class EffectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
226
226
  CREATE_AND_SEND_MESSAGE: _ClassVar[EffectType]
227
227
  EDIT_MESSAGE: _ClassVar[EffectType]
228
228
  PATIENT_METADATA__CREATE_ADDITIONAL_FIELDS: _ClassVar[EffectType]
229
+ UPSERT_PATIENT_METADATA: _ClassVar[EffectType]
230
+ CREATE_PATIENT_EXTERNAL_IDENTIFIER: _ClassVar[EffectType]
229
231
  UNKNOWN_EFFECT: EffectType
230
232
  LOG: EffectType
231
233
  ADD_PLAN_COMMAND: EffectType
@@ -445,6 +447,8 @@ SEND_MESSAGE: EffectType
445
447
  CREATE_AND_SEND_MESSAGE: EffectType
446
448
  EDIT_MESSAGE: EffectType
447
449
  PATIENT_METADATA__CREATE_ADDITIONAL_FIELDS: EffectType
450
+ UPSERT_PATIENT_METADATA: EffectType
451
+ CREATE_PATIENT_EXTERNAL_IDENTIFIER: EffectType
448
452
 
449
453
  class Effect(_message.Message):
450
454
  __slots__ = ("type", "payload", "plugin_name", "classname", "handler_name")
@@ -1,3 +1,11 @@
1
- from canvas_sdk.effects.patient.base import Patient, PatientContactPoint
1
+ from canvas_sdk.effects.patient.base import Patient, PatientContactPoint, PatientExternalIdentifier
2
+ from canvas_sdk.effects.patient.create_patient_external_identifier import (
3
+ CreatePatientExternalIdentifier,
4
+ )
2
5
 
3
- __all__ = __exports__ = ("Patient", "PatientContactPoint")
6
+ __all__ = __exports__ = (
7
+ "Patient",
8
+ "PatientContactPoint",
9
+ "PatientExternalIdentifier",
10
+ "CreatePatientExternalIdentifier",
11
+ )
@@ -32,6 +32,21 @@ class PatientContactPoint:
32
32
  }
33
33
 
34
34
 
35
+ @dataclass
36
+ class PatientExternalIdentifier:
37
+ """A class representing a patient external identifier."""
38
+
39
+ value: str
40
+ system: str | None = None
41
+
42
+ def to_dict(self) -> dict[str, Any]:
43
+ """Convert the external identifier to a dictionary."""
44
+ return {
45
+ "system": self.system,
46
+ "value": self.value,
47
+ }
48
+
49
+
35
50
  class Patient(TrackableFieldsModel):
36
51
  """Effect to create a Patient record."""
37
52
 
@@ -53,6 +68,7 @@ class Patient(TrackableFieldsModel):
53
68
  default_provider_id: str | None = None
54
69
  previous_names: list[str] | None = None
55
70
  contact_points: list[PatientContactPoint] | None = None
71
+ external_identifiers: list[PatientExternalIdentifier] | None = None
56
72
 
57
73
  @property
58
74
  def values(self) -> dict[str, Any]:
@@ -75,6 +91,9 @@ class Patient(TrackableFieldsModel):
75
91
  "contact_points": [cp.to_dict() for cp in self.contact_points]
76
92
  if self.contact_points
77
93
  else None,
94
+ "external_identifiers": [ids.to_dict() for ids in self.external_identifiers]
95
+ if self.external_identifiers
96
+ else None,
78
97
  }
79
98
 
80
99
  def _get_error_details(self, method: Any) -> list[InitErrorDetails]:
@@ -120,4 +139,4 @@ class Patient(TrackableFieldsModel):
120
139
  )
121
140
 
122
141
 
123
- __exports__ = ("Patient", "PatientContactPoint")
142
+ __exports__ = ("Patient", "PatientContactPoint", "PatientExternalIdentifier")
@@ -0,0 +1,40 @@
1
+ import json
2
+
3
+ from canvas_generated.messages.effects_pb2 import Effect
4
+ from canvas_sdk.base import TrackableFieldsModel
5
+
6
+
7
+ class CreatePatientExternalIdentifier(TrackableFieldsModel):
8
+ """Effect to create a Patient External Identifier record."""
9
+
10
+ class Meta:
11
+ effect_type = "PATIENT_EXTERNAL_IDENTIFIER"
12
+
13
+ value: str
14
+ system: str | None = None
15
+ patient_id: str | None = None
16
+
17
+ @property
18
+ def values(self) -> dict[str, str | None]:
19
+ """Return the values of the external identifier."""
20
+ return {
21
+ "value": self.value,
22
+ "system": self.system,
23
+ "patient_id": self.patient_id,
24
+ }
25
+
26
+ def create(self) -> Effect:
27
+ """Create a new Patient External Identifier."""
28
+ self._validate_before_effect("create")
29
+
30
+ return Effect(
31
+ type=f"CREATE_{self.Meta.effect_type}",
32
+ payload=json.dumps(
33
+ {
34
+ "data": self.values,
35
+ }
36
+ ),
37
+ )
38
+
39
+
40
+ __exports__ = ("CreatePatientExternalIdentifier",)
@@ -0,0 +1,13 @@
1
+ from canvas_sdk.effects.patient_metadata.base import PatientMetadata
2
+ from canvas_sdk.effects.patient_metadata.patient_metadata_create_form import (
3
+ FormField,
4
+ InputType,
5
+ PatientMetadataCreateFormEffect,
6
+ )
7
+
8
+ __all__ = __exports__ = (
9
+ "FormField",
10
+ "InputType",
11
+ "PatientMetadata",
12
+ "PatientMetadataCreateFormEffect",
13
+ )
@@ -0,0 +1,48 @@
1
+ import json
2
+ from typing import Any
3
+
4
+ from pydantic_core import InitErrorDetails
5
+
6
+ from canvas_generated.messages.effects_pb2 import Effect
7
+ from canvas_sdk.base import TrackableFieldsModel
8
+ from canvas_sdk.v1.data import Patient
9
+
10
+
11
+ class PatientMetadata(TrackableFieldsModel):
12
+ """Effect to upsert a Patient Metadata record."""
13
+
14
+ class Meta:
15
+ effect_type = "PATIENT_METADATA"
16
+
17
+ patient_id: str
18
+ key: str
19
+
20
+ def _get_error_details(self, method: Any) -> list[InitErrorDetails]:
21
+ errors = super()._get_error_details(method)
22
+
23
+ if not Patient.objects.filter(id=self.patient_id).exists():
24
+ errors.append(
25
+ self._create_error_detail(
26
+ "patient_id",
27
+ f"Patient with id: {self.patient_id} does not exist.",
28
+ self.patient_id,
29
+ )
30
+ )
31
+
32
+ return errors
33
+
34
+ def upsert(self, value: str) -> Effect:
35
+ """Upsert the patient metadata."""
36
+ self._validate_before_effect("upsert")
37
+
38
+ return Effect(
39
+ type=f"UPSERT_{self.Meta.effect_type}",
40
+ payload=json.dumps(
41
+ {
42
+ "data": {**self.values, "value": value},
43
+ }
44
+ ),
45
+ )
46
+
47
+
48
+ __exports__ = ("PatientMetadata",)
@@ -1,3 +1,6 @@
1
1
  from canvas_sdk.effects.protocol_card.protocol_card import ProtocolCard, Recommendation
2
2
 
3
- __all__ = __exports__ = ("ProtocolCard", "Recommendation")
3
+ __all__ = __exports__ = (
4
+ "ProtocolCard",
5
+ "Recommendation",
6
+ )
@@ -55,6 +55,7 @@ class ProtocolCard(_BaseEffect):
55
55
  status: Status = Status.DUE
56
56
  feedback_enabled: bool = False
57
57
  due_in: int = -1
58
+ can_be_snoozed: bool = False
58
59
 
59
60
  @property
60
61
  def values(self) -> dict[str, Any]:
@@ -68,6 +69,7 @@ class ProtocolCard(_BaseEffect):
68
69
  "status": self.status.value,
69
70
  "feedback_enabled": self.feedback_enabled,
70
71
  "due_in": self.due_in,
72
+ "can_be_snoozed": self.can_be_snoozed,
71
73
  }
72
74
 
73
75
  @property
canvas_sdk/utils/http.py CHANGED
@@ -281,29 +281,73 @@ class OntologiesHttp(JsonOnlyHttp):
281
281
  """
282
282
 
283
283
  def __init__(self) -> None:
284
- super().__init__(base_url="https://ontologies.canvasmedical.com")
284
+ super().__init__(
285
+ base_url=os.getenv("ONTOLOGIES_ENDPOINT", "https://ontologies.canvasmedical.com")
286
+ )
285
287
 
286
288
  self._session.headers.update({"Authorization": os.getenv("PRE_SHARED_KEY", "")})
287
289
 
288
290
 
291
+ class PharmacyHttp:
292
+ """
293
+ An HTTP client for the pharmacy service.
294
+ """
295
+
296
+ def __init__(self) -> None:
297
+ self._http_client = JsonOnlyHttp(
298
+ base_url=os.getenv("PHARMACY_ENDPOINT", "https://pharmacy.canvasmedical.com")
299
+ )
300
+
301
+ self._http_client._session.headers.update(
302
+ {"Authorization": os.getenv("PRE_SHARED_KEY", "")}
303
+ )
304
+
305
+ def search_pharmacies(
306
+ self, search_term: str, latitude: str | None = None, longitude: str | None = None
307
+ ) -> list[dict]:
308
+ """Search for pharmacies by term and optional location."""
309
+ params = {"search": search_term}
310
+ if latitude and longitude:
311
+ params.update(
312
+ {
313
+ "latitude": latitude,
314
+ "longitude": longitude,
315
+ }
316
+ )
317
+
318
+ query_string = urllib.parse.urlencode(params)
319
+ response = self._http_client.get_json(f"/surescripts/pharmacy/?{query_string}")
320
+ response_json = response.json()
321
+ return response_json.get("results", []) if response_json else []
322
+
323
+ def get_pharmacy_by_ncpdp_id(self, ncpdp_id: str) -> dict[str, Any] | None:
324
+ """Lookup a pharmacy by its NCPDP ID."""
325
+ response = self._http_client.get_json(f"/surescripts/pharmacy/ncpdp_id/{ncpdp_id}/")
326
+ return response.json()
327
+
328
+
289
329
  class ScienceHttp(JsonOnlyHttp):
290
330
  """
291
331
  An HTTP client for the ontologies service.
292
332
  """
293
333
 
294
334
  def __init__(self) -> None:
295
- super().__init__(base_url="https://science.canvasmedical.com")
335
+ super().__init__(
336
+ base_url=os.getenv("SCIENCE_ENDPOINT", "https://science.canvasmedical.com")
337
+ )
296
338
 
297
339
  self._session.headers.update({"Authorization": os.getenv("PRE_SHARED_KEY", "")})
298
340
 
299
341
 
300
342
  ontologies_http = OntologiesHttp()
301
343
  science_http = ScienceHttp()
344
+ pharmacy_http = PharmacyHttp()
302
345
 
303
346
  __all__ = __exports__ = (
304
347
  "ThreadPoolExecutor",
305
348
  "Http",
306
349
  "ontologies_http",
350
+ "pharmacy_http",
307
351
  "science_http",
308
352
  "batch_get",
309
353
  "batch_post",
@@ -4,12 +4,16 @@ from .assessment import Assessment
4
4
  from .banner_alert import BannerAlert
5
5
  from .billing import BillingLineItem, BillingLineItemModifier
6
6
  from .care_team import CareTeamMembership, CareTeamRole
7
+ from .claim import Claim, ClaimCoverage, ClaimPatient, ClaimQueue
8
+ from .claim_line_item import ClaimLineItem
7
9
  from .command import Command
8
10
  from .condition import Condition, ConditionCoding
9
11
  from .coverage import Coverage, Transactor, TransactorAddress, TransactorPhone
10
12
  from .detected_issue import DetectedIssue, DetectedIssueEvidence
11
13
  from .device import Device
14
+ from .discount import Discount
12
15
  from .imaging import ImagingOrder, ImagingReport, ImagingReview
16
+ from .invoice import Invoice
13
17
  from .lab import (
14
18
  LabOrder,
15
19
  LabOrderReason,
@@ -20,6 +24,7 @@ from .lab import (
20
24
  LabValue,
21
25
  LabValueCoding,
22
26
  )
27
+ from .line_item_transaction import LineItemTransfer, NewLineItemAdjustment, NewLineItemPayment
23
28
  from .medication import Medication, MedicationCoding
24
29
  from .message import Message, MessageAttachment, MessageTransmission
25
30
  from .note import Note, NoteType
@@ -39,6 +44,14 @@ from .patient import (
39
44
  PatientMetadata,
40
45
  PatientSetting,
41
46
  )
47
+ from .payment_collection import PaymentCollection
48
+ from .posting import (
49
+ BasePosting,
50
+ BaseRemittanceAdvice,
51
+ BulkPatientPosting,
52
+ CoveragePosting,
53
+ PatientPosting,
54
+ )
42
55
  from .practicelocation import PracticeLocation, PracticeLocationSetting
43
56
  from .protocol_override import ProtocolOverride
44
57
  from .questionnaire import (
@@ -63,24 +76,35 @@ __all__ = __exports__ = (
63
76
  "AllergyIntoleranceCoding",
64
77
  "Assessment",
65
78
  "BannerAlert",
79
+ "BasePosting",
80
+ "BaseRemittanceAdvice",
66
81
  "BillingLineItem",
67
82
  "BillingLineItemModifier",
83
+ "BulkPatientPosting",
68
84
  "CanvasUser",
69
85
  "CareTeamMembership",
70
86
  "CareTeamRole",
87
+ "Claim",
88
+ "ClaimCoverage",
89
+ "ClaimLineItem",
90
+ "ClaimPatient",
91
+ "ClaimQueue",
71
92
  "Command",
72
93
  "Condition",
73
94
  "ConditionCoding",
74
95
  "Coverage",
96
+ "CoveragePosting",
75
97
  "DetectedIssue",
76
98
  "DetectedIssueEvidence",
77
99
  "Device",
100
+ "Discount",
78
101
  "ImagingOrder",
79
102
  "ImagingReport",
80
103
  "ImagingReview",
81
104
  "Interview",
82
105
  "InterviewQuestionnaireMap",
83
106
  "InterviewQuestionResponse",
107
+ "Invoice",
84
108
  "LabOrder",
85
109
  "LabOrderReason",
86
110
  "LabOrderReasonCondition",
@@ -89,11 +113,14 @@ __all__ = __exports__ = (
89
113
  "LabTest",
90
114
  "LabValue",
91
115
  "LabValueCoding",
116
+ "LineItemTransfer",
92
117
  "Medication",
93
118
  "MedicationCoding",
94
119
  "Message",
95
120
  "MessageAttachment",
96
121
  "MessageTransmission",
122
+ "NewLineItemAdjustment",
123
+ "NewLineItemPayment",
97
124
  "Note",
98
125
  "NoteType",
99
126
  "Observation",
@@ -106,8 +133,10 @@ __all__ = __exports__ = (
106
133
  "PatientAddress",
107
134
  "PatientContactPoint",
108
135
  "PatientExternalIdentifier",
136
+ "PatientPosting",
109
137
  "PatientSetting",
110
138
  "PatientMetadata",
139
+ "PaymentCollection",
111
140
  "PracticeLocation",
112
141
  "PracticeLocationSetting",
113
142
  "ProtocolOverride",
@@ -37,8 +37,12 @@ class AllergyIntolerance(models.Model):
37
37
  created = models.DateTimeField()
38
38
  modified = models.DateTimeField()
39
39
  deleted = models.BooleanField()
40
- committer = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, null=True)
41
- entered_in_error = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, null=True)
40
+ committer = models.ForeignKey(
41
+ "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
42
+ )
43
+ entered_in_error = models.ForeignKey(
44
+ "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
45
+ )
42
46
  patient = models.ForeignKey(
43
47
  "v1.Patient",
44
48
  on_delete=models.DO_NOTHING,
@@ -20,10 +20,14 @@ class Assessment(models.Model):
20
20
  dbid = models.BigIntegerField(primary_key=True)
21
21
  created = models.DateTimeField()
22
22
  modified = models.DateTimeField()
23
- originator = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING)
24
- committer = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, null=True)
23
+ originator = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, related_name="+")
24
+ committer = models.ForeignKey(
25
+ "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
26
+ )
25
27
  deleted = models.BooleanField()
26
- entered_in_error = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, null=True)
28
+ entered_in_error = models.ForeignKey(
29
+ "v1.CanvasUser", on_delete=models.DO_NOTHING, null=True, related_name="+"
30
+ )
27
31
  patient = models.ForeignKey(
28
32
  "v1.Patient",
29
33
  on_delete=models.DO_NOTHING,
@@ -56,7 +56,7 @@ class BillingLineItem(models.Model):
56
56
  null=True,
57
57
  )
58
58
  cpt = models.CharField()
59
- charge = models.DecimalField()
59
+ charge = models.DecimalField(decimal_places=2, max_digits=8)
60
60
  description = models.CharField()
61
61
  units = models.IntegerField()
62
62
  command_type = models.CharField()