clinicedc 2.0.40__py3-none-any.whl → 2.0.42__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 clinicedc might be problematic. Click here for more details.
- {clinicedc-2.0.40.dist-info → clinicedc-2.0.42.dist-info}/METADATA +3 -1
- {clinicedc-2.0.40.dist-info → clinicedc-2.0.42.dist-info}/RECORD +338 -344
- edc_action_item/action.py +1 -1
- edc_action_item/action_item_notification.py +1 -1
- edc_action_item/choices.py +1 -1
- edc_action_item/data_fixers.py +1 -2
- edc_action_item/delete_action_item.py +1 -2
- edc_action_item/forms/action_item_form.py +1 -1
- edc_action_item/models/action_item.py +1 -1
- edc_action_item/models/action_type.py +1 -1
- edc_action_item/models/signals.py +1 -1
- edc_action_item/templatetags/action_item_extras.py +1 -1
- edc_action_item/utils.py +1 -2
- edc_action_item/view_mixins/action_item_view_mixin.py +1 -1
- edc_adherence/choices.py +1 -1
- edc_adherence/form_validator_mixin.py +1 -2
- edc_adherence/list_data.py +1 -1
- edc_adherence/model_mixins.py +1 -1
- edc_adverse_event/action_items/ae_followup_action.py +9 -9
- edc_adverse_event/action_items/ae_initial_action.py +12 -16
- edc_adverse_event/action_items/ae_susar_action.py +2 -1
- edc_adverse_event/action_items/ae_tmg_action.py +6 -4
- edc_adverse_event/action_items/death_report_action.py +7 -7
- edc_adverse_event/action_items/death_report_tmg_action.py +2 -1
- edc_adverse_event/action_items/death_report_tmg_second_action.py +2 -1
- edc_adverse_event/action_items/hospitalization_action.py +2 -1
- edc_adverse_event/auths.py +3 -1
- edc_adverse_event/choices.py +13 -6
- edc_adverse_event/constants.py +1 -23
- edc_adverse_event/form_validator_mixins/death_report_form_validator.py +1 -1
- edc_adverse_event/form_validator_mixins/requires_death_report_form_validator_mixin.py +1 -2
- edc_adverse_event/form_validators/ae_followup.py +2 -3
- edc_adverse_event/form_validators/ae_initial.py +2 -1
- edc_adverse_event/form_validators/ae_tmg.py +2 -1
- edc_adverse_event/form_validators/death_report_tmg.py +1 -1
- edc_adverse_event/form_validators/hospitalization.py +2 -1
- edc_adverse_event/list_data.py +1 -1
- edc_adverse_event/model_mixins/ae_followup/ae_followup_fields_model_mixin.py +1 -1
- edc_adverse_event/model_mixins/ae_followup/ae_followup_methods_model_mixin.py +1 -2
- edc_adverse_event/model_mixins/ae_initial/ae_initial_fields_model_mixin.py +1 -1
- edc_adverse_event/model_mixins/ae_initial/ae_initial_susar_model_mixin.py +2 -2
- edc_adverse_event/model_mixins/ae_susar/ae_susar_methods_model_mixin.py +1 -2
- edc_adverse_event/model_mixins/ae_tmg/ae_tmg_fields_model_mixin.py +1 -1
- edc_adverse_event/model_mixins/hospitaization/hospitalization_model_mixin.py +1 -1
- edc_adverse_event/modeladmin_mixins/ae_initial_admin_mixin.py +1 -1
- edc_adverse_event/modeladmin_mixins/ae_tmg_admin_mixin.py +1 -1
- edc_adverse_event/modeladmin_mixins/death_report_admin_mixin.py +1 -1
- edc_adverse_event/modeladmin_mixins/death_report_tmg_admin_mixin.py +1 -1
- edc_adverse_event/modelform_mixins/ae_followup_modelform_mixin.py +1 -2
- edc_adverse_event/modelform_mixins/ae_initial_modelform_mixin.py +1 -2
- edc_adverse_event/models/signals.py +2 -2
- edc_adverse_event/pdf_reports/ae_pdf_report.py +3 -2
- edc_adverse_event/pdf_reports/death_pdf_report.py +3 -2
- edc_adverse_event/templatetags/edc_adverse_event_extras.py +2 -3
- edc_adverse_event/urls.py +1 -0
- edc_adverse_event/utils.py +11 -14
- edc_adverse_event/view_mixins/ae/ae_listboard_view_mixin.py +3 -3
- edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py +1 -1
- edc_adverse_event/view_mixins/tmg/tmg_ae_listboard_view_mixin.py +2 -1
- edc_adverse_event/views/home_view.py +1 -0
- edc_adverse_event/views/tmg/home_view.py +1 -1
- edc_adverse_event/views/tmg/status_listboards.py +1 -1
- edc_analytics/custom_tables/age.py +1 -2
- edc_analytics/custom_tables/art.py +1 -2
- edc_analytics/custom_tables/bmi.py +1 -3
- edc_analytics/custom_tables/bp.py +1 -3
- edc_analytics/custom_tables/fasting.py +1 -2
- edc_analytics/custom_tables/fbg.py +1 -2
- edc_analytics/custom_tables/fbg_ogtt.py +1 -2
- edc_analytics/custom_tables/hba1c.py +1 -2
- edc_analytics/custom_tables/ogtt.py +1 -2
- edc_analytics/custom_tables/waist.py +1 -2
- edc_analytics/row/row_statistics_with_gender.py +1 -2
- edc_analytics/table.py +1 -2
- edc_appointment/admin/actions.py +1 -1
- edc_appointment/admin/appointment_admin.py +1 -1
- edc_appointment/appointment_reason_updater.py +1 -1
- edc_appointment/choices.py +1 -2
- edc_appointment/form_validator_mixins/next_appointment_crf_form_validator_mixin.py +1 -1
- edc_appointment/list_data.py +2 -3
- edc_appointment/model_mixins/missed_appointment_model_mixin.py +1 -1
- edc_appointment/model_mixins/next_appointment_crf_model_mixin.py +1 -2
- edc_appointment/modeladmin_mixins/next_appointment_crf_modeladmin_mixin.py +1 -1
- edc_appointment/models/signals.py +1 -1
- edc_appointment/utils.py +4 -2
- edc_auth/constants.py +3 -0
- edc_consent/choices.py +1 -1
- edc_consent/consent_definition.py +1 -1
- edc_consent/consent_definition_extension.py +1 -1
- edc_consent/field_mixins/citizen_fields_mixin.py +3 -3
- edc_consent/model_mixins/consent_model_mixin.py +1 -1
- edc_consent/modelform_mixins/consent_modelform_mixin/consent_modelform_validation_mixin.py +1 -1
- edc_consent/modelform_mixins/consent_modelform_mixin/review_fields_modelform_mixin.py +1 -2
- edc_consent/validators.py +5 -10
- edc_constants/__init__.py +0 -3
- edc_constants/choices.py +2 -3
- edc_constants/context_processor.py +2 -3
- edc_constants/utils.py +2 -3
- edc_crf/model_mixins/crf_status_model_mixin.py +1 -1
- edc_crf/model_mixins/singleton_crf_model_mixin.py +0 -1
- edc_crf/update_crf_status_command.py +1 -2
- edc_crf/update_crf_status_for_instance.py +1 -2
- edc_dashboard/url_config.py +1 -2
- edc_dashboard/views/administration_view.py +1 -0
- edc_data_manager/action_items.py +7 -7
- edc_data_manager/admin/actions.py +1 -1
- edc_data_manager/admin/data_query_admin.py +10 -10
- edc_data_manager/choices.py +1 -1
- edc_data_manager/forms/data_query.py +1 -1
- edc_data_manager/handlers/handlers.py +1 -1
- edc_data_manager/migrations/0043_alter_historicalqueryrule_comment_and_more.py +51 -0
- edc_data_manager/models/data_query.py +1 -1
- edc_data_manager/models/model_mixins.py +1 -2
- edc_data_manager/models/query_rule.py +1 -1
- edc_data_manager/view_mixins/data_manager_view_mixin.py +1 -1
- edc_document_status/model_mixins.py +1 -1
- edc_document_status/models/signals.py +1 -2
- edc_dx/diagnoses.py +2 -3
- edc_dx/form_validators/diagnosis_form_validator_mixin.py +1 -2
- edc_dx_review/choices.py +1 -1
- edc_dx_review/form_validator_mixins/clinical_review_followup_form_validator_mixin.py +2 -1
- edc_dx_review/list_data.py +1 -1
- edc_dx_review/medical_date.py +1 -1
- edc_dx_review/model_mixins/clinical_review_baseline_model_mixin.py +1 -1
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_chol_model_mixin.py +1 -1
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_dm_model_mixin.py +1 -1
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_hiv_model_mixin.py +1 -1
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_htn_model_mixin.py +1 -1
- edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_model_mixin.py +1 -1
- edc_dx_review/model_mixins/factory/baseline_review_model_mixin_factory.py +1 -1
- edc_dx_review/model_mixins/factory/calculate_date.py +1 -1
- edc_dx_review/model_mixins/factory/dx_initial_review_model_mixin_factory.py +1 -1
- edc_dx_review/model_mixins/factory/followup_review_model_mixin_factory.py +1 -1
- edc_dx_review/model_mixins/factory/rx_initial_review_model_mixin_factory.py +1 -1
- edc_dx_review/model_mixins/followup_review/followup_review_model_mixin.py +1 -1
- edc_dx_review/model_mixins/followup_review/hiv_followup_review_model_mixin.py +1 -1
- edc_dx_review/model_mixins/initial_review/chol_initial_review_model_mixin.py +1 -1
- edc_dx_review/model_mixins/initial_review/hiv_initial_model_mixins.py +2 -3
- edc_dx_review/model_mixins/initial_review/ncd_initial_review_model_mixin.py +1 -1
- edc_dx_review/utils.py +1 -1
- edc_egfr/__init__.py +0 -1
- edc_egfr/egfr.py +23 -15
- edc_egfr/form_validator_mixins/egfr_form_validator_mixins.py +30 -25
- edc_egfr/model_mixins/egfr_drop_notification_model_mixin.py +8 -2
- edc_egfr/model_mixins/egfr_model_mixin.py +2 -2
- edc_export/management/commands/import_receipts.py +1 -2
- edc_export/model_exporter/object_history_helpers.py +1 -2
- edc_export/models/object_history.py +1 -1
- edc_export/models/upload_export_receipt_file.py +1 -1
- edc_facility/list_data.py +1 -1
- edc_fieldsets/fieldsets_modeladmin_mixin.py +1 -2
- edc_form_validators/applicable_field_validator.py +1 -1
- edc_form_validators/date_validator.py +1 -1
- edc_form_validators/many_to_many_field_validator.py +1 -2
- edc_form_validators/other_specify_field_validator.py +1 -2
- edc_form_validators/required_field_validator.py +1 -2
- edc_glucose/form_validators/fasting_form_validator.py +1 -1
- edc_glucose/form_validators/glucose_form_validator.py +3 -3
- edc_glucose/form_validators/glucose_form_validator_mixin.py +1 -2
- edc_glucose/form_validators/ogtt_form_validator_mixin.py +1 -2
- edc_glucose/model_mixin_factories/fasting_model_mixin_factory.py +1 -1
- edc_glucose/model_mixin_factories/fbg_model_mixin_factory.py +1 -2
- edc_glucose/model_mixin_factories/glucose_model_mixin_factory.py +1 -1
- edc_glucose/model_mixin_factories/ogtt_model_mixin_factory.py +1 -2
- edc_glucose/model_mixins/hba1c_model_mixin.py +1 -3
- edc_glucose/utils.py +2 -2
- edc_identifier/model_mixins.py +1 -2
- edc_identifier/models.py +1 -1
- edc_identifier/simple_identifier.py +1 -2
- edc_lab/admin/modeladmin_mixins.py +1 -1
- edc_lab/choices.py +7 -10
- edc_lab/constants.py +0 -2
- edc_lab/form_validators/crf_requisition_form_validator_mixin.py +1 -0
- edc_lab/form_validators/requisition_form_validator_mixin.py +1 -1
- edc_lab/lab/specimen.py +1 -2
- edc_lab/model_mixins/requisition/requisition_identifier_mixin.py +1 -1
- edc_lab/model_mixins/requisition/requisition_model_mixin.py +1 -1
- edc_lab/model_mixins/shipping/manifest_model_mixin.py +1 -1
- edc_lab/model_mixins/shipping/verify_model_mixin.py +1 -2
- edc_lab/models/box.py +1 -1
- edc_lab_dashboard/middleware.py +1 -0
- edc_lab_dashboard/urls.py +1 -0
- edc_lab_dashboard/view_mixins/form_action_view_mixin.py +1 -0
- edc_lab_dashboard/view_mixins/process_requisition_view_mixin.py +1 -1
- edc_lab_dashboard/views/action_views/manage_box_item_view.py +1 -0
- edc_lab_dashboard/views/action_views/receive_view.py +1 -1
- edc_lab_dashboard/views/listboard_views/manage_box_listboard_view.py +1 -0
- edc_lab_dashboard/views/listboard_views/pack_listboard_view.py +1 -1
- edc_lab_dashboard/views/listboard_views/process_listboard_view.py +2 -1
- edc_lab_dashboard/views/listboard_views/receive_listboard_view.py +2 -1
- edc_lab_dashboard/views/listboard_views/requisition_listboard_view.py +1 -2
- edc_lab_dashboard/views/listboard_views/verify_box_listboard_view.py +1 -0
- edc_lab_results/action_items.py +1 -1
- edc_lab_results/form_validator_mixins/blood_results_fbg_form_validator_mixin.py +1 -1
- edc_lab_results/form_validator_mixins/blood_results_form_validator_mixin.py +2 -1
- edc_lab_results/model_mixin_factories/field_attrs.py +1 -1
- edc_lab_results/model_mixins/electrolytes_model_mixins.py +2 -2
- edc_lab_results/model_mixins/fbc_model_mixins.py +9 -8
- edc_lab_results/model_mixins/fbg_model_mixin.py +2 -7
- edc_lab_results/model_mixins/glucose_model_mixin.py +2 -7
- edc_lab_results/model_mixins/insulin_model_mixin.py +2 -1
- edc_lab_results/model_mixins/lft_model_mixins.py +7 -6
- edc_lab_results/model_mixins/lipid_model_mixins.py +1 -2
- edc_lab_results/model_mixins/proteinuria_model_mixin.py +1 -2
- edc_lab_results/model_mixins/rft_model_mixins.py +5 -3
- edc_listboard/views/screen/screening_listboard_view.py +1 -1
- edc_locator/action_items.py +2 -1
- edc_locator/forms/subject_locator_form_validator.py +1 -1
- edc_locator/modeladmin_mixins.py +1 -1
- edc_ltfu/action_items.py +2 -1
- edc_ltfu/choices.py +1 -1
- edc_ltfu/constants.py +0 -2
- edc_ltfu/forms/ltfu_form_validator.py +2 -1
- edc_ltfu/forms/ltfu_form_validator_mixin.py +1 -1
- edc_ltfu/modelform_mixins.py +2 -5
- edc_metadata/admin/modeladmin_mixins.py +4 -4
- edc_model/choices.py +1 -1
- edc_model/models/fields/date_estimated.py +1 -1
- edc_model_admin/context_processors.py +1 -1
- edc_model_admin/list_filters/future_date_list_filter.py +6 -7
- edc_model_admin/list_filters/list_field_with_other_list_filter.py +1 -1
- edc_model_admin/list_filters/past_date_list_filter.py +6 -7
- edc_model_admin/mixins/model_admin_redirect_on_delete_mixin.py +1 -0
- edc_model_admin/templatetags/edc_admin_modify.py +1 -1
- edc_model_fields/fields/date_estimated.py +1 -1
- edc_model_to_dataframe/model_to_dataframe.py +1 -1
- edc_navbar/navbar_item.py +1 -0
- edc_navbar/system_checks.py +3 -0
- edc_offstudy/action_items.py +2 -1
- edc_offstudy/choices.py +2 -1
- edc_pdf_reports/crf_pdf_report.py +9 -7
- edc_pdutils/dataframes/get_subject_consent.py +1 -2
- edc_pdutils/dataframes/get_subject_visit.py +1 -11
- edc_pdutils/helper.py +1 -2
- edc_pdutils/mappings.py +1 -1
- edc_pdutils/tables/crf.py +1 -2
- edc_pdutils/tables/requisition.py +1 -2
- edc_pdutils/utils/__init__.py +1 -0
- edc_pdutils/utils/convert_visit_code_to_float.py +8 -0
- edc_pdutils/utils/decrypt.py +5 -4
- edc_pdutils/utils/missing_subject_identifiers.py +5 -4
- edc_pharmacy/action_items.py +2 -1
- edc_pharmacy/admin/list_filters.py +1 -1
- edc_pharmacy/admin/stock/allocation_admin.py +1 -1
- edc_pharmacy/admin/stock/order_item_admin.py +1 -1
- edc_pharmacy/admin/stock/stock_request_admin.py +1 -1
- edc_pharmacy/admin/stock/stock_transfer_admin.py +1 -1
- edc_pharmacy/admin/stock/stock_transfer_item_admin.py +1 -1
- edc_pharmacy/choices.py +1 -2
- edc_pharmacy/form_validators/crf/study_medication_form_validator.py +1 -1
- edc_pharmacy/list_data.py +1 -1
- edc_pharmacy/model_mixins/study_medication_crf_model_mixin.py +1 -1
- edc_pharmacy/model_mixins/study_medication_refill_model_mixin.py +1 -1
- edc_pharmacy/models/model_mixins.py +1 -2
- edc_pharmacy/models/prescription/rx.py +1 -1
- edc_pharmacy/models/signals.py +1 -1
- edc_pharmacy/models/stock/order.py +1 -1
- edc_pharmacy/models/stock/order_item.py +1 -2
- edc_pharmacy/models/stock/stock_request.py +1 -1
- edc_pharmacy/views/confirm_stock_from_queryset_view.py +2 -1
- edc_pharmacy/views/confirmation_at_site_view.py +1 -1
- edc_prn/models.py +1 -2
- edc_protocol_incident/action_items.py +2 -1
- edc_protocol_incident/choices.py +1 -1
- edc_protocol_incident/form_validators/mixins.py +2 -1
- edc_protocol_incident/form_validators/protocol_deviation_violation_form_validator.py +2 -1
- edc_protocol_incident/form_validators/protocol_incident_form_validator.py +2 -1
- edc_protocol_incident/list_data.py +1 -1
- edc_protocol_incident/model_mixins/protocol_deviation_violation_model_mixin.py +1 -1
- edc_protocol_incident/modeladmin_mixins.py +1 -1
- edc_qareports/choices.py +1 -1
- edc_qareports/migrations/0017_auto_20240816_0256.py +1 -2
- edc_qareports/modeladmin_mixins/list_filters.py +1 -2
- edc_qareports/modeladmin_mixins/qa_report_modeladmin_mixin.py +1 -1
- edc_qareports/sql_generator/requisition_subquery.py +1 -1
- edc_refusal/forms.py +2 -1
- edc_refusal/list_data.py +1 -1
- edc_registration/model_mixins/updates_or_creates_registered_subject_model_mixin.py +1 -1
- edc_registration/models/registered_subject.py +1 -1
- edc_reportable/__init__.py +0 -35
- edc_reportable/choices.py +8 -3
- edc_reportable/constants.py +0 -7
- edc_reportable/data/__init__.py +0 -1
- edc_reportable/data/grading_data/ctcae_v5.py +1 -2
- edc_reportable/data/grading_data/daids_july_2017.py +7 -6
- edc_reportable/data/normal_data/africa.py +6 -5
- edc_reportable/exceptions.py +0 -4
- edc_reportable/forms/reportables_form_validator_mixin.py +2 -1
- edc_reportable/formula.py +1 -1
- edc_reportable/post_migrate_signals.py +1 -1
- edc_reportable/reference_range_evaluator.py +8 -2
- edc_reportable/units.py +2 -23
- edc_reportable/utils/__init__.py +1 -1
- edc_reportable/utils/get_mw.py +20 -0
- edc_reportable/utils/get_normal_data_or_raise.py +1 -1
- edc_review_dashboard/auths.py +1 -1
- edc_review_dashboard/middleware.py +1 -0
- edc_review_dashboard/urls.py +1 -0
- edc_review_dashboard/views/subject_review_listboard_view.py +1 -0
- edc_screening/choices.py +1 -1
- edc_screening/gender_evaluator.py +1 -1
- edc_screening/model_mixins/screening_fields_model_mixin.py +1 -1
- edc_screening/modelform_mixins.py +1 -1
- edc_screening/screening_eligibility.py +1 -2
- edc_sites/models/site_profile.py +1 -2
- edc_sites/site.py +1 -1
- edc_subject_dashboard/requisition_labels.py +1 -1
- edc_subject_dashboard/requisition_report.py +1 -1
- edc_subject_dashboard/requisition_verifier.py +1 -1
- edc_subject_dashboard/urls.py +1 -0
- edc_subject_dashboard/view_utils/go_to_forms_button.py +1 -1
- edc_subject_dashboard/views/requisition_print_actions_view.py +1 -1
- edc_subject_dashboard/views/subject_dashboard_view.py +1 -0
- edc_transfer/action_items.py +2 -1
- edc_transfer/choices.py +1 -1
- edc_transfer/form_validators.py +1 -1
- edc_transfer/list_data.py +1 -1
- edc_unblinding/action_items.py +2 -1
- edc_unblinding/models/unblinding_request.py +1 -1
- edc_unblinding/models/unblinding_review.py +1 -1
- edc_visit_schedule/action_items.py +2 -1
- edc_visit_schedule/admin/subject_schedule_history_admin.py +1 -0
- edc_visit_tracking/action_items.py +2 -1
- edc_visit_tracking/choices.py +1 -1
- edc_visit_tracking/form_validators/visit_form_validator.py +1 -1
- edc_visit_tracking/form_validators/visit_missed_form_validator.py +2 -1
- edc_visit_tracking/managers.py +1 -2
- edc_visit_tracking/model_mixins/subject_visit_missed_model_mixin.py +1 -1
- edc_visit_tracking/model_mixins/visit_model_mixin/caretaker_fields_mixin.py +1 -1
- edc_visit_tracking/model_mixins/visit_model_mixin/visit_model_fields_mixin.py +1 -1
- edc_visit_tracking/model_mixins/visit_model_mixin/visit_model_mixin.py +1 -1
- edc_visit_tracking/modeladmin_mixins/crf_model_admin_mixin.py +2 -1
- edc_visit_tracking/modeladmin_mixins/visit_model_admin_mixin.py +1 -1
- edc_visit_tracking/models/signals.py +1 -1
- edc_visit_tracking/view_utils/related_visit_button.py +1 -1
- edc_vitals/form_validators/blood_pressure_form_validator_mixin.py +1 -2
- edc_constants/constants.py +0 -250
- edc_constants/disease_constants.py +0 -22
- edc_egfr/calculators/__init__.py +0 -4
- edc_egfr/calculators/base_egrfr.py +0 -56
- edc_egfr/calculators/egfr_ckd_epi.py +0 -68
- edc_egfr/calculators/egfr_cockcroft_gault.py +0 -62
- edc_egfr/calculators/percent_change.py +0 -7
- edc_reportable/data/molecular_weights.py +0 -11
- edc_reportable/utils/convert_units.py +0 -163
- {clinicedc-2.0.40.dist-info → clinicedc-2.0.42.dist-info}/WHEEL +0 -0
- {clinicedc-2.0.40.dist-info → clinicedc-2.0.42.dist-info}/licenses/LICENSE +0 -0
edc_refusal/forms.py
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
from clinicedc_constants import OTHER
|
|
1
2
|
from django import forms
|
|
2
3
|
from django.core.exceptions import ObjectDoesNotExist
|
|
3
4
|
from django.urls.base import reverse
|
|
4
5
|
from django.utils.html import format_html
|
|
5
|
-
|
|
6
|
+
|
|
6
7
|
from edc_dashboard.url_names import url_names
|
|
7
8
|
from edc_form_validators import FormValidator, FormValidatorMixin
|
|
8
9
|
from edc_registration.models import RegisteredSubject
|
edc_refusal/list_data.py
CHANGED
|
@@ -3,11 +3,11 @@ from __future__ import annotations
|
|
|
3
3
|
import contextlib
|
|
4
4
|
from typing import TYPE_CHECKING
|
|
5
5
|
|
|
6
|
+
from clinicedc_constants import NULL_STRING
|
|
6
7
|
from django.core.exceptions import ObjectDoesNotExist
|
|
7
8
|
from django.db import models
|
|
8
9
|
from django.db.models import CharField, TextField
|
|
9
10
|
|
|
10
|
-
from edc_constants.constants import NULL_STRING
|
|
11
11
|
from edc_model import DEFAULT_BASE_FIELDS
|
|
12
12
|
|
|
13
13
|
from ..utils import get_registered_subject_model_cls
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import re
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import UUID_PATTERN
|
|
3
4
|
from django.core.exceptions import ObjectDoesNotExist
|
|
4
5
|
from django.core.validators import RegexValidator
|
|
5
6
|
from django.db import models, transaction
|
|
@@ -13,7 +14,6 @@ from django_crypto_fields.fields import (
|
|
|
13
14
|
)
|
|
14
15
|
|
|
15
16
|
from edc_constants.choices import GENDER
|
|
16
|
-
from edc_constants.constants import UUID_PATTERN
|
|
17
17
|
from edc_identifier.model_mixins import UniqueSubjectIdentifierModelMixin
|
|
18
18
|
from edc_model.models import BaseUuidModel, HistoricalRecords
|
|
19
19
|
from edc_model_fields.fields import IdentityTypeField, IsDateEstimatedField
|
edc_reportable/__init__.py
CHANGED
|
@@ -1,42 +1,7 @@
|
|
|
1
|
-
from .constants import (
|
|
2
|
-
ALREADY_REPORTED,
|
|
3
|
-
MILD,
|
|
4
|
-
MODERATE,
|
|
5
|
-
PRESENT_AT_BASELINE,
|
|
6
|
-
SEVERE,
|
|
7
|
-
SEVERITY_INCREASED_FROM_G3,
|
|
8
|
-
)
|
|
9
1
|
from .exceptions import (
|
|
10
2
|
AlreadyRegistered,
|
|
11
|
-
ConversionNotHandled,
|
|
12
3
|
FormulaError,
|
|
13
4
|
GradeReferenceError,
|
|
14
5
|
LimitsNormalParseError,
|
|
15
6
|
)
|
|
16
7
|
from .formula import Formula, dummy_formula, formula
|
|
17
|
-
from .units import (
|
|
18
|
-
CELLS_PER_MICROLITER,
|
|
19
|
-
CELLS_PER_MILLIMETER_CUBED,
|
|
20
|
-
CELLS_PER_MILLIMETER_CUBED_DISPLAY,
|
|
21
|
-
COPIES_PER_MILLILITER,
|
|
22
|
-
EGFR_UNITS,
|
|
23
|
-
GRAMS_PER_DECILITER,
|
|
24
|
-
GRAMS_PER_LITER,
|
|
25
|
-
IU_LITER,
|
|
26
|
-
IU_LITER_DISPLAY,
|
|
27
|
-
MICROMOLES_PER_LITER,
|
|
28
|
-
MICROMOLES_PER_LITER_DISPLAY,
|
|
29
|
-
MILLIGRAMS_PER_DECILITER,
|
|
30
|
-
MILLIGRAMS_PER_LITER,
|
|
31
|
-
MILLILITER_PER_MINUTE,
|
|
32
|
-
MILLIMOLES_PER_LITER,
|
|
33
|
-
MILLIMOLES_PER_LITER_DISPLAY,
|
|
34
|
-
MM3,
|
|
35
|
-
MM3_DISPLAY,
|
|
36
|
-
PERCENT,
|
|
37
|
-
PLUS,
|
|
38
|
-
TEN_X_3_PER_LITER,
|
|
39
|
-
TEN_X_3_PER_LITER_DISPLAY,
|
|
40
|
-
TEN_X_9_PER_LITER,
|
|
41
|
-
TEN_X_9_PER_LITER_DISPLAY,
|
|
42
|
-
)
|
edc_reportable/choices.py
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
from
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
from clinicedc_constants import (
|
|
2
|
+
ALREADY_REPORTED,
|
|
3
|
+
GRADE3,
|
|
4
|
+
GRADE4,
|
|
5
|
+
NO,
|
|
6
|
+
NOT_APPLICABLE,
|
|
7
|
+
PRESENT_AT_BASELINE,
|
|
8
|
+
)
|
|
4
9
|
|
|
5
10
|
REPORTABLE = (
|
|
6
11
|
(NOT_APPLICABLE, "Not applicable"),
|
edc_reportable/constants.py
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
ALREADY_REPORTED = "Already reported"
|
|
2
|
-
INVALID_REFERENCE = "invalid_reference"
|
|
3
|
-
MILD = "mild"
|
|
4
|
-
MODERATE = "moderate"
|
|
5
|
-
PRESENT_AT_BASELINE = "present_at_baseline"
|
|
6
|
-
SEVERE = "severe"
|
|
7
|
-
SEVERITY_INCREASED_FROM_G3 = "increase_from_g3"
|
|
8
1
|
LLN = "LLN"
|
|
9
2
|
ULN = "ULN"
|
|
10
3
|
HIGH_VALUE = "9999999999.9"
|
edc_reportable/data/__init__.py
CHANGED
|
@@ -21,11 +21,10 @@ Female: 9 - 36
|
|
|
21
21
|
>20.0 x ULN if baseline was normal; >20.0 x baseline if baseline was abnormal
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
|
-
from
|
|
24
|
+
from clinicedc_constants import FEMALE, IU_LITER, MALE
|
|
25
25
|
|
|
26
26
|
from ...adult_age_options import adult_age_options
|
|
27
27
|
from ...formula import Formula
|
|
28
|
-
from ...units import IU_LITER
|
|
29
28
|
|
|
30
29
|
ggt_baseline_normal = (
|
|
31
30
|
[
|
|
@@ -10,18 +10,15 @@ G3 < 60 to 30 ml/min or ml/min/1.73 m2 OR 30 to < 50% decrease from participant'
|
|
|
10
10
|
G4 < 30 ml/min or ml/min/1.73 m2 OR ≥ 50% decrease from participant's baseline
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
|
|
15
|
-
from ...adult_age_options import adult_age_options
|
|
16
|
-
from ...constants import HIGH_VALUE
|
|
17
|
-
from ...formula import Formula
|
|
18
|
-
from ...units import (
|
|
13
|
+
from clinicedc_constants import (
|
|
19
14
|
CELLS_PER_MILLIMETER_CUBED,
|
|
20
15
|
EGFR_UNITS,
|
|
16
|
+
FEMALE,
|
|
21
17
|
FEMTOLITERS_PER_CELL,
|
|
22
18
|
GRAMS_PER_DECILITER,
|
|
23
19
|
GRAMS_PER_LITER,
|
|
24
20
|
IU_LITER,
|
|
21
|
+
MALE,
|
|
25
22
|
MICROMOLES_PER_LITER,
|
|
26
23
|
MILLIGRAMS_PER_DECILITER,
|
|
27
24
|
MILLIGRAMS_PER_LITER,
|
|
@@ -32,6 +29,10 @@ from ...units import (
|
|
|
32
29
|
TEN_X_9_PER_LITER,
|
|
33
30
|
)
|
|
34
31
|
|
|
32
|
+
from ...adult_age_options import adult_age_options
|
|
33
|
+
from ...constants import HIGH_VALUE
|
|
34
|
+
from ...formula import Formula
|
|
35
|
+
|
|
35
36
|
__all__ = [
|
|
36
37
|
"chemistries",
|
|
37
38
|
"dummies",
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
from
|
|
2
|
-
|
|
3
|
-
from ...adult_age_options import adult_age_options
|
|
4
|
-
from ...formula import Formula
|
|
5
|
-
from ...units import (
|
|
1
|
+
from clinicedc_constants import (
|
|
6
2
|
CELLS_PER_MILLIMETER_CUBED,
|
|
7
3
|
EGFR_UNITS,
|
|
4
|
+
FEMALE,
|
|
8
5
|
FEMTOLITERS_PER_CELL,
|
|
9
6
|
GRAMS_PER_DECILITER,
|
|
10
7
|
GRAMS_PER_LITER,
|
|
11
8
|
IU_LITER,
|
|
9
|
+
MALE,
|
|
12
10
|
MICROMOLES_PER_LITER,
|
|
13
11
|
MILLIGRAMS_PER_DECILITER,
|
|
14
12
|
MILLIGRAMS_PER_LITER,
|
|
@@ -19,6 +17,9 @@ from ...units import (
|
|
|
19
17
|
TEN_X_9_PER_LITER,
|
|
20
18
|
)
|
|
21
19
|
|
|
20
|
+
from ...adult_age_options import adult_age_options
|
|
21
|
+
from ...formula import Formula
|
|
22
|
+
|
|
22
23
|
__all__ = ["normal_data"]
|
|
23
24
|
|
|
24
25
|
normal_data = {
|
edc_reportable/exceptions.py
CHANGED
edc_reportable/formula.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import sys
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
+
from clinicedc_utils.constants import molecular_weights
|
|
4
5
|
from django.apps import apps as django_apps
|
|
5
6
|
from django.core.management import color_style
|
|
6
7
|
|
|
7
|
-
from .data import molecular_weights
|
|
8
8
|
from .utils import load_all_reference_ranges
|
|
9
9
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
@@ -3,13 +3,19 @@ from __future__ import annotations
|
|
|
3
3
|
from datetime import date, datetime
|
|
4
4
|
from typing import TYPE_CHECKING
|
|
5
5
|
|
|
6
|
+
from clinicedc_constants import (
|
|
7
|
+
ALREADY_REPORTED,
|
|
8
|
+
INVALID_REFERENCE,
|
|
9
|
+
NO,
|
|
10
|
+
NOT_APPLICABLE,
|
|
11
|
+
PRESENT_AT_BASELINE,
|
|
12
|
+
YES,
|
|
13
|
+
)
|
|
6
14
|
from django import forms
|
|
7
15
|
from django.apps import apps as django_apps
|
|
8
16
|
|
|
9
|
-
from edc_constants.constants import NO, NOT_APPLICABLE, YES
|
|
10
17
|
from edc_metadata.constants import REQUIRED
|
|
11
18
|
|
|
12
|
-
from .constants import ALREADY_REPORTED, INVALID_REFERENCE, PRESENT_AT_BASELINE
|
|
13
19
|
from .exceptions import NotEvaluated, ValueBoundryError
|
|
14
20
|
from .utils import get_grade_for_value, get_normal_data_or_raise
|
|
15
21
|
|
edc_reportable/units.py
CHANGED
|
@@ -1,32 +1,11 @@
|
|
|
1
1
|
from django.utils.safestring import mark_safe
|
|
2
2
|
|
|
3
|
-
CELLS_PER_MICROLITER = "cells/μL"
|
|
4
|
-
CELLS_PER_MILLIMETER_CUBED = "cells/mm^3"
|
|
5
3
|
CELLS_PER_MILLIMETER_CUBED_DISPLAY = mark_safe("cells/mm<sup>3</sup>") # nosec B308
|
|
6
|
-
COPIES_PER_MILLILITER = "copies/mL"
|
|
7
|
-
EGFR_UNITS = "mL/min/1.73m2"
|
|
8
|
-
FEMTOLITERS_PER_CELL = "fL/cell"
|
|
9
|
-
GRAMS_PER_DECILITER = "g/dL"
|
|
10
|
-
GRAMS_PER_LITER = "g/L"
|
|
11
|
-
IU_LITER = "IU/L"
|
|
12
4
|
IU_LITER_DISPLAY = mark_safe("IU/L") # nosec B308
|
|
13
|
-
MILLI_IU_LITER = "mIU/L"
|
|
14
|
-
MILLI_IU_LITER_DISPLAY = mark_safe("mIU/L") # nosec B308
|
|
15
|
-
MICRO_IU_MILLILITER = "uIU/mL"
|
|
16
|
-
MICRO_IU_MILLILITER_DISPLAY = mark_safe("μIU/mL") # nosec B308
|
|
17
|
-
MICROMOLES_PER_LITER = "umol/L"
|
|
18
5
|
MICROMOLES_PER_LITER_DISPLAY = "μmol/L (micromoles/L)"
|
|
19
|
-
|
|
20
|
-
MILLIGRAMS_PER_LITER = "mg/L"
|
|
21
|
-
MILLILITER_PER_MINUTE = "mL/min"
|
|
22
|
-
MILLIMOLES_PER_LITER = "mmol/L"
|
|
6
|
+
MICRO_IU_MILLILITER_DISPLAY = mark_safe("μIU/mL") # nosec B308
|
|
23
7
|
MILLIMOLES_PER_LITER_DISPLAY = "mmol/L (millimoles/L)"
|
|
24
|
-
|
|
8
|
+
MILLI_IU_LITER_DISPLAY = mark_safe("mIU/L") # nosec B308
|
|
25
9
|
MM3_DISPLAY = mark_safe("mm<sup>3</sup>") # nosec B308
|
|
26
|
-
PERCENT = "%"
|
|
27
|
-
PICOGRAMS_PER_CELL = "pg/cell"
|
|
28
|
-
PLUS = "+"
|
|
29
|
-
TEN_X_3_PER_LITER = "10^3/L"
|
|
30
10
|
TEN_X_3_PER_LITER_DISPLAY = mark_safe("10<sup>3</sup>/L") # nosec B308
|
|
31
|
-
TEN_X_9_PER_LITER = "10^9/L"
|
|
32
11
|
TEN_X_9_PER_LITER_DISPLAY = mark_safe("10<sup>9</sup>/L") # nosec B308
|
edc_reportable/utils/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from .convert_units import convert_units
|
|
2
1
|
from .get_default_reportable_grades import get_default_reportable_grades
|
|
3
2
|
from .get_grade_for_value import get_grade_for_value
|
|
3
|
+
from .get_mw import get_mw
|
|
4
4
|
from .get_normal_data_or_raise import get_normal_data_or_raise
|
|
5
5
|
from .get_reference_range_collection import get_reference_range_collection
|
|
6
6
|
from .grading_data_model_cls import grading_data_model_cls
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from clinicedc_utils import ConversionNotHandled
|
|
4
|
+
from django.core.exceptions import ObjectDoesNotExist
|
|
5
|
+
|
|
6
|
+
from .molecular_weight_model_cls import molecular_weight_model_cls
|
|
7
|
+
|
|
8
|
+
__all__ = ["get_mw"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def get_mw(label):
|
|
12
|
+
try:
|
|
13
|
+
molecular_weight = molecular_weight_model_cls().objects.get(label=label)
|
|
14
|
+
except ObjectDoesNotExist as e:
|
|
15
|
+
raise ConversionNotHandled(
|
|
16
|
+
f"Conversion not handled. Molecular weight not found for {label}."
|
|
17
|
+
) from e
|
|
18
|
+
else:
|
|
19
|
+
mw = molecular_weight.mw
|
|
20
|
+
return mw
|
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from datetime import date, datetime
|
|
4
4
|
from typing import TYPE_CHECKING
|
|
5
5
|
|
|
6
|
+
from clinicedc_utils import convert_units
|
|
6
7
|
from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
|
|
7
8
|
from django.db.models import Q
|
|
8
9
|
from django.utils import timezone
|
|
@@ -11,7 +12,6 @@ from edc_model_to_dataframe.constants import SYSTEM_COLUMNS
|
|
|
11
12
|
from edc_utils import age as get_age
|
|
12
13
|
|
|
13
14
|
from ..exceptions import NotEvaluated
|
|
14
|
-
from .convert_units import convert_units
|
|
15
15
|
from .normal_data_model_cls import normal_data_model_cls
|
|
16
16
|
|
|
17
17
|
if TYPE_CHECKING:
|
edc_review_dashboard/auths.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
from edc_adverse_event.constants import TMG_ROLE
|
|
2
1
|
from edc_auth.constants import (
|
|
3
2
|
AUDITOR_ROLE,
|
|
4
3
|
CLINICIAN_ROLE,
|
|
5
4
|
CLINICIAN_SUPER_ROLE,
|
|
6
5
|
NURSE_ROLE,
|
|
6
|
+
TMG_ROLE,
|
|
7
7
|
)
|
|
8
8
|
from edc_auth.site_auths import site_auths
|
|
9
9
|
from edc_auth.utils import remove_default_model_permissions_from_edc_permissions
|
edc_review_dashboard/urls.py
CHANGED
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from typing import TYPE_CHECKING, Any
|
|
4
4
|
|
|
5
5
|
from django.db.models.aggregates import Count
|
|
6
|
+
|
|
6
7
|
from edc_appointment.view_mixins import AppointmentViewMixin
|
|
7
8
|
from edc_dashboard.url_names import url_names
|
|
8
9
|
from edc_dashboard.view_mixins import EdcViewMixin
|
edc_screening/choices.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from uuid import uuid4
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import NO, NOT_APPLICABLE
|
|
3
4
|
from django.core.validators import (
|
|
4
5
|
MaxLengthValidator,
|
|
5
6
|
MaxValueValidator,
|
|
@@ -12,7 +13,6 @@ from django.utils import timezone
|
|
|
12
13
|
from django_crypto_fields.fields import EncryptedCharField
|
|
13
14
|
|
|
14
15
|
from edc_constants.choices import GENDER, YES_NO, YES_NO_NA
|
|
15
|
-
from edc_constants.constants import NO, NOT_APPLICABLE
|
|
16
16
|
from edc_model.validators import datetime_not_future
|
|
17
17
|
from edc_protocol.validators import datetime_not_before_study_start
|
|
18
18
|
from edc_sites.model_mixins import SiteModelMixin
|
|
@@ -2,11 +2,11 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import re
|
|
4
4
|
|
|
5
|
+
from clinicedc_constants import UUID_PATTERN
|
|
5
6
|
from django import forms
|
|
6
7
|
from django.urls.base import reverse
|
|
7
8
|
from django.utils.html import format_html
|
|
8
9
|
|
|
9
|
-
from edc_constants.constants import UUID_PATTERN
|
|
10
10
|
from edc_dashboard.url_names import url_names
|
|
11
11
|
|
|
12
12
|
|
|
@@ -2,10 +2,9 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
|
|
5
|
+
from clinicedc_constants import NO, PENDING, TBD, YES
|
|
5
6
|
from django.utils.safestring import mark_safe
|
|
6
7
|
|
|
7
|
-
from edc_constants.constants import NO, PENDING, TBD, YES
|
|
8
|
-
|
|
9
8
|
from .exceptions import (
|
|
10
9
|
ScreeningEligibilityAttributeError,
|
|
11
10
|
ScreeningEligibilityError,
|
edc_sites/models/site_profile.py
CHANGED
|
@@ -2,11 +2,10 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
4
|
|
|
5
|
+
from clinicedc_constants import NULL_STRING
|
|
5
6
|
from django.contrib.sites.models import Site
|
|
6
7
|
from django.db import models
|
|
7
8
|
|
|
8
|
-
from edc_constants.constants import NULL_STRING
|
|
9
|
-
|
|
10
9
|
|
|
11
10
|
class SiteProfile(models.Model):
|
|
12
11
|
id = models.BigAutoField(primary_key=True)
|
edc_sites/site.py
CHANGED
|
@@ -5,6 +5,7 @@ import sys
|
|
|
5
5
|
from copy import deepcopy
|
|
6
6
|
from typing import TYPE_CHECKING, Any
|
|
7
7
|
|
|
8
|
+
from clinicedc_constants import OTHER
|
|
8
9
|
from django.apps import apps as django_apps
|
|
9
10
|
from django.conf import settings
|
|
10
11
|
from django.contrib import messages
|
|
@@ -14,7 +15,6 @@ from django.core.management.color import color_style
|
|
|
14
15
|
from django.utils.module_loading import import_module, module_has_submodule
|
|
15
16
|
|
|
16
17
|
from edc_auth.utils import user_has_change_perms
|
|
17
|
-
from edc_constants.constants import OTHER
|
|
18
18
|
from edc_model_admin.utils import add_to_messages_once
|
|
19
19
|
|
|
20
20
|
from .exceptions import InvalidSiteForUser
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from tempfile import mkdtemp
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import YES
|
|
3
4
|
from django.contrib import messages
|
|
4
5
|
from django.utils import timezone
|
|
5
6
|
from reportlab.graphics.barcode import code39
|
|
@@ -8,7 +9,6 @@ from reportlab.lib.units import cm, mm
|
|
|
8
9
|
from reportlab.platypus import Paragraph, Spacer, Table, TableStyle
|
|
9
10
|
|
|
10
11
|
from edc_appointment.models import Appointment
|
|
11
|
-
from edc_constants.constants import YES
|
|
12
12
|
from edc_identifier.utils import convert_to_human_readable
|
|
13
13
|
from edc_lab.model_mixins import RequisitionModelMixin
|
|
14
14
|
from edc_lab.models.manifest.shipper import Shipper
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import contextlib
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import NO, YES
|
|
3
4
|
from django.core.exceptions import ObjectDoesNotExist
|
|
4
5
|
from django.utils import timezone
|
|
5
6
|
|
|
6
7
|
from edc_appointment.models import Appointment
|
|
7
|
-
from edc_constants.constants import NO, YES
|
|
8
8
|
from edc_lab.constants import TUBE
|
|
9
9
|
from edc_lab.model_mixins import RequisitionModelMixin
|
|
10
10
|
|
edc_subject_dashboard/urls.py
CHANGED
|
@@ -3,10 +3,10 @@ from __future__ import annotations
|
|
|
3
3
|
from dataclasses import dataclass, field
|
|
4
4
|
from typing import TYPE_CHECKING, TypeVar
|
|
5
5
|
|
|
6
|
+
from clinicedc_constants import COMPLETE
|
|
6
7
|
from django.utils.translation import gettext as _
|
|
7
8
|
|
|
8
9
|
from edc_appointment.constants import IN_PROGRESS_APPT
|
|
9
|
-
from edc_constants.constants import COMPLETE
|
|
10
10
|
from edc_view_utils import CHANGE, VIEW, NextQuerystring
|
|
11
11
|
from edc_visit_tracking.view_utils import RelatedVisitButton
|
|
12
12
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
from clinicedc_constants import YES
|
|
1
2
|
from django.contrib import messages
|
|
2
3
|
from django.http.response import HttpResponseRedirect
|
|
3
4
|
from django.urls.base import reverse
|
|
4
5
|
|
|
5
6
|
from edc_appointment.models import Appointment
|
|
6
|
-
from edc_constants.constants import YES
|
|
7
7
|
from edc_lab.model_mixins import RequisitionModelMixin
|
|
8
8
|
from edc_lab.models import Consignee
|
|
9
9
|
from edc_label.job_result import JobResult
|
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
5
|
from django.core.exceptions import ImproperlyConfigured
|
|
6
|
+
|
|
6
7
|
from edc_action_item.view_mixins import ActionItemViewMixin
|
|
7
8
|
from edc_appointment.view_mixins import AppointmentViewMixin
|
|
8
9
|
from edc_consent.view_mixins import ConsentViewMixin
|
edc_transfer/action_items.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
from clinicedc_constants import HIGH_PRIORITY
|
|
2
|
+
|
|
1
3
|
from edc_action_item.action_with_notification import ActionWithNotification
|
|
2
|
-
from edc_constants.constants import HIGH_PRIORITY
|
|
3
4
|
from edc_offstudy.constants import END_OF_STUDY_ACTION
|
|
4
5
|
|
|
5
6
|
from .constants import SUBJECT_TRANSFER_ACTION
|
edc_transfer/choices.py
CHANGED
edc_transfer/form_validators.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
from clinicedc_constants import DWTA, OTHER
|
|
1
2
|
from django import forms
|
|
2
3
|
from django.apps import apps as django_apps
|
|
3
4
|
from django.conf import settings
|
|
4
5
|
from django.core.exceptions import ObjectDoesNotExist
|
|
5
6
|
|
|
6
|
-
from edc_constants.constants import DWTA, OTHER
|
|
7
7
|
from edc_form_validators import FormValidator
|
|
8
8
|
from edc_prn.modelform_mixins import PrnFormValidatorMixin
|
|
9
9
|
from edc_utils.text import convert_php_dateformat
|
edc_transfer/list_data.py
CHANGED
edc_unblinding/action_items.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
from clinicedc_constants import HIGH_PRIORITY, TBD, YES
|
|
2
|
+
|
|
1
3
|
from edc_action_item.action_with_notification import ActionWithNotification
|
|
2
|
-
from edc_constants.constants import HIGH_PRIORITY, TBD, YES
|
|
3
4
|
from edc_offstudy.constants import END_OF_STUDY_ACTION
|
|
4
5
|
|
|
5
6
|
from .constants import UNBLINDING_REQUEST_ACTION, UNBLINDING_REVIEW_ACTION
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from clinicedc_constants import TBD
|
|
1
2
|
from django.core.validators import (
|
|
2
3
|
MaxLengthValidator,
|
|
3
4
|
MinLengthValidator,
|
|
@@ -8,7 +9,6 @@ from django.utils import timezone
|
|
|
8
9
|
|
|
9
10
|
from edc_action_item.models.action_model_mixin import ActionModelMixin
|
|
10
11
|
from edc_constants.choices import YES_NO_TBD
|
|
11
|
-
from edc_constants.constants import TBD
|
|
12
12
|
from edc_identifier.managers import SubjectIdentifierManager
|
|
13
13
|
from edc_identifier.model_mixins import NonUniqueSubjectIdentifierFieldMixin
|
|
14
14
|
from edc_model.models.base_uuid_model import BaseUuidModel
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
from clinicedc_constants import NULL_STRING, TBD
|
|
1
2
|
from django.db import models
|
|
2
3
|
from django.utils import timezone
|
|
3
4
|
|
|
4
5
|
from edc_action_item.models.action_model_mixin import ActionModelMixin
|
|
5
6
|
from edc_constants.choices import YES_NO_TBD
|
|
6
|
-
from edc_constants.constants import NULL_STRING, TBD
|
|
7
7
|
from edc_identifier.managers import SubjectIdentifierManager
|
|
8
8
|
from edc_identifier.model_mixins import NonUniqueSubjectIdentifierFieldMixin
|
|
9
9
|
from edc_model.models.base_uuid_model import BaseUuidModel
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
from clinicedc_constants import HIGH_PRIORITY
|
|
2
|
+
|
|
1
3
|
from edc_action_item.action_with_notification import ActionWithNotification
|
|
2
4
|
from edc_adverse_event.constants import DEATH_REPORT_ACTION
|
|
3
|
-
from edc_constants.constants import HIGH_PRIORITY
|
|
4
5
|
from edc_ltfu.constants import LTFU_ACTION
|
|
5
6
|
from edc_offstudy.constants import END_OF_STUDY_ACTION
|
|
6
7
|
|
|
@@ -3,6 +3,7 @@ from django.template.loader import render_to_string
|
|
|
3
3
|
from django.urls import NoReverseMatch, reverse
|
|
4
4
|
from django.utils.translation import gettext as _
|
|
5
5
|
from django_audit_fields import audit_fields, audit_fieldset_tuple
|
|
6
|
+
|
|
6
7
|
from edc_dashboard.url_names import url_names
|
|
7
8
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
8
9
|
from edc_sites.admin import SiteModelAdminMixin
|