endoreg-db 0.3.6__py3-none-any.whl → 0.3.8__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.
Files changed (351) hide show
  1. endoreg_db/admin.py +3 -3
  2. endoreg_db/apps.py +6 -6
  3. endoreg_db/data/__init__.py +67 -64
  4. endoreg_db/data/active_model/data.yaml +2 -2
  5. endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml +167 -167
  6. endoreg_db/data/case_template/rule/01_patient-set-age.yaml +7 -7
  7. endoreg_db/data/case_template/rule/01_patient-set-gender.yaml +8 -8
  8. endoreg_db/data/case_template/rule/11_create_patient_lab_sample.yaml +22 -22
  9. endoreg_db/data/case_template/rule/12_create-patient_medication-anticoagulation.yaml +18 -18
  10. endoreg_db/data/case_template/rule/13_create-patient_medication_schedule-anticoagulation.yaml +18 -18
  11. endoreg_db/data/case_template/rule/19_create_patient.yaml +16 -16
  12. endoreg_db/data/case_template/rule_type/base_types.yaml +35 -35
  13. endoreg_db/data/case_template/rule_value/.init +0 -0
  14. endoreg_db/data/case_template/rule_value_type/base_types.yaml +58 -58
  15. endoreg_db/data/case_template/template/base.yaml +7 -7
  16. endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +2 -2
  17. endoreg_db/data/case_template/tmp/_rule_value +13 -13
  18. endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +21 -21
  19. endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +9 -9
  20. endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +6 -6
  21. endoreg_db/data/center/data.yaml +59 -59
  22. endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -144
  23. endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -48
  24. endoreg_db/data/disease/cardiovascular.yaml +37 -37
  25. endoreg_db/data/disease/hepatology.yaml +4 -4
  26. endoreg_db/data/disease/misc.yaml +5 -5
  27. endoreg_db/data/disease/renal.yaml +4 -4
  28. endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +5 -5
  29. endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +5 -5
  30. endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +40 -40
  31. endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +19 -19
  32. endoreg_db/data/distribution/date/patient.yaml +6 -6
  33. endoreg_db/data/distribution/multiple_categorical/.init +0 -0
  34. endoreg_db/data/distribution/numeric/.init +0 -0
  35. endoreg_db/data/distribution/single_categorical/patient.yaml +6 -6
  36. endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +132 -132
  37. endoreg_db/data/endoscope_type/data.yaml +10 -10
  38. endoreg_db/data/endoscopy_processor/data.yaml +45 -45
  39. endoreg_db/data/event/cardiology.yaml +27 -27
  40. endoreg_db/data/event/neurology.yaml +13 -13
  41. endoreg_db/data/event/surgery.yaml +12 -12
  42. endoreg_db/data/event/thrombembolism.yaml +19 -19
  43. endoreg_db/data/examination/examinations/data.yaml +65 -65
  44. endoreg_db/data/examination/time/data.yaml +47 -47
  45. endoreg_db/data/examination/time-type/data.yaml +7 -7
  46. endoreg_db/data/examination/type/data.yaml +5 -5
  47. endoreg_db/data/gender/data.yaml +18 -18
  48. endoreg_db/data/information_source/data.yaml +30 -30
  49. endoreg_db/data/information_source/medication.yaml +5 -5
  50. endoreg_db/data/lab_value/cardiac_enzymes.yaml +30 -30
  51. endoreg_db/data/lab_value/coagulation.yaml +48 -48
  52. endoreg_db/data/lab_value/electrolytes.yaml +189 -189
  53. endoreg_db/data/lab_value/gastrointestinal_function.yaml +121 -121
  54. endoreg_db/data/lab_value/hematology.yaml +169 -169
  55. endoreg_db/data/lab_value/hormones.yaml +53 -53
  56. endoreg_db/data/lab_value/lipids.yaml +44 -44
  57. endoreg_db/data/lab_value/misc.yaml +30 -30
  58. endoreg_db/data/lab_value/renal_function.yaml +10 -10
  59. endoreg_db/data/label/label/data.yaml +62 -62
  60. endoreg_db/data/label/label-set/data.yaml +17 -17
  61. endoreg_db/data/label/label-type/data.yaml +6 -6
  62. endoreg_db/data/medication/anticoagulation.yaml +64 -64
  63. endoreg_db/data/medication/tah.yaml +69 -69
  64. endoreg_db/data/medication_indication/anticoagulation.yaml +120 -120
  65. endoreg_db/data/medication_indication_type/data.yaml +10 -10
  66. endoreg_db/data/medication_indication_type/thrombembolism.yaml +40 -40
  67. endoreg_db/data/medication_intake_time/base.yaml +30 -30
  68. endoreg_db/data/medication_schedule/apixaban.yaml +94 -94
  69. endoreg_db/data/medication_schedule/ass.yaml +12 -12
  70. endoreg_db/data/medication_schedule/enoxaparin.yaml +26 -26
  71. endoreg_db/data/model_type/data.yaml +6 -6
  72. endoreg_db/data/network_device/data.yaml +17 -0
  73. endoreg_db/data/network_device_type/data.yaml +8 -0
  74. endoreg_db/data/patient_lab_sample_type/generic.yaml +5 -5
  75. endoreg_db/data/pdf_type/data.yaml +28 -28
  76. endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -66
  77. endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -33
  78. endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -308
  79. endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -88
  80. endoreg_db/data/profession/data.yaml +70 -70
  81. endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -55
  82. endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +26 -26
  83. endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -19
  84. endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -15
  85. endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -12
  86. endoreg_db/data/unit/concentration.yaml +92 -92
  87. endoreg_db/data/unit/data.yaml +17 -17
  88. endoreg_db/data/unit/length.yaml +30 -30
  89. endoreg_db/data/unit/misc.yaml +19 -19
  90. endoreg_db/data/unit/rate.yaml +5 -5
  91. endoreg_db/data/unit/time.yaml +12 -12
  92. endoreg_db/data/unit/volume.yaml +35 -35
  93. endoreg_db/data/unit/weight.yaml +37 -37
  94. endoreg_db/data/waste/data.yaml +11 -11
  95. endoreg_db/forms/__init__.py +2 -2
  96. endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -23
  97. endoreg_db/forms/settings/__init__.py +8 -8
  98. endoreg_db/forms/unit.py +5 -5
  99. endoreg_db/management/commands/_load_model_template.py +40 -40
  100. endoreg_db/management/commands/delete_all.py +18 -18
  101. endoreg_db/management/commands/delete_legacy_images.py +19 -19
  102. endoreg_db/management/commands/delete_legacy_videos.py +16 -16
  103. endoreg_db/management/commands/extract_legacy_video_frames.py +18 -18
  104. endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -32
  105. endoreg_db/management/commands/fix_auth_permission.py +20 -20
  106. endoreg_db/management/commands/import_legacy_images.py +94 -94
  107. endoreg_db/management/commands/import_legacy_videos.py +76 -76
  108. endoreg_db/management/commands/load_active_model_data.py +44 -44
  109. endoreg_db/management/commands/load_ai_model_data.py +44 -44
  110. endoreg_db/management/commands/load_base_db_data.py +132 -128
  111. endoreg_db/management/commands/load_center_data.py +42 -42
  112. endoreg_db/management/commands/load_disease_classification_choices_data.py +40 -40
  113. endoreg_db/management/commands/load_disease_classification_data.py +40 -40
  114. endoreg_db/management/commands/load_disease_data.py +39 -39
  115. endoreg_db/management/commands/load_distribution_data.py +65 -65
  116. endoreg_db/management/commands/load_endoscope_type_data.py +44 -44
  117. endoreg_db/management/commands/load_endoscopy_processor_data.py +44 -44
  118. endoreg_db/management/commands/load_event_data.py +40 -40
  119. endoreg_db/management/commands/load_examination_data.py +74 -74
  120. endoreg_db/management/commands/load_g_play_data.py +112 -112
  121. endoreg_db/management/commands/load_gender_data.py +43 -43
  122. endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +132 -132
  123. endoreg_db/management/commands/load_information_source.py +44 -44
  124. endoreg_db/management/commands/load_lab_value_data.py +49 -49
  125. endoreg_db/management/commands/load_label_data.py +66 -66
  126. endoreg_db/management/commands/load_medication_data.py +40 -40
  127. endoreg_db/management/commands/load_medication_indication_data.py +62 -62
  128. endoreg_db/management/commands/load_medication_indication_type_data.py +40 -40
  129. endoreg_db/management/commands/load_medication_intake_time_data.py +40 -40
  130. endoreg_db/management/commands/load_medication_schedule_data.py +54 -54
  131. endoreg_db/management/commands/load_network_data.py +49 -0
  132. endoreg_db/management/commands/load_pdf_type_data.py +60 -60
  133. endoreg_db/management/commands/load_profession_data.py +43 -43
  134. endoreg_db/management/commands/load_report_reader_flag.py +45 -45
  135. endoreg_db/management/commands/load_unit_data.py +45 -45
  136. endoreg_db/management/commands/load_user_groups.py +28 -28
  137. endoreg_db/management/commands/register_ai_model.py +65 -65
  138. endoreg_db/management/commands/reset_celery_schedule.py +9 -9
  139. endoreg_db/migrations/0001_initial.py +582 -582
  140. endoreg_db/migrations/0002_rawvideofile.py +26 -26
  141. endoreg_db/migrations/0003_rawvideofile_frames_required.py +18 -18
  142. endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +18 -18
  143. endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +56 -56
  144. endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +25 -25
  145. endoreg_db/migrations/0007_rawvideofile_processor.py +19 -19
  146. endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +18 -18
  147. endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +31 -31
  148. endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +18 -18
  149. endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +18 -18
  150. endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +109 -109
  151. endoreg_db/migrations/0013_rawpdffile.py +31 -31
  152. endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +38 -38
  153. endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +31 -31
  154. endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +18 -18
  155. endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +37 -37
  156. endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +37 -37
  157. endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +42 -42
  158. endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +18 -18
  159. endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +19 -19
  160. endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +19 -19
  161. endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +59 -59
  162. endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +27 -27
  163. endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +42 -42
  164. endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +166 -166
  165. endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +38 -38
  166. endoreg_db/migrations/0028_alter_unit_abbreviation.py +18 -18
  167. endoreg_db/migrations/0029_medicationintaketime_and_more.py +75 -75
  168. endoreg_db/migrations/0030_medicationindicationtype_and_more.py +101 -101
  169. endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +38 -38
  170. endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +18 -18
  171. endoreg_db/migrations/0033_medicationindication_sources.py +18 -18
  172. endoreg_db/migrations/0034_alter_rawpdffile_file.py +20 -20
  173. endoreg_db/migrations/0035_alter_medicationindication_sources.py +18 -18
  174. endoreg_db/migrations/0036_alter_rawpdffile_file.py +20 -20
  175. endoreg_db/migrations/0037_alter_medicationindication_sources.py +18 -18
  176. endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +164 -164
  177. endoreg_db/migrations/0039_referenceproduct_name.py +19 -19
  178. endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +50 -50
  179. endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +40 -40
  180. endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +74 -74
  181. endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +23 -23
  182. endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +23 -23
  183. endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +19 -19
  184. endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +18 -18
  185. endoreg_db/migrations/0047_casetemplaterule_target_model.py +18 -18
  186. endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +22 -22
  187. endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +17 -17
  188. endoreg_db/migrations/0050_casetemplaterule_rule_values.py +18 -18
  189. endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +27 -27
  190. endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +18 -18
  191. endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +38 -38
  192. endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +69 -69
  193. endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +59 -59
  194. endoreg_db/migrations/0056_datevaluedistribution_and_more.py +32 -32
  195. endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +72 -72
  196. endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +28 -28
  197. endoreg_db/migrations/0059_casetemplaterule_rule_values.py +18 -18
  198. endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +44 -44
  199. endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +24 -24
  200. endoreg_db/migrations/0062_labvalue_numeric_precision.py +18 -18
  201. endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +18 -18
  202. endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +23 -23
  203. endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +58 -58
  204. endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +29 -29
  205. endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +19 -19
  206. endoreg_db/migrations/0068_networkdevicetype_networkdevicetypemanager_and_more.py +57 -0
  207. endoreg_db/models/__init__.py +75 -74
  208. endoreg_db/models/ai_model/__init__.py +3 -3
  209. endoreg_db/models/ai_model/active_model.py +9 -9
  210. endoreg_db/models/ai_model/model_meta.py +24 -24
  211. endoreg_db/models/ai_model/model_type.py +25 -25
  212. endoreg_db/models/ai_model/utils.py +8 -8
  213. endoreg_db/models/annotation/__init__.py +1 -1
  214. endoreg_db/models/annotation/binary_classification_annotation_task.py +80 -80
  215. endoreg_db/models/annotation/image_classification.py +26 -26
  216. endoreg_db/models/case_template/__init__.py +5 -5
  217. endoreg_db/models/case_template/case_template.py +81 -81
  218. endoreg_db/models/case_template/case_template_rule.py +276 -276
  219. endoreg_db/models/case_template/case_template_rule_value.py +73 -73
  220. endoreg_db/models/case_template/case_template_type.py +27 -27
  221. endoreg_db/models/center/__init__.py +4 -4
  222. endoreg_db/models/center/center.py +24 -24
  223. endoreg_db/models/center/center_product.py +33 -33
  224. endoreg_db/models/center/center_resource.py +18 -18
  225. endoreg_db/models/center/center_waste.py +10 -10
  226. endoreg_db/models/data_file/__init__.py +5 -5
  227. endoreg_db/models/data_file/base_classes/__init__.py +2 -2
  228. endoreg_db/models/data_file/base_classes/abstract_frame.py +50 -50
  229. endoreg_db/models/data_file/base_classes/abstract_video.py +200 -200
  230. endoreg_db/models/data_file/frame.py +45 -45
  231. endoreg_db/models/data_file/import_classes/__init__.py +31 -31
  232. endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +34 -34
  233. endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -28
  234. endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -260
  235. endoreg_db/models/data_file/import_classes/raw_pdf.py +188 -188
  236. endoreg_db/models/data_file/import_classes/raw_video.py +343 -343
  237. endoreg_db/models/data_file/metadata/__init__.py +3 -3
  238. endoreg_db/models/data_file/metadata/pdf_meta.py +70 -70
  239. endoreg_db/models/data_file/metadata/sensitive_meta.py +31 -31
  240. endoreg_db/models/data_file/metadata/video_meta.py +132 -132
  241. endoreg_db/models/data_file/report_file.py +89 -89
  242. endoreg_db/models/data_file/video/__init__.py +6 -6
  243. endoreg_db/models/data_file/video/import_meta.py +25 -25
  244. endoreg_db/models/data_file/video/video.py +25 -25
  245. endoreg_db/models/data_file/video_segment.py +107 -107
  246. endoreg_db/models/disease.py +55 -55
  247. endoreg_db/models/emission/emission_factor.py +19 -19
  248. endoreg_db/models/event.py +21 -21
  249. endoreg_db/models/examination/__init__.py +3 -3
  250. endoreg_db/models/examination/examination.py +26 -26
  251. endoreg_db/models/examination/examination_time.py +27 -27
  252. endoreg_db/models/examination/examination_time_type.py +24 -24
  253. endoreg_db/models/examination/examination_type.py +18 -18
  254. endoreg_db/models/hardware/__init__.py +1 -1
  255. endoreg_db/models/hardware/endoscope.py +44 -44
  256. endoreg_db/models/hardware/endoscopy_processor.py +143 -143
  257. endoreg_db/models/information_source.py +29 -29
  258. endoreg_db/models/label/label.py +84 -84
  259. endoreg_db/models/laboratory/lab_value.py +102 -102
  260. endoreg_db/models/legacy_data/__init__.py +3 -3
  261. endoreg_db/models/legacy_data/image.py +34 -34
  262. endoreg_db/models/medication/medication.py +148 -148
  263. endoreg_db/models/network/__init__.py +2 -0
  264. endoreg_db/models/network/network_device.py +27 -0
  265. endoreg_db/models/network/network_device_type.py +23 -0
  266. endoreg_db/models/other/__init__.py +4 -4
  267. endoreg_db/models/other/distribution.py +215 -215
  268. endoreg_db/models/other/material.py +16 -16
  269. endoreg_db/models/other/resource.py +17 -17
  270. endoreg_db/models/other/transport_route.py +20 -20
  271. endoreg_db/models/other/waste.py +20 -20
  272. endoreg_db/models/patient_examination/__init__.py +35 -35
  273. endoreg_db/models/permissions/__init__.py +44 -44
  274. endoreg_db/models/persons/__init__.py +6 -6
  275. endoreg_db/models/persons/examiner/__init__.py +1 -1
  276. endoreg_db/models/persons/examiner/examiner.py +15 -15
  277. endoreg_db/models/persons/examiner/examiner_type.py +1 -1
  278. endoreg_db/models/persons/first_name.py +17 -17
  279. endoreg_db/models/persons/gender.py +22 -22
  280. endoreg_db/models/persons/last_name.py +19 -19
  281. endoreg_db/models/persons/patient/__init__.py +7 -7
  282. endoreg_db/models/persons/patient/case/case.py +30 -30
  283. endoreg_db/models/persons/patient/patient.py +216 -216
  284. endoreg_db/models/persons/patient/patient_disease.py +16 -16
  285. endoreg_db/models/persons/patient/patient_event.py +22 -22
  286. endoreg_db/models/persons/patient/patient_lab_sample.py +106 -106
  287. endoreg_db/models/persons/patient/patient_lab_value.py +176 -176
  288. endoreg_db/models/persons/patient/patient_medication.py +43 -43
  289. endoreg_db/models/persons/patient/patient_medication_schedule.py +27 -27
  290. endoreg_db/models/persons/person.py +31 -31
  291. endoreg_db/models/persons/portal_user_information.py +27 -27
  292. endoreg_db/models/prediction/__init__.py +1 -1
  293. endoreg_db/models/prediction/image_classification.py +37 -37
  294. endoreg_db/models/prediction/video_prediction_meta.py +244 -244
  295. endoreg_db/models/product/__init__.py +4 -4
  296. endoreg_db/models/product/product.py +97 -97
  297. endoreg_db/models/product/product_group.py +19 -19
  298. endoreg_db/models/product/product_material.py +24 -24
  299. endoreg_db/models/product/product_weight.py +26 -26
  300. endoreg_db/models/product/reference_product.py +99 -99
  301. endoreg_db/models/questionnaires/__init__.py +114 -114
  302. endoreg_db/models/quiz/__init__.py +1 -1
  303. endoreg_db/models/quiz/quiz_answer.py +41 -41
  304. endoreg_db/models/quiz/quiz_question.py +54 -54
  305. endoreg_db/models/report_reader/__init__.py +1 -1
  306. endoreg_db/models/report_reader/report_reader_config.py +53 -53
  307. endoreg_db/models/report_reader/report_reader_flag.py +19 -19
  308. endoreg_db/models/rules/__init__.py +4 -4
  309. endoreg_db/models/rules/rule.py +23 -23
  310. endoreg_db/models/rules/rule_applicator.py +224 -224
  311. endoreg_db/models/rules/rule_attribute_dtype.py +18 -18
  312. endoreg_db/models/rules/rule_type.py +21 -21
  313. endoreg_db/models/rules/ruleset.py +19 -19
  314. endoreg_db/models/unit.py +21 -21
  315. endoreg_db/queries/__init__.py +4 -4
  316. endoreg_db/queries/annotations/__init__.py +2 -2
  317. endoreg_db/queries/annotations/legacy.py +159 -159
  318. endoreg_db/queries/get/__init__.py +5 -5
  319. endoreg_db/queries/get/center.py +42 -42
  320. endoreg_db/queries/get/model.py +13 -13
  321. endoreg_db/queries/get/patient.py +14 -14
  322. endoreg_db/queries/get/patient_examination.py +20 -20
  323. endoreg_db/queries/get/report_file.py +33 -33
  324. endoreg_db/queries/get/video.py +31 -31
  325. endoreg_db/serializers/__init__.py +9 -9
  326. endoreg_db/serializers/ai_model.py +18 -18
  327. endoreg_db/serializers/annotation.py +17 -17
  328. endoreg_db/serializers/center.py +11 -11
  329. endoreg_db/serializers/examination.py +32 -32
  330. endoreg_db/serializers/frame.py +13 -13
  331. endoreg_db/serializers/hardware.py +20 -20
  332. endoreg_db/serializers/label.py +22 -22
  333. endoreg_db/serializers/patient.py +10 -10
  334. endoreg_db/serializers/prediction.py +15 -15
  335. endoreg_db/serializers/report_file.py +7 -7
  336. endoreg_db/serializers/video.py +27 -27
  337. endoreg_db/tests.py +3 -3
  338. endoreg_db/utils/cropping.py +28 -28
  339. endoreg_db/utils/dataloader.py +92 -92
  340. endoreg_db/utils/file_operations.py +30 -30
  341. endoreg_db/utils/hashs.py +33 -33
  342. endoreg_db/utils/legacy_ocr.py +201 -201
  343. endoreg_db/utils/ocr.py +197 -197
  344. endoreg_db/utils/uuid.py +4 -4
  345. endoreg_db/utils/video_metadata.py +87 -87
  346. endoreg_db/views.py +3 -3
  347. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/LICENSE +674 -674
  348. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/METADATA +3 -1
  349. endoreg_db-0.3.8.dist-info/RECORD +367 -0
  350. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/WHEEL +1 -1
  351. endoreg_db-0.3.6.dist-info/RECORD +0 -357
