clinicedc 2.0.41__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.41.dist-info → clinicedc-2.0.42.dist-info}/METADATA +3 -1
- {clinicedc-2.0.41.dist-info → clinicedc-2.0.42.dist-info}/RECORD +337 -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/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.41.dist-info → clinicedc-2.0.42.dist-info}/WHEEL +0 -0
- {clinicedc-2.0.41.dist-info → clinicedc-2.0.42.dist-info}/licenses/LICENSE +0 -0
edc_lab/models/box.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
from clinicedc_constants import OPEN, OTHER
|
|
1
2
|
from django.db import models
|
|
2
3
|
from django.db.models.deletion import PROTECT
|
|
3
4
|
from django.utils import timezone
|
|
4
5
|
|
|
5
|
-
from edc_constants.constants import OPEN, OTHER
|
|
6
6
|
from edc_model.models import BaseUuidModel, HistoricalRecords
|
|
7
7
|
from edc_search.model_mixins import SearchSlugManager, SearchSlugModelMixin
|
|
8
8
|
from edc_sites.managers import CurrentSiteManager
|
edc_lab_dashboard/middleware.py
CHANGED
edc_lab_dashboard/urls.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import re
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import UUID_PATTERN
|
|
3
4
|
from django.apps import apps as django_apps
|
|
4
5
|
|
|
5
|
-
from edc_constants.constants import UUID_PATTERN
|
|
6
6
|
from edc_lab.lab import Specimen as SpecimenObject
|
|
7
7
|
from edc_lab.site_labs import site_labs
|
|
8
8
|
from edc_label import LabPrintersMixin, add_job_results_to_messages
|
|
@@ -2,6 +2,7 @@ from django.contrib import messages
|
|
|
2
2
|
from django.core.exceptions import ObjectDoesNotExist
|
|
3
3
|
from django.urls import reverse
|
|
4
4
|
from django.utils.html import format_html
|
|
5
|
+
|
|
5
6
|
from edc_dashboard.url_names import url_names
|
|
6
7
|
from edc_dashboard.view_mixins import EdcViewMixin
|
|
7
8
|
from edc_lab import SHIPPED
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
from clinicedc_constants import YES
|
|
1
2
|
from django.apps import apps as django_apps
|
|
2
3
|
from django.contrib import messages
|
|
3
4
|
from django.utils import timezone
|
|
4
5
|
|
|
5
|
-
from edc_constants.constants import YES
|
|
6
6
|
from edc_dashboard.view_mixins import EdcViewMixin
|
|
7
7
|
from edc_lab import Specimen
|
|
8
8
|
from edc_lab.labels import AliquotLabel
|
|
@@ -2,11 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
|
|
5
|
+
from clinicedc_constants import YES
|
|
5
6
|
from django.apps import apps as django_apps
|
|
6
7
|
from django.urls import reverse
|
|
7
8
|
from django.utils.html import format_html
|
|
8
9
|
from django.utils.safestring import mark_safe
|
|
9
|
-
|
|
10
|
+
|
|
10
11
|
from edc_dashboard.url_names import url_names
|
|
11
12
|
|
|
12
13
|
from .requisition_listboard_view import RequisitionListboardView
|
|
@@ -2,11 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING
|
|
4
4
|
|
|
5
|
+
from clinicedc_constants import YES
|
|
5
6
|
from django.apps import apps as django_apps
|
|
6
7
|
from django.urls import reverse
|
|
7
8
|
from django.utils.html import format_html
|
|
8
9
|
from django.utils.safestring import mark_safe
|
|
9
|
-
|
|
10
|
+
|
|
10
11
|
from edc_dashboard.url_names import url_names
|
|
11
12
|
|
|
12
13
|
from .requisition_listboard_view import RequisitionListboardView
|
|
@@ -2,13 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
+
from clinicedc_constants import YES
|
|
5
6
|
from django.conf import settings
|
|
6
7
|
from django.contrib import messages
|
|
7
8
|
from django.db.models import Q
|
|
8
9
|
from django.utils.html import format_html
|
|
9
10
|
|
|
10
|
-
from edc_constants.constants import YES
|
|
11
|
-
|
|
12
11
|
from ..listboard_filters import RequisitionListboardViewFilters
|
|
13
12
|
from .base_listboard_view import BaseListboardView
|
|
14
13
|
|
edc_lab_results/action_items.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
from clinicedc_constants import HIGH_PRIORITY, YES
|
|
1
2
|
from django.apps import apps as django_apps
|
|
2
3
|
from django.conf import settings
|
|
3
4
|
|
|
4
5
|
from edc_action_item.action import Action
|
|
5
6
|
from edc_action_item.site_action_items import site_action_items
|
|
6
7
|
from edc_adverse_event.constants import AE_INITIAL_ACTION
|
|
7
|
-
from edc_constants.constants import HIGH_PRIORITY, YES
|
|
8
8
|
from edc_visit_schedule.utils import is_baseline
|
|
9
9
|
|
|
10
10
|
from .constants import (
|
|
@@ -2,7 +2,8 @@ import contextlib
|
|
|
2
2
|
from collections import namedtuple
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from clinicedc_constants import NO, NULL_STRING, YES
|
|
6
|
+
|
|
6
7
|
from edc_lab import RequisitionPanel
|
|
7
8
|
from edc_lab.form_validators import CrfRequisitionFormValidatorMixin
|
|
8
9
|
from edc_reportable.forms import ReportablesFormValidatorMixin
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import EQ
|
|
3
4
|
from django.core.validators import MinValueValidator
|
|
4
5
|
from django.db import models
|
|
5
6
|
|
|
6
7
|
from edc_constants.choices import GRADING_SCALE_WITH_NOT_GRADED, YES_NO
|
|
7
8
|
from edc_lab.choices import RESULT_QUANTIFIER
|
|
8
|
-
from edc_lab.constants import EQ
|
|
9
9
|
from edc_reportable.choices import REPORTABLE
|
|
10
10
|
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
from clinicedc_constants import MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
|
|
1
2
|
from django.db import models
|
|
2
3
|
|
|
3
|
-
from edc_reportable import MILLIMOLES_PER_LITER_DISPLAY
|
|
4
|
-
from edc_reportable.units import MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
|
|
4
|
+
from edc_reportable.units import MILLIMOLES_PER_LITER_DISPLAY
|
|
5
5
|
|
|
6
6
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
7
7
|
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
from clinicedc_constants import (
|
|
2
|
+
CELLS_PER_MILLIMETER_CUBED,
|
|
3
|
+
FEMTOLITERS_PER_CELL,
|
|
4
|
+
GRAMS_PER_DECILITER,
|
|
5
|
+
PERCENT,
|
|
6
|
+
PICOGRAMS_PER_CELL,
|
|
7
|
+
TEN_X_9_PER_LITER,
|
|
8
|
+
)
|
|
1
9
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
2
10
|
from django.db import models
|
|
3
11
|
|
|
@@ -15,14 +23,7 @@ from edc_lab_panel.constants import (
|
|
|
15
23
|
RBC,
|
|
16
24
|
WBC,
|
|
17
25
|
)
|
|
18
|
-
from edc_reportable import
|
|
19
|
-
from edc_reportable.units import (
|
|
20
|
-
CELLS_PER_MILLIMETER_CUBED,
|
|
21
|
-
CELLS_PER_MILLIMETER_CUBED_DISPLAY,
|
|
22
|
-
FEMTOLITERS_PER_CELL,
|
|
23
|
-
PICOGRAMS_PER_CELL,
|
|
24
|
-
TEN_X_9_PER_LITER,
|
|
25
|
-
)
|
|
26
|
+
from edc_reportable.units import CELLS_PER_MILLIMETER_CUBED_DISPLAY
|
|
26
27
|
|
|
27
28
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
28
29
|
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
+
from clinicedc_constants import EQ, FASTING, MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
|
|
1
2
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
2
3
|
from django.db import models
|
|
3
4
|
|
|
4
5
|
from edc_constants.choices import FASTING_CHOICES, YES_NO
|
|
5
|
-
from edc_constants.constants import FASTING
|
|
6
6
|
from edc_glucose.constants import GLUCOSE_HIGH_READING
|
|
7
7
|
from edc_lab.choices import RESULT_QUANTIFIER
|
|
8
|
-
from
|
|
9
|
-
from edc_reportable import (
|
|
10
|
-
MILLIGRAMS_PER_DECILITER,
|
|
11
|
-
MILLIMOLES_PER_LITER,
|
|
12
|
-
MILLIMOLES_PER_LITER_DISPLAY,
|
|
13
|
-
)
|
|
8
|
+
from edc_reportable.units import MILLIMOLES_PER_LITER_DISPLAY
|
|
14
9
|
|
|
15
10
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
16
11
|
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import EQ, FASTING, MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
|
|
3
4
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
4
5
|
from django.db import models
|
|
5
6
|
|
|
6
7
|
from edc_constants.choices import FASTING_CHOICES, YES_NO
|
|
7
|
-
from edc_constants.constants import FASTING
|
|
8
8
|
from edc_glucose.constants import GLUCOSE_HIGH_READING
|
|
9
9
|
from edc_lab.choices import RESULT_QUANTIFIER
|
|
10
|
-
from
|
|
11
|
-
from edc_reportable import (
|
|
12
|
-
MILLIGRAMS_PER_DECILITER,
|
|
13
|
-
MILLIMOLES_PER_LITER,
|
|
14
|
-
MILLIMOLES_PER_LITER_DISPLAY,
|
|
15
|
-
)
|
|
10
|
+
from edc_reportable.units import MILLIMOLES_PER_LITER_DISPLAY
|
|
16
11
|
|
|
17
12
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
18
13
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
from clinicedc_constants import MICRO_IU_MILLILITER
|
|
1
2
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
2
3
|
from django.db import models
|
|
3
4
|
|
|
4
5
|
from edc_constants.choices import YES_NO
|
|
5
6
|
from edc_glucose.model_mixin_factories import fasting_model_mixin_factory
|
|
6
|
-
from edc_reportable.units import
|
|
7
|
+
from edc_reportable.units import MICRO_IU_MILLILITER_DISPLAY
|
|
7
8
|
|
|
8
9
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
9
10
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
from edc_reportable import GRAMS_PER_DECILITER, MICROMOLES_PER_LITER
|
|
5
|
-
from edc_reportable.units import (
|
|
1
|
+
from clinicedc_constants import (
|
|
2
|
+
GRAMS_PER_DECILITER,
|
|
6
3
|
GRAMS_PER_LITER,
|
|
7
4
|
IU_LITER,
|
|
8
|
-
|
|
5
|
+
MICROMOLES_PER_LITER,
|
|
9
6
|
MILLIGRAMS_PER_DECILITER,
|
|
10
7
|
MILLIGRAMS_PER_LITER,
|
|
11
8
|
)
|
|
9
|
+
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
10
|
+
from django.db import models
|
|
11
|
+
|
|
12
|
+
from edc_reportable.units import IU_LITER_DISPLAY
|
|
12
13
|
|
|
13
14
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
14
15
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
from clinicedc_constants import MILLIMOLES_PER_LITER
|
|
1
2
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
2
3
|
from django.db import models
|
|
3
4
|
|
|
4
|
-
from edc_reportable.units import MILLIMOLES_PER_LITER
|
|
5
|
-
|
|
6
5
|
from ..model_mixin_factories import reportable_result_model_mixin_factory
|
|
7
6
|
|
|
8
7
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
from clinicedc_constants import (
|
|
2
|
+
MICROMOLES_PER_LITER,
|
|
3
|
+
MILLIGRAMS_PER_DECILITER,
|
|
4
|
+
MILLIMOLES_PER_LITER,
|
|
5
|
+
)
|
|
1
6
|
from django.db import models
|
|
2
7
|
|
|
3
8
|
from edc_reportable.units import (
|
|
4
|
-
MICROMOLES_PER_LITER,
|
|
5
9
|
MICROMOLES_PER_LITER_DISPLAY,
|
|
6
|
-
MILLIGRAMS_PER_DECILITER,
|
|
7
|
-
MILLIMOLES_PER_LITER,
|
|
8
10
|
MILLIMOLES_PER_LITER_DISPLAY,
|
|
9
11
|
)
|
|
10
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
from clinicedc_constants import ABNORMAL
|
|
1
2
|
from django.db.models import Q
|
|
2
3
|
|
|
3
|
-
from edc_constants.constants import ABNORMAL
|
|
4
4
|
from edc_dashboard.view_mixins import EdcViewMixin
|
|
5
5
|
from edc_navbar import NavbarViewMixin
|
|
6
6
|
from edc_screening.utils import get_subject_screening_model
|
edc_locator/action_items.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
from clinicedc_constants import HIGH_PRIORITY
|
|
2
|
+
|
|
1
3
|
from edc_action_item.action import Action
|
|
2
4
|
from edc_action_item.site_action_items import site_action_items
|
|
3
|
-
from edc_constants.constants import HIGH_PRIORITY
|
|
4
5
|
from edc_locator.utils import get_locator_model
|
|
5
6
|
|
|
6
7
|
SUBJECT_LOCATOR_ACTION = "submit-subject-locator"
|
edc_locator/modeladmin_mixins.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
from clinicedc_constants import NO, YES
|
|
1
2
|
from django.contrib import admin
|
|
2
3
|
from django.template.loader import render_to_string
|
|
3
4
|
from django.utils import timezone
|
|
4
5
|
from django_audit_fields.admin import audit_fieldset_tuple
|
|
5
6
|
|
|
6
7
|
from edc_consent import site_consents
|
|
7
|
-
from edc_constants.constants import NO, YES
|
|
8
8
|
from edc_model_admin.mixins import ModelAdminProtectPiiMixin
|
|
9
9
|
from edc_sites import site_sites
|
|
10
10
|
from edc_utils.age import age
|
edc_ltfu/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
|
from edc_visit_tracking.constants import VISIT_MISSED_ACTION
|
|
5
6
|
|
edc_ltfu/choices.py
CHANGED
edc_ltfu/constants.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
from clinicedc_constants import LTFU
|
|
1
2
|
from django import forms
|
|
2
3
|
from django.apps import apps as django_apps
|
|
3
4
|
from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
|
|
4
5
|
|
|
5
6
|
from edc_form_validators import FormValidator
|
|
6
7
|
|
|
7
|
-
from ..constants import LTFU
|
|
8
8
|
from ..utils import get_ltfu_model_name
|
|
9
9
|
|
|
10
10
|
|
edc_ltfu/modelform_mixins.py
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
|
+
from clinicedc_constants import LTFU, NO, YES
|
|
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
|
-
from edc_constants.constants import NO, YES
|
|
7
6
|
from edc_form_validators import FormValidator
|
|
8
7
|
from edc_utils.text import convert_php_dateformat
|
|
9
8
|
from edc_visit_tracking.constants import MISSED_VISIT
|
|
10
9
|
from edc_visit_tracking.utils import get_related_visit_model_cls
|
|
11
10
|
|
|
12
|
-
from .constants import LOST_TO_FOLLOWUP
|
|
13
|
-
|
|
14
11
|
|
|
15
12
|
class LossToFollowupFormValidator(FormValidator):
|
|
16
13
|
def clean(self):
|
|
@@ -53,7 +50,7 @@ class RequiresLtfuFormValidatorMixin:
|
|
|
53
50
|
|
|
54
51
|
ltfu_model = None # "inte_prn.losstofollowup"
|
|
55
52
|
ltfu_date_field = None # "ltfu_date"
|
|
56
|
-
ltfu_reason =
|
|
53
|
+
ltfu_reason = LTFU
|
|
57
54
|
|
|
58
55
|
@property
|
|
59
56
|
def ltfu_model_cls(self):
|
|
@@ -8,8 +8,12 @@ from django.utils.html import format_html
|
|
|
8
8
|
from django.utils.safestring import mark_safe
|
|
9
9
|
from django_audit_fields import ModelAdminAuditFieldsMixin, audit_fieldset_tuple
|
|
10
10
|
from django_revision.modeladmin_mixin import ModelAdminRevisionMixin
|
|
11
|
+
from rangefilter.filters import DateRangeFilterBuilder
|
|
12
|
+
|
|
11
13
|
from edc_appointment.utils import get_appointment_model_cls
|
|
12
14
|
from edc_dashboard.url_names import url_names
|
|
15
|
+
from edc_metadata import KEYED, REQUIRED
|
|
16
|
+
from edc_metadata.admin.list_filters import CreatedListFilter
|
|
13
17
|
from edc_model_admin.mixins import (
|
|
14
18
|
ModelAdminInstitutionMixin,
|
|
15
19
|
ModelAdminNextUrlRedirectMixin,
|
|
@@ -18,10 +22,6 @@ from edc_model_admin.mixins import (
|
|
|
18
22
|
TemplatesModelAdminMixin,
|
|
19
23
|
)
|
|
20
24
|
from edc_sites.admin import SiteModelAdminMixin
|
|
21
|
-
from rangefilter.filters import DateRangeFilterBuilder
|
|
22
|
-
|
|
23
|
-
from edc_metadata import KEYED, REQUIRED
|
|
24
|
-
from edc_metadata.admin.list_filters import CreatedListFilter
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
class MetadataModelAdminMixin(
|
edc_model/choices.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
from clinicedc_constants import NOT_APPLICABLE
|
|
1
2
|
from django.db.models.fields import CharField
|
|
2
3
|
from django.utils.translation import gettext as _
|
|
3
4
|
|
|
4
5
|
from edc_constants.choices import DATE_ESTIMATED, DATE_ESTIMATED_NA
|
|
5
|
-
from edc_constants.constants import NOT_APPLICABLE
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class IsDateEstimatedField(CharField):
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from django.contrib.admin import SimpleListFilter
|
|
5
|
-
from django.db.models import QuerySet
|
|
6
|
-
from django.utils import timezone
|
|
7
|
-
from django.utils.translation import gettext as _
|
|
8
|
-
|
|
9
|
-
from edc_constants.constants import (
|
|
3
|
+
from clinicedc_constants import (
|
|
10
4
|
FUTURE_DATE,
|
|
11
5
|
IS_NULL,
|
|
12
6
|
LAST_WEEK,
|
|
@@ -17,6 +11,11 @@ from edc_constants.constants import (
|
|
|
17
11
|
TODAY,
|
|
18
12
|
TOMORROW,
|
|
19
13
|
)
|
|
14
|
+
from dateutil.relativedelta import MO, relativedelta
|
|
15
|
+
from django.contrib.admin import SimpleListFilter
|
|
16
|
+
from django.db.models import QuerySet
|
|
17
|
+
from django.utils import timezone
|
|
18
|
+
from django.utils.translation import gettext as _
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
class FutureDateListFilter(SimpleListFilter):
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from clinicedc_constants import OTHER
|
|
3
4
|
from django.contrib.admin import SimpleListFilter
|
|
4
5
|
from django.core.exceptions import FieldError
|
|
5
6
|
from django.db.models import Count, Q
|
|
6
7
|
|
|
7
|
-
from edc_constants.constants import OTHER
|
|
8
8
|
from edc_sites.site import sites
|
|
9
9
|
|
|
10
10
|
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from django.contrib.admin import SimpleListFilter
|
|
5
|
-
from django.db.models import QuerySet
|
|
6
|
-
from django.utils import timezone
|
|
7
|
-
from django.utils.translation import gettext as _
|
|
8
|
-
|
|
9
|
-
from edc_constants.constants import (
|
|
3
|
+
from clinicedc_constants import (
|
|
10
4
|
FUTURE_DATE,
|
|
11
5
|
IS_NULL,
|
|
12
6
|
LAST_MONTH,
|
|
@@ -18,6 +12,11 @@ from edc_constants.constants import (
|
|
|
18
12
|
TODAY,
|
|
19
13
|
YESTERDAY,
|
|
20
14
|
)
|
|
15
|
+
from dateutil.relativedelta import MO, relativedelta
|
|
16
|
+
from django.contrib.admin import SimpleListFilter
|
|
17
|
+
from django.db.models import QuerySet
|
|
18
|
+
from django.utils import timezone
|
|
19
|
+
from django.utils.translation import gettext as _
|
|
21
20
|
|
|
22
21
|
|
|
23
22
|
class PastDateListFilter(SimpleListFilter):
|
|
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING
|
|
|
4
4
|
from urllib.parse import urlencode
|
|
5
5
|
from warnings import warn
|
|
6
6
|
|
|
7
|
+
from clinicedc_constants import NO, YES
|
|
7
8
|
from django import template
|
|
8
9
|
from django.contrib.admin.templatetags.admin_modify import (
|
|
9
10
|
submit_row as django_submit_row,
|
|
@@ -12,7 +13,6 @@ from django.urls.base import reverse
|
|
|
12
13
|
from django.urls.exceptions import NoReverseMatch
|
|
13
14
|
from django_revision.revision import site_revision
|
|
14
15
|
|
|
15
|
-
from edc_constants.constants import NO, YES
|
|
16
16
|
from edc_model_admin.utils import get_next_url
|
|
17
17
|
from edc_protocol.research_protocol_config import ResearchProtocolConfig
|
|
18
18
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
from clinicedc_constants import NOT_APPLICABLE
|
|
1
2
|
from django.db.models.fields import CharField
|
|
2
3
|
from django.utils.translation import gettext as _
|
|
3
4
|
|
|
4
5
|
from edc_constants.choices import DATE_ESTIMATED, DATE_ESTIMATED_NA
|
|
5
|
-
from edc_constants.constants import NOT_APPLICABLE
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class IsDateEstimatedField(CharField):
|
|
@@ -5,6 +5,7 @@ from copy import copy
|
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
7
|
import pandas as pd
|
|
8
|
+
from clinicedc_constants import NULL_STRING
|
|
8
9
|
from django.apps import apps as django_apps
|
|
9
10
|
from django.contrib.sites.models import Site
|
|
10
11
|
from django.core.exceptions import FieldError
|
|
@@ -13,7 +14,6 @@ from django.db.models import QuerySet
|
|
|
13
14
|
from django_crypto_fields.utils import get_encrypted_fields, has_encrypted_fields
|
|
14
15
|
from django_pandas.io import read_frame
|
|
15
16
|
|
|
16
|
-
from edc_constants.constants import NULL_STRING
|
|
17
17
|
from edc_lab.models import Panel
|
|
18
18
|
from edc_list_data.model_mixins import ListModelMixin, ListUuidModelMixin
|
|
19
19
|
|
edc_navbar/navbar_item.py
CHANGED