meta-edc 1.1.10__py3-none-any.whl → 1.1.13__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 meta-edc might be problematic. Click here for more details.
- meta_ae/__init__.py +0 -0
- meta_ae/action_items.py +2 -1
- meta_ae/admin/__init__.py +11 -0
- meta_ae/admin/ae_followup_admin.py +0 -0
- meta_ae/admin/ae_initial_admin.py +0 -0
- meta_ae/admin/ae_local_review_admin.py +0 -0
- meta_ae/admin/ae_sponsor_review_admin.py +0 -0
- meta_ae/admin/ae_susar_admin.py +1 -1
- meta_ae/admin/ae_tmg_admin.py +0 -0
- meta_ae/admin/death_report_admin.py +1 -1
- meta_ae/admin/death_report_tmg_admin.py +0 -0
- meta_ae/admin/death_report_tmg_second_admin.py +0 -0
- meta_ae/admin/hospitalization_admin.py +0 -0
- meta_ae/admin/modeladmin_mixins.py +10 -12
- meta_ae/admin_site.py +0 -0
- meta_ae/apps.py +0 -0
- meta_ae/baker_recipes.py +3 -3
- meta_ae/choices.py +0 -0
- meta_ae/constants.py +0 -0
- meta_ae/forms/__init__.py +13 -0
- meta_ae/forms/ae_followup_form.py +0 -0
- meta_ae/forms/ae_initial_form.py +0 -0
- meta_ae/forms/ae_local_review_form.py +0 -0
- meta_ae/forms/ae_sponsor_review_form.py +0 -0
- meta_ae/forms/ae_susar_form.py +0 -0
- meta_ae/forms/ae_tmg_form.py +0 -0
- meta_ae/forms/death_report_form.py +0 -0
- meta_ae/forms/death_report_tmg_form.py +0 -0
- meta_ae/forms/death_report_tmg_second_form.py +0 -0
- meta_ae/forms/hospitalization_form.py +0 -0
- meta_ae/forms/modelform_mixins.py +2 -2
- meta_ae/list_data.py +0 -0
- meta_ae/migrations/0001_initial.py +27 -27
- meta_ae/migrations/0002_auto_20191024_1000.py +0 -0
- meta_ae/migrations/0003_auto_20191102_0033.py +0 -0
- meta_ae/migrations/0004_auto_20191114_0821.py +0 -0
- meta_ae/migrations/0005_auto_20210624_0225.py +0 -0
- meta_ae/migrations/0006_aelocalreview_aesponsorreview.py +5 -5
- meta_ae/migrations/0007_auto_20210911_2036.py +0 -0
- meta_ae/migrations/0008_auto_20211011_1657.py +0 -0
- meta_ae/migrations/0009_auto_20220307_1929.py +0 -0
- meta_ae/migrations/0010_auto_20220704_1841.py +0 -0
- meta_ae/migrations/0011_alter_aefollowup_action_identifier_and_more.py +0 -0
- meta_ae/migrations/0012_auto_20220826_0258.py +0 -0
- meta_ae/migrations/0013_auto_20220826_0322.py +0 -0
- meta_ae/migrations/0014_auto_20220826_0406.py +0 -0
- meta_ae/migrations/0015_auto_20220907_0157.py +0 -0
- meta_ae/migrations/0016_rename_narrative_aetmg_investigator_narrative_and_more.py +0 -0
- meta_ae/migrations/0017_auto_20221130_2257.py +0 -0
- meta_ae/migrations/0018_alter_deathreporttmg_cause_of_death_agreed_and_more.py +0 -0
- meta_ae/migrations/0019_alter_aefollowup_managers_alter_aeinitial_managers_and_more.py +0 -0
- meta_ae/migrations/0020_alter_aesusar_options_alter_aetmg_options_and_more.py +0 -0
- meta_ae/migrations/0021_alter_aefollowup_site_alter_aeinitial_site_and_more.py +0 -0
- meta_ae/migrations/0022_historicalhospitalization_hospitalization.py +5 -13
- meta_ae/migrations/0023_alter_aefollowup_action_identifier_and_more.py +2017 -0
- meta_ae/migrations/__init__.py +0 -0
- meta_ae/model_mixins/__init__.py +2 -0
- meta_ae/model_mixins/ae_review_model_mixin.py +6 -6
- meta_ae/model_mixins/death_report_model_mixin.py +3 -3
- meta_ae/models/__init__.py +13 -0
- meta_ae/models/ae_followup.py +0 -0
- meta_ae/models/ae_initial.py +0 -0
- meta_ae/models/ae_local_review.py +0 -0
- meta_ae/models/ae_sponsor_review.py +0 -0
- meta_ae/models/ae_susar.py +0 -0
- meta_ae/models/ae_tmg.py +0 -0
- meta_ae/models/death_report.py +0 -0
- meta_ae/models/death_report_tmg.py +0 -0
- meta_ae/models/death_report_tmg_second.py +0 -0
- meta_ae/models/hospitalization.py +3 -3
- meta_ae/models/managers.py +0 -0
- meta_ae/pdf_reports/__init__.py +2 -0
- meta_ae/pdf_reports/ae_pdf_report.py +0 -0
- meta_ae/pdf_reports/death_pdf_report.py +0 -0
- meta_ae/pdf_reports/meta_pdf_report_mixin.py +0 -0
- meta_ae/templates/meta_ae/aeinitial_description.html +0 -0
- meta_ae/templatetags/__init__.py +0 -0
- meta_ae/templatetags/meta_ae_extras.py +0 -0
- meta_ae/urls.py +0 -0
- {meta_edc → meta_analytics}/.DS_Store +0 -0
- meta_analytics/README.rst +0 -0
- meta_analytics/__init__.py +0 -0
- meta_analytics/constants.py +0 -0
- meta_analytics/dataframes/__init__.py +24 -0
- meta_analytics/dataframes/constants.py +0 -0
- meta_analytics/dataframes/get_eos_df.py +1 -2
- meta_analytics/dataframes/get_glucose_df.py +6 -7
- meta_analytics/dataframes/get_glucose_fbg_df.py +2 -3
- meta_analytics/dataframes/get_glucose_fbg_ogtt_df.py +1 -2
- meta_analytics/dataframes/get_last_imp_visits_df.py +5 -6
- meta_analytics/dataframes/glucose_endpoints/__init__.py +2 -0
- meta_analytics/dataframes/glucose_endpoints/endpoint_by_date.py +13 -20
- meta_analytics/dataframes/glucose_endpoints/glucose_endpoints_by_date.py +9 -10
- meta_analytics/dataframes/screening/__init__.py +2 -0
- meta_analytics/dataframes/screening/get_glucose_tested_only_df.py +1 -2
- meta_analytics/dataframes/screening/get_screening_df.py +6 -10
- meta_analytics/dataframes/utils.py +3 -8
- meta_analytics/get_tables.py +1 -2
- meta_analytics/tables/__init__.py +2 -0
- meta_analytics/tables/eligible.py +0 -0
- meta_analytics/tables/enrolled/__init__.py +0 -0
- meta_analytics/tables/enrolled/glucose.py +0 -0
- meta_analytics/tables/has_dm.py +0 -0
- meta_analytics/utils.py +0 -0
- meta_auth/__init__.py +0 -0
- meta_auth/apps.py +0 -0
- meta_auth/auth_objects.py +0 -0
- meta_auth/auths.py +0 -0
- meta_auth/urls.py +0 -0
- meta_consent/__init__.py +0 -0
- meta_consent/action_items.py +2 -1
- meta_consent/admin/__init__.py +6 -0
- meta_consent/admin/actions/__init__.py +2 -0
- meta_consent/admin/actions/create_missing_prescriptions.py +1 -1
- meta_consent/admin/list_filters.py +2 -2
- meta_consent/admin/modeladmin_mixins.py +3 -4
- meta_consent/admin/subject_consent_admin.py +0 -0
- meta_consent/admin/subject_consent_v1_admin.py +0 -0
- meta_consent/admin/subject_consent_v1_ext_admin.py +2 -2
- meta_consent/admin_site.py +0 -0
- meta_consent/apps.py +0 -0
- meta_consent/baker_recipes.py +7 -8
- meta_consent/consents.py +0 -0
- meta_consent/constants.py +0 -0
- meta_consent/form_validators/__init__.py +2 -0
- meta_consent/form_validators/subject_consent_form_validator.py +0 -0
- meta_consent/forms/__init__.py +7 -0
- meta_consent/forms/subject_consent_form.py +0 -0
- meta_consent/forms/subject_consent_v1_ext_form.py +2 -3
- meta_consent/forms/subject_consent_v1_form.py +0 -0
- meta_consent/forms/subject_reconsent_form.py +4 -4
- meta_consent/locale/lg/LC_MESSAGES/django.po +0 -0
- meta_consent/locale/sw/LC_MESSAGES/django.po +0 -0
- meta_consent/management/__init__.py +0 -0
- meta_consent/management/commands/__init__.py +0 -0
- meta_consent/management/commands/create_missing_prescriptions.py +4 -2
- meta_consent/migrations/0001_initial.py +9 -9
- meta_consent/migrations/0002_auto_20191024_1000.py +0 -0
- meta_consent/migrations/0003_auto_20200325_0901.py +0 -0
- meta_consent/migrations/0004_auto_20210624_0225.py +0 -0
- meta_consent/migrations/0005_alter_subjectconsent_options.py +0 -0
- meta_consent/migrations/0006_auto_20210911_2036.py +0 -0
- meta_consent/migrations/0007_auto_20220128_1719.py +0 -0
- meta_consent/migrations/0008_auto_20220412_2151.py +0 -0
- meta_consent/migrations/0009_auto_20220704_1841.py +0 -0
- meta_consent/migrations/0010_alter_historicalsubjectreconsent_action_identifier_and_more.py +0 -0
- meta_consent/migrations/0011_auto_20220826_0258.py +0 -0
- meta_consent/migrations/0012_auto_20220826_0322.py +0 -0
- meta_consent/migrations/0013_auto_20220826_0406.py +0 -0
- meta_consent/migrations/0014_alter_subjectconsent_managers.py +0 -0
- meta_consent/migrations/0015_auto_20220914_0542.py +0 -0
- meta_consent/migrations/0016_auto_20220914_0547.py +0 -0
- meta_consent/migrations/0017_auto_20220929_1742.py +0 -0
- meta_consent/migrations/0018_alter_subjectconsent_options_and_more.py +0 -0
- meta_consent/migrations/0019_alter_subjectconsent_options_and_more.py +0 -0
- meta_consent/migrations/0020_historicalsubjectconsent_model_name_and_more.py +0 -0
- meta_consent/migrations/0021_auto_20240111_0442.py +0 -0
- meta_consent/migrations/0022_alter_historicalsubjectconsent_site_and_more.py +0 -0
- meta_consent/migrations/0023_subjectconsentv1_and_more.py +0 -0
- meta_consent/migrations/0024_historicalsubjectconsentv1.py +3 -8
- meta_consent/migrations/0025_alter_historicalsubjectconsent_first_name_and_more.py +0 -0
- meta_consent/migrations/0026_historicalsubjectconsentv1ext_subjectconsentv1ext.py +5 -14
- meta_consent/migrations/0027_auto_20250111_0344.py +0 -0
- meta_consent/migrations/0028_historicalsubjectconsentv1ext_assessment_score_and_more.py +0 -0
- meta_consent/migrations/0029_alter_historicalsubjectconsentv1ext_agrees_to_extension_and_more.py +0 -0
- meta_consent/migrations/0030_auto_20250120_2114.py +0 -0
- meta_consent/migrations/0031_alter_historicalsubjectconsent_guardian_name_and_more.py +0 -0
- meta_consent/migrations/0032_alter_historicalsubjectconsent_device_created_and_more.py +678 -0
- meta_consent/migrations/__init__.py +0 -0
- meta_consent/models/__init__.py +9 -0
- meta_consent/models/model_mixins.py +1 -2
- meta_consent/models/signals.py +9 -10
- meta_consent/models/subject_consent.py +1 -1
- meta_consent/models/subject_consent_v1.py +0 -0
- meta_consent/models/subject_consent_v1_ext.py +0 -0
- meta_consent/models/subject_reconsent.py +3 -3
- meta_consent/urls.py +0 -0
- meta_dashboard/__init__.py +0 -0
- meta_dashboard/apps.py +0 -0
- meta_dashboard/locale/lg/LC_MESSAGES/django.po +0 -0
- meta_dashboard/locale/sw/LC_MESSAGES/django.po +0 -0
- meta_dashboard/migrations/__init__.py +0 -0
- meta_dashboard/navbars.py +0 -0
- meta_dashboard/patterns.py +1 -1
- meta_dashboard/templates/meta_dashboard/buttons/add_consent_button.html +0 -0
- meta_dashboard/templates/meta_dashboard/buttons/dashboard_button.html +0 -0
- meta_dashboard/templates/meta_dashboard/buttons/eligibility_button.html +0 -0
- meta_dashboard/templates/meta_dashboard/buttons/refusal_button.html +0 -0
- meta_dashboard/templates/meta_dashboard/buttons/screening_button.html +0 -0
- meta_dashboard/templates/meta_dashboard/screening/listboard.html +0 -0
- meta_dashboard/templates/meta_dashboard/subject/dashboard/sidebar.html +0 -0
- meta_dashboard/templates/meta_dashboard/subject/dashboard/top_bar.html +0 -0
- meta_dashboard/templates/meta_dashboard/subject/dashboard.html +0 -0
- meta_dashboard/templates/meta_dashboard/subject/listboard.html +0 -0
- meta_dashboard/templatetags/__init__.py +0 -0
- meta_dashboard/templatetags/meta_dashboard_extras.py +1 -1
- meta_dashboard/urls.py +0 -0
- meta_dashboard/view_utils/__init__.py +7 -0
- meta_dashboard/view_utils/subject_screening_button.py +9 -16
- meta_dashboard/views/__init__.py +8 -0
- meta_dashboard/views/ae/__init__.py +2 -0
- meta_dashboard/views/ae/ae_listboard_view.py +1 -1
- meta_dashboard/views/ae/death_report_listboard_view.py +1 -1
- meta_dashboard/views/screening/__init__.py +2 -0
- meta_dashboard/views/screening/listboard_view.py +0 -0
- meta_dashboard/views/subject/__init__.py +2 -0
- meta_dashboard/views/subject/dashboard/__init__.py +2 -0
- meta_dashboard/views/subject/dashboard/dashboard_view.py +1 -1
- meta_dashboard/views/subject/listboard/__init__.py +2 -0
- meta_dashboard/views/subject/listboard/listboard_view.py +0 -0
- meta_data_manager/__init__.py +0 -0
- meta_data_manager/apps.py +0 -0
- meta_data_manager/data_manager.py +0 -0
- meta_data_manager/handlers.py +0 -0
- meta_edc/__init__.py +1 -1
- meta_edc/admin.py +0 -0
- meta_edc/apps.py +0 -0
- meta_edc/asgi.py +0 -0
- meta_edc/celery.py +1 -1
- meta_edc/celery_live.py +1 -1
- meta_edc/celery_uat.py +1 -1
- meta_edc/management/__init__.py +0 -0
- meta_edc/management/commands/__init__.py +0 -0
- meta_edc/management/commands/update_forms_reference.py +10 -12
- meta_edc/meta_version.py +0 -0
- meta_edc/migrations/__init__.py +0 -0
- meta_edc/model_callers.py +0 -0
- meta_edc/models.py +0 -0
- meta_edc/navbars.py +0 -0
- meta_edc/settings/__init__.py +0 -0
- meta_edc/settings/debug.py +5 -4
- meta_edc/settings/defaults.py +2 -2
- meta_edc/settings/live.py +3 -1
- meta_edc/settings/logging.py +4 -4
- meta_edc/settings/minimal.py +4 -5
- meta_edc/settings/uat.py +3 -1
- meta_edc/templates/meta_edc/base.html +0 -0
- meta_edc/templates/meta_edc/home.html +0 -0
- meta_edc/urls.py +0 -0
- meta_edc/utils.py +0 -0
- meta_edc/views/__init__.py +2 -0
- meta_edc/views/home_view.py +0 -0
- meta_edc/wsgi.py +0 -0
- meta_edc/wsgi_live.py +0 -0
- meta_edc/wsgi_uat.py +0 -0
- meta_edc-1.1.13.dist-info/METADATA +175 -0
- meta_edc-1.1.13.dist-info/RECORD +1136 -0
- {meta_edc-1.1.10.dist-info → meta_edc-1.1.13.dist-info}/WHEEL +1 -1
- {meta_edc-1.1.10.dist-info → meta_edc-1.1.13.dist-info}/licenses/LICENSE +0 -0
- meta_export/__init__.py +0 -0
- meta_export/admin_site.py +0 -0
- meta_export/apps.py +0 -0
- meta_export/urls.py +0 -0
- meta_labs/__init__.py +0 -0
- meta_labs/aliquot_types.py +0 -0
- meta_labs/apps.py +0 -0
- meta_labs/lab_profiles.py +0 -0
- meta_labs/labs.py +0 -0
- meta_labs/list_data.py +0 -0
- meta_labs/processing_profiles.py +0 -0
- meta_labs/reportables.py +0 -0
- meta_lists/__init__.py +0 -0
- meta_lists/admin.py +0 -0
- meta_lists/admin_site.py +0 -0
- meta_lists/apps.py +0 -0
- meta_lists/list_data.py +0 -0
- meta_lists/migrations/0001_initial.py +0 -0
- meta_lists/migrations/0002_auto_20191026_2231.py +0 -0
- meta_lists/migrations/0003_auto_20191102_0033.py +0 -0
- meta_lists/migrations/0004_auto_20191102_1859.py +0 -0
- meta_lists/migrations/0005_auto_20191104_0930.py +0 -0
- meta_lists/migrations/0006_auto_20200514_1959.py +0 -0
- meta_lists/migrations/0007_auto_20200516_2356.py +0 -0
- meta_lists/migrations/0008_auto_20200528_1517.py +0 -0
- meta_lists/migrations/0009_auto_20200613_2041.py +0 -0
- meta_lists/migrations/0010_auto_20200617_1738.py +0 -0
- meta_lists/migrations/0011_auto_20210624_0225.py +0 -0
- meta_lists/migrations/0012_auto_20210728_1809.py +0 -0
- meta_lists/migrations/0013_transferreasons_and_more.py +0 -0
- meta_lists/migrations/0014_auto_20220913_2139.py +0 -0
- meta_lists/migrations/0015_abnormalfootappearanceobservations_extra_value_and_more.py +0 -0
- meta_lists/migrations/0016_alter_abnormalfootappearanceobservations_options_and_more.py +0 -0
- meta_lists/migrations/0017_complications_dmmedications_dmtreatments_and_more.py +0 -0
- meta_lists/migrations/0018_missedreferralreasons.py +0 -0
- meta_lists/migrations/0019_auto_20250128_0143.py +0 -0
- meta_lists/migrations/0020_alter_abnormalfootappearanceobservations_extra_value_and_more.py +404 -0
- meta_lists/migrations/__init__.py +0 -0
- meta_lists/models.py +0 -0
- meta_lists/urls.py +0 -0
- meta_pharmacy/__init__.py +0 -0
- meta_pharmacy/admin/__init__.py +5 -0
- meta_pharmacy/admin/rx_admin.py +0 -0
- meta_pharmacy/admin/substitutions_admin.py +2 -2
- meta_pharmacy/admin_site.py +0 -0
- meta_pharmacy/apps.py +0 -0
- meta_pharmacy/constants.py +0 -0
- meta_pharmacy/forms/__init__.py +2 -0
- meta_pharmacy/forms/rx_form.py +0 -0
- meta_pharmacy/forms/substitutions_form.py +6 -4
- meta_pharmacy/label_configs.py +0 -0
- meta_pharmacy/labels/__init__.py +4 -2
- meta_pharmacy/labels/draw_label_for_subject_with_barcode.py +1 -2
- meta_pharmacy/labels/draw_label_for_subject_with_code128.py +0 -0
- meta_pharmacy/labels/draw_label_with_test_data.py +2 -2
- meta_pharmacy/labels/label_data.py +1 -2
- meta_pharmacy/labels/print_sheets.py +4 -6
- meta_pharmacy/list_data.py +0 -0
- meta_pharmacy/management/__init__.py +0 -0
- meta_pharmacy/management/commands/__init__.py +0 -0
- meta_pharmacy/management/commands/update_initial_pharmacy_data.py +0 -0
- meta_pharmacy/migrations/0001_initial.py +0 -0
- meta_pharmacy/migrations/0002_initial.py +7 -20
- meta_pharmacy/migrations/0003_auto_20240909_2335.py +3 -2
- meta_pharmacy/migrations/0004_alter_historicalsubstitutions_report_datetime_and_more.py +0 -0
- meta_pharmacy/migrations/0005_auto_20240911_0352.py +0 -0
- meta_pharmacy/migrations/0006_lotnumber_label.py +5 -14
- meta_pharmacy/migrations/0007_lotnumber_medication.py +0 -0
- meta_pharmacy/migrations/0008_remove_lotnumber_medication_and_more.py +5 -6
- meta_pharmacy/migrations/0009_remove_historicalrx_slug.py +0 -0
- meta_pharmacy/migrations/0010_alter_historicallabeldata_device_created_and_more.py +382 -0
- meta_pharmacy/migrations/__init__.py +0 -0
- meta_pharmacy/models/__init__.py +7 -0
- meta_pharmacy/models/label_data.py +4 -5
- meta_pharmacy/models/rx.py +0 -0
- meta_pharmacy/models/rx_label.py +0 -0
- meta_pharmacy/models/substitutions.py +3 -3
- meta_pharmacy/prepare_meta_pharmacy.py +1 -1
- meta_pharmacy/urls.py +0 -0
- meta_pharmacy/utils/__init__.py +2 -0
- meta_pharmacy/utils/update_initial_pharmacy_data.py +1 -1
- meta_prn/__init__.py +0 -0
- meta_prn/action_items.py +0 -0
- meta_prn/admin/__init__.py +16 -0
- meta_prn/admin/dm_referral_admin.py +2 -1
- meta_prn/admin/end_of_study_admin.py +6 -7
- meta_prn/admin/loss_to_followup_admin.py +3 -2
- meta_prn/admin/off_study_medication_admin.py +5 -6
- meta_prn/admin/offschedule_admin.py +5 -6
- meta_prn/admin/offschedule_dm_referral_admin.py +6 -6
- meta_prn/admin/offschedule_postnatal_admin.py +7 -7
- meta_prn/admin/offschedule_pregnancy_admin.py +8 -7
- meta_prn/admin/onschedule_admin.py +7 -8
- meta_prn/admin/onschedule_dm_referral_admin.py +6 -7
- meta_prn/admin/pregnancy_notification_admin.py +5 -6
- meta_prn/admin/protocol_incident_admin.py +1 -1
- meta_prn/admin/subject_transfer_admin.py +1 -1
- meta_prn/admin_site.py +0 -0
- meta_prn/apps.py +0 -0
- meta_prn/baker_recipes.py +4 -4
- meta_prn/choices.py +0 -0
- meta_prn/constants.py +0 -0
- meta_prn/form_validators/__init__.py +5 -0
- meta_prn/form_validators/end_of_study.py +2 -2
- meta_prn/form_validators/protocol_incident.py +0 -0
- meta_prn/forms/__init__.py +13 -0
- meta_prn/forms/dm_referral_form.py +0 -0
- meta_prn/forms/end_of_study_form.py +0 -0
- meta_prn/forms/loss_to_followup_form.py +0 -0
- meta_prn/forms/off_study_medication_form.py +0 -0
- meta_prn/forms/offschedule_dm_referral_form.py +0 -0
- meta_prn/forms/offschedule_form.py +0 -0
- meta_prn/forms/offschedule_pregnancy_form.py +0 -0
- meta_prn/forms/pregnancy_notification_form.py +0 -0
- meta_prn/forms/protocol_incident_form.py +0 -0
- meta_prn/forms/subject_transfer_form.py +0 -0
- meta_prn/list_data.py +0 -0
- meta_prn/migrations/0001_initial.py +25 -25
- meta_prn/migrations/0002_auto_20191024_1000.py +0 -0
- meta_prn/migrations/0003_auto_20200120_2020.py +0 -0
- meta_prn/migrations/0004_auto_20200403_0332.py +0 -0
- meta_prn/migrations/0005_auto_20200524_1944.py +0 -0
- meta_prn/migrations/0006_auto_20210624_0225.py +0 -0
- meta_prn/migrations/0007_auto_20210721_0335.py +0 -0
- meta_prn/migrations/0008_auto_20210910_0238.py +0 -0
- meta_prn/migrations/0009_auto_20210910_0239.py +0 -0
- meta_prn/migrations/0010_auto_20210910_1906.py +0 -0
- meta_prn/migrations/0011_auto_20210910_1911.py +0 -0
- meta_prn/migrations/0012_auto_20210911_0004.py +0 -0
- meta_prn/migrations/0013_auto_20210911_2036.py +0 -0
- meta_prn/migrations/0014_auto_20211003_1709.py +0 -0
- meta_prn/migrations/0015_auto_20211104_1447.py +0 -0
- meta_prn/migrations/0016_auto_20220128_1719.py +0 -0
- meta_prn/migrations/0017_auto_20220307_1929.py +5 -5
- meta_prn/migrations/0018_auto_20220309_2106.py +9 -9
- meta_prn/migrations/0019_auto_20220309_2230.py +0 -0
- meta_prn/migrations/0020_auto_20220310_0439.py +0 -0
- meta_prn/migrations/0021_auto_20220316_2147.py +13 -13
- meta_prn/migrations/0022_auto_20220318_0133.py +9 -9
- meta_prn/migrations/0023_auto_20220415_1747.py +0 -0
- meta_prn/migrations/0024_alter_protocoldeviationviolation_violation.py +0 -0
- meta_prn/migrations/0025_alter_historicalprotocoldeviationviolation_options_and_more.py +0 -0
- meta_prn/migrations/0026_remove_historicalprotocoldeviationviolation_violation_type_and_more.py +0 -0
- meta_prn/migrations/0027_rename_historicalprotocoldeviationviolation_historicalprotocolincident_and_more.py +0 -0
- meta_prn/migrations/0028_historicalpregnancynotification_bhcg_date_and_more.py +0 -0
- meta_prn/migrations/0029_alter_historicalpregnancynotification_edd_and_more.py +0 -0
- meta_prn/migrations/0030_auto_20220627_1119.py +0 -0
- meta_prn/migrations/0031_alter_historicaloffschedule_options_and_more.py +0 -0
- meta_prn/migrations/0032_historicalegfrnotification_egfrnotification.py +5 -13
- meta_prn/migrations/0033_remove_historicalegfrnotification_action_item_and_more.py +0 -0
- meta_prn/migrations/0034_auto_20220630_1110.py +0 -0
- meta_prn/migrations/0035_auto_20220630_1140.py +0 -0
- meta_prn/migrations/0036_remove_endofstudy_meta_prn_en_id_a50384_idx_and_more.py +0 -0
- meta_prn/migrations/0037_endofstudy_delivery_date_endofstudy_pregnancy_date_and_more.py +0 -0
- meta_prn/migrations/0038_alter_endofstudy_delivery_date_and_more.py +5 -13
- meta_prn/migrations/0039_historicaloffstudymedication_reason_other_and_more.py +0 -0
- meta_prn/migrations/0040_remove_historicaloffstudymedication_expected_restart_date_and_more.py +0 -0
- meta_prn/migrations/0041_endofstudy_transfer_date_and_more.py +5 -13
- meta_prn/migrations/0042_remove_endofstudy_investigator_decision_and_more.py +0 -0
- meta_prn/migrations/0043_auto_20220704_1841.py +0 -0
- meta_prn/migrations/0044_alter_endofstudy_action_identifier_and_more.py +0 -0
- meta_prn/migrations/0045_auto_20220826_0258.py +0 -0
- meta_prn/migrations/0046_auto_20220826_0322.py +0 -0
- meta_prn/migrations/0047_auto_20220826_0406.py +0 -0
- meta_prn/migrations/0048_auto_20220922_2236.py +0 -0
- meta_prn/migrations/0049_auto_20220929_1742.py +0 -0
- meta_prn/migrations/0050_auto_20221004_0629.py +0 -0
- meta_prn/migrations/0051_historicalprotocolincident_reasons_withdrawn_and_more.py +0 -0
- meta_prn/migrations/0052_alter_historicalprotocolincident_reasons_withdrawn_and_more.py +0 -0
- meta_prn/migrations/0053_alter_losstofollowup_options_and_more.py +0 -0
- meta_prn/migrations/0054_alter_losstofollowup_options_and_more.py +0 -0
- meta_prn/migrations/0055_alter_endofstudy_site_and_more.py +0 -0
- meta_prn/migrations/0056_alter_endofstudy_clinical_withdrawal_reason_and_more.py +0 -0
- meta_prn/migrations/0057_historicalonscheduledmreferral_and_more.py +13 -38
- meta_prn/migrations/0058_dmreferral_referral_note_and_more.py +0 -0
- meta_prn/migrations/0059_alter_historicaloffstudymedication_reason_and_more.py +0 -0
- meta_prn/migrations/0060_alter_onschedule_managers_and_more.py +0 -0
- meta_prn/migrations/0061_auto_20250115_2025.py +0 -0
- meta_prn/migrations/0062_alter_endofstudy_offstudy_reason_and_more.py +0 -0
- meta_prn/migrations/0063_historicaloffstudymedication_singleton_field_and_more.py +0 -0
- meta_prn/migrations/0064_auto_20250602_2143.py +0 -0
- meta_prn/migrations/0065_alter_historicaloffstudymedication_subject_identifier_and_more.py +0 -0
- meta_prn/migrations/0066_alter_historicallosstofollowup_subject_identifier_and_more.py +0 -0
- meta_prn/migrations/0067_alter_offschedule_managers_and_more.py +2557 -0
- meta_prn/migrations/__init__.py +0 -0
- meta_prn/models/__init__.py +20 -0
- meta_prn/models/dm_referral.py +0 -0
- meta_prn/models/end_of_study.py +0 -0
- meta_prn/models/loss_to_followup.py +0 -0
- meta_prn/models/off_study_medication.py +0 -0
- meta_prn/models/offschedule.py +4 -4
- meta_prn/models/onschedule.py +0 -0
- meta_prn/models/pregnancy_notification.py +0 -0
- meta_prn/models/protocol_incident.py +1 -1
- meta_prn/models/signals.py +0 -0
- meta_prn/models/subject_transfer.py +8 -0
- meta_prn/pregnancy_action_item_mixin.py +0 -0
- meta_prn/templates/meta_prn/eos/additional_instructions.html +0 -0
- meta_prn/templates/meta_prn/offschedule/additional_instructions.html +0 -0
- meta_prn/urls.py +0 -0
- meta_rando/__init__.py +0 -0
- meta_rando/apps.py +0 -0
- meta_rando/migrations/0001_initial.py +5 -5
- meta_rando/migrations/0002_auto_20220704_1841.py +0 -0
- meta_rando/migrations/0003_auto_20220826_1640.py +0 -0
- meta_rando/migrations/0004_alter_randomizationlist_options_and_more.py +0 -0
- meta_rando/migrations/0005_alter_randomizationlist_options_and_more.py +0 -0
- meta_rando/migrations/0006_alter_historicalrandomizationlist_allocated_user_and_more.py +130 -0
- meta_rando/migrations/__init__.py +0 -0
- meta_rando/models.py +0 -0
- meta_rando/randomizers.py +0 -0
- meta_reports/__init__.py +2 -0
- meta_reports/admin/__init__.py +16 -0
- meta_reports/admin/dbviews/__init__.py +13 -0
- meta_reports/admin/dbviews/glucose_summary_admin.py +6 -6
- meta_reports/admin/dbviews/imp_substitutions_admin.py +12 -11
- meta_reports/admin/dbviews/missing_screening_ogtt_admin/__init__.py +5 -0
- meta_reports/admin/dbviews/missing_screening_ogtt_admin/note_model_admin.py +6 -10
- meta_reports/admin/dbviews/missing_screening_ogtt_admin/unmanaged_model_admin.py +6 -6
- meta_reports/admin/dbviews/on_study_missing_lab_values_admin/__init__.py +2 -0
- meta_reports/admin/dbviews/on_study_missing_lab_values_admin/unmanaged_model_admin.py +0 -3
- meta_reports/admin/dbviews/on_study_missing_values_admin/__init__.py +2 -0
- meta_reports/admin/dbviews/on_study_missing_values_admin/unmanaged_model_admin.py +0 -0
- meta_reports/admin/dbviews/patient_history_missing_baseline_cd4_admin.py +8 -8
- meta_reports/admin/dbviews/unattended_three_in_row2_admin.py +6 -6
- meta_reports/admin/dbviews/unattended_three_in_row_admin.py +5 -5
- meta_reports/admin/dbviews/unattended_two_in_row_admin.py +5 -5
- meta_reports/admin/endpoints_admin.py +1 -1
- meta_reports/admin/endpoints_all_admin.py +0 -0
- meta_reports/admin/last_imp_refill_admin.py +9 -9
- meta_reports/admin/list_filters.py +2 -2
- meta_reports/admin/modeladmin_mixins.py +9 -16
- meta_reports/admin_site.py +0 -0
- meta_reports/ae_report.py +0 -0
- meta_reports/apps.py +0 -0
- meta_reports/death_report.py +1 -1
- meta_reports/forms/__init__.py +2 -0
- meta_reports/forms/missing_ogtt_note_form.py +2 -3
- meta_reports/management/__init__.py +0 -0
- meta_reports/management/commands/__init__.py +0 -0
- meta_reports/management/commands/generate_endpoints.py +5 -4
- meta_reports/migrations/0001_initial.py +0 -0
- meta_reports/migrations/0002_patienthistorymissingbaselinecd4_and_more.py +0 -0
- meta_reports/migrations/0003_auto_20240618_0505.py +0 -0
- meta_reports/migrations/0004_alter_patienthistorymissingbaselinecd4_table.py +0 -0
- meta_reports/migrations/0005_endpoints.py +0 -0
- meta_reports/migrations/0006_endpoints_baseline_datetime.py +0 -0
- meta_reports/migrations/0007_alter_endpoints_endpoint_label_and_more.py +0 -0
- meta_reports/migrations/0008_alter_endpoints_endpoint_label.py +0 -0
- meta_reports/migrations/0009_alter_endpoints_options.py +0 -0
- meta_reports/migrations/0010_alter_patienthistorymissingbaselinecd4_options_and_more.py +0 -0
- meta_reports/migrations/0011_auto_20240813_0156.py +0 -0
- meta_reports/migrations/0012_auto_20240813_1516.py +0 -0
- meta_reports/migrations/0013_auto_20240813_1516.py +0 -0
- meta_reports/migrations/0014_auto_20240813_1517.py +0 -0
- meta_reports/migrations/0015_alter_endpoints_site.py +0 -0
- meta_reports/migrations/0016_missingscreeningogtt.py +0 -0
- meta_reports/migrations/0017_auto_20240819_1711.py +0 -0
- meta_reports/migrations/0018_auto_20240819_1713.py +0 -0
- meta_reports/migrations/0019_auto_20240819_1721.py +0 -0
- meta_reports/migrations/0020_auto_20240819_1811.py +0 -0
- meta_reports/migrations/0021_auto_20240819_1817.py +0 -0
- meta_reports/migrations/0022_auto_20240819_1832.py +0 -0
- meta_reports/migrations/0023_endpoints_meta_report_subject_a56b22_idx.py +0 -0
- meta_reports/migrations/0024_glucosesummary.py +0 -0
- meta_reports/migrations/0025_auto_20240822_0115.py +0 -0
- meta_reports/migrations/0026_auto_20240822_0120.py +0 -0
- meta_reports/migrations/0027_auto_20240822_0140.py +0 -0
- meta_reports/migrations/0028_alter_glucosesummary_options.py +0 -0
- meta_reports/migrations/0029_auto_20240822_0149.py +0 -0
- meta_reports/migrations/0030_auto_20240822_1637.py +0 -0
- meta_reports/migrations/0031_endpointsproxy.py +0 -0
- meta_reports/migrations/0032_alter_endpointsproxy_options.py +0 -0
- meta_reports/migrations/0033_auto_20240823_0012.py +0 -0
- meta_reports/migrations/0034_auto_20240823_1642.py +0 -0
- meta_reports/migrations/0035_historicalmissingogttnote_missingogttnote.py +5 -14
- meta_reports/migrations/0036_historicalmissingogttnote_fasting_and_more.py +0 -0
- meta_reports/migrations/0037_historicalmissingogttnote_result_status_and_more.py +0 -0
- meta_reports/migrations/0038_alter_historicalmissingogttnote_fasting_and_more.py +0 -0
- meta_reports/migrations/0039_onstudymissingvalues.py +0 -0
- meta_reports/migrations/0040_auto_20240824_0412.py +0 -0
- meta_reports/migrations/0041_auto_20240828_2229.py +0 -0
- meta_reports/migrations/0042_onstudymissinglabvalues.py +0 -0
- meta_reports/migrations/0043_auto_20240828_2309.py +0 -0
- meta_reports/migrations/0044_auto_20240828_2323.py +0 -0
- meta_reports/migrations/0045_auto_20240829_0248.py +0 -0
- meta_reports/migrations/0046_auto_20240829_0250.py +0 -0
- meta_reports/migrations/0047_impsubstitutions.py +0 -0
- meta_reports/migrations/0048_auto_20240909_2338.py +0 -0
- meta_reports/migrations/0049_auto_20240911_0327.py +0 -0
- meta_reports/migrations/0050_alter_endpoints_created.py +0 -0
- meta_reports/migrations/0051_remove_endpoints_baseline_datetime_and_more.py +0 -0
- meta_reports/migrations/0052_lastimpvisit.py +0 -0
- meta_reports/migrations/0053_rename_lastimpvisit_lastimprefill_and_more.py +0 -0
- meta_reports/migrations/0054_auto_20250422_2003.py +0 -0
- meta_reports/migrations/0055_alter_glucosesummary_table.py +0 -0
- meta_reports/migrations/0056_auto_20250422_2214.py +0 -0
- meta_reports/migrations/0057_auto_20250422_2224.py +0 -0
- meta_reports/migrations/0058_auto_20250422_2232.py +0 -0
- meta_reports/migrations/0059_alter_endpoints_created_and_more.py +161 -0
- meta_reports/migrations/__init__.py +0 -0
- meta_reports/models/__init__.py +17 -0
- meta_reports/models/dbviews/README +0 -0
- meta_reports/models/dbviews/__init__.py +14 -0
- meta_reports/models/dbviews/glucose_summary/__init__.py +2 -0
- meta_reports/models/dbviews/glucose_summary/unmanaged_model.py +4 -5
- meta_reports/models/dbviews/glucose_summary/view_definition.py +0 -0
- meta_reports/models/dbviews/imp_substitutions/__init__.py +2 -0
- meta_reports/models/dbviews/imp_substitutions/unmanaged_model.py +0 -0
- meta_reports/models/dbviews/imp_substitutions/view_definition.py +1 -1
- meta_reports/models/dbviews/missing_screening_ogtt/__init__.py +2 -0
- meta_reports/models/dbviews/missing_screening_ogtt/note_model.py +1 -1
- meta_reports/models/dbviews/missing_screening_ogtt/unmanaged_model.py +4 -3
- meta_reports/models/dbviews/missing_screening_ogtt/view_definition.py +0 -0
- meta_reports/models/dbviews/on_study_missing_lab_values/__init__.py +2 -0
- meta_reports/models/dbviews/on_study_missing_lab_values/qa_cases.py +13 -11
- meta_reports/models/dbviews/on_study_missing_lab_values/unmanged_model.py +0 -0
- meta_reports/models/dbviews/on_study_missing_lab_values/view_definition.py +0 -0
- meta_reports/models/dbviews/on_study_missing_values/__init__.py +2 -0
- meta_reports/models/dbviews/on_study_missing_values/qa_cases.py +0 -0
- meta_reports/models/dbviews/on_study_missing_values/unmanged_model.py +0 -0
- meta_reports/models/dbviews/on_study_missing_values/view_definition.py +0 -0
- meta_reports/models/dbviews/patient_history_missing_baseline_cd4/__init__.py +2 -0
- meta_reports/models/dbviews/patient_history_missing_baseline_cd4/unmanaged_model.py +0 -0
- meta_reports/models/dbviews/patient_history_missing_baseline_cd4/view_definition.py +0 -0
- meta_reports/models/dbviews/unattended_three_in_row/__init__.py +2 -0
- meta_reports/models/dbviews/unattended_three_in_row/unmanaged_model.py +0 -0
- meta_reports/models/dbviews/unattended_three_in_row/view_definition.py +0 -0
- meta_reports/models/dbviews/unattended_three_in_row2/__init__.py +2 -0
- meta_reports/models/dbviews/unattended_three_in_row2/unmanaged_model.py +0 -0
- meta_reports/models/dbviews/unattended_three_in_row2/view_definition.py +0 -0
- meta_reports/models/dbviews/unattended_two_in_row/__init__.py +2 -0
- meta_reports/models/dbviews/unattended_two_in_row/unmanaged_model.py +0 -0
- meta_reports/models/dbviews/unattended_two_in_row/view_definition.py +0 -0
- meta_reports/models/endpoints.py +4 -4
- meta_reports/models/endpoints_proxy.py +0 -0
- meta_reports/models/last_imp_refill.py +2 -3
- meta_reports/pdf_report.py +2 -2
- meta_reports/tasks.py +1 -1
- meta_reports/templates/meta_reports/columns/subject_identifier_column.html +0 -0
- meta_reports/templates/meta_reports/endpoints_all_change_list_note.html +0 -0
- meta_reports/templates/meta_reports/endpoints_change_list_note.html +0 -0
- meta_reports/templates/meta_reports/last_imp_refill/changelist_note.html +0 -0
- meta_reports/urls.py +0 -0
- meta_reports/utils.py +0 -0
- meta_screening/__init__.py +0 -0
- meta_screening/admin/__init__.py +8 -0
- meta_screening/admin/fieldsets.py +13 -14
- meta_screening/admin/list_filters.py +6 -4
- meta_screening/admin/screening_part_one_admin.py +1 -2
- meta_screening/admin/screening_part_three_admin.py +2 -3
- meta_screening/admin/screening_part_two_admin.py +7 -10
- meta_screening/admin/subject_refusal_admin.py +5 -3
- meta_screening/admin/subject_screening_admin.py +4 -4
- meta_screening/admin_site.py +0 -0
- meta_screening/apps.py +0 -0
- meta_screening/baker_recipes.py +9 -9
- meta_screening/calculators.py +0 -0
- meta_screening/choices.py +0 -0
- meta_screening/constants.py +0 -0
- meta_screening/eligibility/__init__.py +9 -0
- meta_screening/eligibility/eligibility.py +7 -7
- meta_screening/eligibility/eligibility_part_one.py +0 -0
- meta_screening/eligibility/eligibility_part_three/__init__.py +2 -0
- meta_screening/eligibility/eligibility_part_three/base_eligibility_part_three.py +8 -8
- meta_screening/eligibility/eligibility_part_three/eligibility_part_three_phase_three.py +13 -14
- meta_screening/eligibility/eligibility_part_two.py +0 -0
- meta_screening/form_validators/__init__.py +8 -0
- meta_screening/form_validators/screening_part_one.py +0 -0
- meta_screening/form_validators/screening_part_three.py +0 -0
- meta_screening/form_validators/screening_part_two.py +0 -0
- meta_screening/form_validators/subject_refusal.py +0 -0
- meta_screening/form_validators/subject_screening.py +0 -0
- meta_screening/forms/__init__.py +20 -0
- meta_screening/forms/field_lists.py +16 -17
- meta_screening/forms/screening_part_one_form.py +2 -2
- meta_screening/forms/screening_part_three_form.py +5 -3
- meta_screening/forms/screening_part_two_form.py +1 -5
- meta_screening/forms/subject_refusal_form.py +0 -4
- meta_screening/forms/subject_screening_form.py +0 -4
- meta_screening/migrations/0001_initial.py +15 -15
- meta_screening/migrations/0002_auto_20191020_0612.py +0 -0
- meta_screening/migrations/0003_auto_20191020_0627.py +0 -0
- meta_screening/migrations/0004_auto_20191020_0738.py +0 -0
- meta_screening/migrations/0005_auto_20191021_0353.py +0 -0
- meta_screening/migrations/0006_auto_20191022_0134.py +0 -0
- meta_screening/migrations/0007_auto_20191024_1000.py +0 -0
- meta_screening/migrations/0008_auto_20191031_0745.py +0 -0
- meta_screening/migrations/0009_auto_20191105_0122.py +0 -0
- meta_screening/migrations/0010_auto_20191106_0828.py +5 -5
- meta_screening/migrations/0011_auto_20191107_0342.py +0 -0
- meta_screening/migrations/0012_auto_20191107_0427.py +0 -0
- meta_screening/migrations/0013_auto_20191107_0442.py +0 -0
- meta_screening/migrations/0014_auto_20191107_0528.py +0 -0
- meta_screening/migrations/0015_auto_20191107_2249.py +0 -0
- meta_screening/migrations/0016_auto_20191119_2331.py +0 -0
- meta_screening/migrations/0017_auto_20191213_0314.py +0 -0
- meta_screening/migrations/0018_auto_20200118_1854.py +0 -0
- meta_screening/migrations/0019_auto_20200120_2256.py +0 -0
- meta_screening/migrations/0020_auto_20200524_1944.py +0 -0
- meta_screening/migrations/0021_auto_20210628_2105.py +0 -0
- meta_screening/migrations/0022_auto_20210702_0426.py +0 -0
- meta_screening/migrations/0023_auto_20210702_0533.py +0 -0
- meta_screening/migrations/0024_auto_20210710_1929.py +0 -0
- meta_screening/migrations/0025_auto_20210710_2247.py +0 -0
- meta_screening/migrations/0026_auto_20210712_0433.py +0 -0
- meta_screening/migrations/0027_auto_20210804_0438.py +0 -0
- meta_screening/migrations/0028_auto_20210823_2353.py +0 -0
- meta_screening/migrations/0029_auto_20211123_1645.py +0 -0
- meta_screening/migrations/0030_auto_20220128_1719.py +0 -0
- meta_screening/migrations/0031_auto_20220304_0448.py +0 -0
- meta_screening/migrations/0032_auto_20220304_0501.py +0 -0
- meta_screening/migrations/0033_auto_20220304_0504.py +0 -0
- meta_screening/migrations/0034_auto_20220304_0508.py +0 -0
- meta_screening/migrations/0035_auto_20220304_2233.py +0 -0
- meta_screening/migrations/0036_auto_20220304_2307.py +0 -0
- meta_screening/migrations/0037_auto_20220312_0339.py +0 -0
- meta_screening/migrations/0038_auto_20220312_1929.py +0 -0
- meta_screening/migrations/0039_auto_20220312_1938.py +0 -0
- meta_screening/migrations/0040_auto_20220316_2147.py +0 -0
- meta_screening/migrations/0041_auto_20220403_1227.py +0 -0
- meta_screening/migrations/0042_auto_20220403_1402.py +0 -0
- meta_screening/migrations/0043_auto_20220407_1713.py +0 -0
- meta_screening/migrations/0044_alter_historicalscreeningpartone_severe_htn_and_more.py +0 -0
- meta_screening/migrations/0045_historicalscreeningpartone_contact_number_and_more.py +0 -0
- meta_screening/migrations/0046_historicalscreeningpartone_hba1c_datetime_and_more.py +0 -0
- meta_screening/migrations/0047_historicalscreeningpartone_appt_datetime_repeat_and_more.py +0 -0
- meta_screening/migrations/0048_rename_appt_datetime_repeat_historicalscreeningpartone_repeat_appt_datetime_and_more.py +0 -0
- meta_screening/migrations/0049_historicalscreeningpartone_p3_ltfu_and_more.py +0 -0
- meta_screening/migrations/0050_historicalscreeningpartone_agree_to_p3_and_more.py +0 -0
- meta_screening/migrations/0051_alter_historicalscreeningpartone_advised_to_fast_and_more.py +0 -0
- meta_screening/migrations/0052_alter_historicalscreeningpartone_p3_ltfu_and_more.py +0 -0
- meta_screening/migrations/0053_auto_20220704_1841.py +0 -0
- meta_screening/migrations/0054_auto_20220722_2130.py +0 -0
- meta_screening/migrations/0055_alter_historicalscreeningpartone_creatinine_value_and_more.py +0 -0
- meta_screening/migrations/0056_alter_historicalscreeningpartone_agree_to_p3_and_more.py +0 -0
- meta_screening/migrations/0057_alter_historicalscreeningpartone_calculated_egfr_value_and_more.py +0 -0
- meta_screening/migrations/0058_alter_historicalscreeningpartone_eligibility_datetime_and_more.py +0 -0
- meta_screening/migrations/0059_alter_icpreferral_managers_and_more.py +0 -0
- meta_screening/migrations/0060_historicalicpreferral_locale_created_and_more.py +0 -0
- meta_screening/migrations/0061_alter_historicalicpreferral_site_and_more.py +0 -0
- meta_screening/migrations/0062_remove_icpreferral_site_and_more.py +0 -0
- meta_screening/migrations/0063_alter_historicalscreeningpartone_fasting_duration_str_and_more.py +0 -0
- meta_screening/migrations/0064_remove_historicalscreeningpartone_fasting_duration_minutes_and_more.py +0 -0
- meta_screening/migrations/0065_auto_20240516_0352.py +0 -0
- meta_screening/migrations/0066_alter_historicalscreeningpartone_fasting_duration_delta_and_more.py +0 -0
- meta_screening/migrations/0067_alter_historicalscreeningpartone_report_datetime_and_more.py +0 -0
- meta_screening/migrations/0068_alter_historicalscreeningpartone_acute_condition_and_more.py +1579 -0
- meta_screening/migrations/__init__.py +0 -0
- meta_screening/model_mixins/__init__.py +8 -0
- meta_screening/model_mixins/calculated_model_mixin.py +0 -0
- meta_screening/model_mixins/creatinine_fields_model_mixin.py +0 -0
- meta_screening/model_mixins/eligibility_model_mixin.py +5 -3
- meta_screening/model_mixins/part_one_fields_model_mixin.py +5 -9
- meta_screening/model_mixins/part_three_fields_model_mixin.py +5 -6
- meta_screening/model_mixins/part_two_fields_model_mixin.py +18 -16
- meta_screening/models/__init__.py +9 -0
- meta_screening/models/icp_referral.py +5 -5
- meta_screening/models/proxy_models.py +0 -0
- meta_screening/models/signals.py +10 -11
- meta_screening/models/subject_refusal.py +1 -1
- meta_screening/models/subject_screening.py +1 -3
- meta_screening/urls.py +0 -0
- meta_sites/__init__.py +0 -0
- meta_sites/apps.py +0 -0
- meta_sites/migrations/__init__.py +0 -0
- meta_sites/models.py +0 -0
- meta_sites/sites.py +0 -0
- meta_subject/__init__.py +0 -0
- meta_subject/action_items.py +13 -15
- meta_subject/admin/__init__.py +39 -0
- meta_subject/admin/autocomplete_admin.py +0 -0
- meta_subject/admin/birth_outcome_admin.py +4 -8
- meta_subject/admin/blood_results/__init__.py +9 -0
- meta_subject/admin/blood_results/blood_results_fbc_admin.py +1 -1
- meta_subject/admin/blood_results/blood_results_hba1c_admin.py +1 -1
- meta_subject/admin/blood_results/blood_results_ins_admin.py +1 -1
- meta_subject/admin/blood_results/blood_results_lft_admin.py +1 -1
- meta_subject/admin/blood_results/blood_results_lipids_admin.py +1 -1
- meta_subject/admin/blood_results/blood_results_rft_admin.py +3 -5
- meta_subject/admin/complications_admin.py +0 -0
- meta_subject/admin/complications_glycemia_admin.py +1 -1
- meta_subject/admin/concomitant_medication_admin.py +0 -0
- meta_subject/admin/delivery_admin.py +7 -10
- meta_subject/admin/diabetes/__init__.py +2 -0
- meta_subject/admin/diabetes/dm_endpoint_admin.py +2 -2
- meta_subject/admin/diabetes/dm_followup_admin.py +3 -2
- meta_subject/admin/egfr_drop_notification_admin.py +1 -1
- meta_subject/admin/eq5d3l_admin.py +0 -0
- meta_subject/admin/fields.py +0 -0
- meta_subject/admin/fieldsets.py +0 -0
- meta_subject/admin/followup_examination_admin.py +10 -9
- meta_subject/admin/followup_vitals_admin.py +4 -5
- meta_subject/admin/glucose_admin.py +2 -4
- meta_subject/admin/glucose_fbg_admin.py +1 -3
- meta_subject/admin/health_economics/__init__.py +2 -0
- meta_subject/admin/health_economics/health_economics_simple_admin.py +1 -1
- meta_subject/admin/health_economics/health_economics_update_admin.py +1 -1
- meta_subject/admin/hepatitis_test_admin.py +1 -1
- meta_subject/admin/list_filters.py +1 -1
- meta_subject/admin/malaria_test_admin.py +0 -0
- meta_subject/admin/medication_adherence_admin.py +0 -0
- meta_subject/admin/mnsi_admin.py +7 -5
- meta_subject/admin/modeladmin.py +0 -0
- meta_subject/admin/next_appointment_admin.py +0 -0
- meta_subject/admin/other_arv_regimens_admin.py +3 -3
- meta_subject/admin/patient_history_admin.py +4 -4
- meta_subject/admin/physical_exam_admin.py +1 -1
- meta_subject/admin/pregnancy_update_admin.py +1 -1
- meta_subject/admin/sf12_admin.py +0 -0
- meta_subject/admin/study_medication_admin.py +8 -15
- meta_subject/admin/subject_requisition_admin.py +1 -1
- meta_subject/admin/subject_visit_admin.py +1 -1
- meta_subject/admin/subject_visit_missed_admin.py +1 -1
- meta_subject/admin/urine_dipstick_test_admin.py +1 -1
- meta_subject/admin/urine_pregnancy_admin.py +1 -1
- meta_subject/admin_site.py +0 -0
- meta_subject/apps.py +0 -0
- meta_subject/baker_recipes.py +15 -15
- meta_subject/choices.py +0 -0
- meta_subject/constants.py +0 -0
- meta_subject/form_validators/__init__.py +11 -0
- meta_subject/form_validators/birth_outcomes_form_validator.py +0 -0
- meta_subject/form_validators/delivery_form_validator.py +2 -3
- meta_subject/form_validators/dm_endpoint_form_validator.py +1 -1
- meta_subject/form_validators/dm_followup_form_validator.py +7 -6
- meta_subject/form_validators/egfr_drop_notification_form_validator.py +0 -0
- meta_subject/form_validators/followup_examination_form_validator.py +0 -0
- meta_subject/form_validators/glucose_form_validator.py +3 -5
- meta_subject/form_validators/health_economics_form_validator.py +0 -0
- meta_subject/forms/__init__.py +41 -0
- meta_subject/forms/birth_outcomes_form.py +0 -0
- meta_subject/forms/blood_results/__init__.py +9 -0
- meta_subject/forms/blood_results/blood_results_fbc_form.py +0 -0
- meta_subject/forms/blood_results/blood_results_hba1c_form.py +0 -0
- meta_subject/forms/blood_results/blood_results_ins_form.py +0 -0
- meta_subject/forms/blood_results/blood_results_lft_form.py +0 -0
- meta_subject/forms/blood_results/blood_results_lipids_form.py +0 -0
- meta_subject/forms/blood_results/blood_results_rft_form.py +1 -2
- meta_subject/forms/complications_glycemia_form.py +0 -0
- meta_subject/forms/concomitant_medication_form.py +0 -0
- meta_subject/forms/delivery_form.py +0 -0
- meta_subject/forms/diabetes/__init__.py +2 -0
- meta_subject/forms/diabetes/dm_endpoint_form.py +0 -0
- meta_subject/forms/diabetes/dm_followup_form.py +2 -2
- meta_subject/forms/egfr_drop_notification_form.py +0 -0
- meta_subject/forms/eq53d3l_form.py +0 -0
- meta_subject/forms/followup_examination_form.py +0 -0
- meta_subject/forms/followup_vitals_form.py +3 -8
- meta_subject/forms/glucose_fbg_form.py +0 -0
- meta_subject/forms/glucose_form.py +0 -0
- meta_subject/forms/health_economics/__init__.py +2 -0
- meta_subject/forms/health_economics/health_economics_simple_form.py +0 -0
- meta_subject/forms/health_economics/health_economics_update_form.py +0 -0
- meta_subject/forms/hepatitis_test_form.py +0 -0
- meta_subject/forms/malaria_test_form.py +0 -0
- meta_subject/forms/medication_adherence_form.py +0 -0
- meta_subject/forms/mixins.py +0 -0
- meta_subject/forms/mnsi_form.py +0 -0
- meta_subject/forms/next_appointment_form.py +2 -3
- meta_subject/forms/other_arv_regimens_detail_form.py +0 -0
- meta_subject/forms/other_arv_regimens_form.py +0 -0
- meta_subject/forms/patient_history_form.py +0 -0
- meta_subject/forms/physical_exam_form.py +0 -0
- meta_subject/forms/pregnancy_update_form.py +0 -0
- meta_subject/forms/sf12_form.py +0 -0
- meta_subject/forms/slider_widget.py +1 -1
- meta_subject/forms/study_medication_form.py +11 -8
- meta_subject/forms/subject_requisition_form.py +0 -0
- meta_subject/forms/subject_visit_form.py +0 -0
- meta_subject/forms/subject_visit_missed_form.py +0 -0
- meta_subject/forms/urine_dipstick_test_form.py +0 -0
- meta_subject/forms/urine_pregnancy_form.py +0 -0
- meta_subject/identifiers.py +0 -0
- meta_subject/locale/lg/LC_MESSAGES/django.po +0 -0
- meta_subject/locale/sw/LC_MESSAGES/django.po +0 -0
- meta_subject/management/__init__py.py +0 -0
- meta_subject/management/commands/__init__py.py +0 -0
- meta_subject/management/commands/create_missing_refills.py +3 -3
- meta_subject/management/commands/create_missing_rx.py +1 -1
- meta_subject/management/commands/missed.py +20 -23
- meta_subject/metadata_rules/__init__.py +2 -0
- meta_subject/metadata_rules/metadata_rules.py +0 -0
- meta_subject/metadata_rules/predicates.py +25 -32
- meta_subject/migrations/0001_initial.py +61 -61
- meta_subject/migrations/0002_auto_20191021_0353.py +5 -5
- meta_subject/migrations/0003_auto_20191021_0534.py +0 -0
- meta_subject/migrations/0004_auto_20191022_0134.py +0 -0
- meta_subject/migrations/0005_auto_20191024_1000.py +0 -0
- meta_subject/migrations/0006_auto_20191104_0756.py +0 -0
- meta_subject/migrations/0007_auto_20191107_2249.py +0 -0
- meta_subject/migrations/0008_auto_20191115_0132.py +0 -0
- meta_subject/migrations/0009_auto_20191119_2331.py +0 -0
- meta_subject/migrations/0010_auto_20191213_0314.py +0 -0
- meta_subject/migrations/0011_auto_20200118_1854.py +0 -0
- meta_subject/migrations/0012_auto_20200118_2334.py +5 -5
- meta_subject/migrations/0013_auto_20200119_0013.py +0 -0
- meta_subject/migrations/0014_auto_20200120_1622.py +5 -5
- meta_subject/migrations/0015_auto_20200120_1943.py +0 -0
- meta_subject/migrations/0016_auto_20200123_1508.py +0 -0
- meta_subject/migrations/0017_auto_20200325_0901.py +0 -0
- meta_subject/migrations/0018_coronakap_historicalcoronakap.py +5 -5
- meta_subject/migrations/0019_auto_20200417_0315.py +0 -0
- meta_subject/migrations/0020_auto_20200417_0329.py +0 -0
- meta_subject/migrations/0021_auto_20200417_0332.py +0 -0
- meta_subject/migrations/0022_auto_20200419_2223.py +0 -0
- meta_subject/migrations/0023_auto_20200419_2305.py +0 -0
- meta_subject/migrations/0024_auto_20200419_2331.py +0 -0
- meta_subject/migrations/0025_auto_20200420_1455.py +0 -0
- meta_subject/migrations/0026_auto_20200420_1524.py +0 -0
- meta_subject/migrations/0027_auto_20200420_1645.py +0 -0
- meta_subject/migrations/0028_auto_20200420_1732.py +0 -0
- meta_subject/migrations/0029_auto_20200420_1751.py +0 -0
- meta_subject/migrations/0030_auto_20200420_1816.py +0 -0
- meta_subject/migrations/0031_auto_20200422_2039.py +0 -0
- meta_subject/migrations/0032_auto_20200515_0307.py +0 -0
- meta_subject/migrations/0033_auto_20200516_2356.py +5 -5
- meta_subject/migrations/0034_auto_20200517_0125.py +0 -0
- meta_subject/migrations/0035_auto_20200517_0128.py +0 -0
- meta_subject/migrations/0036_auto_20200517_0150.py +0 -0
- meta_subject/migrations/0037_auto_20200517_0207.py +0 -0
- meta_subject/migrations/0038_auto_20200520_0020.py +5 -5
- meta_subject/migrations/0039_auto_20200524_1944.py +0 -0
- meta_subject/migrations/0040_auto_20200527_2155.py +1 -1
- meta_subject/migrations/0041_auto_20200528_0242.py +0 -0
- meta_subject/migrations/0042_auto_20200528_0252.py +0 -0
- meta_subject/migrations/0043_auto_20200528_1555.py +0 -0
- meta_subject/migrations/0044_auto_20200528_1853.py +0 -0
- meta_subject/migrations/0045_auto_20200530_1801.py +1 -1
- meta_subject/migrations/0046_auto_20200530_1804.py +0 -0
- meta_subject/migrations/0047_auto_20200530_1819.py +0 -0
- meta_subject/migrations/0048_auto_20200530_1819.py +0 -0
- meta_subject/migrations/0049_auto_20200613_2041.py +0 -0
- meta_subject/migrations/0050_auto_20200614_1934.py +0 -0
- meta_subject/migrations/0051_auto_20200617_2117.py +5 -5
- meta_subject/migrations/0052_auto_20210624_0225.py +0 -0
- meta_subject/migrations/0053_auto_20210628_2105.py +0 -0
- meta_subject/migrations/0054_auto_20210628_2314.py +0 -0
- meta_subject/migrations/0055_auto_20210628_2331.py +0 -0
- meta_subject/migrations/0056_auto_20210702_0426.py +0 -0
- meta_subject/migrations/0057_auto_20210702_0458.py +0 -0
- meta_subject/migrations/0058_auto_20210702_0533.py +0 -0
- meta_subject/migrations/0059_auto_20210709_2056.py +0 -0
- meta_subject/migrations/0060_auto_20210709_2241.py +0 -0
- meta_subject/migrations/0061_auto_20210710_1929.py +0 -0
- meta_subject/migrations/0062_auto_20210713_0616.py +0 -0
- meta_subject/migrations/0063_auto_20210715_0337.py +5 -5
- meta_subject/migrations/0064_auto_20210715_2336.py +0 -0
- meta_subject/migrations/0065_auto_20210716_0813.py +0 -0
- meta_subject/migrations/0066_auto_20210721_0335.py +9 -9
- meta_subject/migrations/0067_auto_20210726_0340.py +5 -5
- meta_subject/migrations/0068_auto_20210728_1809.py +5 -5
- meta_subject/migrations/0069_auto_20210801_2021.py +0 -0
- meta_subject/migrations/0070_auto_20210804_0438.py +0 -0
- meta_subject/migrations/0071_auto_20210804_0715.py +0 -0
- meta_subject/migrations/0072_auto_20210805_1545.py +7 -7
- meta_subject/migrations/0073_auto_20210809_0055.py +5 -5
- meta_subject/migrations/0074_auto_20210809_1744.py +0 -0
- meta_subject/migrations/0075_auto_20210809_1744.py +0 -0
- meta_subject/migrations/0076_auto_20210809_1854.py +0 -0
- meta_subject/migrations/0077_auto_20210809_2323.py +3 -3
- meta_subject/migrations/0078_auto_20210810_0857.py +0 -0
- meta_subject/migrations/0079_auto_20210812_0335.py +0 -0
- meta_subject/migrations/0080_auto_20210812_0400.py +0 -0
- meta_subject/migrations/0081_auto_20210817_2306.py +0 -0
- meta_subject/migrations/0082_auto_20210823_1612.py +3 -3
- meta_subject/migrations/0083_auto_20210823_1620.py +3 -3
- meta_subject/migrations/0084_auto_20210910_0234.py +0 -0
- meta_subject/migrations/0085_auto_20210911_2036.py +0 -0
- meta_subject/migrations/0086_auto_20210920_0229.py +0 -0
- meta_subject/migrations/0087_auto_20210922_2058.py +0 -0
- meta_subject/migrations/0088_auto_20210924_0027.py +5 -5
- meta_subject/migrations/0089_auto_20210924_0121.py +0 -0
- meta_subject/migrations/0090_auto_20210924_0424.py +5 -5
- meta_subject/migrations/0091_auto_20210929_2324.py +0 -0
- meta_subject/migrations/0092_auto_20211013_0447.py +0 -0
- meta_subject/migrations/0093_auto_20211117_0352.py +5 -5
- meta_subject/migrations/0094_auto_20211123_1645.py +0 -0
- meta_subject/migrations/0095_auto_20220128_1719.py +5 -5
- meta_subject/migrations/0096_auto_20220304_0501.py +0 -0
- meta_subject/migrations/0097_auto_20220304_2233.py +0 -0
- meta_subject/migrations/0098_auto_20220309_2106.py +5 -5
- meta_subject/migrations/0099_auto_20220309_2218.py +0 -0
- meta_subject/migrations/0100_auto_20220309_2238.py +0 -0
- meta_subject/migrations/0101_auto_20220316_2147.py +13 -13
- meta_subject/migrations/0102_auto_20220324_0304.py +0 -0
- meta_subject/migrations/0103_auto_20220324_0326.py +0 -0
- meta_subject/migrations/0104_auto_20220412_2151.py +0 -0
- meta_subject/migrations/0105_auto_20220412_2310.py +0 -0
- meta_subject/migrations/0106_auto_20220414_1741.py +0 -0
- meta_subject/migrations/0107_auto_20220415_0043.py +0 -0
- meta_subject/migrations/0108_auto_20220415_1747.py +0 -0
- meta_subject/migrations/0109_auto_20220415_1758.py +0 -0
- meta_subject/migrations/0110_auto_20220512_1811.py +0 -0
- meta_subject/migrations/0111_alter_followupvitals_severe_htn_and_more.py +0 -0
- meta_subject/migrations/0112_historicalsubjectvisit_document_status_comments_and_more.py +0 -0
- meta_subject/migrations/0113_bloodresultsrft_egfr_percent_change_and_more.py +0 -0
- meta_subject/migrations/0114_alter_bloodresultsrft_egfr_percent_change_and_more.py +0 -0
- meta_subject/migrations/0115_historicalegfrnotification_egfrnotification.py +5 -13
- meta_subject/migrations/0116_egfrnotification_report_status_and_more.py +0 -0
- meta_subject/migrations/0117_alter_egfrnotification_managers_and_more.py +0 -0
- meta_subject/migrations/0118_delivery_crf_status_delivery_crf_status_comments_and_more.py +0 -0
- meta_subject/migrations/0119_historicalstudymedication_roundup_divisible_by_and_more.py +0 -0
- meta_subject/migrations/0120_alter_birthoutcomes_managers_and_more.py +0 -0
- meta_subject/migrations/0121_auto_20220704_1841.py +0 -0
- meta_subject/migrations/0122_auto_20220708_2144.py +0 -0
- meta_subject/migrations/0123_auto_20220714_2136.py +0 -0
- meta_subject/migrations/0124_auto_20220714_2303.py +0 -0
- meta_subject/migrations/0125_auto_20220719_2134.py +0 -0
- meta_subject/migrations/0126_auto_20220719_2142.py +0 -0
- meta_subject/migrations/0127_auto_20220720_0053.py +0 -0
- meta_subject/migrations/0128_auto_20220720_0055.py +0 -0
- meta_subject/migrations/0129_auto_20220720_0108.py +0 -0
- meta_subject/migrations/0130_auto_20220720_0216.py +0 -0
- meta_subject/migrations/0131_auto_20220722_0411.py +0 -0
- meta_subject/migrations/0132_auto_20220722_1825.py +0 -0
- meta_subject/migrations/0133_auto_20220722_2140.py +0 -0
- meta_subject/migrations/0134_auto_20220722_2211.py +0 -0
- meta_subject/migrations/0135_auto_20220722_2212.py +0 -0
- meta_subject/migrations/0136_egfrdropnotification_creatinine_quantifier_and_more.py +0 -0
- meta_subject/migrations/0137_alter_egfrdropnotification_egfr_percent_change_and_more.py +0 -0
- meta_subject/migrations/0138_alter_glucose_fbg_datetime_and_more.py +0 -0
- meta_subject/migrations/0139_alter_bloodresultsins_ins_units_and_more.py +0 -0
- meta_subject/migrations/0140_alter_bloodresultsfbc_action_identifier_and_more.py +0 -0
- meta_subject/migrations/0141_auto_20220826_0258.py +0 -0
- meta_subject/migrations/0142_auto_20220826_0322.py +0 -0
- meta_subject/migrations/0143_auto_20220826_0406.py +0 -0
- meta_subject/migrations/0144_auto_20220907_0157.py +0 -0
- meta_subject/migrations/0145_auto_20220907_0202.py +0 -0
- meta_subject/migrations/0146_auto_20220907_0207.py +0 -0
- meta_subject/migrations/0147_auto_20220907_1505.py +0 -0
- meta_subject/migrations/0148_auto_20220908_1826.py +0 -0
- meta_subject/migrations/0149_auto_20220913_2139.py +0 -0
- meta_subject/migrations/0150_auto_20220914_0039.py +0 -0
- meta_subject/migrations/0151_auto_20220918_0508.py +0 -0
- meta_subject/migrations/0152_auto_20220925_0509.py +0 -0
- meta_subject/migrations/0153_auto_20220928_0250.py +0 -0
- meta_subject/migrations/0154_auto_20220928_0419.py +0 -0
- meta_subject/migrations/0155_auto_20220929_1742.py +0 -0
- meta_subject/migrations/0156_alter_bloodresultsfbc_assay_datetime_and_more.py +0 -0
- meta_subject/migrations/0157_remove_bloodresultsfbc_crf_status_and_more.py +0 -0
- meta_subject/migrations/0158_alter_followupexamination_attended_clinic_and_more.py +0 -0
- meta_subject/migrations/0159_alter_bloodresultsfbc_results_abnormal_and_more.py +0 -0
- meta_subject/migrations/0160_alter_healtheconomicssimple_education_certificate_and_more.py +0 -0
- meta_subject/migrations/0161_alter_birthoutcomes_options_and_more.py +0 -0
- meta_subject/migrations/0162_alter_followupexamination_abdominal_tenderness_and_more.py +0 -0
- meta_subject/migrations/0163_alter_birthoutcomes_options_and_more.py +0 -0
- meta_subject/migrations/0164_dmreferralfollowup_historicaldmreferralfollowup.py +5 -5
- meta_subject/migrations/0165_alter_dmreferralfollowup_healthcare_workers.py +0 -0
- meta_subject/migrations/0166_rename_dm_medications_other_dmreferralfollowup_other_dm_medications_and_more.py +0 -0
- meta_subject/migrations/0167_rename_healthcare_workers_other_dmreferralfollowup_other_healthcare_workers_and_more.py +0 -0
- meta_subject/migrations/0168_alter_dmreferralfollowup_last_missed_pill_and_more.py +0 -0
- meta_subject/migrations/0169_alter_dmreferralfollowup_options_and_more.py +0 -0
- meta_subject/migrations/0170_remove_glucose_repeat_fbg_and_more.py +0 -0
- meta_subject/migrations/0171_alter_glucose_endpoint_today_and_more.py +0 -0
- meta_subject/migrations/0172_remove_historicalbloodresultsglu_action_item_and_more.py +1 -2
- meta_subject/migrations/0173_alter_glucosefbg_options_and_more.py +0 -0
- meta_subject/migrations/0174_remove_glucosefbg_glucose_abnormal_and_more.py +0 -0
- meta_subject/migrations/0175_auto_20240214_2239.py +0 -0
- meta_subject/migrations/0176_alter_glucosefbg_glucose_value_and_more.py +0 -0
- meta_subject/migrations/0177_alter_bloodresultslft_alp_value_and_more.py +1 -2
- meta_subject/migrations/0178_historicalhealtheconomicsupdate_and_more.py +5 -14
- meta_subject/migrations/0179_alter_birthoutcomes_consent_model_and_more.py +0 -0
- meta_subject/migrations/0180_dmreferralfollowup_missed_referral_reasons_and_more.py +0 -0
- meta_subject/migrations/0181_dmreferralfollowup_action_identifier_and_more.py +0 -0
- meta_subject/migrations/0182_rename_dmreferralfollowup_dmfollowup_and_more.py +0 -0
- meta_subject/migrations/0183_alter_dmfollowup_on_dm_medications_and_more.py +0 -0
- meta_subject/migrations/0184_alter_glucose_options_and_more.py +0 -0
- meta_subject/migrations/0185_alter_bloodresultsins_fasting_duration_str_and_more.py +0 -0
- meta_subject/migrations/0186_healtheconomicsupdate_singleton_field_and_more.py +1 -2
- meta_subject/migrations/0187_dmdiagnosis_historicaldmdiagnosis_dmdxresult_and_more.py +5 -14
- meta_subject/migrations/0188_historicaldmdxresult_dmdxresult.py +5 -14
- meta_subject/migrations/0189_alter_dmdxresult_options_and_more.py +0 -0
- meta_subject/migrations/0190_dmdiagnosis_dx_no_tmg_reason_and_more.py +0 -0
- meta_subject/migrations/0191_alter_dmdiagnosis_dx_no_tmg_reason_and_more.py +0 -0
- meta_subject/migrations/0192_rename_glucose_quantifier_glucosefbg_fbg_quantifier_and_more.py +0 -0
- meta_subject/migrations/0193_alter_glucosefbg_fbg_value_and_more.py +0 -0
- meta_subject/migrations/0194_remove_glucosefbg_assay_datetime_and_more.py +0 -0
- meta_subject/migrations/0195_alter_glucosefbg_fbg_datetime_and_more.py +0 -0
- meta_subject/migrations/0196_glucosefbg_fbg_not_performed_reason_and_more.py +0 -0
- meta_subject/migrations/0197_glucosefbg_fasting_duration_estimated_and_more.py +0 -0
- meta_subject/migrations/0198_alter_glucosefbg_fasting_duration_estimated_and_more.py +0 -0
- meta_subject/migrations/0199_auto_20240516_0247.py +0 -0
- meta_subject/migrations/0200_rename_fasting_duration_minutes_bloodresultsins_fasting_duration_delta_and_more.py +0 -0
- meta_subject/migrations/0201_alter_bloodresultsins_fasting_duration_delta_and_more.py +0 -0
- meta_subject/migrations/0202_auto_20240516_0315.py +0 -0
- meta_subject/migrations/0203_alter_bloodresultsins_fasting_duration_delta_and_more.py +0 -0
- meta_subject/migrations/0204_glucosefbg_repeat_fbg_date_and_more.py +0 -0
- meta_subject/migrations/0205_historicalsubjectrequisition_crf_status_and_more.py +0 -0
- meta_subject/migrations/0206_bloodresultsfbc_crf_status_and_more.py +0 -0
- meta_subject/migrations/0207_alter_historicalphysicalexam_waist_circumference_and_more.py +0 -0
- meta_subject/migrations/0208_birthoutcomes_crf_status_and_more.py +0 -0
- meta_subject/migrations/0209_remove_historicaldmdxresult_dm_diagnosis_and_more.py +1 -2
- meta_subject/migrations/0210_remove_dmdxresult_dm_diagnosis_and_more.py +0 -0
- meta_subject/migrations/0211_dmendpoint_endpoint_reached_and_more.py +0 -0
- meta_subject/migrations/0212_auto_20240827_2222.py +0 -0
- meta_subject/migrations/0213_rename_bloodresultslipid_bloodresultslipids_and_more.py +0 -0
- meta_subject/migrations/0214_historicalstudymedication_stock_codes_and_more.py +0 -0
- meta_subject/migrations/0215_alter_historicalstudymedication_stock_codes_and_more.py +0 -0
- meta_subject/migrations/0216_historicalnextappointment_nextappointment.py +5 -6
- meta_subject/migrations/0217_alter_historicalnextappointment_appt_datetime_and_more.py +0 -0
- meta_subject/migrations/0218_alter_historicalnextappointment_appt_date_and_more.py +0 -0
- meta_subject/migrations/0219_remove_historicalnextappointment_allow_create_interim_and_more.py +0 -0
- meta_subject/migrations/0220_historicalbloodresultsgludummy_bloodresultsgludummy.py +5 -14
- meta_subject/migrations/0221_auto_20250402_1913.py +0 -0
- meta_subject/migrations/0222_alter_historicalstudymedication_stock_codes_and_more.py +0 -0
- meta_subject/migrations/0223_bloodresultsfbc_errors_bloodresultsgludummy_errors_and_more.py +0 -0
- meta_subject/migrations/0224_bloodresultsfbc_abnormal_summary_and_more.py +0 -0
- meta_subject/migrations/0225_followupvitals_waist_circumference_and_more.py +0 -0
- meta_subject/migrations/0226_followupvitals_waist_circumference_comment_and_more.py +0 -0
- meta_subject/migrations/0227_alter_followupvitals_waist_circumference_comment_and_more.py +0 -0
- meta_subject/migrations/0228_bloodresultshba1c_hba1c_datetime_and_more.py +9297 -0
- meta_subject/migrations/__init__.py +0 -0
- meta_subject/model_mixins/__init__.py +8 -0
- meta_subject/model_mixins/arv_history_model_mixin.py +0 -0
- meta_subject/model_mixins/crf_model_mixin.py +0 -0
- meta_subject/model_mixins/crf_with_action_model_mixin.py +0 -0
- meta_subject/model_mixins/search_slug_model_mixin.py +1 -2
- meta_subject/model_mixins/vitals_fields_model_mixin.py +1 -1
- meta_subject/models/__init__.py +48 -0
- meta_subject/models/birth_outcomes.py +3 -3
- meta_subject/models/blood_results/__init__.py +11 -0
- meta_subject/models/blood_results/blood_results_fbc.py +0 -0
- meta_subject/models/blood_results/blood_results_glu.py +0 -0
- meta_subject/models/blood_results/blood_results_hba1c.py +0 -0
- meta_subject/models/blood_results/blood_results_ins.py +0 -0
- meta_subject/models/blood_results/blood_results_lft.py +0 -0
- meta_subject/models/blood_results/blood_results_lipids.py +0 -0
- meta_subject/models/blood_results/blood_results_rft.py +0 -0
- meta_subject/models/complications.py +0 -0
- meta_subject/models/complications_glycemia.py +0 -0
- meta_subject/models/concomitant_medication.py +0 -0
- meta_subject/models/delivery.py +3 -3
- meta_subject/models/diabetes/__init__.py +2 -0
- meta_subject/models/diabetes/dm_endpoint.py +4 -4
- meta_subject/models/diabetes/dm_followup.py +3 -4
- meta_subject/models/diet_and_lifestyle.py +2 -2
- meta_subject/models/egfr_drop_notification.py +0 -0
- meta_subject/models/eq5d3l.py +0 -0
- meta_subject/models/followup_examination.py +11 -11
- meta_subject/models/followup_vitals.py +0 -0
- meta_subject/models/glucose.py +4 -4
- meta_subject/models/glucose_fbg.py +2 -3
- meta_subject/models/glucose_review.py +0 -0
- meta_subject/models/health_economics/__init__.py +2 -0
- meta_subject/models/health_economics/health_economics.py +7 -7
- meta_subject/models/health_economics/health_economics_simple.py +0 -0
- meta_subject/models/health_economics/health_economics_update.py +2 -1
- meta_subject/models/hepatitis_test.py +2 -2
- meta_subject/models/malaria_test.py +0 -0
- meta_subject/models/medication_adherence.py +0 -0
- meta_subject/models/mnsi.py +0 -0
- meta_subject/models/next_appointment.py +0 -0
- meta_subject/models/off_study_drug.py +0 -0
- meta_subject/models/other_arv_regimens.py +0 -0
- meta_subject/models/other_arv_regimens_detail.py +1 -1
- meta_subject/models/patient_history.py +5 -6
- meta_subject/models/physical_exam.py +2 -2
- meta_subject/models/pregnancy_update.py +1 -1
- meta_subject/models/sf12.py +0 -0
- meta_subject/models/signals.py +14 -12
- meta_subject/models/study_medication.py +0 -0
- meta_subject/models/subject_requisition.py +0 -0
- meta_subject/models/subject_visit.py +1 -1
- meta_subject/models/subject_visit_missed.py +0 -0
- meta_subject/models/todo.txt +0 -0
- meta_subject/models/urine_dipstick_test.py +1 -1
- meta_subject/models/urine_pregnancy.py +1 -1
- meta_subject/static/meta_subject/slider.css +0 -0
- meta_subject/static/meta_subject/slider.png +0 -0
- meta_subject/templates/meta_subject/endpoint_review_instructions.html +0 -0
- meta_subject/templates/meta_subject/widgets/slider.html +0 -0
- meta_subject/urls.py +0 -0
- meta_visit_schedule/__init__.py +0 -0
- meta_visit_schedule/apps.py +0 -0
- meta_visit_schedule/constants.py +0 -0
- meta_visit_schedule/migrations/__init__.py +0 -0
- meta_visit_schedule/models.py +0 -0
- meta_visit_schedule/visit_schedules/__init__.py +2 -0
- meta_visit_schedule/visit_schedules/phase_three/__init__.py +2 -0
- meta_visit_schedule/visit_schedules/phase_three/crfs.py +0 -0
- meta_visit_schedule/visit_schedules/phase_three/crfs_pregnancy.py +0 -0
- meta_visit_schedule/visit_schedules/phase_three/requisitions.py +0 -0
- meta_visit_schedule/visit_schedules/phase_three/schedule.py +2 -2
- meta_visit_schedule/visit_schedules/phase_three/schedule_dm_referral.py +1 -2
- meta_visit_schedule/visit_schedules/phase_three/schedule_pregnancy.py +1 -2
- meta_visit_schedule/visit_schedules/phase_three/visit_schedule.py +0 -0
- meta_analytics/.ipynb_checkpoints/get_tables-checkpoint.py +0 -105
- meta_analytics/dataframes/glucose_endpoints/utils.py +0 -0
- meta_edc-1.1.10.dist-info/METADATA +0 -89
- meta_edc-1.1.10.dist-info/RECORD +0 -1130
- meta_screening/offline_models.py +0 -3
|
@@ -42,7 +42,7 @@ class Substitutions(NonUniqueSubjectIdentifierFieldMixin, SiteModelMixin, BaseUu
|
|
|
42
42
|
updated_visit_no = models.IntegerField("Visit Number", null=True, blank=True)
|
|
43
43
|
|
|
44
44
|
updated_subject_identifier = models.CharField(
|
|
45
|
-
max_length=50, verbose_name="Taken from subject",
|
|
45
|
+
max_length=50, verbose_name="Taken from subject", default="", blank=True
|
|
46
46
|
)
|
|
47
47
|
|
|
48
48
|
arm_match = models.CharField(
|
|
@@ -82,7 +82,7 @@ class Substitutions(NonUniqueSubjectIdentifierFieldMixin, SiteModelMixin, BaseUu
|
|
|
82
82
|
class Meta(SiteModelMixin.Meta, BaseUuidModel.Meta):
|
|
83
83
|
verbose_name_plural = "IMP Substitutions"
|
|
84
84
|
verbose_name = "IMP Substitution"
|
|
85
|
-
indexes =
|
|
85
|
+
indexes = (
|
|
86
86
|
Index(fields=["sid", "dispensed_sid", "subject_identifier"]),
|
|
87
87
|
Index(fields=["row_index"]),
|
|
88
|
-
|
|
88
|
+
)
|
|
@@ -9,7 +9,7 @@ style = color_style()
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def prepare_meta_pharmacy():
|
|
12
|
-
from django.apps import apps as django_apps
|
|
12
|
+
from django.apps import apps as django_apps # noqa: PLC0415
|
|
13
13
|
|
|
14
14
|
sys.stdout.write(style.MIGRATE_HEADING("Populating static pharmacy models for META3:\n"))
|
|
15
15
|
|
meta_pharmacy/urls.py
CHANGED
|
File without changes
|
meta_pharmacy/utils/__init__.py
CHANGED
|
@@ -136,7 +136,7 @@ def update_labels():
|
|
|
136
136
|
LabelSpecification().save()
|
|
137
137
|
default = LabelSpecification.objects.get(name="default")
|
|
138
138
|
|
|
139
|
-
for name
|
|
139
|
+
for name in site_label_configs.registry:
|
|
140
140
|
LabelConfiguration.objects.create(name=name, label_specification=default)
|
|
141
141
|
for label_configuration in LabelConfiguration.objects.filter(name__contains="patient"):
|
|
142
142
|
label_configuration.requires_allocation = True
|
meta_prn/__init__.py
CHANGED
|
File without changes
|
meta_prn/action_items.py
CHANGED
|
File without changes
|
meta_prn/admin/__init__.py
CHANGED
|
@@ -11,3 +11,19 @@ from .onschedule_dm_referral_admin import OnScheduleDmReferralAdmin
|
|
|
11
11
|
from .pregnancy_notification_admin import PregnancyNotificationAdmin
|
|
12
12
|
from .protocol_incident_admin import ProtocolIncidentAdmin
|
|
13
13
|
from .subject_transfer_admin import SubjectTransferAdmin
|
|
14
|
+
|
|
15
|
+
__all__ = [
|
|
16
|
+
"DmReferralAdmin",
|
|
17
|
+
"EndOfStudyAdmin",
|
|
18
|
+
"LossToFollowupAdmin",
|
|
19
|
+
"OffScheduleAdmin",
|
|
20
|
+
"OffScheduleDmReferralAdmin",
|
|
21
|
+
"OffSchedulePostnatalAdmin",
|
|
22
|
+
"OffSchedulePregnancyAdmin",
|
|
23
|
+
"OffStudyMedicationAdmin",
|
|
24
|
+
"OnScheduleAdmin",
|
|
25
|
+
"OnScheduleDmReferralAdmin",
|
|
26
|
+
"PregnancyNotificationAdmin",
|
|
27
|
+
"ProtocolIncidentAdmin",
|
|
28
|
+
"SubjectTransferAdmin",
|
|
29
|
+
]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from django.contrib import admin
|
|
2
2
|
from django_audit_fields.admin import audit_fieldset_tuple
|
|
3
|
-
from edc_action_item import
|
|
3
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
4
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
4
5
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
5
6
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
6
7
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
|
-
|
|
3
1
|
from dateutil.relativedelta import relativedelta
|
|
4
2
|
from django.contrib import admin
|
|
5
3
|
from django.template.loader import render_to_string
|
|
6
4
|
from django.utils.html import format_html
|
|
7
5
|
from django.utils.safestring import mark_safe
|
|
8
6
|
from django_audit_fields.admin import audit_fieldset_tuple
|
|
9
|
-
from edc_action_item import
|
|
7
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
8
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
10
9
|
from edc_constants.constants import OTHER
|
|
11
10
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
12
11
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
@@ -30,7 +29,7 @@ class EndOfStudyAdmin(
|
|
|
30
29
|
):
|
|
31
30
|
additional_instructions = format_html(
|
|
32
31
|
"{html}",
|
|
33
|
-
html=mark_safe(
|
|
32
|
+
html=mark_safe( # noqa: S308
|
|
34
33
|
render_to_string(
|
|
35
34
|
"meta_prn/eos/additional_instructions.html",
|
|
36
35
|
context=dict(
|
|
@@ -123,7 +122,7 @@ class EndOfStudyAdmin(
|
|
|
123
122
|
kwargs["queryset"] = OffstudyReasons.objects.order_by("display_index")
|
|
124
123
|
return super().formfield_for_foreignkey(db_field, request, **kwargs)
|
|
125
124
|
|
|
126
|
-
def get_list_display(self, request) ->
|
|
125
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
127
126
|
list_display = super().get_list_display(request)
|
|
128
127
|
custom_fields = (
|
|
129
128
|
"subject_identifier",
|
|
@@ -137,12 +136,12 @@ class EndOfStudyAdmin(
|
|
|
137
136
|
f for f in list_display if f not in custom_fields + ("__str__",)
|
|
138
137
|
)
|
|
139
138
|
|
|
140
|
-
def get_list_filter(self, request) ->
|
|
139
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
141
140
|
list_filter = super().get_list_filter(request)
|
|
142
141
|
custom_fields = ("offstudy_reason", "last_seen_date")
|
|
143
142
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
144
143
|
|
|
145
|
-
def get_search_fields(self, request) ->
|
|
144
|
+
def get_search_fields(self, request) -> tuple[str, ...]:
|
|
146
145
|
search_fields = super().get_search_fields(request)
|
|
147
146
|
custom_fields = ("subject_identifier",)
|
|
148
147
|
return tuple(set(custom_fields + search_fields))
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from django.contrib import admin
|
|
2
2
|
from django_audit_fields.admin import audit_fieldset_tuple
|
|
3
|
-
from edc_action_item import
|
|
3
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
4
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
4
5
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
5
6
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
6
7
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -54,7 +55,7 @@ class LossToFollowupAdmin(
|
|
|
54
55
|
"number_consecutive_missed_visits",
|
|
55
56
|
)
|
|
56
57
|
|
|
57
|
-
radio_fields = {
|
|
58
|
+
radio_fields = { # noqa: RUF012
|
|
58
59
|
"home_visited": admin.VERTICAL,
|
|
59
60
|
"loss_category": admin.VERTICAL,
|
|
60
61
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
|
-
|
|
3
1
|
from django.contrib import admin
|
|
4
2
|
from django_audit_fields.admin import audit_fieldset_tuple
|
|
5
|
-
from edc_action_item import
|
|
3
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
4
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
6
5
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
7
6
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
8
7
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -40,7 +39,7 @@ class OffStudyMedicationAdmin(
|
|
|
40
39
|
audit_fieldset_tuple,
|
|
41
40
|
)
|
|
42
41
|
|
|
43
|
-
radio_fields = {
|
|
42
|
+
radio_fields = { # noqa: RUF012
|
|
44
43
|
"reason": admin.VERTICAL,
|
|
45
44
|
}
|
|
46
45
|
|
|
@@ -48,7 +47,7 @@ class OffStudyMedicationAdmin(
|
|
|
48
47
|
|
|
49
48
|
search_fields = ("subject_identifier",)
|
|
50
49
|
|
|
51
|
-
def get_list_display(self, request) ->
|
|
50
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
52
51
|
list_display = super().get_list_display(request)
|
|
53
52
|
custom_fields = (
|
|
54
53
|
"subject_identifier",
|
|
@@ -58,7 +57,7 @@ class OffStudyMedicationAdmin(
|
|
|
58
57
|
)
|
|
59
58
|
return custom_fields + tuple(f for f in list_display if f not in custom_fields)
|
|
60
59
|
|
|
61
|
-
def get_list_filter(self, request) ->
|
|
60
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
62
61
|
list_filter = super().get_list_filter(request)
|
|
63
62
|
custom_fields = (
|
|
64
63
|
"medications",
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
|
-
|
|
3
1
|
from django.contrib import admin
|
|
4
2
|
from django.template.loader import render_to_string
|
|
5
3
|
from django.utils.safestring import mark_safe
|
|
6
4
|
from django_audit_fields import audit_fieldset_tuple
|
|
7
|
-
from edc_action_item import
|
|
5
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
6
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
8
7
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
9
8
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
10
9
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -23,7 +22,7 @@ class OffScheduleAdmin(
|
|
|
23
22
|
):
|
|
24
23
|
form = OffScheduleForm
|
|
25
24
|
|
|
26
|
-
additional_instructions = mark_safe(
|
|
25
|
+
additional_instructions = mark_safe( # noqa: S308
|
|
27
26
|
render_to_string(
|
|
28
27
|
"meta_prn/offschedule/additional_instructions.html",
|
|
29
28
|
context=dict(verbose_name=EndOfStudy._meta.verbose_name),
|
|
@@ -36,12 +35,12 @@ class OffScheduleAdmin(
|
|
|
36
35
|
audit_fieldset_tuple,
|
|
37
36
|
)
|
|
38
37
|
|
|
39
|
-
def get_list_display(self, request) ->
|
|
38
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
40
39
|
list_display = super().get_list_display(request)
|
|
41
40
|
custom_fields = ("subject_identifier", "dashboard", "offschedule_datetime")
|
|
42
41
|
return custom_fields + tuple(f for f in list_display if f not in custom_fields)
|
|
43
42
|
|
|
44
|
-
def get_list_filter(self, request) ->
|
|
43
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
45
44
|
list_filter = super().get_list_filter(request)
|
|
46
45
|
custom_fields = ("offschedule_datetime",)
|
|
47
46
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
1
|
|
|
3
2
|
from django.contrib import admin
|
|
4
3
|
from django.template.loader import render_to_string
|
|
5
4
|
from django.utils.safestring import mark_safe
|
|
6
5
|
from django_audit_fields import audit_fieldset_tuple
|
|
7
|
-
from edc_action_item import
|
|
6
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
7
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
8
8
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
9
9
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
10
10
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -25,12 +25,12 @@ class OffScheduleDmReferralAdmin(
|
|
|
25
25
|
|
|
26
26
|
form = OffScheduleDmReferralForm
|
|
27
27
|
|
|
28
|
-
additional_instructions = mark_safe(
|
|
28
|
+
additional_instructions = mark_safe( # noqa: S308
|
|
29
29
|
render_to_string(
|
|
30
30
|
"meta_prn/offschedule/additional_instructions.html",
|
|
31
31
|
context=dict(verbose_name=EndOfStudy._meta.verbose_name),
|
|
32
32
|
)
|
|
33
|
-
)
|
|
33
|
+
)
|
|
34
34
|
|
|
35
35
|
fieldsets = (
|
|
36
36
|
(None, {"fields": ("subject_identifier", "offschedule_datetime")}),
|
|
@@ -38,12 +38,12 @@ class OffScheduleDmReferralAdmin(
|
|
|
38
38
|
audit_fieldset_tuple,
|
|
39
39
|
)
|
|
40
40
|
|
|
41
|
-
def get_list_display(self, request) ->
|
|
41
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
42
42
|
list_display = super().get_list_display(request)
|
|
43
43
|
custom_fields = ("subject_identifier", "dashboard", "offschedule_datetime")
|
|
44
44
|
return custom_fields + tuple(f for f in list_display if f not in custom_fields)
|
|
45
45
|
|
|
46
|
-
def get_list_filter(self, request) ->
|
|
46
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
47
47
|
list_filter = super().get_list_filter(request)
|
|
48
48
|
custom_fields = ("offschedule_datetime",)
|
|
49
49
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
1
|
|
|
3
2
|
from django.contrib import admin
|
|
4
3
|
from django.template.loader import render_to_string
|
|
5
4
|
from django.utils.safestring import mark_safe
|
|
6
5
|
from django_audit_fields import audit_fieldset_tuple
|
|
7
|
-
from edc_action_item import
|
|
6
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
7
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
8
8
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
9
9
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
10
10
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -22,12 +22,12 @@ class OffSchedulePostnatalAdmin(
|
|
|
22
22
|
):
|
|
23
23
|
instructions = None
|
|
24
24
|
|
|
25
|
-
additional_instructions = mark_safe(
|
|
25
|
+
additional_instructions = mark_safe( # noqa: S308
|
|
26
26
|
render_to_string(
|
|
27
27
|
"meta_prn/offschedule/additional_instructions.html",
|
|
28
28
|
context=dict(verbose_name=EndOfStudy._meta.verbose_name),
|
|
29
29
|
)
|
|
30
|
-
)
|
|
30
|
+
)
|
|
31
31
|
|
|
32
32
|
fieldsets = (
|
|
33
33
|
(None, {"fields": ("subject_identifier", "offschedule_datetime")}),
|
|
@@ -35,16 +35,16 @@ class OffSchedulePostnatalAdmin(
|
|
|
35
35
|
audit_fieldset_tuple,
|
|
36
36
|
)
|
|
37
37
|
|
|
38
|
-
def get_list_display(self, request) ->
|
|
38
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
39
39
|
list_display = super().get_list_display(request)
|
|
40
40
|
custom_fields = ("subject_identifier", "dashboard", "offschedule_datetime")
|
|
41
41
|
return custom_fields + tuple(f for f in list_display if f not in custom_fields)
|
|
42
42
|
|
|
43
|
-
def get_list_filter(self, request) ->
|
|
43
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
44
44
|
list_filter = super().get_list_filter(request)
|
|
45
45
|
custom_fields = ("offschedule_datetime",)
|
|
46
46
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
47
47
|
|
|
48
|
-
def get_readonly_fields(self, request, obj=None) ->
|
|
48
|
+
def get_readonly_fields(self, request, obj=None) -> tuple[str, ...]:
|
|
49
49
|
custom_fields = ("subject_identifier", "offschedule_datetime")
|
|
50
50
|
return tuple(set(super().get_readonly_fields(request, obj=obj) + custom_fields))
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
1
|
|
|
3
2
|
from django.contrib import admin
|
|
4
3
|
from django.template.loader import render_to_string
|
|
5
4
|
from django.utils.safestring import mark_safe
|
|
6
5
|
from django_audit_fields import audit_fieldset_tuple
|
|
7
|
-
from edc_action_item import
|
|
6
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
7
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
8
8
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
9
9
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
10
10
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -23,12 +23,12 @@ class OffSchedulePregnancyAdmin(
|
|
|
23
23
|
):
|
|
24
24
|
instructions = None
|
|
25
25
|
|
|
26
|
-
additional_instructions = mark_safe(
|
|
26
|
+
additional_instructions = mark_safe( # noqa: S308
|
|
27
27
|
render_to_string(
|
|
28
28
|
"meta_prn/offschedule/additional_instructions.html",
|
|
29
29
|
context=dict(verbose_name=EndOfStudy._meta.verbose_name),
|
|
30
30
|
)
|
|
31
|
-
)
|
|
31
|
+
)
|
|
32
32
|
|
|
33
33
|
form = OffSchedulePregnancyForm
|
|
34
34
|
|
|
@@ -38,16 +38,17 @@ class OffSchedulePregnancyAdmin(
|
|
|
38
38
|
audit_fieldset_tuple,
|
|
39
39
|
)
|
|
40
40
|
|
|
41
|
-
def get_list_display(self, request) ->
|
|
41
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
42
42
|
list_display = super().get_list_display(request)
|
|
43
43
|
custom_fields = ("subject_identifier", "dashboard", "offschedule_datetime")
|
|
44
44
|
return custom_fields + tuple(f for f in list_display if f not in custom_fields)
|
|
45
45
|
|
|
46
|
-
def get_list_filter(self, request) ->
|
|
46
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
47
47
|
list_filter = super().get_list_filter(request)
|
|
48
48
|
custom_fields = ("offschedule_datetime",)
|
|
49
49
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
50
50
|
|
|
51
51
|
# def get_readonly_fields(self, request, obj=None) -> Tuple[str, ...]:
|
|
52
52
|
# custom_fields = ("subject_identifier", "offschedule_datetime")
|
|
53
|
-
# return tuple(set(super().get_readonly_fields(request, obj=obj) +
|
|
53
|
+
# return tuple(set(super().get_readonly_fields(request, obj=obj) +
|
|
54
|
+
# custom_fields))
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
|
-
|
|
3
1
|
from django.contrib import admin
|
|
4
2
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
5
3
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
@@ -17,23 +15,24 @@ class OnScheduleAdmin(
|
|
|
17
15
|
|
|
18
16
|
fields = ("subject_identifier", "onschedule_datetime")
|
|
19
17
|
|
|
20
|
-
def get_list_display(self, request) ->
|
|
18
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
21
19
|
list_display = super().get_list_display(request)
|
|
22
20
|
custom_fields = ("subject_identifier", "dashboard", "onschedule_datetime")
|
|
23
21
|
return custom_fields + tuple(
|
|
24
|
-
f for f in list_display if f not in custom_fields
|
|
22
|
+
f for f in list_display if f not in (*custom_fields, "__str__")
|
|
25
23
|
)
|
|
26
24
|
|
|
27
|
-
def get_list_filter(self, request) ->
|
|
25
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
28
26
|
list_filter = super().get_list_filter(request)
|
|
29
27
|
custom_fields = ("onschedule_datetime",)
|
|
30
28
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
31
29
|
|
|
32
|
-
def get_readonly_fields(self, request, obj=None) ->
|
|
30
|
+
def get_readonly_fields(self, request, obj=None) -> tuple[str, ...]: # noqa: ARG002
|
|
33
31
|
return (
|
|
34
32
|
"subject_identifier",
|
|
35
33
|
"onschedule_datetime",
|
|
36
34
|
)
|
|
37
35
|
|
|
38
|
-
def get_search_fields(self, request) ->
|
|
39
|
-
|
|
36
|
+
def get_search_fields(self, request) -> tuple[str, ...]:
|
|
37
|
+
fields = super().get_search_fields(request)
|
|
38
|
+
return tuple({*fields, "subject_identifier"})
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
|
-
|
|
3
1
|
from django.contrib import admin
|
|
4
2
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
5
3
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
@@ -17,14 +15,14 @@ class OnScheduleDmReferralAdmin(
|
|
|
17
15
|
|
|
18
16
|
fields = ("subject_identifier", "onschedule_datetime")
|
|
19
17
|
|
|
20
|
-
def get_list_display(self, request) ->
|
|
18
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
21
19
|
list_display = super().get_list_display(request)
|
|
22
20
|
custom_fields = ("subject_identifier", "dashboard", "onschedule_datetime")
|
|
23
21
|
return custom_fields + tuple(
|
|
24
|
-
f for f in list_display if f not in custom_fields
|
|
22
|
+
f for f in list_display if f not in (*custom_fields, "__str__")
|
|
25
23
|
)
|
|
26
24
|
|
|
27
|
-
def get_list_filter(self, request) ->
|
|
25
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
28
26
|
list_filter = super().get_list_filter(request)
|
|
29
27
|
custom_fields = ("onschedule_datetime",)
|
|
30
28
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
@@ -35,5 +33,6 @@ class OnScheduleDmReferralAdmin(
|
|
|
35
33
|
# "onschedule_datetime",
|
|
36
34
|
# )
|
|
37
35
|
|
|
38
|
-
def get_search_fields(self, request) ->
|
|
39
|
-
|
|
36
|
+
def get_search_fields(self, request) -> tuple[str, ...]:
|
|
37
|
+
fields = super().get_search_fields(request)
|
|
38
|
+
return tuple({*fields, "subject_identifier"})
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
from typing import Tuple
|
|
2
|
-
|
|
3
1
|
from django.contrib import admin
|
|
4
2
|
from django_audit_fields.admin import audit_fieldset_tuple
|
|
5
|
-
from edc_action_item import
|
|
3
|
+
from edc_action_item.fieldsets import action_fieldset_tuple
|
|
4
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
6
5
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
7
6
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
8
7
|
from edc_sites.admin import SiteModelAdminMixin
|
|
@@ -46,12 +45,12 @@ class PregnancyNotificationAdmin(
|
|
|
46
45
|
audit_fieldset_tuple,
|
|
47
46
|
)
|
|
48
47
|
|
|
49
|
-
radio_fields = {
|
|
48
|
+
radio_fields = { # noqa: RUF012
|
|
50
49
|
"bhcg_confirmed": admin.VERTICAL,
|
|
51
50
|
"may_contact": admin.VERTICAL,
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
def get_list_display(self, request) ->
|
|
53
|
+
def get_list_display(self, request) -> tuple[str, ...]:
|
|
55
54
|
list_display = super().get_list_display(request)
|
|
56
55
|
custom_fields = (
|
|
57
56
|
"subject_identifier",
|
|
@@ -61,7 +60,7 @@ class PregnancyNotificationAdmin(
|
|
|
61
60
|
)
|
|
62
61
|
return custom_fields + tuple(f for f in list_display if f not in custom_fields)
|
|
63
62
|
|
|
64
|
-
def get_list_filter(self, request) ->
|
|
63
|
+
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
65
64
|
list_filter = super().get_list_filter(request)
|
|
66
65
|
custom_fields = ("edd", "may_contact")
|
|
67
66
|
return custom_fields + tuple(f for f in list_filter if f not in custom_fields)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from django.contrib import admin
|
|
2
|
-
from edc_action_item import ActionItemModelAdminMixin
|
|
2
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
3
3
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
4
4
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
5
5
|
from edc_protocol_incident.modeladmin_mixins import ProtocolIncidentModelAdminMixin
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from django.contrib import admin
|
|
2
|
-
from edc_action_item import ActionItemModelAdminMixin
|
|
2
|
+
from edc_action_item.modeladmin_mixins import ActionItemModelAdminMixin
|
|
3
3
|
from edc_model_admin.dashboard import ModelAdminSubjectDashboardMixin
|
|
4
4
|
from edc_model_admin.history import SimpleHistoryAdmin
|
|
5
5
|
from edc_sites.admin import SiteModelAdminMixin
|
meta_prn/admin_site.py
CHANGED
|
File without changes
|
meta_prn/apps.py
CHANGED
|
File without changes
|
meta_prn/baker_recipes.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from dateutil.relativedelta import relativedelta
|
|
2
|
+
from django.utils import timezone
|
|
2
3
|
from edc_constants.constants import YES
|
|
3
|
-
from edc_utils import get_utcnow
|
|
4
4
|
from faker import Faker
|
|
5
5
|
from model_bakery.recipe import Recipe
|
|
6
6
|
|
|
@@ -14,15 +14,15 @@ pregnancynotification = Recipe(
|
|
|
14
14
|
# site=None,
|
|
15
15
|
action_identifier=None,
|
|
16
16
|
subject_identifier=None,
|
|
17
|
-
report_datetime=
|
|
17
|
+
report_datetime=timezone.now(),
|
|
18
18
|
bhcg_confirmed=YES,
|
|
19
19
|
unconfirmed_details=None,
|
|
20
|
-
edd=
|
|
20
|
+
edd=timezone.now() + relativedelta(months=6),
|
|
21
21
|
)
|
|
22
22
|
|
|
23
23
|
dmreferral = Recipe(
|
|
24
24
|
DmReferral,
|
|
25
25
|
action_identifier=None,
|
|
26
26
|
subject_identifier=None,
|
|
27
|
-
report_datetime=
|
|
27
|
+
report_datetime=timezone.now(),
|
|
28
28
|
)
|
meta_prn/choices.py
CHANGED
|
File without changes
|
meta_prn/constants.py
CHANGED
|
File without changes
|
|
@@ -192,7 +192,7 @@ class EndOfStudyFormValidator(
|
|
|
192
192
|
if (obj.bhcg_date or obj.report_datetime.date()) != self.cleaned_data.get(
|
|
193
193
|
"pregnancy_date"
|
|
194
194
|
):
|
|
195
|
-
dt = formatted_date(
|
|
195
|
+
dt = formatted_date(obj.bhcg_date or obj.report_datetime.date())
|
|
196
196
|
self.raise_validation_error(
|
|
197
197
|
{
|
|
198
198
|
"pregnancy_date": (
|
|
@@ -229,7 +229,7 @@ class EndOfStudyFormValidator(
|
|
|
229
229
|
obj.delivery_datetime.date() or obj.report_datetime.date()
|
|
230
230
|
) != self.cleaned_data.get("delivery_date"):
|
|
231
231
|
dt = formatted_date(
|
|
232
|
-
|
|
232
|
+
obj.delivery_datetime.date() or obj.report_datetime.date()
|
|
233
233
|
)
|
|
234
234
|
self.raise_validation_error(
|
|
235
235
|
{
|
|
File without changes
|
meta_prn/forms/__init__.py
CHANGED
|
@@ -8,3 +8,16 @@ from .offschedule_pregnancy_form import OffSchedulePregnancyForm
|
|
|
8
8
|
from .pregnancy_notification_form import PregnancyNotificationForm
|
|
9
9
|
from .protocol_incident_form import ProtocolIncidentForm
|
|
10
10
|
from .subject_transfer_form import SubjectTransferForm
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
"DmReferralForm",
|
|
14
|
+
"EndOfStudyForm",
|
|
15
|
+
"LossToFollowupForm",
|
|
16
|
+
"OffScheduleDmReferralForm",
|
|
17
|
+
"OffScheduleForm",
|
|
18
|
+
"OffSchedulePregnancyForm",
|
|
19
|
+
"OffStudyMedicationForm",
|
|
20
|
+
"PregnancyNotificationForm",
|
|
21
|
+
"ProtocolIncidentForm",
|
|
22
|
+
"SubjectTransferForm",
|
|
23
|
+
]
|
|
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
|
meta_prn/list_data.py
CHANGED
|
File without changes
|