@@ -1,44 +1,44 @@
1
- from django.contrib.contenttypes.models import ContentType
2
- from django.contrib.auth.models import Permission
3
- from endoreg_db.models import * # Import your models here
4
- from django.db import transaction
5
-
6
- # Step 1: Define model to category mappings
7
- # Assuming every model class name is unique across your entire Django project
8
- model_categories = {
9
- 'SensitiveModel1': 'sensitive',
10
- 'SensitiveModel2': 'sensitive',
11
- 'DevelopmentModel1': 'development',
12
- 'DevelopmentModel2': 'development',
13
- # Add all models you have, mapping them to either 'sensitive', 'development', or 'all'
14
- }
15
-
16
- # Step 2: Define permissions for each category
17
- category_permissions = {
18
- 'sensitive': ['view', 'edit', 'delete'],
19
- 'development': ['view', 'edit'],
20
- 'all': ['view'],
21
- }
22
-
23
- @transaction.atomic
24
- def create_permissions_for_all_models():
25
- for model_class_name, category in model_categories.items():
26
- model_class = globals().get(model_class_name)
27
- if model_class is None:
28
- print(f"Model {model_class_name} not found.")
29
- continue
30
-
31
- content_type = ContentType.objects.get_for_model(model_class)
32
- permissions = category_permissions.get(category, [])
33
-
34
- for permission_codename in permissions:
35
- permission_name = f"Can {permission_codename} {model_class_name}"
36
- permission, created = Permission.objects.get_or_create(
37
- codename=f"{permission_codename}_{model_class_name.lower()}",
38
- defaults={'name': permission_name, 'content_type': content_type},
39
- )
40
- if created:
41
- print(f"Created permission: {permission_name}")
42
-
43
- # Run the function to create and assign permissions based on categories
44
- create_permissions_for_all_models()
1
+ from django.contrib.contenttypes.models import ContentType
2
+ from django.contrib.auth.models import Permission
3
+ from endoreg_db.models import * # Import your models here
4
+ from django.db import transaction
5
+
6
+ # Step 1: Define model to category mappings
7
+ # Assuming every model class name is unique across your entire Django project
8
+ model_categories = {
9
+ 'SensitiveModel1': 'sensitive',
10
+ 'SensitiveModel2': 'sensitive',
11
+ 'DevelopmentModel1': 'development',
12
+ 'DevelopmentModel2': 'development',
13
+ # Add all models you have, mapping them to either 'sensitive', 'development', or 'all'
14
+ }
15
+
16
+ # Step 2: Define permissions for each category
17
+ category_permissions = {
18
+ 'sensitive': ['view', 'edit', 'delete'],
19
+ 'development': ['view', 'edit'],
20
+ 'all': ['view'],
21
+ }
22
+
23
+ @transaction.atomic
24
+ def create_permissions_for_all_models():
25
+ for model_class_name, category in model_categories.items():
26
+ model_class = globals().get(model_class_name)
27
+ if model_class is None:
28
+ print(f"Model {model_class_name} not found.")
29
+ continue
30
+
31
+ content_type = ContentType.objects.get_for_model(model_class)
32
+ permissions = category_permissions.get(category, [])
33
+
34
+ for permission_codename in permissions:
35
+ permission_name = f"Can {permission_codename} {model_class_name}"
36
+ permission, created = Permission.objects.get_or_create(
37
+ codename=f"{permission_codename}_{model_class_name.lower()}",
38
+ defaults={'name': permission_name, 'content_type': content_type},
39
+ )
40
+ if created:
41
+ print(f"Created permission: {permission_name}")
42
+
43
+ # Run the function to create and assign permissions based on categories
44
+ create_permissions_for_all_models()
@@ -1,7 +1,7 @@
1
- from .gender import Gender
2
- from .person import Person
3
- from .patient import *
4
- from .examiner import Examiner, ExaminerSerializer
5
- from .portal_user_information import PortalUserInfo, Profession
6
- from .first_name import FirstName
1
+ from .gender import Gender
2
+ from .person import Person
3
+ from .patient import *
4
+ from .examiner import Examiner, ExaminerSerializer
5
+ from .portal_user_information import PortalUserInfo, Profession
6
+ from .first_name import FirstName
7
7
  from .last_name import LastName
