clinicedc 2.0.41__py3-none-any.whl → 2.0.42__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of clinicedc might be problematic. Click here for more details.

Files changed (346) hide show
  1. {clinicedc-2.0.41.dist-info → clinicedc-2.0.42.dist-info}/METADATA +3 -1
  2. {clinicedc-2.0.41.dist-info → clinicedc-2.0.42.dist-info}/RECORD +337 -344
  3. edc_action_item/action.py +1 -1
  4. edc_action_item/action_item_notification.py +1 -1
  5. edc_action_item/choices.py +1 -1
  6. edc_action_item/data_fixers.py +1 -2
  7. edc_action_item/delete_action_item.py +1 -2
  8. edc_action_item/forms/action_item_form.py +1 -1
  9. edc_action_item/models/action_item.py +1 -1
  10. edc_action_item/models/action_type.py +1 -1
  11. edc_action_item/models/signals.py +1 -1
  12. edc_action_item/templatetags/action_item_extras.py +1 -1
  13. edc_action_item/utils.py +1 -2
  14. edc_action_item/view_mixins/action_item_view_mixin.py +1 -1
  15. edc_adherence/choices.py +1 -1
  16. edc_adherence/form_validator_mixin.py +1 -2
  17. edc_adherence/list_data.py +1 -1
  18. edc_adherence/model_mixins.py +1 -1
  19. edc_adverse_event/action_items/ae_followup_action.py +9 -9
  20. edc_adverse_event/action_items/ae_initial_action.py +12 -16
  21. edc_adverse_event/action_items/ae_susar_action.py +2 -1
  22. edc_adverse_event/action_items/ae_tmg_action.py +6 -4
  23. edc_adverse_event/action_items/death_report_action.py +7 -7
  24. edc_adverse_event/action_items/death_report_tmg_action.py +2 -1
  25. edc_adverse_event/action_items/death_report_tmg_second_action.py +2 -1
  26. edc_adverse_event/action_items/hospitalization_action.py +2 -1
  27. edc_adverse_event/auths.py +3 -1
  28. edc_adverse_event/choices.py +13 -6
  29. edc_adverse_event/constants.py +1 -23
  30. edc_adverse_event/form_validator_mixins/death_report_form_validator.py +1 -1
  31. edc_adverse_event/form_validator_mixins/requires_death_report_form_validator_mixin.py +1 -2
  32. edc_adverse_event/form_validators/ae_followup.py +2 -3
  33. edc_adverse_event/form_validators/ae_initial.py +2 -1
  34. edc_adverse_event/form_validators/ae_tmg.py +2 -1
  35. edc_adverse_event/form_validators/death_report_tmg.py +1 -1
  36. edc_adverse_event/form_validators/hospitalization.py +2 -1
  37. edc_adverse_event/list_data.py +1 -1
  38. edc_adverse_event/model_mixins/ae_followup/ae_followup_fields_model_mixin.py +1 -1
  39. edc_adverse_event/model_mixins/ae_followup/ae_followup_methods_model_mixin.py +1 -2
  40. edc_adverse_event/model_mixins/ae_initial/ae_initial_fields_model_mixin.py +1 -1
  41. edc_adverse_event/model_mixins/ae_initial/ae_initial_susar_model_mixin.py +2 -2
  42. edc_adverse_event/model_mixins/ae_susar/ae_susar_methods_model_mixin.py +1 -2
  43. edc_adverse_event/model_mixins/ae_tmg/ae_tmg_fields_model_mixin.py +1 -1
  44. edc_adverse_event/model_mixins/hospitaization/hospitalization_model_mixin.py +1 -1
  45. edc_adverse_event/modeladmin_mixins/ae_initial_admin_mixin.py +1 -1
  46. edc_adverse_event/modeladmin_mixins/ae_tmg_admin_mixin.py +1 -1
  47. edc_adverse_event/modeladmin_mixins/death_report_admin_mixin.py +1 -1
  48. edc_adverse_event/modeladmin_mixins/death_report_tmg_admin_mixin.py +1 -1
  49. edc_adverse_event/modelform_mixins/ae_followup_modelform_mixin.py +1 -2
  50. edc_adverse_event/modelform_mixins/ae_initial_modelform_mixin.py +1 -2
  51. edc_adverse_event/models/signals.py +2 -2
  52. edc_adverse_event/pdf_reports/ae_pdf_report.py +3 -2
  53. edc_adverse_event/pdf_reports/death_pdf_report.py +3 -2
  54. edc_adverse_event/templatetags/edc_adverse_event_extras.py +2 -3
  55. edc_adverse_event/urls.py +1 -0
  56. edc_adverse_event/utils.py +11 -14
  57. edc_adverse_event/view_mixins/ae/ae_listboard_view_mixin.py +3 -3
  58. edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py +1 -1
  59. edc_adverse_event/view_mixins/tmg/tmg_ae_listboard_view_mixin.py +2 -1
  60. edc_adverse_event/views/home_view.py +1 -0
  61. edc_adverse_event/views/tmg/home_view.py +1 -1
  62. edc_adverse_event/views/tmg/status_listboards.py +1 -1
  63. edc_analytics/custom_tables/age.py +1 -2
  64. edc_analytics/custom_tables/art.py +1 -2
  65. edc_analytics/custom_tables/bmi.py +1 -3
  66. edc_analytics/custom_tables/bp.py +1 -3
  67. edc_analytics/custom_tables/fasting.py +1 -2
  68. edc_analytics/custom_tables/fbg.py +1 -2
  69. edc_analytics/custom_tables/fbg_ogtt.py +1 -2
  70. edc_analytics/custom_tables/hba1c.py +1 -2
  71. edc_analytics/custom_tables/ogtt.py +1 -2
  72. edc_analytics/custom_tables/waist.py +1 -2
  73. edc_analytics/row/row_statistics_with_gender.py +1 -2
  74. edc_analytics/table.py +1 -2
  75. edc_appointment/admin/actions.py +1 -1
  76. edc_appointment/admin/appointment_admin.py +1 -1
  77. edc_appointment/appointment_reason_updater.py +1 -1
  78. edc_appointment/choices.py +1 -2
  79. edc_appointment/form_validator_mixins/next_appointment_crf_form_validator_mixin.py +1 -1
  80. edc_appointment/list_data.py +2 -3
  81. edc_appointment/model_mixins/missed_appointment_model_mixin.py +1 -1
  82. edc_appointment/model_mixins/next_appointment_crf_model_mixin.py +1 -2
  83. edc_appointment/modeladmin_mixins/next_appointment_crf_modeladmin_mixin.py +1 -1
  84. edc_appointment/models/signals.py +1 -1
  85. edc_appointment/utils.py +4 -2
  86. edc_auth/constants.py +3 -0
  87. edc_consent/choices.py +1 -1
  88. edc_consent/consent_definition.py +1 -1
  89. edc_consent/consent_definition_extension.py +1 -1
  90. edc_consent/field_mixins/citizen_fields_mixin.py +3 -3
  91. edc_consent/model_mixins/consent_model_mixin.py +1 -1
  92. edc_consent/modelform_mixins/consent_modelform_mixin/consent_modelform_validation_mixin.py +1 -1
  93. edc_consent/modelform_mixins/consent_modelform_mixin/review_fields_modelform_mixin.py +1 -2
  94. edc_consent/validators.py +5 -10
  95. edc_constants/__init__.py +0 -3
  96. edc_constants/choices.py +2 -3
  97. edc_constants/context_processor.py +2 -3
  98. edc_constants/utils.py +2 -3
  99. edc_crf/model_mixins/crf_status_model_mixin.py +1 -1
  100. edc_crf/model_mixins/singleton_crf_model_mixin.py +0 -1
  101. edc_crf/update_crf_status_command.py +1 -2
  102. edc_crf/update_crf_status_for_instance.py +1 -2
  103. edc_dashboard/url_config.py +1 -2
  104. edc_dashboard/views/administration_view.py +1 -0
  105. edc_data_manager/action_items.py +7 -7
  106. edc_data_manager/admin/actions.py +1 -1
  107. edc_data_manager/admin/data_query_admin.py +10 -10
  108. edc_data_manager/choices.py +1 -1
  109. edc_data_manager/forms/data_query.py +1 -1
  110. edc_data_manager/handlers/handlers.py +1 -1
  111. edc_data_manager/models/data_query.py +1 -1
  112. edc_data_manager/models/model_mixins.py +1 -2
  113. edc_data_manager/models/query_rule.py +1 -1
  114. edc_data_manager/view_mixins/data_manager_view_mixin.py +1 -1
  115. edc_document_status/model_mixins.py +1 -1
  116. edc_document_status/models/signals.py +1 -2
  117. edc_dx/diagnoses.py +2 -3
  118. edc_dx/form_validators/diagnosis_form_validator_mixin.py +1 -2
  119. edc_dx_review/choices.py +1 -1
  120. edc_dx_review/form_validator_mixins/clinical_review_followup_form_validator_mixin.py +2 -1
  121. edc_dx_review/list_data.py +1 -1
  122. edc_dx_review/medical_date.py +1 -1
  123. edc_dx_review/model_mixins/clinical_review_baseline_model_mixin.py +1 -1
  124. edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_chol_model_mixin.py +1 -1
  125. edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_dm_model_mixin.py +1 -1
  126. edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_hiv_model_mixin.py +1 -1
  127. edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_htn_model_mixin.py +1 -1
  128. edc_dx_review/model_mixins/clinical_review_followup/clinical_review_followup_model_mixin.py +1 -1
  129. edc_dx_review/model_mixins/factory/baseline_review_model_mixin_factory.py +1 -1
  130. edc_dx_review/model_mixins/factory/calculate_date.py +1 -1
  131. edc_dx_review/model_mixins/factory/dx_initial_review_model_mixin_factory.py +1 -1
  132. edc_dx_review/model_mixins/factory/followup_review_model_mixin_factory.py +1 -1
  133. edc_dx_review/model_mixins/factory/rx_initial_review_model_mixin_factory.py +1 -1
  134. edc_dx_review/model_mixins/followup_review/followup_review_model_mixin.py +1 -1
  135. edc_dx_review/model_mixins/followup_review/hiv_followup_review_model_mixin.py +1 -1
  136. edc_dx_review/model_mixins/initial_review/chol_initial_review_model_mixin.py +1 -1
  137. edc_dx_review/model_mixins/initial_review/hiv_initial_model_mixins.py +2 -3
  138. edc_dx_review/model_mixins/initial_review/ncd_initial_review_model_mixin.py +1 -1
  139. edc_dx_review/utils.py +1 -1
  140. edc_egfr/__init__.py +0 -1
  141. edc_egfr/egfr.py +23 -15
  142. edc_egfr/form_validator_mixins/egfr_form_validator_mixins.py +30 -25
  143. edc_egfr/model_mixins/egfr_drop_notification_model_mixin.py +8 -2
  144. edc_egfr/model_mixins/egfr_model_mixin.py +2 -2
  145. edc_export/management/commands/import_receipts.py +1 -2
  146. edc_export/model_exporter/object_history_helpers.py +1 -2
  147. edc_export/models/object_history.py +1 -1
  148. edc_export/models/upload_export_receipt_file.py +1 -1
  149. edc_facility/list_data.py +1 -1
  150. edc_fieldsets/fieldsets_modeladmin_mixin.py +1 -2
  151. edc_form_validators/applicable_field_validator.py +1 -1
  152. edc_form_validators/date_validator.py +1 -1
  153. edc_form_validators/many_to_many_field_validator.py +1 -2
  154. edc_form_validators/other_specify_field_validator.py +1 -2
  155. edc_form_validators/required_field_validator.py +1 -2
  156. edc_glucose/form_validators/fasting_form_validator.py +1 -1
  157. edc_glucose/form_validators/glucose_form_validator.py +3 -3
  158. edc_glucose/form_validators/glucose_form_validator_mixin.py +1 -2
  159. edc_glucose/form_validators/ogtt_form_validator_mixin.py +1 -2
  160. edc_glucose/model_mixin_factories/fasting_model_mixin_factory.py +1 -1
  161. edc_glucose/model_mixin_factories/fbg_model_mixin_factory.py +1 -2
  162. edc_glucose/model_mixin_factories/glucose_model_mixin_factory.py +1 -1
  163. edc_glucose/model_mixin_factories/ogtt_model_mixin_factory.py +1 -2
  164. edc_glucose/model_mixins/hba1c_model_mixin.py +1 -3
  165. edc_glucose/utils.py +2 -2
  166. edc_identifier/model_mixins.py +1 -2
  167. edc_identifier/models.py +1 -1
  168. edc_identifier/simple_identifier.py +1 -2
  169. edc_lab/admin/modeladmin_mixins.py +1 -1
  170. edc_lab/choices.py +7 -10
  171. edc_lab/constants.py +0 -2
  172. edc_lab/form_validators/crf_requisition_form_validator_mixin.py +1 -0
  173. edc_lab/form_validators/requisition_form_validator_mixin.py +1 -1
  174. edc_lab/lab/specimen.py +1 -2
  175. edc_lab/model_mixins/requisition/requisition_identifier_mixin.py +1 -1
  176. edc_lab/model_mixins/requisition/requisition_model_mixin.py +1 -1
  177. edc_lab/model_mixins/shipping/manifest_model_mixin.py +1 -1
  178. edc_lab/model_mixins/shipping/verify_model_mixin.py +1 -2
  179. edc_lab/models/box.py +1 -1
  180. edc_lab_dashboard/middleware.py +1 -0
  181. edc_lab_dashboard/urls.py +1 -0
  182. edc_lab_dashboard/view_mixins/form_action_view_mixin.py +1 -0
  183. edc_lab_dashboard/view_mixins/process_requisition_view_mixin.py +1 -1
  184. edc_lab_dashboard/views/action_views/manage_box_item_view.py +1 -0
  185. edc_lab_dashboard/views/action_views/receive_view.py +1 -1
  186. edc_lab_dashboard/views/listboard_views/manage_box_listboard_view.py +1 -0
  187. edc_lab_dashboard/views/listboard_views/pack_listboard_view.py +1 -1
  188. edc_lab_dashboard/views/listboard_views/process_listboard_view.py +2 -1
  189. edc_lab_dashboard/views/listboard_views/receive_listboard_view.py +2 -1
  190. edc_lab_dashboard/views/listboard_views/requisition_listboard_view.py +1 -2
  191. edc_lab_dashboard/views/listboard_views/verify_box_listboard_view.py +1 -0
  192. edc_lab_results/action_items.py +1 -1
  193. edc_lab_results/form_validator_mixins/blood_results_fbg_form_validator_mixin.py +1 -1
  194. edc_lab_results/form_validator_mixins/blood_results_form_validator_mixin.py +2 -1
  195. edc_lab_results/model_mixin_factories/field_attrs.py +1 -1
  196. edc_lab_results/model_mixins/electrolytes_model_mixins.py +2 -2
  197. edc_lab_results/model_mixins/fbc_model_mixins.py +9 -8
  198. edc_lab_results/model_mixins/fbg_model_mixin.py +2 -7
  199. edc_lab_results/model_mixins/glucose_model_mixin.py +2 -7
  200. edc_lab_results/model_mixins/insulin_model_mixin.py +2 -1
  201. edc_lab_results/model_mixins/lft_model_mixins.py +7 -6
  202. edc_lab_results/model_mixins/lipid_model_mixins.py +1 -2
  203. edc_lab_results/model_mixins/proteinuria_model_mixin.py +1 -2
  204. edc_lab_results/model_mixins/rft_model_mixins.py +5 -3
  205. edc_listboard/views/screen/screening_listboard_view.py +1 -1
  206. edc_locator/action_items.py +2 -1
  207. edc_locator/forms/subject_locator_form_validator.py +1 -1
  208. edc_locator/modeladmin_mixins.py +1 -1
  209. edc_ltfu/action_items.py +2 -1
  210. edc_ltfu/choices.py +1 -1
  211. edc_ltfu/constants.py +0 -2
  212. edc_ltfu/forms/ltfu_form_validator.py +2 -1
  213. edc_ltfu/forms/ltfu_form_validator_mixin.py +1 -1
  214. edc_ltfu/modelform_mixins.py +2 -5
  215. edc_metadata/admin/modeladmin_mixins.py +4 -4
  216. edc_model/choices.py +1 -1
  217. edc_model/models/fields/date_estimated.py +1 -1
  218. edc_model_admin/context_processors.py +1 -1
  219. edc_model_admin/list_filters/future_date_list_filter.py +6 -7
  220. edc_model_admin/list_filters/list_field_with_other_list_filter.py +1 -1
  221. edc_model_admin/list_filters/past_date_list_filter.py +6 -7
  222. edc_model_admin/mixins/model_admin_redirect_on_delete_mixin.py +1 -0
  223. edc_model_admin/templatetags/edc_admin_modify.py +1 -1
  224. edc_model_fields/fields/date_estimated.py +1 -1
  225. edc_model_to_dataframe/model_to_dataframe.py +1 -1
  226. edc_navbar/navbar_item.py +1 -0
  227. edc_navbar/system_checks.py +3 -0
  228. edc_offstudy/action_items.py +2 -1
  229. edc_offstudy/choices.py +2 -1
  230. edc_pdf_reports/crf_pdf_report.py +9 -7
  231. edc_pdutils/dataframes/get_subject_consent.py +1 -2
  232. edc_pdutils/dataframes/get_subject_visit.py +1 -11
  233. edc_pdutils/helper.py +1 -2
  234. edc_pdutils/mappings.py +1 -1
  235. edc_pdutils/tables/crf.py +1 -2
  236. edc_pdutils/tables/requisition.py +1 -2
  237. edc_pdutils/utils/__init__.py +1 -0
  238. edc_pdutils/utils/convert_visit_code_to_float.py +8 -0
  239. edc_pdutils/utils/decrypt.py +5 -4
  240. edc_pdutils/utils/missing_subject_identifiers.py +5 -4
  241. edc_pharmacy/action_items.py +2 -1
  242. edc_pharmacy/admin/list_filters.py +1 -1
  243. edc_pharmacy/admin/stock/allocation_admin.py +1 -1
  244. edc_pharmacy/admin/stock/order_item_admin.py +1 -1
  245. edc_pharmacy/admin/stock/stock_request_admin.py +1 -1
  246. edc_pharmacy/admin/stock/stock_transfer_admin.py +1 -1
  247. edc_pharmacy/admin/stock/stock_transfer_item_admin.py +1 -1
  248. edc_pharmacy/choices.py +1 -2
  249. edc_pharmacy/form_validators/crf/study_medication_form_validator.py +1 -1
  250. edc_pharmacy/list_data.py +1 -1
  251. edc_pharmacy/model_mixins/study_medication_crf_model_mixin.py +1 -1
  252. edc_pharmacy/model_mixins/study_medication_refill_model_mixin.py +1 -1
  253. edc_pharmacy/models/model_mixins.py +1 -2
  254. edc_pharmacy/models/prescription/rx.py +1 -1
  255. edc_pharmacy/models/signals.py +1 -1
  256. edc_pharmacy/models/stock/order.py +1 -1
  257. edc_pharmacy/models/stock/order_item.py +1 -2
  258. edc_pharmacy/models/stock/stock_request.py +1 -1
  259. edc_pharmacy/views/confirm_stock_from_queryset_view.py +2 -1
  260. edc_pharmacy/views/confirmation_at_site_view.py +1 -1
  261. edc_prn/models.py +1 -2
  262. edc_protocol_incident/action_items.py +2 -1
  263. edc_protocol_incident/choices.py +1 -1
  264. edc_protocol_incident/form_validators/mixins.py +2 -1
  265. edc_protocol_incident/form_validators/protocol_deviation_violation_form_validator.py +2 -1
  266. edc_protocol_incident/form_validators/protocol_incident_form_validator.py +2 -1
  267. edc_protocol_incident/list_data.py +1 -1
  268. edc_protocol_incident/model_mixins/protocol_deviation_violation_model_mixin.py +1 -1
  269. edc_protocol_incident/modeladmin_mixins.py +1 -1
  270. edc_qareports/choices.py +1 -1
  271. edc_qareports/migrations/0017_auto_20240816_0256.py +1 -2
  272. edc_qareports/modeladmin_mixins/list_filters.py +1 -2
  273. edc_qareports/modeladmin_mixins/qa_report_modeladmin_mixin.py +1 -1
  274. edc_qareports/sql_generator/requisition_subquery.py +1 -1
  275. edc_refusal/forms.py +2 -1
  276. edc_refusal/list_data.py +1 -1
  277. edc_registration/model_mixins/updates_or_creates_registered_subject_model_mixin.py +1 -1
  278. edc_registration/models/registered_subject.py +1 -1
  279. edc_reportable/__init__.py +0 -35
  280. edc_reportable/choices.py +8 -3
  281. edc_reportable/constants.py +0 -7
  282. edc_reportable/data/__init__.py +0 -1
  283. edc_reportable/data/grading_data/ctcae_v5.py +1 -2
  284. edc_reportable/data/grading_data/daids_july_2017.py +7 -6
  285. edc_reportable/data/normal_data/africa.py +6 -5
  286. edc_reportable/exceptions.py +0 -4
  287. edc_reportable/forms/reportables_form_validator_mixin.py +2 -1
  288. edc_reportable/formula.py +1 -1
  289. edc_reportable/post_migrate_signals.py +1 -1
  290. edc_reportable/reference_range_evaluator.py +8 -2
  291. edc_reportable/units.py +2 -23
  292. edc_reportable/utils/__init__.py +1 -1
  293. edc_reportable/utils/get_mw.py +20 -0
  294. edc_reportable/utils/get_normal_data_or_raise.py +1 -1
  295. edc_review_dashboard/auths.py +1 -1
  296. edc_review_dashboard/middleware.py +1 -0
  297. edc_review_dashboard/urls.py +1 -0
  298. edc_review_dashboard/views/subject_review_listboard_view.py +1 -0
  299. edc_screening/choices.py +1 -1
  300. edc_screening/gender_evaluator.py +1 -1
  301. edc_screening/model_mixins/screening_fields_model_mixin.py +1 -1
  302. edc_screening/modelform_mixins.py +1 -1
  303. edc_screening/screening_eligibility.py +1 -2
  304. edc_sites/models/site_profile.py +1 -2
  305. edc_sites/site.py +1 -1
  306. edc_subject_dashboard/requisition_labels.py +1 -1
  307. edc_subject_dashboard/requisition_report.py +1 -1
  308. edc_subject_dashboard/requisition_verifier.py +1 -1
  309. edc_subject_dashboard/urls.py +1 -0
  310. edc_subject_dashboard/view_utils/go_to_forms_button.py +1 -1
  311. edc_subject_dashboard/views/requisition_print_actions_view.py +1 -1
  312. edc_subject_dashboard/views/subject_dashboard_view.py +1 -0
  313. edc_transfer/action_items.py +2 -1
  314. edc_transfer/choices.py +1 -1
  315. edc_transfer/form_validators.py +1 -1
  316. edc_transfer/list_data.py +1 -1
  317. edc_unblinding/action_items.py +2 -1
  318. edc_unblinding/models/unblinding_request.py +1 -1
  319. edc_unblinding/models/unblinding_review.py +1 -1
  320. edc_visit_schedule/action_items.py +2 -1
  321. edc_visit_schedule/admin/subject_schedule_history_admin.py +1 -0
  322. edc_visit_tracking/action_items.py +2 -1
  323. edc_visit_tracking/choices.py +1 -1
  324. edc_visit_tracking/form_validators/visit_form_validator.py +1 -1
  325. edc_visit_tracking/form_validators/visit_missed_form_validator.py +2 -1
  326. edc_visit_tracking/managers.py +1 -2
  327. edc_visit_tracking/model_mixins/subject_visit_missed_model_mixin.py +1 -1
  328. edc_visit_tracking/model_mixins/visit_model_mixin/caretaker_fields_mixin.py +1 -1
  329. edc_visit_tracking/model_mixins/visit_model_mixin/visit_model_fields_mixin.py +1 -1
  330. edc_visit_tracking/model_mixins/visit_model_mixin/visit_model_mixin.py +1 -1
  331. edc_visit_tracking/modeladmin_mixins/crf_model_admin_mixin.py +2 -1
  332. edc_visit_tracking/modeladmin_mixins/visit_model_admin_mixin.py +1 -1
  333. edc_visit_tracking/models/signals.py +1 -1
  334. edc_visit_tracking/view_utils/related_visit_button.py +1 -1
  335. edc_vitals/form_validators/blood_pressure_form_validator_mixin.py +1 -2
  336. edc_constants/constants.py +0 -250
  337. edc_constants/disease_constants.py +0 -22
  338. edc_egfr/calculators/__init__.py +0 -4
  339. edc_egfr/calculators/base_egrfr.py +0 -56
  340. edc_egfr/calculators/egfr_ckd_epi.py +0 -68
  341. edc_egfr/calculators/egfr_cockcroft_gault.py +0 -62
  342. edc_egfr/calculators/percent_change.py +0 -7
  343. edc_reportable/data/molecular_weights.py +0 -11
  344. edc_reportable/utils/convert_units.py +0 -163
  345. {clinicedc-2.0.41.dist-info → clinicedc-2.0.42.dist-info}/WHEEL +0 -0
  346. {clinicedc-2.0.41.dist-info → clinicedc-2.0.42.dist-info}/licenses/LICENSE +0 -0
