canvas 0.65.0__tar.gz → 0.66.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of canvas might be problematic. Click here for more details.
- {canvas-0.65.0 → canvas-0.66.0}/PKG-INFO +1 -1
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/adjust_prescription.py +4 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/prescribe.py +6 -7
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/factories/__init__.py +8 -0
- canvas-0.66.0/canvas_sdk/test_utils/factories/medication_history.py +75 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/__init__.py +10 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/compound_medication.py +0 -1
- canvas-0.66.0/canvas_sdk/v1/data/medication_history.py +152 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/allowed-module-imports.json +10 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/sandbox.py +4 -0
- {canvas-0.65.0 → canvas-0.66.0}/pyproject.toml +1 -1
- {canvas-0.65.0 → canvas-0.66.0}/.gitignore +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/README.md +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/auth/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/auth/storage.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/auth/utils.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/emit.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CRON.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/SIMPLE_API_REQUEST.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/logs/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/logs/logs.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/plugin/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/plugin/plugin.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/run_plugins/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/run_plugins/run_plugins.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/main.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/application/cookiecutter.json +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/pyproject.toml +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/tests/test_models.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/CANVAS_MANIFEST.json +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/README.md +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/{{ cookiecutter.__package_name }}/protocols/my_protocol.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/context/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/context/context.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/print/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/print/print.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/urls/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/urls/urls.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/validators/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/validators/manifest_schema.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_cli/utils/validators/validators.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/effects_pb2.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/effects_pb2.pyi +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/effects_pb2_grpc.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/events_pb2.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/events_pb2.pyi +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/events_pb2_grpc.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/plugins_pb2.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/plugins_pb2.pyi +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/messages/plugins_pb2_grpc.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/services/plugin_runner_pb2.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/services/plugin_runner_pb2.pyi +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_generated/services/plugin_runner_pb2_grpc.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/caching/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/caching/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/caching/client.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/caching/exceptions.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/caching/plugins.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/caching/utils.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/allergy.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/assess.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/change_medication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/chart_section_review.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/close_goal.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/diagnose.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/exam.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/family_history.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/follow_up.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/goal.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/history_present_illness.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/imaging_order.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/immunization_statement.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/instruct.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/lab_order.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/medical_history.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/medication_statement.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/past_surgical_history.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/perform.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/plan.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/questionnaire/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/questionnaire/question.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/questionnaire/toggle_questions.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/reason_for_visit.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/refer.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/refill.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/remove_allergy.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/resolve_condition.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/review_of_systems.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/stop_medication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/structured_assessment.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/task.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/update_diagnosis.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/update_goal.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/commands/vitals.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/commands/constants.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/appointments_metadata/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/appointments_metadata/appointments_metadata_create_form.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/appointments_metadata/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/banner_alert/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/banner_alert/add_banner_alert.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/banner_alert/remove_banner_alert.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/billing_line_item/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/billing_line_item/add_billing_line_item.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/billing_line_item/remove_billing_line_item.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/billing_line_item/update_billing_line_item.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/calendar/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/calendar/create_calendar.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/calendar/create_event.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/compound_medications/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/compound_medications/compound_medication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/form.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/generate_full_chart_pdf.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/group.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/launch_modal.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/metadata.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/note/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/note/appointment.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/note/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/note/message.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/note/note.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/panel_configuration.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient/create_patient_external_identifier.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient/create_patient_preferred_pharmacies.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_chart_group.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_chart_summary_configuration.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_metadata/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_metadata/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_metadata/patient_metadata_create_form.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_portal/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_portal/application_configuration.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_portal/form_result.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_portal_menu_configuration.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/patient_profile_configuration.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/payment_processor.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/protocol_card/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/protocol_card/protocol_card.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/questionnaire_result.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/send_invite.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/show_button.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/simple_api.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/surescripts/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/surescripts/surescripts_messages.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/task/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/task/task.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/update_user.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/widgets/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/effects/widgets/portal_widget.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/events/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/events/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/action_button.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/application.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/cron_task.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/payment_processors/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/payment_processors/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/payment_processors/card.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/simple_api/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/simple_api/api.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/simple_api/exceptions.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/simple_api/security.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/simple_api/tools.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/handlers/simple_api/websocket.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/protocols/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/protocols/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/protocols/clinical_quality_measure.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/protocols/timeframe.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/questionnaires/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/questionnaires/utils.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/templates/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/templates/utils.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/factories/claim_diagnosis_code.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/factories/facility.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/factories/patient.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/factories/protocol_current.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/test_utils/factories/user.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/utils/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/utils/db.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/utils/http.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/utils/metrics.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/utils/plugins.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/apps.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/allergy_intolerance.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/appointment.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/assessment.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/banner_alert.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/base.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/billing.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/business_line.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/care_team.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/charge_description_master.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/claim.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/claim_diagnosis_code.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/claim_line_item.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/command.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/common.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/condition.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/coverage.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/detected_issue.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/device.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/discount.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/encounter.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/facility.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/fields.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/goal.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/imaging.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/immunization.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/invoice.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/lab.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/line_item_transaction.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/medication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/medication_statement.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/message.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/note.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/observation.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/organization.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/patient.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/patient_consent.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/payment_collection.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/payor_specific_charge.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/posting.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/practicelocation.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/protocol_current.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/protocol_override.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/protocol_result.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/questionnaire.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/reason_for_visit.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/referral.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/service_provider.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/staff.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/stop_medication_event.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/task.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/team.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/user.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/data/utils.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/v1/models.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/custom.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/hcc2018.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/adverse_event.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/allergy.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/assessment.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/communication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/condition.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/device.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/diagnostic_study.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/encounter.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/immunization.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/individual_characteristic.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/intervention.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/laboratory_test.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/medication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/physical_exam.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/procedure.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/v2022/symptom.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/value_set/value_set.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/canvas_sdk/views/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/logger/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/logger/logger.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/authentication.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/aws_headers.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/exceptions.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/generate_allowed_imports.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/installation.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/load_all_plugins.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/plugin_runner/plugin_runner.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/protobufs/canvas_generated/messages/effects.proto +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/protobufs/canvas_generated/messages/events.proto +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/protobufs/canvas_generated/messages/plugins.proto +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/protobufs/canvas_generated/services/plugin_runner.proto +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/pubsub/__init__.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/pubsub/pubsub.py +0 -0
- {canvas-0.65.0 → canvas-0.66.0}/settings.py +0 -0
|
@@ -13,5 +13,9 @@ class AdjustPrescriptionCommand(RefillCommand):
|
|
|
13
13
|
default=None, json_schema_extra={"commands_api_name": "change_medication_to"}
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
+
def _has_fdb_code(self) -> bool:
|
|
17
|
+
"""Check if new_fdb_code is provided and non-empty."""
|
|
18
|
+
return self.new_fdb_code is not None and self.new_fdb_code.strip() != ""
|
|
19
|
+
|
|
16
20
|
|
|
17
21
|
__exports__ = ("AdjustPrescriptionCommand",)
|
|
@@ -74,12 +74,16 @@ class PrescribeCommand(_SendableCommandMixin, _BaseCommand):
|
|
|
74
74
|
default=None, json_schema_extra={"commands_api_name": "compound_medication_data"}
|
|
75
75
|
)
|
|
76
76
|
|
|
77
|
+
def _has_fdb_code(self) -> bool:
|
|
78
|
+
"""Check if fdb_code is provided and non-empty."""
|
|
79
|
+
return self.fdb_code is not None and self.fdb_code.strip() != ""
|
|
80
|
+
|
|
77
81
|
def _get_error_details(self, method: str) -> list[InitErrorDetails]:
|
|
78
82
|
"""Add compound medication validation to the base validation."""
|
|
79
83
|
errors = super()._get_error_details(method)
|
|
80
84
|
|
|
81
85
|
# Validate that exactly one medication type is provided
|
|
82
|
-
has_fdb_code = self.
|
|
86
|
+
has_fdb_code = self._has_fdb_code()
|
|
83
87
|
has_compound_medication_id = (
|
|
84
88
|
self.compound_medication_id is not None and self.compound_medication_id.strip() != ""
|
|
85
89
|
)
|
|
@@ -156,10 +160,8 @@ class PrescribeCommand(_SendableCommandMixin, _BaseCommand):
|
|
|
156
160
|
str(Decimal(self.quantity_to_dispense)) if self.quantity_to_dispense else None
|
|
157
161
|
)
|
|
158
162
|
|
|
159
|
-
values["compound_medication_values"] = {}
|
|
160
|
-
|
|
161
163
|
if self.is_dirty("compound_medication_id") and self.compound_medication_id:
|
|
162
|
-
values["compound_medication_values"]
|
|
164
|
+
values["compound_medication_values"] = {"id": values.pop("compound_medication_id")}
|
|
163
165
|
|
|
164
166
|
# Handle compound medication data
|
|
165
167
|
elif (
|
|
@@ -170,9 +172,6 @@ class PrescribeCommand(_SendableCommandMixin, _BaseCommand):
|
|
|
170
172
|
if isinstance(compound_data, CompoundMedicationData):
|
|
171
173
|
values["compound_medication_values"] = compound_data.to_dict()
|
|
172
174
|
|
|
173
|
-
if values.get("fdb_code") is not None and values.get("compound_medication_values") == {}:
|
|
174
|
-
del values["compound_medication_values"]
|
|
175
|
-
|
|
176
175
|
return values
|
|
177
176
|
|
|
178
177
|
def originate(self, line_number: int = -1) -> Effect:
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
from .claim_diagnosis_code import ClaimDiagnosisCodeFactory
|
|
2
2
|
from .facility import FacilityFactory
|
|
3
|
+
from .medication_history import (
|
|
4
|
+
MedicationHistoryMedicationCodingFactory,
|
|
5
|
+
MedicationHistoryMedicationFactory,
|
|
6
|
+
MedicationHistoryResponseFactory,
|
|
7
|
+
)
|
|
3
8
|
from .patient import PatientAddressFactory, PatientFacilityAddressFactory, PatientFactory
|
|
4
9
|
from .protocol_current import ProtocolCurrentFactory
|
|
5
10
|
from .user import CanvasUserFactory
|
|
@@ -8,6 +13,9 @@ __all__ = (
|
|
|
8
13
|
"CanvasUserFactory",
|
|
9
14
|
"ClaimDiagnosisCodeFactory",
|
|
10
15
|
"FacilityFactory",
|
|
16
|
+
"MedicationHistoryMedicationFactory",
|
|
17
|
+
"MedicationHistoryMedicationCodingFactory",
|
|
18
|
+
"MedicationHistoryResponseFactory",
|
|
11
19
|
"PatientAddressFactory",
|
|
12
20
|
"PatientFacilityAddressFactory",
|
|
13
21
|
"PatientFactory",
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
import factory
|
|
4
|
+
from django.utils import timezone
|
|
5
|
+
from factory.fuzzy import FuzzyDate, FuzzyDateTime
|
|
6
|
+
|
|
7
|
+
from canvas_sdk.test_utils.factories.patient import PatientFactory
|
|
8
|
+
from canvas_sdk.v1.data.medication_history import (
|
|
9
|
+
MedicationHistoryMedication,
|
|
10
|
+
MedicationHistoryMedicationCoding,
|
|
11
|
+
MedicationHistoryResponse,
|
|
12
|
+
MedicationHistoryResponseStatus,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class MedicationHistoryMedicationFactory(
|
|
17
|
+
factory.django.DjangoModelFactory[MedicationHistoryMedication]
|
|
18
|
+
):
|
|
19
|
+
"""Factory for creating a MedicationHistoryMedication."""
|
|
20
|
+
|
|
21
|
+
class Meta:
|
|
22
|
+
model = MedicationHistoryMedication
|
|
23
|
+
|
|
24
|
+
patient = factory.SubFactory(PatientFactory)
|
|
25
|
+
last_fill_date = FuzzyDateTime(
|
|
26
|
+
start_dt=timezone.now() - datetime.timedelta(days=365), end_dt=timezone.now()
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
drug_description = factory.Faker("word")
|
|
30
|
+
strength_value = "10"
|
|
31
|
+
strength_form = "tablet"
|
|
32
|
+
strength_unit_of_measure = "mg"
|
|
33
|
+
quantity = 30.0
|
|
34
|
+
quantity_unit_of_measure = "tablets"
|
|
35
|
+
days_supply = 30
|
|
36
|
+
sig = factory.Faker("sentence", nb_words=4)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class MedicationHistoryMedicationCodingFactory(
|
|
40
|
+
factory.django.DjangoModelFactory[MedicationHistoryMedicationCoding]
|
|
41
|
+
):
|
|
42
|
+
"""Factory for creating a MedicationHistoryMedicationCoding."""
|
|
43
|
+
|
|
44
|
+
class Meta:
|
|
45
|
+
model = MedicationHistoryMedicationCoding
|
|
46
|
+
|
|
47
|
+
medication = factory.SubFactory(MedicationHistoryMedicationFactory)
|
|
48
|
+
|
|
49
|
+
system = "http://www.nlm.nih.gov/research/umls/rxnorm"
|
|
50
|
+
version = "1.0"
|
|
51
|
+
code = factory.Faker("numerify", text="######")
|
|
52
|
+
display = factory.Faker("word")
|
|
53
|
+
user_selected = False
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class MedicationHistoryResponseFactory(
|
|
57
|
+
factory.django.DjangoModelFactory[MedicationHistoryResponse]
|
|
58
|
+
):
|
|
59
|
+
"""Factory for creating a MedicationHistoryResponse."""
|
|
60
|
+
|
|
61
|
+
class Meta:
|
|
62
|
+
model = MedicationHistoryResponse
|
|
63
|
+
|
|
64
|
+
patient = factory.SubFactory(PatientFactory)
|
|
65
|
+
status = MedicationHistoryResponseStatus.STATUS_APPROVED
|
|
66
|
+
start_date = FuzzyDate(
|
|
67
|
+
start_date=datetime.date.today() - datetime.timedelta(days=365),
|
|
68
|
+
end_date=datetime.date.today(),
|
|
69
|
+
)
|
|
70
|
+
end_date = FuzzyDate(
|
|
71
|
+
start_date=datetime.date.today(),
|
|
72
|
+
end_date=datetime.date.today() + datetime.timedelta(days=365),
|
|
73
|
+
)
|
|
74
|
+
message_id = factory.Faker("uuid4")
|
|
75
|
+
related_to_message_id = factory.Faker("uuid4")
|
|
@@ -45,6 +45,12 @@ from .line_item_transaction import (
|
|
|
45
45
|
NewLineItemPayment,
|
|
46
46
|
)
|
|
47
47
|
from .medication import Medication, MedicationCoding
|
|
48
|
+
from .medication_history import (
|
|
49
|
+
MedicationHistoryMedication,
|
|
50
|
+
MedicationHistoryMedicationCoding,
|
|
51
|
+
MedicationHistoryResponse,
|
|
52
|
+
MedicationHistoryResponseStatus,
|
|
53
|
+
)
|
|
48
54
|
from .medication_statement import MedicationStatement
|
|
49
55
|
from .message import Message, MessageAttachment, MessageTransmission
|
|
50
56
|
from .note import CurrentNoteStateEvent, Note, NoteStateChangeEvent, NoteType
|
|
@@ -164,6 +170,10 @@ __all__ = __exports__ = (
|
|
|
164
170
|
"LineItemTransfer",
|
|
165
171
|
"Medication",
|
|
166
172
|
"MedicationCoding",
|
|
173
|
+
"MedicationHistoryMedication",
|
|
174
|
+
"MedicationHistoryMedicationCoding",
|
|
175
|
+
"MedicationHistoryResponseStatus",
|
|
176
|
+
"MedicationHistoryResponse",
|
|
167
177
|
"MedicationStatement",
|
|
168
178
|
"Message",
|
|
169
179
|
"MessageAttachment",
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
from django.contrib.postgres.fields import ArrayField
|
|
2
|
+
from django.db import models
|
|
3
|
+
from django.db.models import TextChoices
|
|
4
|
+
|
|
5
|
+
from canvas_sdk.v1.data.base import (
|
|
6
|
+
IdentifiableModel,
|
|
7
|
+
Model,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class MedicationHistoryMedication(IdentifiableModel):
|
|
12
|
+
"""MedicationHistoryMedication."""
|
|
13
|
+
|
|
14
|
+
class Meta:
|
|
15
|
+
db_table = "canvas_sdk_data_api_medicationhistorymedication_001"
|
|
16
|
+
|
|
17
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
18
|
+
modified = models.DateTimeField(auto_now=True)
|
|
19
|
+
|
|
20
|
+
patient = models.ForeignKey(
|
|
21
|
+
"v1.Patient",
|
|
22
|
+
on_delete=models.DO_NOTHING,
|
|
23
|
+
related_name="medication_history_medications",
|
|
24
|
+
null=True,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
drug_description = models.TextField(blank=True, default="")
|
|
28
|
+
|
|
29
|
+
strength_value = models.CharField(max_length=255, blank=True, default="")
|
|
30
|
+
strength_form = models.CharField(max_length=255, blank=True, default="")
|
|
31
|
+
strength_unit_of_measure = models.CharField(max_length=255, blank=True, default="")
|
|
32
|
+
|
|
33
|
+
quantity = models.FloatField(null=True)
|
|
34
|
+
quantity_unit_of_measure = models.CharField(max_length=255, blank=True, default="")
|
|
35
|
+
quantity_code_list_qualifier = models.CharField(max_length=255, blank=True, default="")
|
|
36
|
+
|
|
37
|
+
days_supply = models.IntegerField(null=True)
|
|
38
|
+
|
|
39
|
+
last_fill_date = models.DateTimeField(db_index=True)
|
|
40
|
+
written_date = models.DateTimeField(blank=True, null=True)
|
|
41
|
+
|
|
42
|
+
other_date = models.DateTimeField(blank=True, null=True)
|
|
43
|
+
other_date_qualifier = models.CharField(max_length=255, blank=True, default="")
|
|
44
|
+
|
|
45
|
+
substitutions = models.BooleanField(null=True)
|
|
46
|
+
|
|
47
|
+
refills_remaining = models.IntegerField(null=True)
|
|
48
|
+
|
|
49
|
+
diagnosis_code = models.CharField(max_length=255, blank=True, default="")
|
|
50
|
+
diagnosis_qualifier = models.CharField(max_length=255, blank=True, default="")
|
|
51
|
+
diagnosis_description = models.CharField(max_length=255, blank=True, default="")
|
|
52
|
+
|
|
53
|
+
secondary_diagnosis_code = models.CharField(max_length=255, blank=True, default="")
|
|
54
|
+
secondary_diagnosis_qualifier = models.CharField(max_length=255, blank=True, default="")
|
|
55
|
+
secondary_diagnosis_description = models.CharField(max_length=255, blank=True, default="")
|
|
56
|
+
|
|
57
|
+
dea_schedule = models.CharField(max_length=255, blank=True, default="")
|
|
58
|
+
|
|
59
|
+
potency_unit_code = models.CharField(max_length=20, blank=True, default="")
|
|
60
|
+
etc_path_id = ArrayField(base_field=models.IntegerField(), null=True)
|
|
61
|
+
etc_path_name = ArrayField(base_field=models.CharField(max_length=255), null=True)
|
|
62
|
+
|
|
63
|
+
fill_number = models.IntegerField(blank=True, null=True)
|
|
64
|
+
|
|
65
|
+
prescriber_order_number = models.CharField(max_length=255, blank=True, default="")
|
|
66
|
+
|
|
67
|
+
source_description = models.CharField(max_length=255, blank=True, default="")
|
|
68
|
+
source_qualifier = models.CharField(max_length=255, blank=True, default="")
|
|
69
|
+
source_payer_id = models.CharField(max_length=255, blank=True, default="")
|
|
70
|
+
source_type = models.CharField(max_length=255, blank=True, default="")
|
|
71
|
+
|
|
72
|
+
note = models.TextField(blank=True, default="")
|
|
73
|
+
sig = models.TextField(blank=True, default="")
|
|
74
|
+
|
|
75
|
+
prior_authorization_status = models.CharField(max_length=255, blank=True, default="")
|
|
76
|
+
prior_authorization = models.CharField(max_length=255, blank=True, default="")
|
|
77
|
+
|
|
78
|
+
pharmacy_name = models.CharField(max_length=255, blank=True, default="")
|
|
79
|
+
pharmacy_ncpdp_id = models.CharField(max_length=255, blank=True, default="")
|
|
80
|
+
pharmacy_npi = models.CharField(max_length=255, blank=True, default="")
|
|
81
|
+
|
|
82
|
+
prescriber_business_name = models.CharField(max_length=255, blank=True, default="")
|
|
83
|
+
prescriber_first_name = models.CharField(max_length=255, blank=True, default="")
|
|
84
|
+
prescriber_last_name = models.CharField(max_length=255, blank=True, default="")
|
|
85
|
+
prescriber_npi = models.CharField(max_length=255, blank=True, default="")
|
|
86
|
+
prescriber_dea_number = models.CharField(max_length=255, blank=True, default="")
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class MedicationHistoryMedicationCoding(Model):
|
|
90
|
+
"""MedicationHistoryMedicationCoding."""
|
|
91
|
+
|
|
92
|
+
class Meta:
|
|
93
|
+
db_table = "canvas_sdk_data_api_medicationhistorymedicationcoding_001"
|
|
94
|
+
|
|
95
|
+
system = models.CharField(max_length=255)
|
|
96
|
+
version = models.CharField(max_length=255)
|
|
97
|
+
code = models.CharField(max_length=255)
|
|
98
|
+
display = models.CharField(max_length=1000)
|
|
99
|
+
user_selected = models.BooleanField(default=False)
|
|
100
|
+
medication = models.ForeignKey(
|
|
101
|
+
MedicationHistoryMedication, on_delete=models.CASCADE, related_name="codings"
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class MedicationHistoryResponseStatus(TextChoices):
|
|
106
|
+
"""MedicationHistoryResponseStatus."""
|
|
107
|
+
|
|
108
|
+
STATUS_APPROVED = "approved"
|
|
109
|
+
STATUS_DENIED = "denied"
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class MedicationHistoryResponse(IdentifiableModel):
|
|
113
|
+
"""MedicationHistoryResponse."""
|
|
114
|
+
|
|
115
|
+
class Meta:
|
|
116
|
+
db_table = "canvas_sdk_data_api_medicationhistoryresponse_001"
|
|
117
|
+
|
|
118
|
+
created = models.DateTimeField(auto_now_add=True)
|
|
119
|
+
modified = models.DateTimeField(auto_now=True)
|
|
120
|
+
|
|
121
|
+
patient = models.ForeignKey(
|
|
122
|
+
"v1.Patient",
|
|
123
|
+
on_delete=models.CASCADE,
|
|
124
|
+
related_name="medication_history_responses",
|
|
125
|
+
)
|
|
126
|
+
staff = models.ForeignKey(
|
|
127
|
+
"v1.Staff",
|
|
128
|
+
on_delete=models.CASCADE,
|
|
129
|
+
related_name="medication_history_responses",
|
|
130
|
+
null=True,
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
message_id = models.CharField(max_length=35, blank=True, default="", db_index=True)
|
|
134
|
+
related_to_message_id = models.CharField(max_length=35, blank=True, default="", db_index=True)
|
|
135
|
+
|
|
136
|
+
status = models.CharField(choices=MedicationHistoryResponseStatus.choices, max_length=20)
|
|
137
|
+
|
|
138
|
+
reason = models.TextField(blank=True, default="")
|
|
139
|
+
reason_code = models.CharField(max_length=2, blank=True, default="")
|
|
140
|
+
|
|
141
|
+
note = models.TextField(blank=True, default="")
|
|
142
|
+
|
|
143
|
+
start_date = models.DateField()
|
|
144
|
+
end_date = models.DateField()
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
__exports__ = (
|
|
148
|
+
"MedicationHistoryMedication",
|
|
149
|
+
"MedicationHistoryMedicationCoding",
|
|
150
|
+
"MedicationHistoryResponseStatus",
|
|
151
|
+
"MedicationHistoryResponse",
|
|
152
|
+
)
|
|
@@ -602,6 +602,10 @@
|
|
|
602
602
|
"LineItemTransfer",
|
|
603
603
|
"Medication",
|
|
604
604
|
"MedicationCoding",
|
|
605
|
+
"MedicationHistoryMedication",
|
|
606
|
+
"MedicationHistoryMedicationCoding",
|
|
607
|
+
"MedicationHistoryResponse",
|
|
608
|
+
"MedicationHistoryResponseStatus",
|
|
605
609
|
"MedicationStatement",
|
|
606
610
|
"Message",
|
|
607
611
|
"MessageAttachment",
|
|
@@ -822,6 +826,12 @@
|
|
|
822
826
|
"MedicationCoding",
|
|
823
827
|
"Status"
|
|
824
828
|
],
|
|
829
|
+
"canvas_sdk.v1.data.medication_history": [
|
|
830
|
+
"MedicationHistoryMedication",
|
|
831
|
+
"MedicationHistoryMedicationCoding",
|
|
832
|
+
"MedicationHistoryResponse",
|
|
833
|
+
"MedicationHistoryResponseStatus"
|
|
834
|
+
],
|
|
825
835
|
"canvas_sdk.v1.data.medication_statement": [
|
|
826
836
|
"MedicationStatement"
|
|
827
837
|
],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson
RENAMED
|
File without changes
|
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/SIMPLE_API_REQUEST.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson
RENAMED
|
File without changes
|
{canvas-0.65.0 → canvas-0.66.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|