@@ -1,2 +1,2 @@
1
- from .examiner import Examiner, ExaminerSerializer
1
+ from .examiner import Examiner, ExaminerSerializer
2
2
  # from .examiner_type import ExaminerType
@@ -1,16 +1,16 @@
1
- from django.db import models
2
- from ..person import Person
3
- from rest_framework import serializers
4
-
5
- class Examiner(Person):
6
- center = models.ForeignKey('Center', on_delete=models.CASCADE, blank=True, null=True)
7
-
8
- def __str__(self):
9
- return self.first_name + " " + self.last_name
10
-
11
-
12
- class ExaminerSerializer(serializers.ModelSerializer):
13
-
14
- class Meta:
15
- model = Examiner
1
+ from django.db import models
2
+ from ..person import Person
3
+ from rest_framework import serializers
4
+
5
+ class Examiner(Person):
6
+ center = models.ForeignKey('Center', on_delete=models.CASCADE, blank=True, null=True)
7
+
8
+ def __str__(self):
9
+ return self.first_name + " " + self.last_name
10
+
11
+
12
+ class ExaminerSerializer(serializers.ModelSerializer):
13
+
14
+ class Meta:
15
+ model = Examiner
16
16
  fields = '__all__'
@@ -1,2 +1,2 @@
1
- from .examiner import Examiner
1
+ from .examiner import Examiner
2
2
  # from .examiner_type import ExaminerType