@@ -1,8 +1,7 @@
1
+ from clinicedc_constants import OPEN
1
2
  from django.db import models
2
3
  from django.utils import timezone
3
4
 
4
- from edc_constants.constants import OPEN
5
-
6
5
  from ...constants import VERIFIED
7
6
 
8
7
 
edc_lab/models/box.py CHANGED
@@ -1,8 +1,8 @@
1
+ from clinicedc_constants import OPEN, OTHER
1
2
  from django.db import models
2
3
  from django.db.models.deletion import PROTECT
3
4
  from django.utils import timezone
4
5
 
5
- from edc_constants.constants import OPEN, OTHER
6
6
  from edc_model.models import BaseUuidModel, HistoricalRecords
7
7
  from edc_search.model_mixins import SearchSlugManager, SearchSlugModelMixin
8
8
  from edc_sites.managers import CurrentSiteManager
@@ -1,4 +1,5 @@
1
1
  from django.conf import settings
2
+
2
3
  from edc_dashboard.middleware_mixins import EdcTemplateMiddlewareMixin
3
4
  from edc_lab.constants import SHIPPED
4
5
 
edc_lab_dashboard/urls.py CHANGED
@@ -1,4 +1,5 @@
1
1
  from django.urls.conf import path, re_path
2
+
2
3
  from edc_dashboard.url_names import url_names
3
4
 
4
5
  from .dashboard_urls import dashboard_urls
@@ -2,6 +2,7 @@ from typing import Any
2
2
 
3
3
  from django.urls.base import reverse
4
4
  from django.views.generic.base import ContextMixin
5
+
5
6
  from edc_dashboard.url_names import url_names
6
7
 
7
8
 
@@ -1,8 +1,8 @@
1
1
  import re
2
2
 
3
+ from clinicedc_constants import UUID_PATTERN
3
4
  from django.apps import apps as django_apps
4
5
 
5
- from edc_constants.constants import UUID_PATTERN
6
6
  from edc_lab.lab import Specimen as SpecimenObject
7
7
  from edc_lab.site_labs import site_labs
8
8
  from edc_label import LabPrintersMixin, add_job_results_to_messages
@@ -2,6 +2,7 @@ from django.contrib import messages
2
2
  from django.core.exceptions import ObjectDoesNotExist
3
3
  from django.urls import reverse
4
4
  from django.utils.html import format_html
5
+
5
6
  from edc_dashboard.url_names import url_names
6
7
  from edc_dashboard.view_mixins import EdcViewMixin
7
8
  from edc_lab import SHIPPED
@@ -1,8 +1,8 @@
1
+ from clinicedc_constants import YES
1
2
  from django.apps import apps as django_apps