@@ -1,18 +1,18 @@
1
- # class to represent unique first-names
2
- # name attribute is natural key
3
-
4
- from django.db import models
5
-
6
- class FirstNameManager(models.Manager):
7
- def get_by_natural_key(self, name):
8
- return self.get(name=name)
9
-
10
- class FirstName(models.Model):
11
- objects = FirstNameManager()
12
- name = models.CharField(max_length=255, unique=True)
13
-
14
- def natural_key(self):
15
- return (self.name,)
16
-
17
- def __str__(self):
1
+ # class to represent unique first-names
2
+ # name attribute is natural key
3
+
4
+ from django.db import models
5
+
6
+ class FirstNameManager(models.Manager):
7
+ def get_by_natural_key(self, name):
8
+ return self.get(name=name)
9
+
10
+ class FirstName(models.Model):
11
+ objects = FirstNameManager()
12
+ name = models.CharField(max_length=255, unique=True)
13
+
14
+ def natural_key(self):
15
+ return (self.name,)
16
+
17
+ def __str__(self):
18
18
  return self.name
@@ -1,22 +1,22 @@
1
- from django.db import models
2
-
3
- class GenderManager(models.Manager):
4
- def get_by_natural_key(self, name):
5
- return self.get(name=name)
6
-
7
- class Gender(models.Model):
8
- """A class representing gender."""
9
- objects = GenderManager()
10
-
11
- name = models.CharField(max_length=255)
12
- name_de = models.CharField(max_length=255, null=True)
13
- name_en = models.CharField(max_length=255, null=True)
14
- abbreviation = models.CharField(max_length=255, null=True)
15
- description = models.TextField(blank=True, null=True)
16
-
17
- def natural_key(self):
18
- return (self.name,)
19
-
20
- def __str__(self):
21
- return self.name
22
-
1
+ from django.db import models
2
+
3
+ class GenderManager(models.Manager):
4
+ def get_by_natural_key(self, name):
5
+ return self.get(name=name)
6
+
7
+ class Gender(models.Model):
8
+ """A class representing gender."""
9
+ objects = GenderManager()
10
+
11
+ name = models.CharField(max_length=255)
12
+ name_de = models.CharField(max_length=255, null=True)
13
+ name_en = models.CharField(max_length=255, null=True)
14
+ abbreviation = models.CharField(max_length=255, null=True)
15
+ description = models.TextField(blank=True, null=True)
16
+
17
+ def natural_key(self):
18
+ return (self.name,)
19
+
20
+ def __str__(self):
21
+ return self.name
22
+
@@ -1,20 +1,20 @@
1
- # class to represent unique last_names
2
- # name attribute is natural key
3
- from django.db import models
4
-
5
- class LastNameManager(models.Manager):
6
- def get_by_natural_key(self, name):
7
- return self.get(name=name)
8
-
9
- class LastName(models.Model):
10
- objects = LastNameManager()
11
- name = models.CharField(max_length=255, unique=True)
12
-
13
- def natural_key(self):
14
- return (self.name,)
15
-
16
- def __str__(self):
17
- return self.name
18
-
19
- # Path: endoreg_db/models/persons/first_name.py
1
+ # class to represent unique last_names
2
+ # name attribute is natural key
3
+ from django.db import models
4
+
5
+ class LastNameManager(models.Manager):
6
+ def get_by_natural_key(self, name):
7
+ return self.get(name=name)
8
+
9
+ class LastName(models.Model):
10
+ objects = LastNameManager()
11
+ name = models.CharField(max_length=255, unique=True)
12
+
13
+ def natural_key(self):
14
+ return (self.name,)
15
+
16
+ def __str__(self):
17
+ return self.name
18
+
19
+ # Path: endoreg_db/models/persons/first_name.py
20
20
 
@@ -1,8 +1,8 @@
1
- from .patient import Patient, PatientForm
2
- from .patient_event import PatientEvent
3
- from .patient_disease import PatientDisease
4
- from .patient_lab_sample import PatientLabSample, PatientLabSampleType
5
- from .patient_lab_value import PatientLabValue
6
- from .patient_medication import PatientMedication
7
- from .patient_medication_schedule import PatientMedicationSchedule
1
+ from .patient import Patient, PatientForm
2
+ from .patient_event import PatientEvent
3
+ from .patient_disease import PatientDisease
4
+ from .patient_lab_sample import PatientLabSample, PatientLabSampleType
5
+ from .patient_lab_value import PatientLabValue
6
+ from .patient_medication import PatientMedication
7
+ from .patient_medication_schedule import PatientMedicationSchedule
8
8
  from .case import *
@@ -1,30 +1,30 @@
1
- from django.db import models
2
-
3
- class Case(models.Model):
4
- """
5
- A class representing a case.
6
-
7
- Attributes:
8
- name (str): The name of the case.
9
- description (str): A description of the case.
10
- case_template (CaseTemplate): The case template of the case.
11
- patient (Patient): The patient of the case.
12
- start_date (datetime): The start date of the case.
13
- end_date (datetime): The end date of the case.
14
- is_active (bool): A flag indicating whether the case is active.
15
- is_closed (bool): A flag indicating whether the case is closed.
16
- is_deleted (bool): A flag indicating whether the case is deleted.
17
- created_at (datetime): The creation date of the case.
18
- updated_at (datetime): The last update date of the case.
19
-
20
- """
21
- start_date = models.DateTimeField()
22
- end_date = models.DateTimeField(null=True)
23
- is_active = models.BooleanField(default=True)
24
- is_closed = models.BooleanField(default=False)
25
- is_deleted = models.BooleanField(default=False)
26
- created_at = models.DateTimeField(auto_now_add=True)
27
- updated_at = models.DateTimeField(auto_now=True)
28
-
29
- def __str__(self):
30
- return self.name
1
+ from django.db import models
2
+
3
+ class Case(models.Model):
4
+ """
5
+ A class representing a case.
6
+
7
+ Attributes:
8
+ name (str): The name of the case.
9
+ description (str): A description of the case.
10
+ case_template (CaseTemplate): The case template of the case.
11
+ patient (Patient): The patient of the case.
12
+ start_date (datetime): The start date of the case.
13
+ end_date (datetime): The end date of the case.
14
+ is_active (bool): A flag indicating whether the case is active.
15
+ is_closed (bool): A flag indicating whether the case is closed.
16
+ is_deleted (bool): A flag indicating whether the case is deleted.
17
+ created_at (datetime): The creation date of the case.
18
+ updated_at (datetime): The last update date of the case.
19
+
20
+ """
21
+ start_date = models.DateTimeField()
22
+ end_date = models.DateTimeField(null=True)
23
+ is_active = models.BooleanField(default=True)
24
+ is_closed = models.BooleanField(default=False)
25
+ is_deleted = models.BooleanField(default=False)
26
+ created_at = models.DateTimeField(auto_now_add=True)
27
+ updated_at = models.DateTimeField(auto_now=True)
28
+
29
+ def __str__(self):
30
+ return self.name