2
3
  from django.contrib import messages
3
4
  from django.utils import timezone
4
5
 
5
- from edc_constants.constants import YES
6
6
  from edc_dashboard.view_mixins import EdcViewMixin
7
7
  from edc_lab import Specimen
8
8
  from edc_lab.labels import AliquotLabel
@@ -2,6 +2,7 @@ from copy import copy
2
2
  from typing import Any
3
3
 
4
4
  from django.urls.base import reverse
5
+
5
6
  from edc_dashboard.url_names import url_names
6
7
 
7
8
  from .base_box_item_listboard_view import BaseBoxItemListboardView
@@ -1,8 +1,8 @@
1
1
  from typing import Any
2
2
 
3
+ from clinicedc_constants import OPEN
3
4
  from django.apps import apps as django_apps
4
5
 
5
- from edc_constants.constants import OPEN
6
6
  from edc_lab.constants import SHIPPED
7
7
  from edc_lab.models import Manifest
8
8
 
@@ -2,11 +2,12 @@ from __future__ import annotations
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
 
5
+ from clinicedc_constants import YES
5
6
  from django.apps import apps as django_apps
6
7
  from django.urls import reverse
7
8
  from django.utils.html import format_html
8
9
  from django.utils.safestring import mark_safe
9
- from edc_constants.constants import YES
10
+
10
11
  from edc_dashboard.url_names import url_names
11
12
 
12
13
  from .requisition_listboard_view import RequisitionListboardView
@@ -2,11 +2,12 @@ from __future__ import annotations
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
 
5
+ from clinicedc_constants import YES
5
6
  from django.apps import apps as django_apps
6
7
  from django.urls import reverse
7
8
  from django.utils.html import format_html
8
9
  from django.utils.safestring import mark_safe
9
- from edc_constants.constants import YES
10
+
10
11
  from edc_dashboard.url_names import url_names
11
12
 
12
13
  from .requisition_listboard_view import RequisitionListboardView
@@ -2,13 +2,12 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from clinicedc_constants import YES
5
6
  from django.conf import settings
6
7
  from django.contrib import messages
7
8
  from django.db.models import Q
8
9
  from django.utils.html import format_html
9
10
 
10
- from edc_constants.constants import YES
11
-
12
11
  from ..listboard_filters import RequisitionListboardViewFilters
13
12
  from .base_listboard_view import BaseListboardView
14
13
 
@@ -2,6 +2,7 @@ from copy import copy
2
2
  from typing import Any
3
3
 
4
4
  from django.urls import reverse
5
+
5
6
  from edc_dashboard.url_names import url_names
6
7
  from edc_lab.constants import SHIPPED
7
8
 
@@ -1,10 +1,10 @@
1
+ from clinicedc_constants import HIGH_PRIORITY, YES
1
2
  from django.apps import apps as django_apps
2
3
  from django.conf import settings
3
4
 
4
5
  from edc_action_item.action import Action
5
6
  from edc_action_item.site_action_items import site_action_items
6
7
  from edc_adverse_event.constants import AE_INITIAL_ACTION
7
- from edc_constants.constants import HIGH_PRIORITY, YES
8
8
  from edc_visit_schedule.utils import is_baseline
9
9
 
10
10
  from .constants import (
@@ -1,8 +1,8 @@
1
1
  from typing import Any
2
2
 
3
+ from clinicedc_constants import FASTING, YES
3
4
  from django import forms
4
5
 
5
- from edc_constants.constants import FASTING, YES
6
6
  from edc_glucose.utils import validate_glucose_as_millimoles_per_liter
7
7
 
8
8
 
@@ -2,7 +2,8 @@ import contextlib
2
2
  from collections import namedtuple
3
3
  from typing import Any
4
4
 
5
- from edc_constants.constants import NO, NULL_STRING, YES
5
+ from clinicedc_constants import NO, NULL_STRING, YES
6
+
6
7
  from edc_lab import RequisitionPanel
7
8
  from edc_lab.form_validators import CrfRequisitionFormValidatorMixin
8
9
  from edc_reportable.forms import ReportablesFormValidatorMixin
@@ -1,11 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from clinicedc_constants import EQ
3
4
  from django.core.validators import MinValueValidator
4
5
  from django.db import models
5
6
 
6
7
  from edc_constants.choices import GRADING_SCALE_WITH_NOT_GRADED, YES_NO
7
8
  from edc_lab.choices import RESULT_QUANTIFIER
8
- from edc_lab.constants import EQ
9
9
  from edc_reportable.choices import REPORTABLE
10
10
 
11
11
 
@@ -1,7 +1,7 @@
1
+ from clinicedc_constants import MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
1
2
  from django.db import models
2
3
 
3
- from edc_reportable import MILLIMOLES_PER_LITER_DISPLAY
4
- from edc_reportable.units import MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
4
+ from edc_reportable.units import MILLIMOLES_PER_LITER_DISPLAY
5
5
 
6
6
  from ..model_mixin_factories import reportable_result_model_mixin_factory
7
7
 
@@ -1,3 +1,11 @@
1
+ from clinicedc_constants import (
2
+ CELLS_PER_MILLIMETER_CUBED,
3
+ FEMTOLITERS_PER_CELL,
4
+ GRAMS_PER_DECILITER,
5
+ PERCENT,
6
+ PICOGRAMS_PER_CELL,
7
+ TEN_X_9_PER_LITER,
8
+ )
1
9
  from django.core.validators import MaxValueValidator, MinValueValidator
2
10
  from django.db import models
3
11
 
@@ -15,14 +23,7 @@ from edc_lab_panel.constants import (
15
23
  RBC,
16
24
  WBC,
17
25
  )
18
- from edc_reportable import GRAMS_PER_DECILITER, PERCENT
19
- from edc_reportable.units import (
20
- CELLS_PER_MILLIMETER_CUBED,
21
- CELLS_PER_MILLIMETER_CUBED_DISPLAY,
22
- FEMTOLITERS_PER_CELL,
23
- PICOGRAMS_PER_CELL,
24
- TEN_X_9_PER_LITER,
25
- )
26
+ from edc_reportable.units import CELLS_PER_MILLIMETER_CUBED_DISPLAY
26
27
 
27
28
  from ..model_mixin_factories import reportable_result_model_mixin_factory
28
29
 
@@ -1,16 +1,11 @@
1
+ from clinicedc_constants import EQ, FASTING, MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
1
2
  from django.core.validators import MaxValueValidator, MinValueValidator
2
3
  from django.db import models
3
4
 
4
5
  from edc_constants.choices import FASTING_CHOICES, YES_NO
5
- from edc_constants.constants import FASTING
6
6
  from edc_glucose.constants import GLUCOSE_HIGH_READING
7
7
  from edc_lab.choices import RESULT_QUANTIFIER
8
- from edc_lab.constants import EQ
9
- from edc_reportable import (
10
- MILLIGRAMS_PER_DECILITER,
11
- MILLIMOLES_PER_LITER,
12
- MILLIMOLES_PER_LITER_DISPLAY,
13
- )
8
+ from edc_reportable.units import MILLIMOLES_PER_LITER_DISPLAY
14
9
 
15
10
  from ..model_mixin_factories import reportable_result_model_mixin_factory
16
11
 
@@ -1,18 +1,13 @@
1
1
  from typing import Any
2
2
 
3
+ from clinicedc_constants import EQ, FASTING, MILLIGRAMS_PER_DECILITER, MILLIMOLES_PER_LITER
3
4
  from django.core.validators import MaxValueValidator, MinValueValidator
4
5
  from django.db import models
5
6
 
6
7
  from edc_constants.choices import FASTING_CHOICES, YES_NO
7
- from edc_constants.constants import FASTING
8
8
  from edc_glucose.constants import GLUCOSE_HIGH_READING
9
9
  from edc_lab.choices import RESULT_QUANTIFIER
10
- from edc_lab.constants import EQ
11
- from edc_reportable import (
12
- MILLIGRAMS_PER_DECILITER,
13
- MILLIMOLES_PER_LITER,
14
- MILLIMOLES_PER_LITER_DISPLAY,
15
- )
10
+ from edc_reportable.units import MILLIMOLES_PER_LITER_DISPLAY
16
11
 
17
12
  from ..model_mixin_factories import reportable_result_model_mixin_factory
18
13
 
@@ -1,9 +1,10 @@
1
+ from clinicedc_constants import MICRO_IU_MILLILITER
1
2
  from django.core.validators import MaxValueValidator, MinValueValidator
2
3
  from django.db import models
3
4
 
4
5
  from edc_constants.choices import YES_NO
5
6
  from edc_glucose.model_mixin_factories import fasting_model_mixin_factory
6
- from edc_reportable.units import MICRO_IU_MILLILITER, MICRO_IU_MILLILITER_DISPLAY
7
+ from edc_reportable.units import MICRO_IU_MILLILITER_DISPLAY
7
8
 
8
9
  from ..model_mixin_factories import reportable_result_model_mixin_factory
9
10
 
@@ -1,14 +1,15 @@
1
- from django.core.validators import MaxValueValidator, MinValueValidator
2
- from django.db import models
3
-
4
- from edc_reportable import GRAMS_PER_DECILITER, MICROMOLES_PER_LITER
5
- from edc_reportable.units import (
1
+ from clinicedc_constants import (
2
+ GRAMS_PER_DECILITER,
6
3
  GRAMS_PER_LITER,
7
4
  IU_LITER,
8
- IU_LITER_DISPLAY,
5
+ MICROMOLES_PER_LITER,
9
6
  MILLIGRAMS_PER_DECILITER,
10
7
  MILLIGRAMS_PER_LITER,
11
8
  )
9
+ from django.core.validators import MaxValueValidator, MinValueValidator
10
+ from django.db import models
11
+
12
+ from edc_reportable.units import IU_LITER_DISPLAY
12
13
 
13
14
  from ..model_mixin_factories import reportable_result_model_mixin_factory
14
15
 
@@ -1,8 +1,7 @@
1
+ from clinicedc_constants import MILLIMOLES_PER_LITER
1
2
  from django.core.validators import MaxValueValidator, MinValueValidator
2
3
  from django.db import models
3
4
 
4
- from edc_reportable.units import MILLIMOLES_PER_LITER
5
-
6
5
  from ..model_mixin_factories import reportable_result_model_mixin_factory
7
6
 
8
7
 
@@ -1,7 +1,6 @@
1
+ from clinicedc_constants import PLUS
1
2
  from django.db import models
2
3
 
3
- from edc_reportable.units import PLUS
4
-
5
4
  from ..model_mixin_factories import reportable_result_model_mixin_factory
6
5
 
7
6
 
@@ -1,10 +1,12 @@
1
+ from clinicedc_constants import (
2
+ MICROMOLES_PER_LITER,
3
+ MILLIGRAMS_PER_DECILITER,
4
+ MILLIMOLES_PER_LITER,
5
+ )
1
6
  from django.db import models
2
7
 
3
8
  from edc_reportable.units import (
4
- MICROMOLES_PER_LITER,
5
9
  MICROMOLES_PER_LITER_DISPLAY,
6
- MILLIGRAMS_PER_DECILITER,
7
- MILLIMOLES_PER_LITER,
8
10
  MILLIMOLES_PER_LITER_DISPLAY,
9
11
  )
10
12
 
@@ -1,6 +1,6 @@
1
+ from clinicedc_constants import ABNORMAL
1
2
  from django.db.models import Q
2
3
 
3
- from edc_constants.constants import ABNORMAL
4
4
  from edc_dashboard.view_mixins import EdcViewMixin
5
5
  from edc_navbar import NavbarViewMixin
6
6
  from edc_screening.utils import get_subject_screening_model
@@ -1,6 +1,7 @@
1
+ from clinicedc_constants import HIGH_PRIORITY
2
+
1
3
  from edc_action_item.action import Action
2
4
  from edc_action_item.site_action_items import site_action_items
3
- from edc_constants.constants import HIGH_PRIORITY
4
5
  from edc_locator.utils import get_locator_model
5
6
 
6
7
  SUBJECT_LOCATOR_ACTION = "submit-subject-locator"
@@ -1,6 +1,6 @@
1
+ from clinicedc_constants import NO, YES
1
2
  from django import forms
2
3
 
3
- from edc_constants.constants import NO, YES
4
4
  from edc_form_validators.form_validator import FormValidator
5
5
 
6
6
 
@@ -1,10 +1,10 @@
1
+ from clinicedc_constants import NO, YES
1
2
  from django.contrib import admin
2
3
  from django.template.loader import render_to_string
3
4
  from django.utils import timezone
4
5
  from django_audit_fields.admin import audit_fieldset_tuple
5
6
 
6
7
  from edc_consent import site_consents
7
- from edc_constants.constants import NO, YES
8
8
  from edc_model_admin.mixins import ModelAdminProtectPiiMixin
9
9
  from edc_sites import site_sites
10
10
  from edc_utils.age import age
edc_ltfu/action_items.py CHANGED
@@ -1,5 +1,6 @@
1
+ from clinicedc_constants import HIGH_PRIORITY
2
+
1
3
  from edc_action_item.action_with_notification import ActionWithNotification
2
- from edc_constants.constants import HIGH_PRIORITY
3
4
  from edc_offstudy.constants import END_OF_STUDY_ACTION
4
5
  from edc_visit_tracking.constants import VISIT_MISSED_ACTION
5
6
 
edc_ltfu/choices.py CHANGED
@@ -1,4 +1,4 @@
1
- from edc_constants.constants import OTHER
1
+ from clinicedc_constants import OTHER
2
2
 
3
3
  LTFU_CHOICES = (
4
4
  ("unknown_address", "Changed to an unknown address"),
edc_ltfu/constants.py CHANGED
@@ -1,3 +1 @@
1
- LOST_TO_FOLLOWUP = "LTFU"
2
- LTFU = "LTFU"
3
1
  LTFU_ACTION = "submit_loss_to_followup"
@@ -1,4 +1,5 @@
1
- from edc_constants.constants import YES
1
+ from clinicedc_constants import YES
2
+
2
3
  from edc_form_validators import FormValidator
3
4
 
4
5
  from .ltfu_form_validator_mixin import LtfuFormValidatorMixin
@@ -1,10 +1,10 @@
1
+ from clinicedc_constants import LTFU
1
2
  from django import forms
2
3
  from django.apps import apps as django_apps
3
4
  from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
4
5
 
5
6
  from edc_form_validators import FormValidator
6
7
 
7
- from ..constants import LTFU
8
8
  from ..utils import get_ltfu_model_name
9
9
 
10
10
 
@@ -1,16 +1,13 @@
1
+ from clinicedc_constants import LTFU, NO, YES
1
2
  from django import forms
2
3
  from django.apps import apps as django_apps
3
4
  from django.conf import settings
4
5
  from django.core.exceptions import ObjectDoesNotExist
5
-
6
- from edc_constants.constants import NO, YES
7
6
  from edc_form_validators import FormValidator
8
7
  from edc_utils.text import convert_php_dateformat
9
8
  from edc_visit_tracking.constants import MISSED_VISIT
10
9
  from edc_visit_tracking.utils import get_related_visit_model_cls
11
10
 
12
- from .constants import LOST_TO_FOLLOWUP
13
-
14
11
 
15
12
  class LossToFollowupFormValidator(FormValidator):
16
13
  def clean(self):
@@ -53,7 +50,7 @@ class RequiresLtfuFormValidatorMixin:
53
50
 
54
51
  ltfu_model = None # "inte_prn.losstofollowup"
55
52
  ltfu_date_field = None # "ltfu_date"
56
- ltfu_reason = LOST_TO_FOLLOWUP
53
+ ltfu_reason = LTFU
57
54
 
58
55
  @property
59
56
  def ltfu_model_cls(self):
@@ -8,8 +8,12 @@ from django.utils.html import format_html
8
8
  from django.utils.safestring import mark_safe
9
9
  from django_audit_fields import ModelAdminAuditFieldsMixin, audit_fieldset_tuple
10
10
  from django_revision.modeladmin_mixin import ModelAdminRevisionMixin
11
+ from rangefilter.filters import DateRangeFilterBuilder
12
+
11
13
  from edc_appointment.utils import get_appointment_model_cls
12
14
  from edc_dashboard.url_names import url_names
15
+ from edc_metadata import KEYED, REQUIRED
16
+ from edc_metadata.admin.list_filters import CreatedListFilter
13
17
  from edc_model_admin.mixins import (
14
18
  ModelAdminInstitutionMixin,
15
19
  ModelAdminNextUrlRedirectMixin,
@@ -18,10 +22,6 @@ from edc_model_admin.mixins import (
18
22
  TemplatesModelAdminMixin,
19
23
  )
20
24
  from edc_sites.admin import SiteModelAdminMixin
21
- from rangefilter.filters import DateRangeFilterBuilder
22
-
23
- from edc_metadata import KEYED, REQUIRED
24
- from edc_metadata.admin.list_filters import CreatedListFilter
25
25
 
26
26
 
27
27
  class MetadataModelAdminMixin(
edc_model/choices.py CHANGED
@@ -1,4 +1,4 @@
1
- from edc_constants.constants import CLOSED, OPEN
1
+ from clinicedc_constants import CLOSED, OPEN
2
2
 
3
3
  REPORT_STATUS = (
4
4
  (OPEN, "Open. Some information is still pending."),
@@ -1,8 +1,8 @@
1
+ from clinicedc_constants import NOT_APPLICABLE
1
2
  from django.db.models.fields import CharField
2
3
  from django.utils.translation import gettext as _
3
4
 
4
5
  from edc_constants.choices import DATE_ESTIMATED, DATE_ESTIMATED_NA
5
- from edc_constants.constants import NOT_APPLICABLE
6
6
 
7
7
 
8
8
  class IsDateEstimatedField(CharField):
@@ -1,6 +1,6 @@
1
+ from clinicedc_constants import LIVE, TEST
1
2
  from django.conf import settings
2
3
 
3
- from edc_constants.constants import LIVE, TEST
4
4
  from edc_protocol.research_protocol_config import ResearchProtocolConfig
5
5
 
6
6
 
@@ -1,12 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from dateutil.relativedelta import MO, relativedelta
4
- from django.contrib.admin import SimpleListFilter
5
- from django.db.models import QuerySet
6
- from django.utils import timezone
7
- from django.utils.translation import gettext as _
8
-
9
- from edc_constants.constants import (
3
+ from clinicedc_constants import (
10
4
  FUTURE_DATE,
11
5
  IS_NULL,
12
6
  LAST_WEEK,
@@ -17,6 +11,11 @@ from edc_constants.constants import (
17
11
  TODAY,
18
12
  TOMORROW,
19
13
  )
14
+ from dateutil.relativedelta import MO, relativedelta
15
+ from django.contrib.admin import SimpleListFilter
16
+ from django.db.models import QuerySet
17
+ from django.utils import timezone
18
+ from django.utils.translation import gettext as _
20
19
 
21
20
 
22
21
  class FutureDateListFilter(SimpleListFilter):
@@ -1,10 +1,10 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from clinicedc_constants import OTHER
3
4
  from django.contrib.admin import SimpleListFilter
4
5
  from django.core.exceptions import FieldError
5
6
  from django.db.models import Count, Q
6
7
 
7
- from edc_constants.constants import OTHER
8
8
  from edc_sites.site import sites
9
9
 
10
10
 
@@ -1,12 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from dateutil.relativedelta import MO, relativedelta
4
- from django.contrib.admin import SimpleListFilter
5
- from django.db.models import QuerySet
6
- from django.utils import timezone
7
- from django.utils.translation import gettext as _
8
-
9
- from edc_constants.constants import (
3
+ from clinicedc_constants import (
10
4
  FUTURE_DATE,
11
5
  IS_NULL,
12
6
  LAST_MONTH,
@@ -18,6 +12,11 @@ from edc_constants.constants import (
18
12
  TODAY,
19
13
  YESTERDAY,
20
14
  )
15
+ from dateutil.relativedelta import MO, relativedelta
16
+ from django.contrib.admin import SimpleListFilter
17
+ from django.db.models import QuerySet
18
+ from django.utils import timezone
19
+ from django.utils.translation import gettext as _
21
20
 
22
21
 
23
22
  class PastDateListFilter(SimpleListFilter):
@@ -6,6 +6,7 @@ from django.contrib import messages
6
6
  from django.http.response import HttpResponseRedirect
7
7
  from django.urls import reverse
8
8
  from django.utils.encoding import force_str
9
+
9
10
  from edc_dashboard.url_names import InvalidDashboardUrlName, url_names
10
11
 
11
12
 
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING
4
4
  from urllib.parse import urlencode
5
5
  from warnings import warn
6
6
 
7
+ from clinicedc_constants import NO, YES
7
8
  from django import template
8
9
  from django.contrib.admin.templatetags.admin_modify import (
9
10
  submit_row as django_submit_row,
@@ -12,7 +13,6 @@ from django.urls.base import reverse
12
13
  from django.urls.exceptions import NoReverseMatch
13
14
  from django_revision.revision import site_revision
14
15
 
15
- from edc_constants.constants import NO, YES
16
16
  from edc_model_admin.utils import get_next_url
17
17
  from edc_protocol.research_protocol_config import ResearchProtocolConfig
18
18
 
@@ -1,8 +1,8 @@
1
+ from clinicedc_constants import NOT_APPLICABLE
1
2
  from django.db.models.fields import CharField
2
3
  from django.utils.translation import gettext as _
3
4
 
4
5
  from edc_constants.choices import DATE_ESTIMATED, DATE_ESTIMATED_NA
5
- from edc_constants.constants import NOT_APPLICABLE
6
6
 
7
7
 
8
8
  class IsDateEstimatedField(CharField):
@@ -5,6 +5,7 @@ from copy import copy
5
5
 
6
6
  import numpy as np
7
7
  import pandas as pd
8
+ from clinicedc_constants import NULL_STRING
8
9
  from django.apps import apps as django_apps
9
10
  from django.contrib.sites.models import Site
10
11
  from django.core.exceptions import FieldError
@@ -13,7 +14,6 @@ from django.db.models import QuerySet
13
14
  from django_crypto_fields.utils import get_encrypted_fields, has_encrypted_fields
14
15
  from django_pandas.io import read_frame
15
16
 
16
- from edc_constants.constants import NULL_STRING
17
17
  from edc_lab.models import Panel
18
18
  from edc_list_data.model_mixins import ListModelMixin, ListUuidModelMixin
19
19
 
edc_navbar/navbar_item.py CHANGED
@@ -6,6 +6,7 @@ from typing import TYPE_CHECKING
6
6
  from django.core.management.color import color_style
7
7
  from django.urls import NoReverseMatch
8
8
  from django.urls.base import reverse
9
+
9
10
  from edc_dashboard.url_names import InvalidDashboardUrlName, url_names
10
11
 
11
12
  if TYPE_CHECKING: